CHANGES
=======

2.5.0
-----

* Fix metadata generation
* Use releases.openstack.org instead of opendev.org
* Update master for stable/2025.1

2.4.1
-----


2.4.0
-----

* CI: Remove metalsmith legacy jobs
* reno: Update master for unmaintained/2023.1
* Remove ceilometer service overrides
* Update gerrit URL
* Bump minimum python version
* Replace outdated python job template
* Drop SETUPTOOLS\_USE\_DISTUTILS=stdlib
* Add ability to specify columns used for json output
* Update master for stable/2024.2

2.3.0
-----

* Error with clarity when a bad upgrade was encountered

2.2.0
-----

* reno: Update master for unmaintained/zed
* Use bootloader element instead of grub2
* reno: Update master for unmaintained/xena
* reno: Update master for unmaintained/wallaby
* reno: Update master for unmaintained/victoria
* Update master for stable/2024.1

2.1.1
-----

* reno: Update master for unmaintained/yoga
* [codespell] Adding CI target for Tox Codespell
* [codespell] Adding Tox Target for Codespell
* CI: Ask ironic devstack to set node owner

2.1.0
-----

* Document LP as official bugtracker
* Metalsmith in maintenance mode
* Update master for stable/2023.2
* Set role default metalsmith\_provisioning\_timeout

2.0.1
-----

* Remove CentOS Stream 8 jobs
* Add a CentOS Stream 9 bios job
* Use jammy nodes to run CI jobs
* Add centos9 based job

2.0.0
-----

* Reduce retry timeout for Metalsmith CI
* Update MD5 checksum references
* Update to hacking v6
* Update master for stable/2023.1

1.10.0
------

* test\_provision: don't assert provision\_node call order
* list\_instances - cache allocations
* Get ports by 'binding:host\_id' query filter
* Use a network cache in Instance

1.9.1
-----

* Remove not used old job
* Fixes for tox 4.0

1.9.0
-----

* Revert "CI: Force ansible to version 5"
* Allow to use Ansible OpenStack Col. 1.x.x with openstacksdk >=0.99.0
* CI: Force ansible to version 5
* Add Python3 antelope unit tests
* Update master for stable/zed

1.8.0
-----

* Deprecate instance network boot
* Do a precise node lookup for unprovision
* Add linters job

1.7.0
-----

* CI: Extend timeouts for RAX
* metalsmith\_instances module, unprovision by hostname
* metalsmith\_instances module, pass hostname in reserve
* metalsmith list handle missing port
* Provide a work around to fix the CI
* Add a CentOS job with legacy local boot
* Add a workaround to fix the CI
* Add Python3 zed unit tests
* Update master for stable/yoga
* Ensure tox.ini is ASCII

1.6.2
-----

* Allow both 'network' and 'subnet' in NIC
* Avoid non-Stream CentOS 8, it is EOL
* Re-add python 3.6/3.7 in classifier
* Add unit tests for metalsmith/\_nics.py
* CI: Extend metalsmith CI job timeout
* Use only Yoga tests
* Test python 3.6 for distributions compatibility

1.6.1
-----

* Set binding:host\_id on VIFs
* Updating yoga tested python versions in classifier

1.6.0
-----

* CI: remove old centos7 job
* Update pep8 test requirements
* Set explicit boot mode to bios for legacy job
* Write network\_data.json metadata to config-dirve
* Add Python3 yoga unit tests
* Update master for stable/xena

1.5.1
-----

* Use importlib instead of imp
* Set glance limit for baremetal friendly images
* Replace deprecated import of ABCs from collections
* Changed minversion in tox to 3.18.0

1.5.0
-----

* Set image\_disk\_format from file extension for HTTP images
* setup.cfg: Replace dashes with underscores
* Stop testing the iscsi deploy interface
* Add Python3 xena unit tests
* Update master for stable/wallaby
* remove unicode from code

1.4.2
-----

* Fix release versions
* Uncap PrettyTable

1.4.1
-----

* Change metalsmith to centos8+uefi job by default
* Do not wipe instance\_info on normal unprovisioning
* Remove lower-constraints job

1.4.0
-----

* Update TOX\_CONSTRAINTS\_FILE
* Move pep8 requirements to tox.ini
* Follow-up to metalsmith\_instances config\_drive
* Add metalsmith\_instances instance option config\_drive

