puppet-openstack-integration/playbooks/prepare-node-common.yaml
Alfredo Moralejo f384effdb4 Add support for for CentOS Stream 9
CentOS has published the official mirror for CentOS Stream 9 [1]. In RDO,
we are working to get ready for it ASAP and we have the required repos
to run p-o-i on CS9 [2].

This patch is adding support to CS9 in p-o-i repo with the required
fixes. Also is adding integrations jobs for scenarios 0-4 and adding
them as non-voting. Note that we don't have promotion pipeline working
so i think it's better to not make it voting yet.

[1] http://mirror.stream.centos.org/9-stream/
[2] https://trunk.rdoproject.org/centos9-master/report.html

Change-Id: I9da46a6aaef3559b24d5a47fb0bde9ae1d09abdb
2021-11-23 22:44:14 +09:00

178 lines
4.7 KiB
YAML

- hosts: all
tasks:
- name: Ensure legacy workspace directory
file:
path: "{{ ansible_user_dir }}/workspace"
state: directory
- block:
- name: Install python2-dnf(Fedora)
command: "dnf -y install python2-dnf python3-dnf yum"
become: true
- name: Remove excludes from /etc/dnf/dnf.conf (Fedora)
lineinfile:
path: /etc/dnf/dnf.conf
state: absent
regexp: '^exclude='
become: true
- name: Reinstall python3-setuptools (Fedora)
command: "dnf -y reinstall python3-setuptools"
become: true
when:
- ansible_os_family == 'RedHat'
- ansible_distribution == "Fedora"
- block:
- name: Clean-up system state (CentOS/RHEL<=7)
yum:
name: "{{ item }}"
state: absent
become: true
with_items:
- rdo-release
- centos-release-openstack-*
- centos-release-ceph-*
- name: Install Ruby dependencies (CentOS/RHEL<=7)
yum:
name: "{{ item }}"
become: true
with_items:
- "@Development tools"
- libxml2-devel
- libxslt-devel
- ruby-devel
- zlib-devel
when:
- ansible_os_family == 'RedHat'
- ansible_distribution != "Fedora"
- ansible_distribution_major_version <= "7"
- block:
- name: Clean-up system state (Fedora or CentOS/RHEL>=8)
dnf:
name: "{{ item }}"
state: absent
become: true
ignore_errors: true
with_items:
- rdo-release
- centos-release-openstack-*
- centos-release-ceph-*
- name: Install Ruby dependencies (Fedora or CentOS/RHEL>=8)
dnf:
name: "{{ item }}"
become: true
with_items:
- "@Development tools"
- libxml2-devel
- libxslt-devel
- ruby-devel
- zlib-devel
- name: Install yum (Fedora or CentOS/RHEL>=8)
dnf:
name: yum
become: true
when:
- ansible_os_family == 'RedHat'
- ansible_distribution == "Fedora" or ansible_distribution_major_version >= "8"
- block:
- name: install required packages for CentOS 9
dnf:
name: "{{ item }}"
state: present
become: true
ignore_errors: true
with_items:
- rubygem-rexml
when:
- ansible_os_family == 'RedHat'
- ansible_distribution == "Fedora" or ansible_distribution_major_version >= "9"
- name: Install Ruby dependencies (Ubuntu)
apt:
name: "{{ item }}"
become: true
when:
- ansible_os_family == 'Debian'
- ansible_distribution == "Ubuntu"
with_items:
- libxml2-dev
- libxslt-dev
- ruby-dev
- zlib1g-dev
- python3-pip
- name: Install Ruby dependencies (Debian)
apt:
name: "{{ item }}"
become: true
when:
- ansible_os_family == 'Debian'
- ansible_distribution == "Debian"
with_items:
- libicu-dev
- libxml2-dev
- libxslt1-dev
- ruby-dev
- zlib1g-dev
- python3-pip
- block:
- name: Set up puppetlabs repo (Fedora)
dnf:
name: "https://yum.puppetlabs.com/puppet{{ puppet }}-release-fedora-{{ ansible_distribution_major_version }}.noarch.rpm"
become: true
- name: Install puppetlabs puppet-agent (Fedora)
dnf:
name: puppet-agent
become: true
when:
- use_puppetlabs is defined
- use_puppetlabs|bool
- ansible_os_family == 'RedHat'
- ansible_distribution == "Fedora"
- block:
- name: Set up puppetlabs repo (CentOS/RHEL)
yum:
name: "https://yum.puppetlabs.com/puppet{{ puppet }}-release-el-{{ ansible_distribution_major_version }}.noarch.rpm"
become: true
- name: Install puppetlabs puppet-agent (CentOS/RHEL)
yum:
name: puppet-agent
become: true
when:
- use_puppetlabs is defined
- use_puppetlabs|bool
- ansible_os_family == 'RedHat'
- ansible_distribution != "Fedora"
- block:
- name: Set up puppetlabs repo (Ubuntu and Debian)
apt:
name: "https://apt.puppetlabs.com/puppet{{ puppet }}-release-{{ ansible_distribution_release }}.deb"
become: true
- name: Install puppetlabs puppet-agent (Ubuntu and Debian)
apt:
name: puppet-agent
become: true
when:
- use_puppetlabs is defined
- use_puppetlabs|bool
- ansible_os_family == 'Debian'