Mitaka Series (0.0.1 - 1.0.x) Release Notes


Upgrade Notes

  • Bifrost has changed to using TinyIPA as the default IPA image for testing. TinyIPA has a smaller footprint for downloads and memory utilization. Users can continue to utilize CoreOS or diskimage-builder based IPA images, however this was done to improve testing performance and reliability. If the pre-existing IPA image is removed, bifrost will automatically re-download the file upon being updated in an installation process. Otherwise, the pre-existing IPA image will be utilized.



Starting with bifrost 0.1.x, release note generation is via the reno utility.

New Features

  • Add support for passing a Mysql username and password via environment variables mysql_user for username and mysql_pass for password. Useful for cases where Mysql server may be existing and have usernames with password already set.

  • Allows to choose to leverage authenticaiton with roles that interact with ironic services via ansible modules. This is limited to sessions that obtain authentication information via os-client-config. The role defaults ultimately remain unchanged and default to noauth mode. More information on os-client-config can be found at

  • Bifrost traditionally utilized a generated HTTP URL to point ironic to the location of IPA, which is utilized for the boot sequence of machines. A user may now override that default and explicitly choose https if their environment has been pre-configured such that HTTPS support is in place.

  • The inventory_dhcp feature permits configuration of dnsmasq to provide the IP configuration on servers deployed by Bifrost, rather than setting that information into the config drive. Previously, the feature assumed the IP set by dnsmasq was both the provisioning and the management IP, but on some scenarios that is not always the case. With the inclusion of the inventory_dhcp_static_ip option a user can provide an specific provisioning IP via the JSON/YAML/CSV inventory in a server by server basis, which will be used just for the provisioning.

  • Adds new feature to manage DNS with the settings on the inventory. When inventory_dns setting is True, it will populate a set of record-host entries, for each of the hostnames present on the inventory, matching the ipv4_address. This will override the default dnsmasq behaviour, that will associate hostnames with IP present on the leases file.

  • Allow to populate the DNS servers setting of dnsmasq. This is optional, but if dnsmasq_dns_servers``setting is set, it adds a ``dhcp-option=6,dnsmasq_dns_servers to the generated dnsmasq configuration for bifrost.

  • Allow to populate the domain setting of dnsmasq. As shown in documentation, this is optional, but if it is set, it does the following things. 1) Allows DHCP hosts to have fully qualified domain names, as long as the domain part matches this setting. 2) Sets the “domain” DHCP option thereby potentially setting the domain of all systems configured by DHCP. 3) Provides the domain part for “expand-hosts”

  • Support for PXE driver substrate is now installed which utilizes iSCSI to write the disk image to the target node. By default, this support is enabled.

Known Issues

  • Users wishing to utilize authentication without leveraging os-client-config, will need to manually update the playbooks in order to set the appropriate module settings.

  • Basic testing has revealed that PXE drivers may not result in the configurtion drive being written out with the current configuration of bifrost.

Upgrade Notes

  • Bifrost has moved to focusing its use on Ansible 2.0. While Ansible 2.0 is relatively new, it has been stable development for quite some time. If a pre-existing user intends to reinstall/upgrade their environment, they may find the need to remove their pre-existing ansible environment located at /opt/stack/ansible.

  • Ironic inspector has been switched to using MySQL as its back-end database. This was to correct a bug that functionally broke inspection.

  • PXE driver substrate support is now enabled by default. If a user wishes to prevent this, the enable_pxe_drivers setting should be set to false.

Deprecation Notes

  • Moving forward, bifrost will be targeting use of Ansible 2.0. Due to some style/configuration changes, some roles have been marked in their metadata as being intended and only functional with Ansible 2.0 due to required features having been added in 2.0 that were not present or available to reproduce in a 1.9.x compatible way.

Security Issues

  • PXE driver support substrate has been added, however this requires the ability for the conductor to connect to the node being provisioned via iSCSI. As a result sudoers configuration is updated by default to enable ironic to initiate the iSCSI connection and apply the image to the remote disk. As a reminder, users should default to using agent drivers as cleaning support does not exist in the PXE drivers.

Bug Fixes

  • A bug in file ownership resulted in the ironic-inspector functionality not working as expected, and the test being unable to be re-executed without manual clean-up. This has been corrected by moving the database use to MySQL.

  • Dnsmasq option was added to only offer DHCP leases to known mac addresses when inventory_dhcp is being used.

  • Functional tests were added for the inventory module that leverage JSON and YAML parsing to ensure that the input is same as the expected output of the conversion being leveraged.

  • A functional test was added that reconsumes JSON data generated by the CSV file format to help identify any logic parity breaks between the logic present in each data parsing method.

  • PXE driver support substrate was previously incomplete and has been revised to properly support PXE drivers. This has been tested on Ubuntu 14.04 LTS.

Other Notes

  • The README.rst file was updated to include a list of the drivers enabled by default, as well as what driver is available in testing mode.

  • A pointer was added to the README.rst file for users possibly wishing to utilize the OneView driver for mass machine deployment via bifrost, since the driver cannot be enabled by default.

  • When configuring the dnsmasq_dns_servers setting, several nameservers can be specified, separated by commas.

  • The role will accept the domain setting. If that’s present, it will be populated to equivalent domain setting in dnsmasq.conf