1.3.0
-----

* Add a Centos8 UEFI based job
* Set safe version of hacking
* metalsmith\_deployment role switch to metalsmith\_instances
* Handle out-of-tree openstack module\_utils
* CI: Extend job timeout slightly for metalsmith jobs
* Change metalsmith nodeset to Focal
* Rework jobs so failed devstack does not retry the job
* Add Python3 wallaby unit tests
* Update master for stable/victoria

1.2.0
-----

* Stop requiring checksums with file images
* Add the setuptools workaround
* Document metalsmith\_instances
* Explicitly set jobs to ML2/OVS
* metalsmith\_instances module cleanups
* Capture metalsmith python logging
* CI: use the direct deploy by default

1.1.0
-----

* Metalsmith to use DevStack's neutron"-legacy" module
* Set min version of tox to 3.2.1
* Move metalsmith\_instances from tripleo-ansible
* Move roles into a standard directory layout
* Remove ussuri jobs in favor of victoria
* Use is instead of ambiguous pipe
* Avoid running functional jobs for non-code changes
* Switch to newer openstackdocstheme and reno versions
* Update lower-constraints.txt
* Update tox.ini
* Upgrade flake8-import-order version to 0.17.1
* Start enforcing W504 in pep8
* Get rid of testtools and fixtures
* No need to import print function anymore
* Use unittest.mock instead of third party mock
* Cleanup py27 support
* CI: increase the swift loopback disk size for the CentOS job
* Update master for stable/ussuri

1.0.0
-----

* Bump hacking to 3.0.0
* Be moderate about disk space in the CI
* CI: stop running peakmem\_tracker
* Stop using six library
* Drop python 2.7 support and testing
* Stop requiring root size for whole disk images
* Switch to Ussuri job
* Add ironic-python-agent-builder to required-projects
* Add versions to release notes series
* Build pdf doc

0.16.0
------

* Update master for stable/train

0.15.0
------

* Set useful port name when hostname is provided

0.14.0
------

* Set instance\_info.display\_name to the hostname
* Remove deprecations from 0.13
* Clean up exceptions metalsmith raises
* Bring formatting in line with other OpenStack CLI
* CI: increase the timeout for the СentOS job
* Update Python 3 test runtimes for Train

0.13.0
------

* Use allocation name for hostname instead of a custom field
* Split InstanceConfig into GenericConfig and CloudInitConfig
* Remove features deprecated in Stein

0.12.0
------

* Allow disabling clean up on deployment failure
* Switch to allocation API instead of reservations via instance\_id
* Build configdrives on ironic side
* Expose Allocation objects on Instance
* Update Sphinx requirements to match global-requirements
* Replace git.openstack.org URLs with opendev.org URLs
* OpenDev Migration Patch
* Repare the CI job
* Accept hostname in reserve\_node in addition to provision\_node
* Ensure instance\_info is clean before deploy and after failure
* Make resource class required
* Update master for stable/stein

0.11.0
------

* Display hostname in the default formatter

0.10.0
------

* Make sure to not try reserving a reserved node
* Properly mock configdrive building in unit tests
* Clean up the edge cases around states

0.9.0
-----

* Support specifying a subnet for NIC
* Add sources.detect to detect various source types
* Raise an SDKException/Error on duplicate hostnames
* Add missing release notes for 0.9.0 changes
* Completely switch to openstacksdk
* Always use the latest cirros image
* Change openstack-dev to openstack-discuss
* Remove deprecated root\_disk\_size
* Deprecate not providing resource\_class (again)
* Use the Connection.baremetal adapter for ironicclient Session

0.8.0
-----

* Add release notes
* Switch testing from Python 3.5 to 3.7
* use include\_tasks instead of include
* fix tox python3 overrides
* Updates after becoming an official projects
* Add the "---" into ansible yaml file
* Accept optional fixed\_ip for nics

0.7.0
-----

