settingsLogin | Registersettings

[openstack-announce] [new][openstackansible] openstack-ansible-os_nova 14.0.0 release (newton)

0 votes

We are jazzed to announce the release of:

openstack-ansible-osnova 14.0.0: osnova for OpenStack Ansible

This release is part of the newton release series.

Download the package from:

For more details, please see below.


New Features

  • The osnova role can now deploy the nova-lxd hypervisor. This can
    be achieved by setting "nova
    virttype" to "lxd" on a per-host basis
    in "openstack
    userconfig.yml" or on a global basis in

  • The osnova role can now deploy the a custom
    /etc/libvirt/qemu.conf file by defining "qemu

  • 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-". 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

  • Nova UCA repository support is implemented by default. This will
    allow the users to benefit from the updated packages for KVM. The
    "novaucaenable" 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 osnova 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
    package_state" to "present".

Upgrade Notes

  • Adding a new nova.conf entry, livemigrationuri. 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 "novavenvenabled",
    "novavenvbin" variables have been removed.

  • The osnova 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
    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.

    • novaaptpackages -> novadistropackages

    • novaspiceaptpackages -> novaspicedistropackages

    • novanovncaptpackages -> novanovncdistropackages

    • novacomputekvmaptpackages ->

Bug Fixes

  • The "/var/lib/libvirt/qemu/save" directory is now a symlink to "{{
    novasystemhome_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

  • "novalibvirtlivemigrationflag" is now phased out. Please
    create a nova configuration override with "livemigrationtunnelled:
    True" if you want to force the flag "VIRMIGRATETUNNELLED" to
    libvirt. Nova "chooses a sensible default" otherwise.

  • "novacomputemanager" 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 'ignoreerrors: true' in favor of 'failedwhen: false'
f313b34 Use dictionary for service group mappings
4813e76 Delegate from first available compute host
a085e42 Fix ironic computedriver
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
CONSTRAINTSFILE 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
virttype 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.memcachepool as cache backend
33199fb Remove apt update from Vagrantfile
90ace8c Add SNI support via OS packages for os
97f7e37 [DOC] Add clarifying statement on CPU type
ac859ec Add apt-get update to runtests
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 novalibvirtsavepath
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 humanlog 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 networkapiclass with useneutron
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
lockdown dependency
a92777f Implement Nova PowerVM Virt Driver
3ad2855 Fix nova
systemgroupuid 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 whitelistexternals 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 pyfromgit 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 schedulerhostmanager regression
9aebefb Enabled debug logging functionality for libvirt
9b98745 blacklist Ansible 1.9.6
9d6a212 Nuage nova configuration ansible changes
53486a9 Update minansibleversion 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/detectpower-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 +
nova-install-venv-6c6c2ba28f67a891.yaml | 5 +
.../notes/package-state-38187ec5242a005b.yaml | 13 +
.../removed-db-create-tasks-3deea562441871c6.yaml | 5 +
...virtsavedirtonovadir-3b1b278cb7e5831f.yaml | 8 +
.../notes/var-deprecations-417d87b9d386466a.yaml | 11 +
static/.placeholder | 0
releasenotes/source/templates/.placeholder | 0
releasenotes/source/ | 281 ++++++++++++
releasenotes/source/index.rst | 9 +
releasenotes/source/mitaka.rst | 6 +
releasenotes/source/unreleased.rst | 5 +
setup.cfg | 2 +- | 11 +-
tasks/main.yml | 44 +-
compute.yml | 9 +
tasks/novacomputeironic.yml | 29 ++
tasks/novacomputekeydistribute.yml | 42 +-
computekeypopulate.yml | 2 +-
tasks/novacomputekvm.yml | 15 +
tasks/novacomputekvminstall.yml | 85 ++--
computekvmvirshnetremove.yml | 1 +
tasks/novacomputelxd.yml | 41 ++
tasks/novacomputelxdinstall.yml | 29 ++
computepowervm.yml | 29 ++
computepowervminstall.yml | 101 +++++
tasks/novaconsoleinstall.yml | 28 --
tasks/novaconsolenovncinstall.yml | 71 +--
consolespiceinstall.yml | 36 +-
tasks/novadbsetup.yml | 61 +--
tasks/novainitcommon.yml | 29 ++
tasks/novainitsystemd.yml | 56 +++
tasks/novainitupstart.yml | 26 ++
tasks/novainstall.yml | 108 ++---
installapt.yml | 134 ++++++
postinstall.yml | 40 +-
preinstall.yml | 14 +-
serviceadd.yml | 107 -----
servicesetup.yml | 100 ++++-
upstartcommoninit.yml | 46 --
tasks/novaupstartinit.yml | 102 -----
tasks/novavirtdetect.yml | 32 +-
templates/api-paste.ini.j2 | 35 +-
templates/libvirtd.conf.j2 | 6 +
templates/ | 12 +
templates/ | 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 @@
+# 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
-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
asked Oct 20, 2016 in openstack-announce by no-reply_at_openstac (33,960 points)   2 16 39