Add ability to change apt/yum package state for the ceph_client role

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: I80e58182b5c115f2128780a44d549c5b61beb1fc
This commit is contained in:
Jesse Pretorius 2016-08-02 16:58:01 +01:00 committed by Jesse Pretorius (odyssey4me)
parent fcc92fefea
commit 162f5304a3
4 changed files with 19 additions and 1 deletions

View File

@ -14,6 +14,10 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
# Set the package install state for distribution packages
# Options are 'present' and 'latest'
ceph_client_package_state: "latest"
# to use Ceph in OSA, you need to # to use Ceph in OSA, you need to
# - have the needed pools and a client user (for glance, cinder and/or nova) # - have the needed pools and a client user (for glance, cinder and/or nova)
# pre-provisioned in your ceph cluster; OSA assumes to have root access to # pre-provisioned in your ceph cluster; OSA assumes to have root access to

View File

@ -33,7 +33,7 @@
- name: Install ceph packages - name: Install ceph packages
apt: apt:
name: '{{ item.1 }}' name: '{{ item.1 }}'
state: latest state: "{{ ceph_client_package_state }}"
register: install_packages register: install_packages
until: install_packages|success until: install_packages|success
retries: 5 retries: 5

View File

@ -61,6 +61,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: "{{ ceph_client_package_state }}"
register: add_keys register: add_keys
when: ceph_pkg_source == 'uca' when: ceph_pkg_source == 'uca'
tags: tags:

View File

@ -0,0 +1,13 @@
---
features:
- The ceph_client 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
``ceph_client_package_state`` to ``present``.
upgrade:
- The ceph_client 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
``ceph_client_package_state`` should be set to ``present``.