* Wire in file image support
* Support partition HTTP images in CLI
* Support creating a swap partition
* Allow overriding traits in provision\_node (similar to capabilities)
* Switch to stestr for unit tests
* Use template for the lower-constraints job
* Support traits for scheduling
* Rework scheduling filters
* Restore CI coverage for pre-created ports
* Support for HTTP image location
* Remove indirection when accessing Image and Network API
* Update usage of "|" to "is"
* Allow filtering by arbitrary predicate and conductor\_group
* Foundation for different deployment sources
* Switch one of the CI jobs to Python 3
* Migrate jobs in-tree and add a Python 3.6 job
* Implement list\_instances and \`metalsmith list\`

0.6.1
-----

* Add a job with direct deploy interface
* CI: split netboot (cirros) and localboot (centos) jobs

0.6.0
-----

* Publish docs on rtd (new version)
* CI: stop setting LIBGUESTFS\_DEBUG to avoid spamming logs
* CI: move CentOS image preparation into pre-run
* Add missing docs for user\_name and examples in ansible
* Allow specifying a list of nodes to pick from
* Store requested capabilities in instance\_info
* ansible: split waiting from provisioning
* Change wait\_for\_provisioning to return Instance objects
* CI: try SSH into the deployed instances

0.5.0
-----

* Support creating users via configdrive
* Separate wait\_for\_provision\_state method
* Pass in InstanceConfig instead of ssh\_keys
* Rename image\_ref -> image and get\_image\_info -> get\_image
* Separate NIC validation
* Move Instance to its own file
* CLI: use --resource-class instead of a positional argument
* ansible: explicit support for netboot, correct extra\_args

0.4.0
-----

* Simple role to deploy instances
* Add command and function to show instances
* Support custom hostnames
* Rework handling of wait argument in the CLI
* Move logging IP addresses to the CLI itself
* Add output formatters for CLI commands
* Add a lower-constraints job
* Do not clean up nodes after the deployment has started
* Add --verbose CLI argument to fine-tune verbosity
* CI: Update ironic devstack variables
* Pass OS\_CLOUD and OS\_CACERT to environments
* CI: completely switch to CentOS images for testing
* Return Instance object from provisioning API
* Additional checks on node sanity before attempting to deploy it
* Unlock the node before deleting it in unprovisioning and default to not waiting
* CI: run a local boot test with the CentOS image
* CI: use find module to find an SSH public key

0.3.0
-----

* Install all dependencies when building docs
* Run a job building docs and publishing them to readthedocs
* Add docs generation (+ clean up)
* Stop depending on oslo.utils
* Allow attaching existing ports
* CI: Install metalsmith requirements honoring upper-constraints
* Support whole-disk images
* Log nodes that were reserved as INFO
* Correct error handling in early deployment state
* Use openstacksdk instead of neutronclient
* Use openstacksdk instead of glanceclient
* Use openstack.config for arguments parsing
* Add a simple integration test
* Allow missing local\_gb if root\_disk\_size is provided

0.2.0
-----

* Migrate to OpenStack infra
* Add unit tests for the recent IP display addition
* Remove leftover metadata debug printing
* Log IP addresses of a deployed node
* Bring test coverage to 90% and keep it there
* Remove unused ReleaseFailed
* Grand refactor to split out reusable bits

0.1.0
-----

* Fix a typo in README
* Extend config drive with other fields
* Extend config drive with uuid and name
* Simplify ssh keys code and add usage
* Better logging in undeploy and clean up
* Fix incorrect call in undeploy
* Actually wire in undeploy
* Repair python 3 tests
* Initial support for undeploy
* Initial support for config drive
* Add a success message
* Move to 'deploy' subcommand
* Fix two incorrect invocations
* Run clean up when preparation fails
* Fix parsing of local\_gb
* Remove one redundant logging line
* Support --root-disk-size and fix the default
* Implement waiting for provision state and use it by default
* Reworked deploy VIF handling, added --netboot
* Fix capabilities logic and add tests for reserve()
* Correct reserve() call and logging
* Add --dry-run and switch to resource classes
* Use new provision\_state argument for node.list
* Configure verbose logging
* Leftover from the previous patch [2]
* Leftover from the previous patch
* Switch to keystoneauth1, identity v3 and glance v2
* Use modern hacking rules
* tox.ini cleanup
* Update from Pike requirements
* Short readme
* Provisioning (does not work)
* Basic work with Neutron
* Reservation and stubs for deployment
* Initial OpenStack API support
* Add Travis badge
* Initial structure
* Initial commit
