mirror of https://github.com/ceph/ceph-ansible.git
105 lines
3.6 KiB
YAML
105 lines
3.6 KiB
YAML
---
|
|
- hosts: all
|
|
gather_facts: true
|
|
become: yes
|
|
tasks:
|
|
|
|
- name: check if it is Atomic host
|
|
stat: path=/run/ostree-booted
|
|
register: stat_ostree
|
|
check_mode: no
|
|
|
|
- name: set fact for using Atomic host
|
|
set_fact:
|
|
is_atomic: '{{ stat_ostree.stat.exists }}'
|
|
|
|
# - name: List repo files
|
|
# find:
|
|
# paths: /etc/yum.repos.d/
|
|
# file_type: file
|
|
# patterns: 'CentOS-Stream-*.repo'
|
|
# register: pre_stream_repo_files
|
|
# when:
|
|
# - ansible_facts['distribution'] == 'CentOS'
|
|
# - ansible_facts['distribution_major_version'] | int > 7
|
|
# - not is_atomic | bool
|
|
#
|
|
# # From ansible docs: 'replace: If not set, matches are removed entirely.'
|
|
# - name: Remove all mirrorlists
|
|
# replace:
|
|
# path: "{{ item.path }}"
|
|
# regexp: '^mirrorlist=.*'
|
|
# with_items: "{{ pre_stream_repo_files.files }}"
|
|
# when:
|
|
# - ansible_facts['distribution'] == 'CentOS'
|
|
# - ansible_facts['distribution_major_version'] | int > 7
|
|
# - not is_atomic | bool
|
|
#
|
|
# - name: Uncomment baseurls
|
|
# replace:
|
|
# path: "{{ item.path }}"
|
|
# regexp: '^mirrorlist=.*'
|
|
# regexp: '^\s*#*\s*(baseurl=.*)'
|
|
# replace: '\1'
|
|
# with_items: "{{ pre_stream_repo_files.files }}"
|
|
# when:
|
|
# - ansible_facts['distribution'] == 'CentOS'
|
|
# - ansible_facts['distribution_major_version'] | int > 7
|
|
# - not is_atomic | bool
|
|
#
|
|
# - name: Point baseurls to archive server
|
|
# replace:
|
|
# path: "{{ item.path }}"
|
|
# regexp: 'mirror.centos.org/\$contentdir/\$stream'
|
|
# replace: 'apt-mirror.front.sepia.ceph.com/centos/8-stream'
|
|
# with_items: "{{ pre_stream_repo_files.files }}"
|
|
# when:
|
|
# - ansible_facts['distribution'] == 'CentOS'
|
|
# - ansible_facts['distribution_major_version'] | int > 7
|
|
# - not is_atomic | bool
|
|
|
|
- name: update the system on RHEL-based OS # noqa: package-latest
|
|
ansible.builtin.yum:
|
|
name: '*'
|
|
state: latest
|
|
register: yum_upgrade
|
|
when: ansible_facts['os_family'] == 'RedHat'
|
|
|
|
- name: update the system on Debian-based OS # noqa: package-latest
|
|
ansible.builtin.apt:
|
|
name: '*'
|
|
state: latest
|
|
update_cache: true
|
|
when: ansible_facts['os_family'] == 'Debian'
|
|
|
|
- name: get root mount information
|
|
set_fact:
|
|
rootmount: "{{ ansible_facts['mounts']|json_query('[?mount==`/`]|[0]') }}"
|
|
|
|
# mount -o remount doesn't work on RHEL 8 for now
|
|
- name: add mount options to /
|
|
ansible.posix.mount:
|
|
path: '{{ rootmount.mount }}'
|
|
src: '{{ rootmount.device }}'
|
|
opts: "noatime,nodiratime,nobarrier"
|
|
fstype: '{{ rootmount.fstype }}'
|
|
state: mounted
|
|
|
|
# we need to install this so the Socket testinfra module
|
|
# can use netcat for testing
|
|
- name: install net-tools
|
|
package:
|
|
name: net-tools
|
|
state: present
|
|
register: result
|
|
until: result is succeeded
|
|
when: not is_atomic | bool
|
|
|
|
- name: Resize logical volume for root partition to fill remaining free space
|
|
lvol:
|
|
lv: root
|
|
vg: atomicos
|
|
size: +100%FREE
|
|
resizefs: yes
|
|
when: is_atomic | bool
|