We are tickled pink to announce the release of:
bifrost 5.1.0: Deployment of physical machines using OpenStack Ironic and Ansible
This release is part of the rocky release series.
Download the package from:
https://tarballs.openstack.org/bifrost/
For more details, please see below.
5.1.0 ^^^^^
New Features ************
* By adding extra variable "-e ipa_upstream_release=stable-mitaka" for instance, the deployment can now use all ramdisk and kernel images available in https://tarballs.openstack.org/ironic-python- agent/tinyipa/files/ instead of the default "master".
Furthermore, as some of these files do not have any .sha256 checksum associated to them, the downloading of these file is now just issuing a "warning" and is not reported as an Ansible error in the final summary.
* Custom partitioning YAML file can now be specified using partitioning_file variable which contains a path to the YAML file describing the partitions layout. For example:
- local_loop: name: image0 - partitioning: base: image0 label: mbr partitions: - name: root flags: [ boot,primary ] size: 6G mkfs: type: xfs label: "img-rootfs" mount: mount_point: / fstab: options: "rw,relatime" fck-passno: 1 - name: tmp size: 1G mkfs: type: xfs mount: mount_point: /tmp fstab: options: "rw,nosuid,nodev,noexec,relatime" - name: var size: 7G mkfs: type: xfs mount: mount_point: /var fstab: options: "rw,relatime" - name: log size: 5G mkfs: type: xfs mount: mount_point: /var/log fstab: options: "rw,relatime" - name: home size: 1G mkfs: type: xfs mount: mount_point: /home fstab: options: "rw,nodev,relatime"
For more informations please refer to the following links: Disk Image Layout Section (https://docs.openstack.org/diskimage- builder/latest/user_guide/building_an_image.html#disk-image-layout) Standard Partitioning (http://teknoarticles.blogspot.fr/2017/07 /build-and-use-security-hardened-images.html) LVM Partitioning (http://teknoarticles.blogspot.fr/2017/11/security-hardened-images- with-volumes.html)
* Allow to populate the NTP servers setting of dnsmasq. This is optional, but if "dnsmasq_ntp_servers``setting is set, it adds a ``dhcp-option=42,dnsmasq_ntp_servers" to the generated dnsmasq configuration for bifrost.
* Stores introspection data in nginx.
In the absence of swift, we can now use the bifrost nginx web server - masquerading as an object store - to store raw and processed introspection data for nodes. This is configured via the boolean variable "inspector_store_data_in_nginx" and is enabled by default.
Upgrade Notes *************
* The deprecated support for classic drivers has been removed.
Other Notes ***********
* When configuring the "dnsmasq_ntp_servers" setting, several NTP servers can be specified, separated by commas.
Changes in bifrost 5.0.0..5.1.0 -------------------------------
ad4d61b Add missing ironic-inspector bits 6f27563 Create symlink for ironic-rootwrap when using venv a43d00d Fix ironic-inspector config e2f9518 Complete openrc to work with openstackclient 0312ffa Add openstacksdk to required-projects 82f6d11 Pin get-pip.py to 3.2 4b19d29 Remove syslinux usage 4ce7976 Make sure we have our folders for uwsgi 460a8f6 Follow the new PTI for document build f205815 Fix installation of keystone module when using venv 005b91d Fix openstack CLI calls environment when using venv b0df38c Fix uwsgi configuration when using venv 63194c1 Fix installation of python-openstack module when using venv 106eade Add repository & storyboard link to README 212d25a Remove support for classic drivers d2fff1a Add configurable option for Ironic master tftp images path fab12fe playbooks: roles: Drop explicit 'delegate_to' options c4ce1ce fix tox python3 overrides 96ba388 add link to release notes db48dfa sufficient spelling error 6c7421b fix typos 81e48e7 replace http with https a9b2cec Cleanup ironic.conf template 67a23e4 Avoid potential problems using "| bool" fa4f095 Fix incompatible requirements ac079bf Allow to check pep8 along with D000 7417619 scripts: Use ansible_python_interpreter on localhost ad0cbe9 upgrade setuptools before installing package requirements 7590fc1 Remove legacy-fedora-26 job bbce94c Add support for NTP servers in dnsmasq configuration fe10ce2 Prevent reno rendering current release notes twice 1c3b45b Fix cross project jobs 7a73fdc Fix dnsmasq_router usage 4c21783 Stop using slave_scripts/install-distro-packages.sh 50c7edb Only install libvirt-python and python-lxml via pip 39c82a6 Fix bifrost CI dfde2ea Fix some issues due to dnsmasq 65384bf Fix for proper PATH when calling keystone-manage command 74517a8 Fix deployment failure due to wrong check on network interface da9ebe4 Update launchpad to storyboard references 89c51fd Remove useless task 1941e48 bifrost-create-vm-nodes: Install virtualbmc to virtualenv if enabled f7de8e4 fix typos in documentation edb9ee3 add lower-constraints job e1a167a Use endpoint rather than url in clouds.yaml with no keystone 2dc8b6b Updated from global requirements 0cb04c8 Define ironic_db_password default 17a232a Add missing release note for custom partitioning 985c3a9 Updated from global requirements 94c06b9 Add partitioning support 872df74 Updated from global requirements 8a86a21 Add all branch variables to README in bifrost-prep-for-install f86bbd4 Add variable for deploy image type 28b6b8c Use upper constraints when installing virtualbmc 9578e97 Updated from global requirements cf8ac82 Enabled hardware type 'ucs' does not exist 507228a Support storage of introspection data in Nginx 97ca000 Fix for removal of uuid token provider, replaced by fernet 3e9e93e Remove some hardcoded values and use variables instead 01ad207 Fix DHCP informations according to network interface settings 2676f0f Collect ironic-inspector logs 7792531 Add way to customize the IPA version to be used b9de66d Fix for proper usage when keystone enabled 5989563 Make Fedora26 CI job voting ab06c74 Updated from global requirements ae2dc7b Change ironic-inspector to be source installed f3cf0d9 Update reno for stable/queens
Diffstat (except docs and test files) -------------------------------------
CONTRIBUTING.rst | 4 +- README.rst | 9 ++ bifrost/inventory.py | 15 +-- lower-constraints.txt | 74 +++++++++++++ playbooks/cleanup-deployment-images.yaml | 2 +- playbooks/install.yaml | 2 +- playbooks/inventory/baremetal.csv.example | 4 +- playbooks/inventory/group_vars/baremetal | 2 +- playbooks/inventory/group_vars/localhost | 3 +- playbooks/inventory/group_vars/target | 3 +- .../bifrost-integration-dhcp-centos-7/run.yaml | 9 +- .../bifrost-integration-dhcp-opensuse-423/run.yaml | 9 +- playbooks/legacy/bifrost-integration-dhcp/run.yaml | 9 +- .../run.yaml | 9 +- .../run.yaml | 9 +- .../bifrost-integration-dibipa-debian/run.yaml | 9 +- .../bifrost-integration-tinyipa-centos-7/run.yaml | 9 +- .../run.yaml | 9 +- .../legacy/bifrost-integration-tinyipa/run.yaml | 9 +- playbooks/roles/bifrost-create-dib-image/README.md | 6 +- .../roles/bifrost-create-dib-image/tasks/main.yml | 11 +- playbooks/roles/bifrost-create-vm-nodes/README.md | 2 - .../bifrost-create-vm-nodes/defaults/main.yml | 4 +- .../defaults/required_defaults_CentOS.yml | 2 - .../defaults/required_defaults_Debian.yml | 2 - .../defaults/required_defaults_Fedora.yml | 2 - .../defaults/required_defaults_RedHat.yml | 2 - .../defaults/required_defaults_Suse.yml | 2 - .../roles/bifrost-create-vm-nodes/tasks/main.yml | 12 +++ .../tasks/prepare_libvirt.yml | 16 ++- .../bifrost-deploy-nodes-dynamic/tasks/main.yml | 1 - playbooks/roles/bifrost-ironic-install/README.md | 27 +++-- .../roles/bifrost-ironic-install/defaults/main.yml | 55 +++++----- .../defaults/required_defaults_Debian_family.yml | 5 +- .../defaults/required_defaults_Debian_jessie.yml | 4 - .../defaults/required_defaults_Fedora_25.yml | 3 - .../defaults/required_defaults_Fedora_26.yml | 3 - .../defaults/required_defaults_Fedora_27.yml | 3 - .../defaults/required_defaults_RedHat_family.yml | 3 - .../defaults/required_defaults_Suse_family.yml | 2 - .../defaults/required_defaults_Ubuntu_16.04.yml | 8 +- .../bifrost-ironic-install/tasks/bootstrap.yml | 67 +++++++++++- .../tasks/create_tftpboot.yml | 21 ++-- .../tasks/download_ipa_image.yml | 28 ++++- .../tasks/inspector_bootstrap.yml | 15 +++ .../roles/bifrost-ironic-install/tasks/install.yml | 16 +-- .../bifrost-ironic-install/tasks/ironic_config.yml | 35 ++++--- .../tasks/keystone_setup.yml | 55 ++++++---- .../tasks/keystone_setup_inspector.yml | 11 ++ .../templates/dnsmasq.conf.j2 | 16 +-- .../templates/ironic-inspector.conf.j2 | 18 +++- .../templates/ironic.conf.j2 | 35 +++---- .../bifrost-ironic-install/templates/nginx.conf.j2 | 8 ++ .../templates/clouds.yaml.j2 | 2 +- .../templates/openrc.j2 | 2 + .../defaults/required_defaults_RedHat_family.yml | 1 - .../bifrost-keystone-install/tasks/bootstrap.yml | 46 +++++++- .../bifrost-keystone-install/tasks/install.yml | 27 ++++- .../templates/keystone-admin.ini.j2 | 3 + .../templates/keystone-public.ini.j2 | 3 + .../templates/keystone.conf.j2 | 2 +- playbooks/roles/bifrost-prep-for-install/README.md | 12 +++ playbooks/roles/bifrost-test-inspection/README.md | 53 ++++++++++ .../bifrost-test-inspection/defaults/main.yml | 12 +++ .../bifrost-test-inspection/handlers/main.yml | 2 + .../roles/bifrost-test-inspection/meta/main.yml | 116 +++++++++++++++++++++ .../roles/bifrost-test-inspection/tasks/main.yml | 40 +++++++ .../roles/bifrost-test-inspection/vars/main.yml | 2 + .../tasks/main.yml | 1 - .../roles/ironic-delete-dynamic/tasks/main.yml | 1 - playbooks/roles/ironic-enroll-dynamic/README.md | 4 +- playbooks/test-bifrost.yaml | 5 +- ...bifrost-role-auth-support-ea6b5571cd339aa2.yaml | 2 +- .../notes/change-ipa-version-cacaec52a55188cc.yaml | 12 +++ .../notes/create-openrc-9e7f959790f7f409.yaml | 2 +- .../custom-partitioning-78d7ac12d80a993f.yaml | 64 ++++++++++++ .../notes/no-classic-drivers-0b8a346bcab8a004.yaml | 4 + ...ulate_ntp_servers_dnsmasq-249d2a26b94b0bf1.yaml | 11 ++ .../store-introspection-data-bc4f2fef2f5bb543.yaml | 9 ++ releasenotes/source/current-series.rst | 5 - releasenotes/source/index.rst | 1 + releasenotes/source/queens.rst | 6 ++ releasenotes/source/unreleased.rst | 6 +- requirements.txt | 4 +- scripts/collect-test-info.sh | 2 + scripts/install-deps.sh | 9 +- scripts/test-bifrost.sh | 3 + setup.cfg | 9 -- test-requirements.txt | 6 +- tox.ini | 24 ++++- zuul.d/legacy-bifrost-jobs.yaml | 9 +- zuul.d/project.yaml | 4 +- 93 files changed, 942 insertions(+), 289 deletions(-)
Requirements updates --------------------
diff --git a/requirements.txt b/requirements.txt index 8ab0690..e603ffb 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5 +5 @@ pbr!=2.1.0,>=2.0.0 # Apache-2.0 -oslo.config>=5.1.0 # Apache-2.0 +oslo.config>=5.2.0 # Apache-2.0 @@ -8 +8 @@ paramiko>=2.0.0 # LGPLv2.1+ -setuptools>=16.0,!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0 # PSF/ZPL +setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0,>=21.0.0 # PSF/ZPL diff --git a/test-requirements.txt b/test-requirements.txt index 3071177..c41056c 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -9,3 +8,0 @@ doc8>=0.6.0 # Apache-2.0 -reno>=2.5.0 # Apache-2.0 -sphinx!=1.6.6,>=1.6.2 # BSD -openstackdocstheme>=1.18.1 # Apache-2.0 @@ -16 +13 @@ testtools>=2.2.0 # MIT -PyYAML>=3.10 # MIT +PyYAML>=3.12 # MIT @@ -17,0 +15 @@ mock>=2.0.0 # BSD +Pygments>=2.2.0 # BSD license