We are glad to announce the release of: bifrost 5.2.0: Deployment of physical machines using OpenStack Ironic and Ansible This release is part of the stein release series. Download the package from: https://tarballs.openstack.org/bifrost/ For more details, please see below. 5.2.0 ^^^^^ New Features ************ * By adding extra string variable "-e private_ip=8.8.8.8" Bifrost, if used with Keystone enabled, will configure private/internal services endpoints (for Keystone, Ironic and Ironic Inspector) to contain this private IP address in replacement of the default values which are set to point to localhost. The default behaviour is kept unchanged, which means that services private endpoints will contain references to localhost aka 127.0.0.1. * By adding extra string variable "-e public_ip=8.8.8.8" which is to be used in conjunction with "use_public_urls=true" Bifrost, if used with Keystone enabled, will configure public services endpoints (for Keystone, Ironic and Ironic Inspector) to contain this public IP address in replacement of the default values which are set to point to localhost. The default behaviour is kept unchanged, which means that services public endpoints will contain references to localhost aka 127.0.0.1. * Adds ability to enroll or deploy specific nodes from the bifrost inventory using the new environment variable BIFROST_NODE_NAMES for example: export BIFROST_NODE_NAMES=node1,node2,node5 * Adds a new variable "enabled_deploy_interfaces" which allows the user to set the "enabled_deploy_interfaces" configuration option in ironic. * Adds support for installing the "openstack" client, even when the Identity service is disabled. If the Identity service is disabled, also adds a new cloud in "clouds.yml" called "bifrost-inspector" which references to the Bare Metal Introspection service. * Extra packages to install with ironic may be specified as a list in the variable ironic_extra_packages. This is especially useful for out-of-tree drivers. * Adds support for performing ironic online data migrations. * Adds the use of the "openstacksdk" library which is superceeding the "shade" library for communicating with OpenStack services using the Ansible modules. By default this will attempted to be installed from source. Set the "openstacksdk_source_install" option to false in order to install from PyPI. * Changes the default version of Ansible to version 2.6. * By adding extra boolean variable "-e use_public_urls=true" Bifrost, if used with Keystone enabled, will configure public services endpoints (for Keystone, Ironic and Ironic Inspector) to contain the public IP address of the node where Bifrost is running in replacement of the default values which are set to point to localhost. The default behaviour is kept unchanged, which means that services public endpoints will contain references to localhost aka 127.0.0.1. Upgrade Notes ************* * The default version of Ansible used for this release of bifrost is version 2.6. Operators may wish to upgrade if they are directly invoking playbooks or roles. Changes in bifrost 5.1.0..5.2.0 ------------------------------- 2ac87b3 Install dpkg on SuSE family 853c252 Allow Ironic URL to use env vars in bifrost_inventory.py a0b4577 Use become when testing image presence 53fa0c9 Make explicit fact gathering timeout configurable 847cef3 Dumplicate words was deleted in README.md 1fcd7d2 Remove those copy words occured twice times in README.md 0434f4b Delete the duplicate words in CONTRIBUTING.rst 705a58f Perform ironic online data migrations ff7621c Use a virtualenv in openSUSE CI testing ec7d295 Update devel info: mailing list 2829187 Change openstack-dev to openstack-discuss 2d286dd Remove pre-emptive boot.ipxe copy 94c52df fix grammar issues in bifrost mission statement b8ede14 Install packages required to build EFI disk images d446038 Add initial support for EFI booting 72825c3 Set transport_url for ironic-inspector 68bc38e Applying the HTTPS protocal. d84ec9c Get ramdisk name from variable instead of hardcoding it 95091a4 Pass global enviroment variables 6f711be omit the twice occured words in openstacksdk-addition-efec3878ef988295.yaml ad763bf remove those copy words occured twice times in offline-install.rst ec88ca2 Add openSUSE Leap 15 jobs 1ea70cb Set default_boot_option for bifrost 6fcdfcf Mark discovery ramdisk to have an initrd d2fa3a6 Sudo is needed to copy logs 6fd0e65 playbooks: Use --upgrade-strategy option for openSUSE distributions e1048b1 Remove paste references on keystone deployments 0f605cd Fix bug in dnsmasq config 254ad0c Fix typos 632a536 Fix CI for CentOS beb4e60 playbooks: Convert venv_python_path to proper role 6db1bee scripts: collect-test-info: Fix cp command when collecting VM logs 99e97c4 Add voting and gating test with Keystone enabled 483e3a7 Fix for proper installation 5a688a0 Fix ironic configuration for new oslo messaging d1c9bd8 scripts: collect-test-info.sh: Collect baremetal information 2be2c38 scripts: collect-test-info.sh: Collect PXE scripts 431b768 scripts: Fix shell expansion when collecting VM logs 580001d Fix kolla bifrost image (again) ceb7d90 roles: bifrost-ironic-install: Make epmd listen to all addresses on SUSE a13a599 Allow customization of internal endpoints IP address beb404f Allow to specify the public IP to be used for public endpoints 4fcba7f Fix deployment when using Ansible 2.6.5 6ed567a Fix bifrost install in kolla image 1e19c45 Fix deployment when improper version of python-openssl is installed b1cb14b Add possibility to use proper public URLs for endpoints 4d0c892 playbooks: roles: Do not force dependency upgrades 7695011 bifrost-create-vm-nodes: Add missing g++ dependency for virtualbmc 093c9f9 bifrost-create-vm-nodes: Add missing libxml and libxslt dependencies 9d58e74 Remove duplicated code 9f15352 Add ability to deploy only specific nodes from the ansible inventory 4e8b86b Reorder client install order 92023d1 Add reno for ansible 2.6 change 18f583b Add openstacksdk to installed packages 36031ed Migrate the link of bug report button to storyboard eba6c8f Add enabled_deploy_interfaces variable ebe8cfa Refactor bifrost-integration-tinyipa jobs 61f1f46 switch documentation job to new PTI c85c918 import zuul job settings from project-config 2486f45 Install openstack client, inspector in clouds.yml c6fad64 Allow extra packages to be installed with ironic 9e07378 Refactor bifrost-integration-dibipa-debian jobs 4f0743f Switch to Ansible 2.6 53c3da1 Refactor bifrost-integration-dhcp jobs b2e9584 Add doc/requirements.txt to releasenotes tox environment 9e89ab4 Update reno for stable/rocky Diffstat (except docs and test files) ------------------------------------- CONTRIBUTING.rst | 12 +-- MISSION.rst | 4 +- bifrost/inventory.py | 30 ++++++- bindep.txt | 4 +- lower-constraints.txt | 1 + .../bifrost-integration-dhcp-centos-7/post.yaml | 15 ---- .../bifrost-integration-dhcp-centos-7/run.yaml | 72 ----------------- .../post.yaml | 15 ---- .../bifrost-integration-dhcp-opensuse-423/run.yaml | 73 ----------------- .../legacy/bifrost-integration-dhcp/post.yaml | 2 +- playbooks/legacy/bifrost-integration-dhcp/run.yaml | 2 + .../post.yaml | 15 ---- .../run.yaml | 73 ----------------- .../post.yaml | 15 ---- .../run.yaml | 73 ----------------- .../bifrost-integration-dibipa-debian/post.yaml | 2 +- .../bifrost-integration-dibipa-debian/run.yaml | 2 + .../bifrost-integration-tinyipa-centos-7/post.yaml | 15 ---- .../bifrost-integration-tinyipa-centos-7/run.yaml | 72 ----------------- .../post.yaml | 15 ---- .../run.yaml | 72 ----------------- .../legacy/bifrost-integration-tinyipa/post.yaml | 2 +- .../legacy/bifrost-integration-tinyipa/run.yaml | 14 +++- .../roles/bifrost-create-dib-image/tasks/main.yml | 3 + .../roles/bifrost-create-dib-image/vars/main.yml | 2 + playbooks/roles/bifrost-create-vm-nodes/README.md | 2 +- .../defaults/required_defaults_Debian.yml | 3 + .../defaults/required_defaults_RedHat.yml | 3 + .../defaults/required_defaults_Suse.yml | 3 + .../tasks/prepare_libvirt.yml | 6 ++ .../roles/bifrost-deploy-nodes-dynamic/README.md | 2 +- .../bifrost-deploy-nodes-dynamic/defaults/main.yml | 3 + .../bifrost-deploy-nodes-dynamic/tasks/main.yml | 9 ++- playbooks/roles/bifrost-ironic-install/README.md | 7 +- .../roles/bifrost-ironic-install/defaults/main.yml | 22 ++++++ .../defaults/required_defaults_Suse_family.yml | 1 + .../required_defaults_openSUSE_Leap_15.0.yml | 49 ++++++++++++ .../bifrost-ironic-install/tasks/bootstrap.yml | 34 ++++++-- .../tasks/create_tftpboot.yml | 28 ++++++- .../tasks/download_ipa_image.yml | 7 ++ .../bifrost-ironic-install/tasks/get_ipxe.yml | 20 ++++- .../tasks/inspector_bootstrap.yml | 7 ++ .../tasks/inspector_install.yml | 8 +- .../roles/bifrost-ironic-install/tasks/install.yml | 62 +++++++++++---- .../tasks/keystone_setup.yml | 50 ++++++------ .../tasks/keystone_setup_inspector.yml | 38 +++++---- .../roles/bifrost-ironic-install/tasks/main.yml | 10 ++- .../bifrost-ironic-install/tasks/migrations.yml | 22 ++++++ .../tasks/staging_install.yml | 2 +- .../templates/dnsmasq.conf.j2 | 10 ++- .../templates/inspector-default-boot-ipxe.j2 | 2 +- .../templates/ironic-inspector.conf.j2 | 2 + .../templates/ironic.conf.j2 | 15 +++- .../defaults/main.yml | 1 + .../templates/clouds.yaml.j2 | 3 + .../bifrost-keystone-install/defaults/main.yml | 4 + .../bifrost-keystone-install/tasks/bootstrap.yml | 30 ++++--- .../bifrost-keystone-install/tasks/install.yml | 13 ++-- .../bifrost-keystone-install/tasks/pip_install.yml | 35 ++++++++- .../bifrost-prep-for-install/defaults/main.yml | 7 ++ .../roles/bifrost-test-inspection/tasks/main.yml | 13 +--- .../roles/ironic-enroll-dynamic/defaults/main.yml | 3 + .../roles/ironic-enroll-dynamic/tasks/main.yml | 1 + .../roles/ironic-inspect-node/defaults/main.yml | 3 + playbooks/roles/ironic-inspect-node/tasks/main.yml | 1 + playbooks/roles/venv_python_path/tasks/main.yml | 33 ++++++++ playbooks/test-bifrost.yaml | 14 ++++ ...stom-private-endpoints-ip-b4f29647569a15ce.yaml | 12 +++ ...ustom-public-endpoints-ip-4662c246f029589e.yaml | 13 ++++ .../notes/bifrost_node_names-f26ca2eab7e261d6.yaml | 7 ++ ...enabled-deploy-interfaces-bf1e25a29ac80680.yaml | 5 ++ .../notes/install-osc-c179e673dc338ab3.yaml | 7 ++ .../ironic-extra-packages-e3ad3e4a85e59049.yaml | 6 ++ .../ironic-online-migrations-092aef2b4c2ec75f.yaml | 4 + .../openstacksdk-addition-efec3878ef988295.yaml | 8 ++ .../support-staging-drivers-1c398a56dde9b240.yaml | 2 +- ...pdate_default_ansible_2.6-82ff11d7b653b946.yaml | 9 +++ ...use_public_urls_endpoints-1220a7f4164696c3.yaml | 13 ++++ releasenotes/source/index.rst | 1 + releasenotes/source/rocky.rst | 6 ++ requirements.txt | 1 + scripts/collect-test-info.sh | 24 +++++- scripts/env-setup.sh | 2 +- scripts/install-deps.sh | 13 +++- scripts/test-bifrost.sh | 3 +- setup.cfg | 2 +- tox.ini | 3 + zuul.d/legacy-bifrost-jobs.yaml | 91 +++++++++++++++------- zuul.d/project.yaml | 21 ++++- 93 files changed, 752 insertions(+), 704 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index e603ffb..7531fba 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,0 +8 @@ paramiko>=2.0.0 # LGPLv2.1+ +pyOpenSSL>=18.0.0 # Apache-2.0