puppet-openstack-integration/playbooks/prepare-node-common.yaml

112 lines
2.7 KiB
YAML

- hosts: all
tasks:
- name: Ensure legacy workspace directory
file:
path: "{{ ansible_user_dir }}/workspace"
state: directory
- block:
- name: Clean-up system state (CentOS/RHEL)
dnf:
name: "{{ item }}"
state: absent
become: true
ignore_errors: true
with_items:
- rdo-release
- centos-release-openstack-*
- centos-release-ceph-*
- name: Install Ruby dependencies (CentOS/RHEL)
dnf:
name: "{{ item }}"
become: true
with_items:
- "@Development tools"
- libxml2-devel
- libxslt-devel
- ruby-devel
- zlib-devel
- name: Install yum (CentOS/RHEL)
dnf:
name: yum
become: true
when:
- ansible_os_family == 'RedHat'
- block:
- name: install required packages (CentOS/RHEL>=9)
dnf:
name: "{{ item }}"
state: present
become: true
ignore_errors: true
with_items:
- rubygem-rexml
when:
- ansible_os_family == 'RedHat'
- 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 (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'
- 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'