diff --git a/defaults/main.yml b/defaults/main.yml index 7e10b20a..fff58223 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -16,6 +16,10 @@ ## Verbosity Options debug: False +# Set the package install state for distribution packages +# Options are 'present' and 'latest' +neutron_package_state: "latest" + neutron_git_repo: https://git.openstack.org/openstack/neutron neutron_git_install_branch: master diff --git a/releasenotes/notes/package-state-fb7d26a4b7c41a77.yaml b/releasenotes/notes/package-state-fb7d26a4b7c41a77.yaml new file mode 100644 index 00000000..81076fa7 --- /dev/null +++ b/releasenotes/notes/package-state-fb7d26a4b7c41a77.yaml @@ -0,0 +1,13 @@ +--- +features: + - The os_neutron 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 + ``neutron_package_state`` to ``present``. +upgrade: + - The os_neutron 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 + ``neutron_package_state`` should be set to ``present``. diff --git a/tasks/neutron_install-apt.yml b/tasks/neutron_install-apt.yml index 4e75779d..20cecd6c 100644 --- a/tasks/neutron_install-apt.yml +++ b/tasks/neutron_install-apt.yml @@ -16,7 +16,7 @@ - name: Add Ubuntu Cloud Archive keyring apt: pkg: ubuntu-cloud-keyring - state: latest + state: "{{ neutron_package_state }}" register: add_uca_keys when: neutron_uca_enable | bool @@ -44,17 +44,17 @@ - name: Install neutron apt dependencies apt: pkg: "{{ item }}" - state: latest + state: "{{ neutron_package_state }}" register: install_packages until: install_packages|success retries: 5 delay: 2 with_items: "{{ neutron_apt_packages }}" -- name: Install apt packages for lxb +- name: Install apt packages for LXB apt: pkg: "{{ item }}" - state: latest + state: "{{ neutron_package_state }}" register: install_packages until: install_packages|success retries: 5 @@ -64,10 +64,10 @@ - neutron_services['neutron-linuxbridge-agent']['group'] in group_names - neutron_services['neutron-linuxbridge-agent'].service_en | bool -- name: Install apt packages for ovs +- name: Install apt packages for OVS apt: pkg: "{{ item }}" - state: latest + state: "{{ neutron_package_state }}" register: install_packages until: install_packages|success retries: 5 @@ -80,7 +80,7 @@ - name: Install apt packages for LBaaS apt: pkg: "{{ item }}" - state: latest + state: "{{ neutron_package_state }}" register: install_packages until: install_packages|success retries: 5 @@ -93,7 +93,7 @@ - name: Install apt packages for VPNaaS apt: pkg: "{{ item }}" - state: latest + state: "{{ neutron_package_state }}" register: install_packages until: install_packages|success retries: 5 @@ -103,7 +103,7 @@ - neutron_services['neutron-vpnaas-agent']['group'] in group_names - neutron_vpnaas | bool -- name: remove specific apt packages +- name: Remove known problem packages apt: pkg: "{{ item }}" state: absent