diff --git a/tasks/nova_install.yml b/tasks/nova_install.yml index f391e861..e7031f05 100644 --- a/tasks/nova_install.yml +++ b/tasks/nova_install.yml @@ -13,11 +13,128 @@ # See the License for the specific language governing permissions and # limitations under the License. -- include: nova_install_apt.yml - when: ansible_pkg_mgr == 'apt' +- name: Ensure apt cache is up to date + apt: + update_cache: yes + cache_valid_time: "{{ cache_timeout }}" + when: + - ansible_pkg_mgr == 'apt' -- include: nova_install_yum.yml - when: ansible_pkg_mgr == 'yum' +- name: Add Ubuntu Cloud Archive key package + package: + name: ubuntu-cloud-keyring + state: "{{ nova_package_state }}" + when: + - nova_uca_enable + - ansible_pkg_mgr == 'apt' + register: nova_uca_add_keys + tags: + - add-apt-keys + +- name: Add Ubuntu Cloud Archive apt repository + apt_repository: + repo: "{{ uca_repo }}" + state: present + update_cache: yes + register: nova_uca_add_repo + when: + - nova_uca_enable + - ansible_pkg_mgr == 'apt' + until: add_repo|success + retries: 5 + delay: 2 + tags: + - add-uca-repo + +- name: Install RDO package + package: + name: "{{ rdo_package }}" + state: "present" + register: install_cloud_rdo_package + until: install_cloud_rdo_package | success + retries: 5 + delay: 2 + when: + - ansible_pkg_mgr == 'yum' + +- name: Install distro packages + package: + name: "{{ item }}" + state: "{{ nova_package_state }}" + register: install_packages + until: install_packages|success + retries: 5 + delay: 2 + with_items: "{{ nova_distro_packages }}" + tags: + - nova-install + - nova-apt-packages + +- name: Remove known problem packages for the Spice console + package: + name: "{{ item }}" + state: absent + register: remove_packages + until: remove_packages|success + retries: 5 + delay: 2 + with_items: "{{ nova_spice_distro_packages }}" + when: + - inventory_hostname in groups['nova_console'] + - nova_console_type == "spice" + tags: + - nova-install + - nova-apt-packages + - nova-spice-apt-packages + +- name: Install distro packages (novnc console) + package: + name: "{{ item }}" + state: "{{ nova_package_state }}" + register: install_packages + until: install_packages|success + retries: 5 + delay: 2 + with_items: "{{ nova_novnc_distro_packages }}" + when: + - inventory_hostname in groups['nova_console'] + - nova_console_type == "novnc" + tags: + - nova-install + - nova-apt-packages + - nova-novnc-apt-packages + +- name: Install distro packages (compute - KVM) + package: + name: "{{ item }}" + state: "{{ nova_package_state }}" + register: install_packages + until: install_packages|success + retries: 5 + delay: 2 + with_items: "{{ nova_compute_kvm_distro_packages }}" + when: + - inventory_hostname in groups['nova_compute'] + - nova_virt_type == 'kvm' or nova_virt_type == 'qemu' + tags: + - nova-apt-packages + - nova-compute-kvm-apt-packages + +- name: Install distro packages (compute - LXD) + package: + name: "{{ item }}" + state: "{{ nova_package_state }}" + register: install_packages + until: install_packages|success + retries: 5 + delay: 2 + with_items: "{{ nova_compute_lxd_distro_packages }}" + when: + - inventory_hostname in groups['nova_compute'] + - nova_virt_type == 'lxd' + tags: + - nova-apt-packages + - nova-compute-lxd-apt-packages - name: Create developer mode constraint file copy: diff --git a/tasks/nova_install_apt.yml b/tasks/nova_install_apt.yml deleted file mode 100644 index e3fc6f7b..00000000 --- a/tasks/nova_install_apt.yml +++ /dev/null @@ -1,120 +0,0 @@ ---- -# Copyright 2014, Rackspace US, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -- name: Add Ubuntu Cloud Archive key package - apt: - pkg: ubuntu-cloud-keyring - state: "{{ nova_package_state }}" - update_cache: yes - cache_valid_time: "{{ cache_timeout }}" - when: nova_uca_enable - register: nova_uca_add_keys - tags: - - add-apt-keys - -- name: Add Ubuntu Cloud Archive apt repository - apt_repository: - repo: "{{ uca_repo }}" - state: present - update_cache: yes - register: nova_uca_add_repo - when: nova_uca_enable - until: add_repo|success - retries: 5 - delay: 2 - tags: - - add-uca-repo - -- name: Install apt packages (common) - apt: - pkg: "{{ item }}" - state: "{{ nova_package_state }}" - update_cache: yes - cache_valid_time: "{{ cache_timeout }}" - register: install_packages - until: install_packages|success - retries: 5 - delay: 2 - with_items: "{{ nova_distro_packages }}" - tags: - - nova-install - - nova-apt-packages - -- name: Remove known problem packages for the Spice console - apt: - pkg: "{{ item }}" - state: absent - register: remove_packages - until: remove_packages|success - retries: 5 - delay: 2 - with_items: "{{ nova_spice_distro_packages }}" - when: - - inventory_hostname in groups['nova_console'] - - nova_console_type == "spice" - tags: - - nova-install - - nova-apt-packages - - nova-spice-apt-packages - -- name: Install apt packages (novnc console) - apt: - pkg: "{{ item }}" - state: "{{ nova_package_state }}" - register: install_packages - until: install_packages|success - retries: 5 - delay: 2 - with_items: "{{ nova_novnc_distro_packages }}" - when: - - inventory_hostname in groups['nova_console'] - - nova_console_type == "novnc" - tags: - - nova-install - - nova-apt-packages - - nova-novnc-apt-packages - -- name: Install apt packages (compute - KVM) - apt: - pkg: "{{ item }}" - state: "{{ nova_package_state }}" - register: install_packages - until: install_packages|success - retries: 5 - delay: 2 - with_items: "{{ nova_compute_kvm_distro_packages }}" - when: - - inventory_hostname in groups['nova_compute'] - - nova_virt_type == 'kvm' or nova_virt_type == 'qemu' - tags: - - nova-apt-packages - - nova-compute-kvm-apt-packages - -- name: Install apt packages (compute - LXD) - apt: - pkg: "{{ item }}" - state: "{{ nova_package_state }}" - default_release: "{{ lxd_default_release | default(omit) }}" - register: install_packages - until: install_packages|success - retries: 5 - delay: 2 - with_items: "{{ nova_compute_lxd_distro_packages }}" - when: - - inventory_hostname in groups['nova_compute'] - - nova_virt_type == 'lxd' - tags: - - nova-apt-packages - - nova-compute-lxd-apt-packages diff --git a/tasks/nova_install_yum.yml b/tasks/nova_install_yum.yml deleted file mode 100644 index 0c2e88a7..00000000 --- a/tasks/nova_install_yum.yml +++ /dev/null @@ -1,86 +0,0 @@ ---- -# Copyright 2014, Rackspace US, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -- name: Install RDO package - yum: - pkg: "{{ rdo_package }}" - state: "present" - register: install_cloud_rdo_package - until: install_cloud_rdo_package | success - retries: 5 - delay: 2 - -- name: Install yum packages (common) - yum: - pkg: "{{ item }}" - state: "{{ nova_package_state }}" - register: install_packages - until: install_packages|success - retries: 5 - delay: 2 - with_items: "{{ nova_distro_packages }}" - tags: - - nova-install - - nova-yum-packages - -- name: Remove known problem packages for the Spice console - yum: - pkg: "{{ item }}" - state: absent - register: remove_packages - until: remove_packages|success - retries: 5 - delay: 2 - with_items: "{{ nova_spice_distro_packages }}" - when: - - inventory_hostname in groups['nova_console'] - - nova_console_type == "spice" - tags: - - nova-install - - nova-yum-packages - - nova-spice-yum-packages - -- name: Install yum packages (novnc console) - yum: - pkg: "{{ item }}" - state: "{{ nova_package_state }}" - register: install_packages - until: install_packages|success - retries: 5 - delay: 2 - with_items: "{{ nova_novnc_distro_packages }}" - when: - - inventory_hostname in groups['nova_console'] - - nova_console_type == "novnc" - tags: - - nova-install - - nova-yum-packages - - nova-novnc-apt-packages - -- name: Install yum packages (compute - KVM) - yum: - pkg: "{{ item }}" - state: "{{ nova_package_state }}" - register: install_packages - until: install_packages|success - retries: 5 - delay: 2 - with_items: "{{ nova_compute_kvm_distro_packages }}" - when: - - inventory_hostname in groups['nova_compute'] - - nova_virt_type == 'kvm' or nova_virt_type == 'qemu' - tags: - - nova-yum-packages - - nova-compute-kvm-yum-packages