[release-announce] bifrost 8.2.0 (victoria)

no-reply at openstack.org no-reply at openstack.org
Wed Jul 8 14:23:37 UTC 2020


We jubilantly announce the release of:

bifrost 8.2.0: Deployment of physical machines using OpenStack Ironic
and Ansible

This release is part of the victoria release series.

The source is available from:

    https://opendev.org/openstack/bifrost

Download the package from:

    https://tarballs.openstack.org/bifrost/

Please report issues through:

    https://storyboard.openstack.org/#!/project/openstack/bifrost

For more details, please see below.

8.2.0
^^^^^


New Features
************

* It is now possible to use the "bifrost" cloud with introspection
  commands even in no-auth mode.

* Debian Buster is now supported as a base operating system.

* Configures the default deploy and rescue kernel/ramdisk, setting
  them in "driver_info" is now optional.

* Ubuntu Focal (20.04) is now supported as a base operating system.

* The values of "enabled_bios_interfaces",
  "enabled_boot_interfaces", "enabled_management_interfaces" and
  "enabled_power_interfaces" are now derived from the
  "enabled_hardware_types" if left empty (the default).

* Adds a new parameter "internal_ip" specifying which IP address to
  use for nodes to reach ironic and the HTTP server, and for cross-
  service interactions when keystone is disabled. By default the IPv4
  address of the "network_interface" is used.

* The "manual-management" hardware type is now enabled by default.
  It can be used with hardware that does not feature a supported BMC.

* The "noop" management interface can now be used out-of-box with
  "ipmi" and "redfish" nodes to prevent ironic from changing the boot
  device and order.

* MetalSmith (https://docs.openstack.org/metalsmith/) is now
  installed by default.

* A normal ironic "nodes.json" (suitable for the "baremetal create"
  command) is now generated when creating testing VMs. The default
  location is "/tmp/nodes.json".

* Sets the default resource class for newly enrolled nodes without
  an explicit resource class. Defaults to "baremetal", can be changed
  via the "default_resource_class" parameter.

* Fedora 30 is now supported as a base operating system.

* Adds two new parameters for controlling how existing git checkouts
  are handled:

  * "update_repos" can be set to "false" to prevent the repositories
    from being updated.

  * "force_update_repos" can be set to "false" to prevent Bifrost
    from overwriting local changes.

* Changes the default version of Ansible to version 2.9.

* The new variable "use_tinyipa" (defaulting to "true") defines
  whether to use the pre-built tinyIPA images or production-ready
  CentOS images built with DIB.


Upgrade Notes
*************

* Explicit support for Fedora versions precedent to 30 has been
  removed.

* Explicit support for Debian Jessie has been removed.

* OpenStackClient is no longer installed when keystone is not
  enabled. Use the ironic native "baremetal" command instead. For
  example, instead of

     openstack baremetal node list

  use just

     baremetal node list

* The shade library is no longer used, nor installed by default.

* The default version of Ansible used for this release of bifrost is
  version 2.9. Operators may wish to upgrade if they are directly
  invoking playbooks or roles.

* All packages are now installed in a virtual environment in
  "/opt/stack/bifrost" by default instead of system-wide.


Deprecation Notes
*****************

* The "bifrost-inspector" cloud in "clouds.yaml" is now deprecated,
  use the main "bifrost" cloud for all commands.

* The "os_ironic_facts" module is deprecated. Please use
  "os_ironic_node_info" that returns information in the "node"
  parameter.

* Support for system-wide installation of packages is deprecated,
  untested and may be removed in a future release.


Bug Fixes
*********

* Fixes installing Keystone under CentOS 8.

* Fixes failure to install on systems with a local resolved by
  setting "disable_dnsmasq_dns" to "True" by default.

* Fixes fast-track deployment after inspection/discovery by
  providing the correct ironic API URL to the ramdisk.

* Fixes deployment in a testing environment on CentOS 8 by using
  firewalld instead of iptables to enable access from nodes to ironic.

* An ironic-python-agent image is now updated every time the
  installation playbooks are run. This is done to avoid discrepancy
  between ironic and the ramdisk on updates. Set "update_ipa" to
  "false" to prevent the ramdisk update (not recommended) or
  "update_repos" to "false" to disable any updates.


Other Notes
***********

* Support for Ubuntu Xenial and Debian Stretch has been officially
  removed (Bifrost has been broken on them since Ussuri because of the
  transition to Python 3.6).

Changes in bifrost 8.0.0..8.2.0
-------------------------------

0b58a05 Do not use 'sudo pip install' when venv is used
3d2ee60 Prepare release notes for release 8.2
00ac26e Fix bifrost_venv_dir default assignment
deaa4d7 Use firewalld to open ports on CentOS and RHEL.
27d8752 install-deps: install setuptools early for Debian
dbb3f24 Get rid of venv_python_path
f5906a9 Derive enabled hardware interfaces from enabled_hardware_types
c0499c4 Consolidate the default IP address handling
fa1b8ea Add openstack collection
77a5ad3 CI: clean up non-votings jobs
ec72e0c Make bifrost more metalsmith-friendly
835a487 Fix fast-track deployment after discovery/inspection
188e121 Update IPA if update_repos is true (the default)
ed26a19 Only install proliantutils if ilo is enabled; support idrac
2c9ede3 Migrate pip_install.yml to a new role bifrost-pip-install
99b93f4 Remove the ansible_pkg_mgr hack
a78e64b Allow changing 'update' and 'force' when cloning repos
a071eb9 Update ansible versions in README of the roles
9f78723 Remove the workaround for PEP517 issues
7283e3d Convert with_items to loop
1ddaf56 reno: update release versions for Ussuri and Train
12c6f71 Quick start Bifrost CLI
3fe85c5 Add an option to use pre-built DIB images
59a0185 Install packages all at once instead of looping over them
81389bc drop mock from lower-constraints
3ffa9c7 Fix bifrost_inventory.py with no nodes enrolled
d5a279a bifrost-create-vm-nodes: generate a normal nodes.json
0477e45 Set default deploy/rescue kernel/ramdisk in ironic.conf
a077a50 Remove empty files from the roles
23f467b Restore installing DIB-specific dependencies
9c9c014 Moving to ansible 2.9
8aa8086 Switch to using virtual envs by default
b86f478 Set disable_dnsmasq_dns to True
4b2913a Documentation: minor fixes in the user guide
1dfe31d Documentation: reorder the contributors guide
7e363d4 Drop hard requirement on debootstrap and EPEL
c9866a0 Enable manual-management and the noop management interface
8593f23 Install uWSGI from PyPI to repair CentOS 8 support
6f44cd8 Stop supporting non-systemd systems
8b43bf0 Get rid of the shade dependency
95e78f1 Install metalsmith by default
85e1b82 CI: reduce memory and disk for testing nodes
e35293b Support Ubuntu Focal (20.04)
979bcae Remove support for Ubuntu Xenial and Debian Stretch
ccdfa1d Support Debian Buster and add CI jobs for it
7a7022b [Trivial] Correct a typo in the docs
3532919 Avoid running functional jobs for api-ref changes
ccfe458 Follow up on add Fedora 30 support
d8e8297 Add Fedora 30 based job
d8ff9ff CI: move the libvirt storage pool to /opt
5182388 Fix pip3 path
d75a07c Fix check packages command
2be8ee6 Fix detection of mkisofs
bb807b2 Correct handling enable_venv in pip_install.yml
d804de8 Remove explicit support for EOL Fedora versions and Debian Jessie
a381b0f install-deps: use system pip and bindep for installing dependencies
08b5bd7 Deprecate a separate bifrost-inspector cloud
0b7fd20 Stop installing openstackclient if keystone is not enabled
8b7a41e Make the keystone job voting and re-enable commented out jobs
28eb779 Fix pygments style
c1c360c Update docs references for CentOS 8
cc415e5 Install python3-pip system package
5d126e3 Switch to newer openstackdocstheme and reno versions
50132a8 Remove .testr.conf
327cc85 Remove the unused coding style modules
62ccb03 Remove translation sections from setup.cfg
999e1bb Update lower-constraints.txt
ceb5a49 Add py38 package metadata
80022d9 No need to import print from future anymore
f1cbedd Add Python3 victoria unit tests
ad48cad Update master for stable/ussuri
556ce37 Upgrade flake8-import-order version to 0.17.1


Diffstat (except docs and test files)
-------------------------------------

.gitignore                                         |   4 +
.testr.conf                                        |   7 -
ansible-collection-requirements.yml                |   4 +
babel.cfg                                          |   2 -
bifrost-cli                                        |  13 ++
bifrost/__init__.py                                |  10 +-
bifrost/cli.py                                     | 240 +++++++++++++++++++++
bifrost/inventory.py                               |  56 ++---
bindep.txt                                         |   4 +
lower-constraints.txt                              |  30 +--
playbooks/ci/run.yaml                              |   4 +-
playbooks/example-deploy-all-available-nodes.yaml  |   8 +-
playbooks/library/os_ironic_facts.py               | 148 +------------
playbooks/library/os_ironic_node_info.py           | 178 +++++++++++++++
playbooks/redeploy-dynamic.yaml                    |  15 +-
.../bifrost-configdrives-dynamic/handlers/main.yml |   2 -
.../bifrost-configdrives-dynamic/meta/main.yml     |   6 +-
.../bifrost-configdrives-dynamic/tasks/main.yml    |  24 +--
.../tasks/update_facts_from_ironic.yaml            |   3 +-
.../roles/bifrost-create-bootable-image/README.md  |   2 +-
playbooks/roles/bifrost-create-dib-image/README.md |   4 +-
.../bifrost-create-dib-image/defaults/main.yml     |   4 +-
.../roles/bifrost-create-dib-image/meta/main.yml   |   6 +-
.../roles/bifrost-create-dib-image/tasks/main.yml  |  16 +-
.../bifrost-create-vm-nodes/defaults/main.yml      |   7 +-
.../defaults/required_defaults_Debian.yml          |   4 +-
.../defaults/required_defaults_Debian_jessie.yml   |   2 -
.../defaults/required_defaults_Ubuntu_20.04.yml    |  14 ++
.../bifrost-create-vm-nodes/handlers/main.yml      |   2 -
.../roles/bifrost-create-vm-nodes/meta/main.yml    |   6 +-
.../bifrost-create-vm-nodes/tasks/create_vm.yml    |  15 ++
.../roles/bifrost-create-vm-nodes/tasks/main.yml   |  46 ++--
.../tasks/prepare_libvirt.yml                      |  32 +--
.../roles/bifrost-create-vm-nodes/vars/main.yml    |   2 -
.../bifrost-deploy-nodes-dynamic/defaults/main.yml |   1 +
.../bifrost-deploy-nodes-dynamic/handlers/main.yml |   2 -
.../bifrost-deploy-nodes-dynamic/meta/main.yml     |   6 +-
.../bifrost-deploy-nodes-dynamic/tasks/main.yml    |   6 +-
.../bifrost-deploy-nodes-dynamic/vars/main.yml     |   2 -
playbooks/roles/bifrost-ironic-install/README.md   |  21 +-
.../roles/bifrost-ironic-install/defaults/main.yml |  51 +++--
.../defaults/required_defaults_Debian_family.yml   |   5 +-
.../defaults/required_defaults_Debian_jessie.yml   |  37 ----
..._Fedora_26.yml => required_defaults_Fedora.yml} |  41 ++--
.../defaults/required_defaults_Fedora_22.yml       |   5 -
.../defaults/required_defaults_Fedora_25.yml       |  42 ----
.../defaults/required_defaults_Fedora_27.yml       |  43 ----
.../defaults/required_defaults_RedHat_family.yml   |   5 +-
.../defaults/required_defaults_Suse_family.yml     |   3 -
...untu_16.04.yml => required_defaults_Ubuntu.yml} |   5 +-
.../defaults/required_defaults_Ubuntu_18.04.yml    |  36 ----
.../bifrost-ironic-install/tasks/bootstrap.yml     |  62 ++++--
.../tasks/create_tftpboot.yml                      |   2 +-
.../tasks/download_ipa_image.yml                   |  27 +--
.../bifrost-ironic-install/tasks/get_ipxe.yml      |   9 +-
.../bifrost-ironic-install/tasks/hw_types.yml      |  45 ++++
.../tasks/inspector_bootstrap.yml                  |  27 ++-
.../tasks/inspector_install.yml                    |  30 +--
.../roles/bifrost-ironic-install/tasks/install.yml | 167 +++++++-------
.../bifrost-ironic-install/tasks/ironic_config.yml |   6 +-
.../tasks/keystone_setup.yml                       |  28 +--
.../tasks/keystone_setup_inspector.yml             |  20 +-
.../bifrost-ironic-install/tasks/pip_install.yml   |  81 -------
.../tasks/staging_install.yml                      |  13 +-
.../roles/bifrost-ironic-install/tasks/start.yml   |   7 +-
.../bifrost-ironic-install/tasks/vendor_deps.yml   |  26 +++
.../templates/dnsmasq.conf.j2                      |   4 +-
.../templates/inspector-default-boot-ipxe.j2       |   2 +-
.../templates/ironic.conf.j2                       |  16 +-
.../templates/systemd_template.j2                  |   2 +-
.../templates/clouds.yaml.j2                       |   5 +-
.../bifrost-keystone-install/defaults/main.yml     |   8 +-
.../defaults/required_defaults_Debian_family.yml   |   8 +-
.../defaults/required_defaults_Debian_jessie.yml   |  19 --
.../defaults/required_defaults_Fedora_22.yml       |   5 -
.../defaults/required_defaults_RedHat_family.yml   |   6 +-
.../defaults/required_defaults_Suse_family.yml     |   5 +-
...untu_18.04.yml => required_defaults_Ubuntu.yml} |   6 -
.../defaults/required_defaults_Ubuntu_16.04.yml    |  19 --
.../files/keystone_policy.te                       |  11 +
.../roles/bifrost-keystone-install/meta/main.yml   |   8 +-
.../bifrost-keystone-install/tasks/bootstrap.yml   |  36 +++-
.../bifrost-keystone-install/tasks/install.yml     | 105 +++------
.../bifrost-keystone-install/tasks/pip_install.yml |  78 -------
.../roles/bifrost-keystone-install/tasks/start.yml |   3 +-
.../templates/systemd_template.j2                  |   2 +-
.../roles/bifrost-openstack-ci-prep/README.md      |   5 +-
.../roles/bifrost-openstack-ci-prep/vars/main.yml  |   2 -
playbooks/roles/bifrost-pip-install/README.md      |  32 +++
.../roles/bifrost-pip-install/defaults/main.yml    |  17 ++
playbooks/roles/bifrost-pip-install/tasks/main.yml |  78 +++++++
playbooks/roles/bifrost-prep-for-install/README.md |  10 +-
.../bifrost-prep-for-install/defaults/main.yml     |  11 +-
.../roles/bifrost-prep-for-install/tasks/main.yml  |   8 +-
.../handlers/main.yml                              |   2 -
.../tasks/main.yml                                 |   2 +-
.../bifrost-prepare-for-test-dynamic/vars/main.yml |   2 -
playbooks/roles/bifrost-rabbitmq/tasks/main.yml    |   4 +-
.../roles/bifrost-test-dhcp/defaults/main.yml      |   2 -
.../roles/bifrost-test-dhcp/files/test-dhcp.py     |   1 -
.../roles/bifrost-test-dhcp/handlers/main.yml      |   3 -
playbooks/roles/bifrost-test-dhcp/vars/main.yml    |   2 -
.../bifrost-test-inspection/defaults/main.yml      |   2 -
.../bifrost-test-inspection/handlers/main.yml      |   2 -
.../roles/bifrost-test-inspection/tasks/main.yml   |   4 +-
.../roles/bifrost-test-inspection/vars/main.yml    |   2 -
playbooks/roles/bifrost-test-vm/defaults/main.yml  |   2 -
playbooks/roles/bifrost-test-vm/handlers/main.yml  |   2 -
playbooks/roles/bifrost-test-vm/vars/main.yml      |   2 -
.../handlers/main.yml                              |   2 -
.../bifrost-unprovision-node-dynamic/vars/main.yml |   2 -
.../roles/ironic-delete-dynamic/handlers/main.yml  |   2 -
.../roles/ironic-delete-dynamic/vars/main.yml      |   2 -
playbooks/roles/ironic-enroll-dynamic/README.md    |   4 +-
.../roles/ironic-enroll-dynamic/handlers/main.yml  |   2 -
.../roles/ironic-enroll-dynamic/tasks/main.yml     |   5 +-
.../roles/ironic-enroll-dynamic/vars/main.yml      |   2 -
playbooks/roles/ironic-inspect-node/README.md      |   4 +-
.../roles/ironic-inspect-node/handlers/main.yml    |   2 -
playbooks/roles/ironic-inspect-node/vars/main.yml  |   2 -
playbooks/roles/venv_python_path/tasks/main.yml    |  33 ---
playbooks/test-bifrost.yaml                        |  11 +-
.../ancient-fedora-jessie-773ba251b28f4a94.yaml    |   6 +
.../notes/bifrost-inspector-a154561802d8d614.yaml  |   9 +
.../notes/centos-keystone-acad21e70153067d.yaml    |   4 +
.../notes/debian-buster-dd7cfde9908deb09.yaml      |   4 +
.../notes/default-ipa-fe012dfdba580bf4.yaml        |   5 +
.../disable_dnsmasq_dns-0d545cdaa81b92a2.yaml      |   5 +
.../fast-track-inspection-a28a062e86f06190.yaml    |   5 +
releasenotes/notes/firewalld-d53c6396828b91ee.yaml |   5 +
releasenotes/notes/focal-36208207a571f354.yaml     |   4 +
releasenotes/notes/hw-types-17106c0397f34ef1.yaml  |   6 +
.../notes/internal-address-c1f9ffb731373ea3.yaml   |   7 +
.../notes/manual-management-c204a200b0f0e6e0.yaml  |   9 +
.../notes/metalsmith-7044429597a5f137.yaml         |   5 +
releasenotes/notes/no-osc-b39d14591103b2c3.yaml    |  15 ++
releasenotes/notes/no-shade-b861f699b8a9919f.yaml  |   8 +
releasenotes/notes/no-xenial-1c27b7bb2cf165ed.yaml |   6 +
.../notes/nodes.json-d47a30a22a04c7ed.yaml         |   6 +
.../notes/resource-class-243535c9049cbd73.yaml     |   6 +
.../notes/support-fedora-3b14bffb24097b28.yaml     |   4 +
.../notes/update-ipa-76691dbca92246b6.yaml         |   8 +
.../notes/update-repos-b60563ee51b574fc.yaml       |  10 +
...pdate_default_ansible_2.9-e96335c0ef609642.yaml |   9 +
.../notes/use-tinyipa-31f5343def1c0bf4.yaml        |   6 +
.../notes/venv-default-895f7b633803297f.yaml       |   9 +
releasenotes/source/conf.py                        |  12 +-
releasenotes/source/index.rst                      |   1 +
releasenotes/source/train.rst                      |   2 +-
releasenotes/source/ussuri.rst                     |   6 +
scripts/collect-test-info.sh                       |   4 +-
scripts/env-setup.sh                               |  26 ++-
scripts/install-deps.sh                            | 133 ++++--------
scripts/split_json.py                              |   2 -
scripts/test-bifrost.sh                            | 113 ++++------
setup.cfg                                          |  15 +-
test-requirements.txt                              |   3 +
tox.ini                                            |   3 +
zuul.d/bifrost-jobs.yaml                           |  46 ++--
zuul.d/project.yaml                                |  26 ++-
176 files changed, 1689 insertions(+), 1546 deletions(-)


Requirements updates
--------------------

diff --git a/test-requirements.txt b/test-requirements.txt
index 64ddfa3..08571a1 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -15,0 +16,3 @@ Pygments>=2.2.0 # BSD license
+flake8-import-order>=0.17.1 # LGPLv3
+
+openstacksdk>=0.37.0 # Apache-2.0






More information about the Release-announce mailing list