We are jazzed to announce the release of: openstack-ansible-os_nova 14.0.0: os_nova for OpenStack Ansible
This release is part of the newton release series. Download the package from: https://tarballs.openstack.org/openstack-ansible-os_nova/ For more details, please see below. 14.0.0 ^^^^^^ New Features ************ * The os_nova role can now deploy the nova-lxd hypervisor. This can be achieved by setting "nova_virt_type" to "lxd" on a per-host basis in "openstack_user_config.yml" or on a global basis in "user_variables.yml". * The os_nova role can now deploy the a custom /etc/libvirt/qemu.conf file by defining "qemu_conf_dict". * The os_nova role can now detect a PowerNV environment and set the virtualization type to 'kvm'. * The nova SSH public key distribution has been made a lot faster especially when deploying against very large clusters. To support larger clusters the role has moved away from the "authorized_key" module and is now generating a script to insert keys that may be missing from the authorized keys file. The script is saved on all nova compute nodes and can be found at "/usr/local/bin/openstack- nova-key.sh". If ever there is a need to reinsert keys or fix issues on a given compute node the script can be executed at any time without directly running the ansible playbooks or roles. * The os_nova role can now detect and support basic deployment of a PowerVM environment. This sets the virtualization type to 'powervm' and installs/updates the PowerVM NovaLink package and nova-powervm driver. * Nova UCA repository support is implemented by default. This will allow the users to benefit from the updated packages for KVM. The "nova_uca_enable" variable controls the install source for the KVM packages. By default this value is set to "True" to make use of UCA repository. User can set to "False" to disable. * The os_nova role now supports the ability to configure whether apt/yum tasks install the latest available package, or just ensure that the package is present. The default action is to ensure that the latest package is present. The action taken may be changed to only ensure that the package is present by setting "nova_package_state" to "present". Upgrade Notes ************* * Adding a new nova.conf entry, live_migration_uri. This entry will default to a "qemu-ssh://" uri, which uses the ssh keys that have already been distributed between all of the compute hosts. * Cleanup tasks are added to remove the nova console git directories "/usr/share/novnc" and "/usr/share/spice-html5", prior to cloning these inside the nova vnc and spice console playbooks. This is necessary to guarantee that local modifications do not break git clone operations, especially during upgrades. * Installation of nova and its dependent pip packages will now only occur within a Python virtual environment. The "nova_venv_enabled", "nova_venv_bin" variables have been removed. * The os_nova role always checks whether the latest package is installed when executed. If a deployer wishes to change the check to only validate the presence of the package, the option "nova_package_state" should be set to "present". * The database create and user creates have been removed from the "os_nova" role. These tasks have been relocated to the playbooks. * The following variables have been renamed in order to make the variable names neutral for multiple operating systems. * nova_apt_packages -> nova_distro_packages * nova_spice_apt_packages -> nova_spice_distro_packages * nova_novnc_apt_packages -> nova_novnc_distro_packages * nova_compute_kvm_apt_packages -> nova_compute_kvm_distro_packages Bug Fixes ********* * The "/var/lib/libvirt/qemu/save" directory is now a symlink to "{{ nova_system_home_folder }}/save" to resolve an issue where the default location used by the libvirt managed save command can result with the root partitions on compute nodes becoming full when "nova image-create" is run on large instances. Other Notes *********** * "nova_libvirt_live_migration_flag" is now phased out. Please create a nova configuration override with "live_migration_tunnelled: True" if you want to force the flag "VIR_MIGRATE_TUNNELLED" to libvirt. Nova "chooses a sensible default" otherwise. * "nova_compute_manager" is now phased out. Changes in openstack-ansible-os_nova 13.0.0..14.0.0 --------------------------------------------------- 6071131 Move ironic pip install into it's own path be0f8ed Remove 'ignore_errors: true' in favor of 'failed_when: false' f313b34 Use dictionary for service group mappings 4813e76 Delegate from first available compute host a085e42 Fix ironic compute_driver 27d42de Ensure that novnc/spice consoles use the public endpoint protocol 38f9ed3 Remove dynamic inclusion from inventory-based service setup 312044e Move "--no-binary libvirt-python" to ansible-tests 77cc5ed Update default git branch to stable/newton 672d398 Run tempest tests a0c1160 Update ansible-role-requirements to stable/newton 3b17a51 Update tox.ini tests target for stable/newton d375b07 Update UPPER_CONSTRAINTS_FILE for stable/newton f79a037 Use centralised test scripts e7bfdb4 Update ironic auth options for Keystone v3 auth ede0832 Update .gitreview for stable/newton 43485ee Revert dynamic includes for inventory-based conditionals bdd4513 Force Ansible to use dynamic includes 35d85e9 Use openstack-ansible-tests for os-nova role dd90521 modify the home-page info with the developer documentation ce6a6eb Remove baremetal rootwrap filters 9e998b5 Fix novnc console include positioning 70d72d6 Force tempest to run serial and retry tests 17f0fa2 [DOCS] Update docs for mixed lxd hypervisors ec5b10f Compress test execution logs f784539 [DOCS] Update PowerVM driver documentation 7862503 Configure qemu when Calico network type is set a8b3c81 Add config template for qemu.conf 1d1c294 Update librabbit package for novnc in 16.04 283fb73 Add pyasn1-modules to powervm pip packages 57cc173 Rename package lists (and related vars) appropriately f6f6299 Enable log collection after functional testing c3c0813 Rename lxc to lxd in various tasks 41c1dbc Change nova_virt_type from lxc to lxd 522ce07 Ensure nova home dir is completely overridable 9581259 Fix linters failure due to etcd role 354147b Clean final newline when distributing SSH keys e13a00c Add project group to role aeeb50a Make all linting tests use upper-constraints 6f3d71b Adopt oslo_cache.memcache_pool as cache backend 33199fb Remove apt update from Vagrantfile 90ace8c Add SNI support via OS packages for os_nova 97f7e37 [DOC] Add clarifying statement on CPU type ac859ec Add apt-get update to run_tests 3e0ec52 [DOCS] Fix link to nova 75d82b6 [DOCS] Moving networking content to nova role docs c970a58 Updated from global requirements 2c641ba Fix race condition when configuring the qemu save directory 7777d81 [DOCS] Refactor of nova role docs f4798ed Add python packages for SNI support in tests 455055a Move other-requirements.txt to bindep.txt 1765c97 Add networking-calico configuration for nova-api-metadata c7a9a1c Fix interface configuration for nova gate 443f1b0 Include ansible commands for ansible linting ec0670b Implement tests for nova-lxd hypervisor d0b3dac Update PowerVM compute driver path 06081df Implement nova-lxd driver ba9b97e Disable stderr logging 3ffa999 Fix bug in RPC config that broke Rabbit SSL support 2529e2a Add ability to change apt/yum package state c0b9e2f Ensure that mode is a string 7872bd7 Fix ansible performance issue ba39ab4 Remove openstack_hosts from test requirements 7598609 If /var/lib/libvirt/qemu/save exists, move it to nova_libvirt_save_path d85ab72 Write script to /var/tmp instead of /usr/local/bin fed503c Set cinder service region. 64e6772 Ensure that doc linting is included in the linters test 8e82812 Allow configuration of multiple rabbit clusters b9d50ce Optimise pip install tasks 7f69cdd Only install to virtual environment e732f40 Updated from global requirements 2974df5 Define keystone region name. 451cd16 Remove Mitaka Deprecated items bda35e7 Improve deployment performance on large clusters 4edfa46 Fix notification_driver option bd0246c Use plugins repo version of the human_log callback plugin 92fac4e Adding a Vagrantfile for local testing 4596234 Update paste, policy and rootwrap configurations 2016-07-14 92aecc5 Move UCA enable and repo URL var to role defaults dc472f3 Update tox configuration 1f7819c Nova role should not default vars outside the nova namespace 9a1486b Make role functional testing more idempotent c41f492 Remove duplicates from .gitignore 3a428e7 Do not install libvirt-python wheel when testing 601c49b Update sphinx configuration dcbc394 Turn SSH auth into the default for live migration e077f1b Filter libvirt in nova.conf. Add nova_powervm module in nova.virt 3991883 Fix ansible-lint complaint about directory permissions bbce047 Update paste, policy and rootwrap configurations 2016-07-01 f7b96c0 Update role to use the Multi-Distro framework bc124ef DOC - Adopting the common role documentation pattern 692821e Remove tags from functional testing playbooks 0b5b8dd Add missing xenial to meta.yml bf12ab4 Replace network_api_class with use_neutron 842a5b4 Clean up container cache prep in tests 4734969 Fix shell command usage fc526ec Pin test-requirements to match OpenStack requirements ff43ff3 Update paste, policy and rootwrap configurations 2016-06-17 2701d29 Address Ansible bare variable usage d69f560 Implement Xenial Support 87c29e0 Remove pip_lock_down dependency a92777f Implement Nova PowerVM Virt Driver 3ad2855 Fix nova_system_group_uid variable name 3a683a0 [GATE UNBLOCKER] Fix virsh default network removal a8d1e41 Always execute Nova virt type detection 14c3be0 Update paste, policy and rootwrap configurations 2016-06-02 e37a680 UCA support for nova compute 2599006 Create symlink for libvirt save directory dd6d11a Remove unnecessary overrides of service variables c6a6672 Detect PowerNV environment 0661aff Add wget to whitelist_externals for tox 9ef8c43 Cleanup Nova console proxy git repos before updating it 0101460 Allow metadata_host to be different to LB VIP 8600a80 Skip unavailable hosts when distributing keys 7e6fa1c Remove python-cephlibs 1a40c1c Removed the db create tasks bfde23d Update paste, policy and rootwrap configurations 2016-05-19 f56180c Verbose option has been deprecated from oslo.log 451fb1c fixing the network issues of nova testing b6371a2 Update tempest test vars 18141c0 Accept host keys for console git tasks 2c1c2f4 Add .swp files to .gitignore 4c2b4b8 Change pip install task state to 'latest' 85b92f8 Add dependencies for paramiko 2.0 5cc44e0 Remove py_from_git role f6f5bed Run specific tempest tests d77ccfa Update paste, policy and rootwrap configurations 2016-04-22 96a443f Use tempest for testing 69974b5 Remove Liberty releasenote index a902528 Fix scheduler_host_manager regression 9aebefb Enabled debug logging functionality for libvirt 9b98745 blacklist Ansible 1.9.6 9d6a212 Nuage nova configuration ansible changes 53486a9 Update min_ansible_version to 1.9 e2fc4b7 Add Nova config for os_ironic role 8f3acb9 Add reno scaffolding for release notes management d15102c Add missing DB configuration for nova-cert and nova-consoleauth aec9d14 Perform online data migrations d10448c Switch defaults/tests to use master branch d84cd55 Update paste, policy and rootwrap configurations 2016-04-03 703402a Update test dependencies Diffstat (except docs and test files) ------------------------------------- .gitignore | 7 + .gitreview | 1 + README.rst | 27 +- Vagrantfile | 12 + bindep.txt | 41 ++ defaults/main.yml | 270 ++++++++---- examples/playbook.yml | 9 + files/rootwrap.d/baremetal-compute-ipmi.filters | 9 - files/rootwrap.d/baremetal-deploy-helper.filters | 11 - files/rootwrap.d/compute.filters | 12 +- handlers/main.yml | 25 +- manual-test.rc | 33 ++ meta/main.yml | 10 +- other-requirements.txt | 16 - releasenotes/notes/.placeholder | 0 .../notes/add-nova-lxd-f094438e4bf36d52.yaml | 6 + .../notes/add-qemu-conf-d42337dfd42bac6f.yaml | 4 + .../notes/add-xenial-support-3dc3711e5b1bdc34.yaml | 4 + .../notes/detect_power-a6a679c8c3dd3262.yaml | 4 + ...ration-default-set-to-ssh-6add1dbdeea43509.yaml | 5 + .../mitaka-deprecations-72bec69c1395261d.yaml | 10 + ...console-proxy-git-cleanup-cdeffd3f0d040275.yaml | 8 + ...-largecluster-key-inserts-afc8cac63af41087.yaml | 12 + .../notes/nova-powervm-b4eddae30abbd08e.yaml | 5 + .../notes/nova-uca-support-409b2e6afbce47b1.yaml | 10 + .../os_nova-install-venv-6c6c2ba28f67a891.yaml | 5 + .../notes/package-state-38187ec5242a005b.yaml | 13 + .../removed-db-create-tasks-3deea562441871c6.yaml | 5 + ...virt_save_dir_to_nova_dir-3b1b278cb7e5831f.yaml | 8 + .../notes/var-deprecations-417d87b9d386466a.yaml | 11 + releasenotes/source/_static/.placeholder | 0 releasenotes/source/_templates/.placeholder | 0 releasenotes/source/conf.py | 281 ++++++++++++ releasenotes/source/index.rst | 9 + releasenotes/source/mitaka.rst | 6 + releasenotes/source/unreleased.rst | 5 + setup.cfg | 2 +- setup.py | 11 +- tasks/main.yml | 44 +- tasks/nova_compute.yml | 9 + tasks/nova_compute_ironic.yml | 29 ++ tasks/nova_compute_key_distribute.yml | 42 +- tasks/nova_compute_key_populate.yml | 2 +- tasks/nova_compute_kvm.yml | 15 + tasks/nova_compute_kvm_install.yml | 85 ++-- tasks/nova_compute_kvm_virsh_net_remove.yml | 1 + tasks/nova_compute_lxd.yml | 41 ++ tasks/nova_compute_lxd_install.yml | 29 ++ tasks/nova_compute_powervm.yml | 29 ++ tasks/nova_compute_powervm_install.yml | 101 +++++ tasks/nova_console_install.yml | 28 -- tasks/nova_console_novnc_install.yml | 71 +-- tasks/nova_console_spice_install.yml | 36 +- tasks/nova_db_setup.yml | 61 +-- tasks/nova_init_common.yml | 29 ++ tasks/nova_init_systemd.yml | 56 +++ tasks/nova_init_upstart.yml | 26 ++ tasks/nova_install.yml | 108 ++--- tasks/nova_install_apt.yml | 134 ++++++ tasks/nova_post_install.yml | 40 +- tasks/nova_pre_install.yml | 14 +- tasks/nova_service_add.yml | 107 ----- tasks/nova_service_setup.yml | 100 ++++- tasks/nova_upstart_common_init.yml | 46 -- tasks/nova_upstart_init.yml | 102 ----- tasks/nova_virt_detect.yml | 32 +- templates/api-paste.ini.j2 | 35 +- templates/libvirtd.conf.j2 | 6 + templates/lxd-init.sh.j2 | 12 + templates/nova-key-insert.sh.j2 | 31 ++ templates/nova-systemd-init.j2 | 25 ++ templates/nova-systemd-tempfiles.j2 | 4 + templates/nova-upstart-init.j2 | 28 +- templates/nova.conf.j2 | 67 ++- templates/policy.json.j2 | 489 --------------------- templates/qemu.conf.j2 | 20 + test-requirements.txt | 18 +- tox.ini | 170 ++++--- vars/ubuntu-14.04.yml | 100 +++++ vars/ubuntu-16.04.yml | 96 ++++ 104 files changed, 2654 insertions(+), 2136 deletions(-) Requirements updates -------------------- diff --git a/test-requirements.txt b/test-requirements.txt index 3422d65..0e69546 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1,4 +1,9 @@ -ansible-lint<=2.3.9 -ansible>=1.9.1,<2.0.0 -bashate -flake8 +# The order of packages is significant, because pip processes them in the order +# of appearance. Changing the order has an impact on the overall integration +# process, which may cause wedges in the gate later. +bashate>=0.2 # Apache-2.0 +flake8<2.6.0,>=2.5.4 # MIT +pyasn1 # BSD +pyOpenSSL>=0.14 # Apache-2.0 +requests>=2.10.0 # Apache-2.0 +ndg-httpsclient>=0.4.2;python_version<'3.0' # BSD @@ -7,2 +12,3 @@ flake8 -sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 -oslosphinx>=2.5.0 # Apache-2.0 +sphinx!=1.3b1,<1.3,>=1.2.1 # BSD +oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0 +reno>=1.8.0 # Apache2 _______________________________________________ OpenStack-announce mailing list OpenStack-announce@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-announce