puppet-openstack-integration/playbooks/prepare-node-common.yaml
Takashi Kajinami 811f30adf1 Install the proper version from puppetlabs
Now we always install puppet 5 when we install puppet from puppetlabs,
but that version should be selected according to job definitions.

Change-Id: Ifa0b15c46ebc6a70697df5b42b41ee1db51fa820
2021-01-24 08:13:42 +09:00

165 lines
4.3 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"
- 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'