Wallaby Series Release Notes


Bug Fixes

  • It is now possible to create a port on a specific subnet also when multiple subnets with the same name exist on different networks. See bug: 2009732.


Bug Fixes

  • Fixed an issue where instance metadata for network configuration was not correctly written to the config-drive when using a neutron routed provider network. The invalid metadata would in most cases cause the instance network initialization to completely fail, leaving the instance with no network connectivity. See bug: 2009715.

  • Fixed and issue where deployed nodes did not become available over the network. This happened when the first network interface was not connected to a network with a DHCP service, i.e a secondary network interface was used. Network metadata is now created and written to the instance config in the config-drive for deployed nodes. The addition of network metadata in the instance config solves this problem. See bug: 2009238.


Bug Fixes

  • No longer removes instance_info on normal unprovisioning, only on failures during deployment.


New Features

  • Add new metalsmith_instances instance option config_drive. This has sub-options cloud_config` and ``meta_data and allows customization of data packaged in the config-drive to be consumed by cloud-init.


Deprecation Notes

  • Providing checksums for file images is deprecated. No deploy implementation actually supports them.

Bug Fixes

  • Checksums are no longer required (nor used) with file images.


Upgrade Notes

  • Python 2.7 support has been dropped. Last release of metalsmith to support Python 2.7 is OpenStack Train. The minimum version of Python now supported by metalsmith is Python 3.6.

Bug Fixes

  • No longer requires root size for whole disk images. This requirement has been removed from ironic.


New Features

  • The metalsmith CLI now uses table format similar to OpenStack CLI.

  • The metalsmith CLI now supports the same -f, -c and --sort-column arguments as other OpenStack CLI.

Upgrade Notes

  • The deprecated class InstanceConfig has been removed.

  • The deprecated instance configuration method build_configdrive has been removed.

  • Changes to consistently using exceptions from metalsmith.exceptions rathen than exposing OpenStackSDK exceptions.

Deprecation Notes

  • The exception InvalidInstance has been renamed to InstanceNotFound.


New Features

  • It is now possible to provide custom user_data into instance configuration.

Upgrade Notes

  • An allocation name is now used for hostname instead of a custom extra field. Previously deployed instances will no longer be recognized, use the allocation backfilling to make them recognized again.

  • The InstanceConfig class has been split into GenericConfig and CloudInitConfig for clarity on which features come from what.

  • The deprecated delay argument to the wait_for_provisioning call has been removed.

  • Instance states (members of the InstanceState enumeration) can no longer be compared to strings. This was deprecated in the Stein release.

Deprecation Notes

  • The exception classes DeploymentFailure, TraitsNotFound and NoNodesReserved are deprecated and no longer used after transitioning to the allocation API.

  • The metalsmith.InstanceConfig class is deprecated, use GenericConfig or CloudInitConfig from the new module metalsmith.instance_config.


New Features

  • Allows disabling clean up on failure via the new clean_up_on_failure argument and --no-clean-up flag.

  • The reserve_node call now also accepts hostname.

Upgrade Notes

  • Bare Metal API version 1.56 (Stein) or newer is now required. Use the 0.11 release series for older versions.

  • The resource_class argument to reserve_node, as well as the --resource-class CLI argument, are now required.

Deprecation Notes

  • InstanceConfig.build_configdrive is deprecated, use generate with openstacksdk’s openstack.baremetal.configdrive.build instead.

Bug Fixes

  • Fixes stale instance_info remaining after deploy failures.

  • Cleans up instance_info before updating it before deployment to make sure not stale information is left there.


New Features

  • Hostname is now displayed in the default format when displaying instances.


New Features

  • The Instance.state value is now a proper enumeration of type metalsmith.InstanceState.

  • The list_instances call now returns any valid instances, not only ones created by metalsmith. This is consistent with the show_instance(s) behavior.

Deprecation Notes

  • Comparing an instance state with strings is deprecated, use enumeration values instead.

Critical Issues

  • Fixes a regression that caused deployed nodes to be picked for deployment again.

Bug Fixes

  • Fixes the show_instance(s) calls to return an exception for nodes that are not valid instances (state == UNKNOWN).


New Features

  • Adds new function metalsmith.sources.detect to automate detection of various sources from their location, kernel, image and checksum.

  • Allows specifying a subnet for the nics argument of the provision_node call as {"subnet": "<name or ID>"}.

  • Adds a new CLI argument --subnet to create a port on the given subnet.

Upgrade Notes

  • The deprecated root_disk_size argument has been removed, use root_size_gb instead.

  • The genisoimage utility is now required for building configdrives.

Deprecation Notes

  • Not providing resource_class to the reserve_node call is now deprecated. This is not compatible with the in-progress bare metal allocation API.

Other Notes

  • The dependency on python-ironicclient has been removed.



This is the first release where release notes were introduced.