Add ability to change apt/yum package state

The current method of installing the distribution packages required is
set in the tasks and cannot be changed by a deployer.

Currently the apt task always installs the latest package. This results
in unexpected binary changes when a deployer may simply be trying to
execute a configuration change.

This patch adds the ability for a deployer to change the desired state
so that the results are predictable.

Change-Id: I2293575ad0422f546a2c4750f002955d75beb4d8
This commit is contained in:
Jesse Pretorius 2016-08-02 14:55:38 +01:00
parent c1d87e45e1
commit 2529e2a3a8
4 changed files with 22 additions and 4 deletions

View File

@ -19,6 +19,10 @@ nova_ceilometer_enabled: False
## Verbosity Options ## Verbosity Options
debug: False debug: False
# Set the package install state for distribution packages
# Options are 'present' and 'latest'
nova_package_state: "latest"
nova_git_repo: https://git.openstack.org/openstack/nova nova_git_repo: https://git.openstack.org/openstack/nova
nova_git_install_branch: master nova_git_install_branch: master
nova_requirements_git_repo: https://git.openstack.org/openstack/requirements nova_requirements_git_repo: https://git.openstack.org/openstack/requirements

View File

@ -0,0 +1,13 @@
---
features:
- 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:
- 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``.

View File

@ -61,7 +61,7 @@
- name: Install apt packages - name: Install apt packages
apt: apt:
pkg: "{{ item }}" pkg: "{{ item }}"
state: latest state: "{{ nova_package_state }}"
register: install_packages register: install_packages
until: install_packages|success until: install_packages|success
retries: 5 retries: 5

View File

@ -16,6 +16,7 @@
- name: Add Ubuntu Cloud Archive key package - name: Add Ubuntu Cloud Archive key package
apt: apt:
pkg: ubuntu-cloud-keyring pkg: ubuntu-cloud-keyring
state: "{{ nova_package_state }}"
when: nova_uca_enable when: nova_uca_enable
register: nova_uca_add_keys register: nova_uca_add_keys
tags: tags:
@ -55,7 +56,7 @@
- name: Install apt packages (common) - name: Install apt packages (common)
apt: apt:
pkg: "{{ item }}" pkg: "{{ item }}"
state: latest state: "{{ nova_package_state }}"
register: install_packages register: install_packages
until: install_packages|success until: install_packages|success
retries: 5 retries: 5
@ -85,7 +86,7 @@
- name: Install apt packages (novnc console) - name: Install apt packages (novnc console)
apt: apt:
pkg: "{{ item }}" pkg: "{{ item }}"
state: latest state: "{{ nova_package_state }}"
register: install_packages register: install_packages
until: install_packages|success until: install_packages|success
retries: 5 retries: 5
@ -102,7 +103,7 @@
- name: Install apt packages (compute - KVM) - name: Install apt packages (compute - KVM)
apt: apt:
pkg: "{{ item }}" pkg: "{{ item }}"
state: latest state: "{{ nova_package_state }}"
register: install_packages register: install_packages
until: install_packages|success until: install_packages|success
retries: 5 retries: 5