deep_scrub_choked
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
# Ansible role: ceph-container-common
|
||||
|
||||
Documentation is available at http://docs.ceph.com/ceph-ansible/.
|
||||
@@ -0,0 +1 @@
|
||||
---
|
||||
@@ -0,0 +1,5 @@
|
||||
[Unit]
|
||||
Description=ceph target allowing to start/stop all ceph*@.service instances at once
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,14 @@
|
||||
---
|
||||
galaxy_info:
|
||||
company: Red Hat
|
||||
author: Sébastien Han
|
||||
description: Installs Ceph
|
||||
license: Apache
|
||||
min_ansible_version: '2.7'
|
||||
platforms:
|
||||
- name: EL
|
||||
versions:
|
||||
- 'all'
|
||||
galaxy_tags:
|
||||
- system
|
||||
dependencies: []
|
||||
@@ -0,0 +1,81 @@
|
||||
---
|
||||
- name: Pulling Ceph container image
|
||||
ansible.builtin.command: "{{ timeout_command }} {{ container_binary }} pull {{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}"
|
||||
changed_when: false
|
||||
register: docker_image
|
||||
until: docker_image.rc == 0
|
||||
retries: "{{ docker_pull_retry }}"
|
||||
delay: 10
|
||||
when: (ceph_docker_dev_image is undefined or not ceph_docker_dev_image | bool)
|
||||
environment:
|
||||
HTTP_PROXY: "{{ ceph_docker_http_proxy | default('') }}"
|
||||
HTTPS_PROXY: "{{ ceph_docker_https_proxy | default('') }}"
|
||||
NO_PROXY: "{{ ceph_docker_no_proxy }}"
|
||||
|
||||
- name: Pulling alertmanager/prometheus/grafana container images
|
||||
ansible.builtin.command: "{{ timeout_command }} {{ container_binary }} pull {{ item }}"
|
||||
changed_when: false
|
||||
register: monitoring_images
|
||||
until: monitoring_images.rc == 0
|
||||
retries: "{{ docker_pull_retry }}"
|
||||
delay: 10
|
||||
loop:
|
||||
- "{{ alertmanager_container_image }}"
|
||||
- "{{ prometheus_container_image }}"
|
||||
- "{{ grafana_container_image }}"
|
||||
when:
|
||||
- dashboard_enabled | bool
|
||||
- inventory_hostname in groups.get(monitoring_group_name, [])
|
||||
environment:
|
||||
HTTP_PROXY: "{{ ceph_docker_http_proxy | default('') }}"
|
||||
HTTPS_PROXY: "{{ ceph_docker_https_proxy | default('') }}"
|
||||
NO_PROXY: "{{ ceph_docker_no_proxy }}"
|
||||
|
||||
- name: Pulling node-exporter container image
|
||||
ansible.builtin.command: "{{ timeout_command }} {{ container_binary }} pull {{ node_exporter_container_image }}"
|
||||
changed_when: false
|
||||
register: node_exporter_image
|
||||
until: node_exporter_image.rc == 0
|
||||
retries: "{{ docker_pull_retry }}"
|
||||
delay: 10
|
||||
when:
|
||||
- dashboard_enabled | bool
|
||||
- inventory_hostname in groups.get(mon_group_name, []) or
|
||||
inventory_hostname in groups.get(osd_group_name, []) or
|
||||
inventory_hostname in groups.get(mds_group_name, []) or
|
||||
inventory_hostname in groups.get(rgw_group_name, []) or
|
||||
inventory_hostname in groups.get(mgr_group_name, []) or
|
||||
inventory_hostname in groups.get(rbdmirror_group_name, []) or
|
||||
inventory_hostname in groups.get(nfs_group_name, []) or
|
||||
inventory_hostname in groups.get(monitoring_group_name, [])
|
||||
environment:
|
||||
HTTP_PROXY: "{{ ceph_docker_http_proxy | default('') }}"
|
||||
HTTPS_PROXY: "{{ ceph_docker_https_proxy | default('') }}"
|
||||
NO_PROXY: "{{ ceph_docker_no_proxy }}"
|
||||
|
||||
- name: Export local ceph dev image
|
||||
ansible.builtin.command: >
|
||||
{{ container_binary }} save -o "/tmp/{{ ceph_docker_username }}-{{ ceph_docker_imagename }}-{{ ceph_docker_image_tag }}.tar"
|
||||
"{{ ceph_docker_username }}/{{ ceph_docker_imagename }}:{{ ceph_docker_image_tag }}"
|
||||
delegate_to: localhost
|
||||
changed_when: false
|
||||
when: (ceph_docker_dev_image is defined and ceph_docker_dev_image)
|
||||
run_once: true
|
||||
|
||||
- name: Copy ceph dev image file
|
||||
ansible.builtin.copy:
|
||||
src: "/tmp/{{ ceph_docker_username }}-{{ ceph_docker_imagename }}-{{ ceph_docker_image_tag }}.tar"
|
||||
dest: "/tmp/{{ ceph_docker_username }}-{{ ceph_docker_imagename }}-{{ ceph_docker_image_tag }}.tar"
|
||||
mode: "0644"
|
||||
when: (ceph_docker_dev_image is defined and ceph_docker_dev_image | bool)
|
||||
|
||||
- name: Load ceph dev image
|
||||
ansible.builtin.command: "{{ container_binary }} load -i /tmp/{{ ceph_docker_username }}-{{ ceph_docker_imagename }}-{{ ceph_docker_image_tag }}.tar"
|
||||
changed_when: false
|
||||
when: (ceph_docker_dev_image is defined and ceph_docker_dev_image | bool)
|
||||
|
||||
- name: Remove tmp ceph dev image file
|
||||
ansible.builtin.file:
|
||||
name: "/tmp/{{ ceph_docker_username }}-{{ ceph_docker_imagename }}-{{ ceph_docker_image_tag }}.tar"
|
||||
state: absent
|
||||
when: (ceph_docker_dev_image is defined and ceph_docker_dev_image | bool)
|
||||
@@ -0,0 +1,39 @@
|
||||
---
|
||||
- name: Generate systemd ceph target file
|
||||
ansible.builtin.copy:
|
||||
src: ceph.target
|
||||
dest: /etc/systemd/system/ceph.target
|
||||
mode: "0644"
|
||||
|
||||
- name: Enable ceph.target
|
||||
ansible.builtin.service:
|
||||
name: ceph.target
|
||||
enabled: true
|
||||
daemon_reload: true
|
||||
|
||||
- name: Include prerequisites.yml
|
||||
ansible.builtin.include_tasks: prerequisites.yml
|
||||
|
||||
- name: Include registry.yml
|
||||
ansible.builtin.include_tasks: registry.yml
|
||||
when: ceph_docker_registry_auth | bool
|
||||
|
||||
- name: Include fetch_image.yml
|
||||
ansible.builtin.include_tasks: fetch_image.yml
|
||||
tags: fetch_container_image
|
||||
|
||||
- name: Get ceph version
|
||||
ansible.builtin.command: >
|
||||
{{ container_binary }} run --rm --net=host --entrypoint /usr/bin/ceph
|
||||
{{ ceph_client_docker_registry }}/{{ ceph_client_docker_image }}:{{ ceph_client_docker_image_tag }}
|
||||
--version
|
||||
changed_when: false
|
||||
check_mode: false
|
||||
register: ceph_version
|
||||
|
||||
- name: Set_fact ceph_version ceph_version.stdout.split
|
||||
ansible.builtin.set_fact:
|
||||
ceph_version: "{{ ceph_version.stdout.split(' ')[2] }}"
|
||||
|
||||
- name: Include release.yml
|
||||
ansible.builtin.include_tasks: release.yml
|
||||
@@ -0,0 +1,52 @@
|
||||
---
|
||||
- name: Lvmetad tasks related
|
||||
when:
|
||||
- inventory_hostname in groups.get(osd_group_name, [])
|
||||
- lvmetad_disabled | default(False) | bool
|
||||
- ansible_facts['os_family'] == 'RedHat'
|
||||
- ansible_facts['distribution_major_version'] | int == 7
|
||||
block:
|
||||
- name: Stop lvmetad
|
||||
ansible.builtin.service:
|
||||
name: lvm2-lvmetad
|
||||
state: stopped
|
||||
|
||||
- name: Disable and mask lvmetad service
|
||||
ansible.builtin.systemd:
|
||||
name: lvm2-lvmetad
|
||||
enabled: false
|
||||
masked: true
|
||||
|
||||
- name: Remove ceph udev rules
|
||||
ansible.builtin.file:
|
||||
path: "{{ item }}"
|
||||
state: absent
|
||||
with_items:
|
||||
- /usr/lib/udev/rules.d/95-ceph-osd.rules
|
||||
- /usr/lib/udev/rules.d/60-ceph-by-parttypeuuid.rules
|
||||
|
||||
- name: Ensure tmpfiles.d is present
|
||||
ansible.builtin.lineinfile:
|
||||
path: /etc/tmpfiles.d/ceph-common.conf
|
||||
line: "d /run/ceph 0755 167 167 -"
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0644"
|
||||
state: present
|
||||
create: true
|
||||
|
||||
- name: Restore certificates selinux context
|
||||
when:
|
||||
- ansible_facts['os_family'] == 'RedHat'
|
||||
- inventory_hostname in groups.get(mon_group_name, [])
|
||||
or inventory_hostname in groups.get(rgw_group_name, [])
|
||||
ansible.builtin.command: /usr/sbin/restorecon -RF /etc/pki/ca-trust/extracted
|
||||
changed_when: false
|
||||
|
||||
- name: Install python3 on osd nodes
|
||||
ansible.builtin.package:
|
||||
name: python3
|
||||
state: present
|
||||
when:
|
||||
- inventory_hostname in groups.get(osd_group_name, [])
|
||||
- ansible_facts['os_family'] == 'RedHat'
|
||||
@@ -0,0 +1,11 @@
|
||||
---
|
||||
- name: Container registry authentication
|
||||
ansible.builtin.command: '{{ container_binary }} login -u {{ ceph_docker_registry_username }} --password-stdin {{ ceph_docker_registry }}'
|
||||
args:
|
||||
stdin: '{{ ceph_docker_registry_password }}'
|
||||
stdin_add_newline: false
|
||||
changed_when: false
|
||||
environment:
|
||||
HTTP_PROXY: "{{ ceph_docker_http_proxy | default('') }}"
|
||||
HTTPS_PROXY: "{{ ceph_docker_https_proxy | default('') }}"
|
||||
NO_PROXY: "{{ ceph_docker_no_proxy }}"
|
||||
@@ -0,0 +1,50 @@
|
||||
---
|
||||
- name: Set_fact ceph_release jewel
|
||||
ansible.builtin.set_fact:
|
||||
ceph_release: jewel
|
||||
when: ceph_version.split('.')[0] is version('10', '==')
|
||||
|
||||
- name: Set_fact ceph_release kraken
|
||||
ansible.builtin.set_fact:
|
||||
ceph_release: kraken
|
||||
when: ceph_version.split('.')[0] is version('11', '==')
|
||||
|
||||
- name: Set_fact ceph_release luminous
|
||||
ansible.builtin.set_fact:
|
||||
ceph_release: luminous
|
||||
when: ceph_version.split('.')[0] is version('12', '==')
|
||||
|
||||
- name: Set_fact ceph_release mimic
|
||||
ansible.builtin.set_fact:
|
||||
ceph_release: mimic
|
||||
when: ceph_version.split('.')[0] is version('13', '==')
|
||||
|
||||
- name: Set_fact ceph_release nautilus
|
||||
ansible.builtin.set_fact:
|
||||
ceph_release: nautilus
|
||||
when: ceph_version.split('.')[0] is version('14', '==')
|
||||
|
||||
- name: Set_fact ceph_release octopus
|
||||
ansible.builtin.set_fact:
|
||||
ceph_release: octopus
|
||||
when: ceph_version.split('.')[0] is version('15', '==')
|
||||
|
||||
- name: Set_fact ceph_release pacific
|
||||
ansible.builtin.set_fact:
|
||||
ceph_release: pacific
|
||||
when: ceph_version.split('.')[0] is version('16', '==')
|
||||
|
||||
- name: Set_fact ceph_release quincy
|
||||
ansible.builtin.set_fact:
|
||||
ceph_release: quincy
|
||||
when: ceph_version.split('.')[0] is version('17', '==')
|
||||
|
||||
- name: Set_fact ceph_release reef
|
||||
ansible.builtin.set_fact:
|
||||
ceph_release: reef
|
||||
when: ceph_version.split('.')[0] is version('18', '==')
|
||||
|
||||
- name: Set_fact ceph_release squid
|
||||
ansible.builtin.set_fact:
|
||||
ceph_release: squid
|
||||
when: ceph_version.split('.')[0] is version('19', '==')
|
||||
Reference in New Issue
Block a user