We are chuffed to announce the release of: bifrost 2.0.0: Deployment of physical machines using OpenStack Ironic and Ansible
This release is part of the newton release series. For more details, please see below. 2.0.0 ^^^^^ New Features ************ * Allows to create VMs with custom names instead of using testvm or NODE_BASE and sequential prefixes. This can be achieved by passing the TEST_VM_NODE_NAMES env var. * The ironic install role has been split into 3 phases. "install" phase installs all ironic packages and dependencies. "bootstrap" phase generates configs and initializes the ironic db. "start" phase starts all ironic services and dependencies. Each phase is run by default and can be skipped by defining skip_package_install, skip_bootstrap and skip_start respectively. * Add support for kvm acceleration for the VMs created by bifrost- create-vm-nodes. The default domain type for the created VMs is qemu which uses tcg acceleration. In order to use kvm acceleration, users need to set VM_DOMAIN_TYPE to kvm. * A new playbook was added to redeploy nodes. The playbook transitions each node's provision state to 'available', waiting for the nodes to reach that state. Next, the playbook deploys the nodes, waiting for the nodes to reach provision state 'active'. The playbook is redeploy-dynamic.yaml in the playbooks directory. Upgrade Notes ************* * A new test playbook, test-bifrost.yaml, has been added. This playbook merges the functionality of the existing test-bifrost- dynamic.yaml and test-bifrost-dhcp.yaml playbooks. * 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. Deprecation Notes ***************** * test-bifrost-dynamic.yaml and test-bifrost-dhcp.yaml have been superseded by test-bifrost.yaml and will be removed in the Ocata release. Other Notes *********** * A new install_dib varible has been introduced to the ironic install role to control installation of disk image builder and dib- utils. To maintain the previous behavior install_dib will default to the value of create_image_via_dib. Changes in bifrost 1.0.0..2.0.0 ------------------------------- 8e99369 Update IPA info in troubleshooting.rst 92a2d28 Install the net-tools package in scripts/env-setup.sh 101551a Split --syntax-check and --list-tasks steps in test-bifrost.sh 28797b0 Specify node_network_info is a dict 2a6a7f7 Remove 'auth' fact initialization from bifrost-deploy-nodes-dynamic a75b1a8 Update release notes for Newton 3775863 Use upper-constraints for all tox targets 356954b Fix /etc/hosts before starting the rabbitmq server 2b6cf52 Restore stable-2.0 as the default Ansible branch 4d59ba5 Add SUSE support in scripts/env-setup.sh 939c244 Allow to define vms with independent names 5506f5e Only set hostname on 127.0.0.1 if not present in /etc/hosts 6fa28b1 Introduce support for kvm acceleration 1141182 Fix release notes formatting issue 1d19d28 Change Vagrant VM to mirror memory/cpu in CI 292f3d6 Fix typo when querying the python version in scripts/env-setup.sh 8c947c5 Set OS_AUTH_TOKEN to dummy string, instead of empty space 84414b3 Initialize 'auth' to empty dict on bifrost_configdrives_dynamic 2b9ccfc Remove auth line to fallback on default(omit) behaviour e3f8f86 Fix DHCP test scenario d9dbbd3 Change Bifrost to TinyIPA as the default dc732e6 Updated from global requirements 97b3998 Fix some spelling mistakes 353a1c0 Remove discover from test-requirements 7b109a6 Updated from global requirements 82d7650 Change none to noop network interface for bifrost ba9e746 Disable flat network driver 2e0ff63 Unify test playbooks ddb3965 Fix testing script permission settings for logs 32ea65d Increase timeout for downloading IPA ramdisk and kernel 155bb48 Updated from global requirements ab0755b Correct name for test 022d05e split ironic install role into install,bootstrap,start phases b8a97b8 Add redeploy-dynamic playbook e7fc06a Make ansible installation directory configurable 3f21388 Updated from global requirements 1dc6d85 Make boolean usage consistent across playbooks 9d8e8de Unify testing scripts 10f3ba5 Make booleans in templates explicit 241180e Remove invalid directory_mode from ironic install e1d20a6 Document that ssh_public_key_path must be set 995b779 Fix Bug #1583539 - rpm part b208b84 introduce install_dib varible 7585b5c Install libssl-dev and libffi-dev 9b0106b Use constraints for all the things d87b5cf Updated from global requirements 4e41737 Add pycrypto to requirements 3308b31 Add Ubuntu 16.04 defaults for ironic role e44016b [Trivial] Remove executable privilege of doc/source/conf.py 9ff4017 curl is required for diskimage-builder 4ff499f Updated from global requirements c9d283a Allow for recent ironic sample config changes c630eb5 Updated from global requirements 6993785 Fix DIB conditionals for CLI override a4e9b4c Explicitly set language for DIB builds fa5f65a Correct test-bifrost-venv script 79b21f7 Update mitaka release notes source Diffstat (except docs and test files) ------------------------------------- README.rst | 55 ++- README.vagrant.rst | 16 + bifrost/inventory.py | 6 +- env-vars | 2 +- playbooks/enroll-dynamic.yaml | 2 +- playbooks/install.yaml | 2 +- playbooks/library/network_metadata.py | 2 +- playbooks/redeploy-dynamic.yaml | 74 ++++ .../bifrost-configdrives-dynamic/tasks/main.yml | 4 +- .../tasks/update_facts_from_ironic.yaml | 2 +- .../bifrost-create-dib-image/defaults/main.yml | 3 + playbooks/roles/bifrost-create-vm-nodes/README.md | 4 + .../bifrost-create-vm-nodes/defaults/main.yml | 1 + .../files/create_vm_nodes-for-role.sh | 27 +- .../roles/bifrost-create-vm-nodes/tasks/main.yml | 1 + .../bifrost-deploy-nodes-dynamic/tasks/main.yml | 5 +- .../templates/dhcp-host.j2 | 2 +- .../roles/bifrost-ironic-install/defaults/main.yml | 13 +- .../defaults/required_defaults_Debian_family.yml | 1 + .../defaults/required_defaults_Ubuntu_16.04.yml | 4 + .../bifrost-ironic-install/tasks/bootstrap.yml | 286 +++++++++++++++ .../tasks/create_tftpboot.yml | 2 +- .../tasks/download_ipa_image.yml | 4 +- .../tasks/inspector_bootstrap.yml | 73 ++++ .../tasks/inspector_install.yml | 62 ---- .../tasks/inspector_start.yml | 19 + .../roles/bifrost-ironic-install/tasks/install.yml | 97 ++++++ .../bifrost-ironic-install/tasks/ironic_config.yml | 120 ++++--- .../roles/bifrost-ironic-install/tasks/main.yml | 383 +-------------------- .../roles/bifrost-ironic-install/tasks/start.yml | 57 +++ .../templates/dnsmasq.conf.j2 | 10 +- playbooks/roles/bifrost-test-vm/defaults/main.yml | 1 + playbooks/roles/bifrost-test-vm/tasks/main.yml | 6 + .../roles/ironic-enroll-dynamic/tasks/main.yml | 1 - playbooks/test-bifrost-dhcp.yaml | 12 +- playbooks/test-bifrost-dynamic.yaml | 7 +- playbooks/test-bifrost.yaml | 146 ++++++++ ...eate-vm-with-custom-names-0d655bc02e141ec9.yaml | 6 + ...mpose-ironic-install-role-75b9a431bba88bad.yaml | 9 + .../introduce-install-dib-1e53da734a878dac.yaml | 6 + .../kvm-acceleration-support-8be50d32bc34c4b3.yaml | 7 + .../merge-test-playbooks-aeabc7a614cbce29.yaml | 12 + .../notes/move-to-tinyipa-8c7840b73c40a9e8.yaml | 12 + .../notes/redeploy-dynamic-cc8b69f79a6869cd.yaml | 9 + releasenotes/source/conf.py | 0 releasenotes/source/current-series.rst | 6 +- releasenotes/source/index.rst | 8 +- releasenotes/source/mitaka.rst | 2 +- releasenotes/source/newton.rst | 6 + releasenotes/source/unreleased.rst | 1 + requirements.txt | 7 +- scripts/README.md | 15 +- scripts/collect-test-info.sh | 4 + scripts/env-setup.sh | 81 ++++- scripts/test-bifrost-build-images.sh | 61 +--- scripts/test-bifrost-inventory-dhcp.sh | 68 +--- scripts/test-bifrost-venv.sh | 86 +---- scripts/test-bifrost.sh | 133 +++++-- test-requirements.txt | 5 +- tools/vagrant_dev_env/Vagrantfile | 11 +- tools/vagrant_dev_env/vagrant.yml | 7 +- tox.ini | 2 +- troubleshooting.rst | 68 +++- 64 files changed, 1325 insertions(+), 819 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index a703a54..a9d2be8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,2 +7,2 @@ pbr>=1.6 # Apache-2.0 -Babel>=1.3 # BSD -oslo.config>=3.7.0 # Apache-2.0 +Babel>=2.3.4 # BSD +oslo.config>=3.14.0 # Apache-2.0 @@ -12 +12,2 @@ PyMySQL>=0.6.2 # MIT License -paramiko>=1.16.0 # LGPL +paramiko>=2.0 # LGPLv2.1+ +pycrypto>=2.6 # Public Domain diff --git a/test-requirements.txt b/test-requirements.txt index f8d957b..7a55eca 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -8 +7,0 @@ coverage>=3.6 # Apache-2.0 -discover # BSD @@ -10,2 +9,2 @@ python-subunit>=0.0.18 # Apache-2.0/BSD -reno>=0.1.1 # Apache2 -sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 # BSD +reno>=1.8.0 # Apache2 +sphinx!=1.3b1,<1.3,>=1.2.1 # BSD __________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev