diff --git a/handlers/main.yml b/handlers/main.yml index c0116eff..c46276c1 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -25,6 +25,6 @@ state: restarted enabled: yes register: _restart - until: _restart | success + until: _restart is success retries: 5 delay: 2 diff --git a/tasks/configure_metal_hosts.yml b/tasks/configure_metal_hosts.yml index 7c1c0434..c3cc3684 100644 --- a/tasks/configure_metal_hosts.yml +++ b/tasks/configure_metal_hosts.yml @@ -42,7 +42,7 @@ name: "{{ openstack_host_metal_distro_packages }}" state: "{{ openstack_hosts_package_state }}" register: install_packages - until: install_packages | success + until: install_packages is success retries: 5 delay: 2 diff --git a/tasks/main.yml b/tasks/main.yml index a2b73637..735f765b 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -76,7 +76,7 @@ when: - openstack_host_distro_packages | length > 0 register: install_packages - until: install_packages | success + until: install_packages is success retries: 5 delay: 2 diff --git a/tasks/openstack_hosts_configure_apt.yml b/tasks/openstack_hosts_configure_apt.yml index bb8f9606..28dbac95 100644 --- a/tasks/openstack_hosts_configure_apt.yml +++ b/tasks/openstack_hosts_configure_apt.yml @@ -31,7 +31,7 @@ loop_control: loop_var: key register: _add_apt_keys - until: _add_apt_keys | success + until: _add_apt_keys is success retries: 5 delay: 2 @@ -42,7 +42,7 @@ update_cache: yes cache_valid_time: "{{ cache_timeout }}" register: _install_packages - until: _install_packages | success + until: _install_packages is success retries: 5 delay: 2 @@ -75,7 +75,7 @@ when: - _adding_apt_repo is changed register: _update_apt_cache - until: _update_apt_cache | success + until: _update_apt_cache is success changed_when: false retries: 5 delay: 2 diff --git a/tasks/openstack_hosts_configure_dnf.yml b/tasks/openstack_hosts_configure_dnf.yml deleted file mode 120000 index a8216fec..00000000 --- a/tasks/openstack_hosts_configure_dnf.yml +++ /dev/null @@ -1 +0,0 @@ -openstack_hosts_configure_yum.yml \ No newline at end of file diff --git a/tasks/openstack_hosts_configure_dnf.yml b/tasks/openstack_hosts_configure_dnf.yml new file mode 100644 index 00000000..be69aed3 --- /dev/null +++ b/tasks/openstack_hosts_configure_dnf.yml @@ -0,0 +1,97 @@ +--- +# 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: Check to see if yum's fastestmirror plugin is present + stat: + path: /etc/yum/pluginconf.d/fastestmirror.conf + register: fastestmirror_plugin_check + +- name: Configure yum's fastestmirror plugin + ini_file: + path: /etc/yum/pluginconf.d/fastestmirror.conf + section: main + option: enabled + value: "{{ (openstack_hosts_enable_yum_fastestmirror | bool) | ternary('1', '0') }}" + no_extra_spaces: yes + when: + - fastestmirror_plugin_check.stat.exists + +- name: Disable requiretty for root sudo on centos + template: + dest: /etc/sudoers.d/openstack-ansible + owner: root + group: root + mode: "0440" + src: sudoers.j2 + +# yum configuration tasks that apply on all nodes. +- name: Remove the blacklisted packages + package: + name: "{{ openstack_hosts_package_list | selectattr('state','equalto','absent') | map(attribute='name') | list }}" + state: absent + +# Copy all factored-in GPG keys. +# KeyID 764429E6 from https://raw.githubusercontent.com/rdo-infra/centos-release-openstack/ocata-rdo/RPM-GPG-KEY-CentOS-SIG-Cloud +# KeyID 61E8806C from keyserver for rdo-qemu-ev +- name: If a keyfile is provided, copy the gpg keyfile to the key location + copy: + src: "{{ item.keyfile }}" + dest: "{{ item.key }}" + mode: '0644' + with_items: "{{ openstack_hosts_package_repos_keys | selectattr('keyfile','defined') | list }}" + +- name: Ensure GPG keys have the correct SELinux contexts applied + command: restorecon -Rv /etc/pki/rpm-gpg/ + # TODO(evrardjp): Be more idempotent + changed_when: false + +# Handle gpg keys manually +- name: Install gpg keys + rpm_key: + key: "{{ key.key }}" + validate_certs: "{{ key.validate_certs | default(omit) }}" + state: "{{ key.state | default('present') }}" + with_items: "{{ openstack_hosts_package_repos_keys }}" + loop_control: + loop_var: key + register: _add_yum_keys + until: _add_yum_keys is success + retries: 5 + delay: 2 + +- name: Add requirement packages (repositories gpg keys packages, toolkits...) + package: + name: "{{ openstack_hosts_package_list | rejectattr('state','equalto','absent') | map(attribute='name') | list }}" + state: "{{ openstack_hosts_package_state }}" + +- name: Add yum repositories if they do not exist + yum_repository: + name: "{{ repo.name }}" + file: "{{ repo.file | default(omit) }}" + description: "{{ repo.description | default(omit) }}" + baseurl: "{{ repo.baseurl | default(omit) }}" + mirrorlist: "{{ repo.mirrorlist | default(omit) }}" + gpgkey: "{{ repo.gpgkey | default(omit) }}" + gpgcheck: "{{ repo.gpgcheck | default(omit) }}" + enabled: "{{ repo.enabled | default('yes') }}" + exclude: "{{ repo.exclude | default(omit) }}" + priority: "{{ repo.priority | default(99) }}" + with_items: "{{ openstack_hosts_package_repos }}" + loop_control: + loop_var: repo + register: _adding_repo + until: _adding_repo is success + retries: 5 + delay: 2 diff --git a/tasks/openstack_hosts_configure_yum.yml b/tasks/openstack_hosts_configure_yum.yml index 43ea469c..be69aed3 100644 --- a/tasks/openstack_hosts_configure_yum.yml +++ b/tasks/openstack_hosts_configure_yum.yml @@ -67,7 +67,7 @@ loop_control: loop_var: key register: _add_yum_keys - until: _add_yum_keys | success + until: _add_yum_keys is success retries: 5 delay: 2 @@ -92,6 +92,6 @@ loop_control: loop_var: repo register: _adding_repo - until: _adding_repo | success + until: _adding_repo is success retries: 5 delay: 2 diff --git a/tasks/openstack_hosts_configure_zypper.yml b/tasks/openstack_hosts_configure_zypper.yml index 2b7682ee..2b4c8def 100644 --- a/tasks/openstack_hosts_configure_zypper.yml +++ b/tasks/openstack_hosts_configure_zypper.yml @@ -52,7 +52,7 @@ loop_control: loop_var: key register: _add_rpm_keys - until: _add_rpm_keys | success + until: _add_rpm_keys is success retries: 5 delay: 2 @@ -78,7 +78,7 @@ loop_control: loop_var: repo register: _adding_repo - until: _adding_repo | success + until: _adding_repo is success retries: 5 delay: 2 @@ -87,4 +87,4 @@ repo: '*' runrefresh: yes when: - - _adding_repo | changed + - _adding_repo is changed