- import_role:
name: ceph-handler
+ - import_role:
+ name: ceph-container-engine
+
- import_role:
name: ceph-container-common
- import_role:
name: ceph-handler
+ - import_role:
+ name: ceph-container-engine
+
- import_role:
name: ceph-container-common
- import_role:
name: ceph-handler
+ - import_role:
+ name: ceph-container-engine
+
- import_role:
name: ceph-container-common
- import_role:
name: ceph-handler
+ - import_role:
+ name: ceph-container-engine
+
- import_role:
name: ceph-container-common
- import_role:
name: ceph-handler
+ - import_role:
+ name: ceph-container-engine
+
- import_role:
name: ceph-container-common
- import_role:
name: ceph-handler
+ - import_role:
+ name: ceph-container-engine
+
- import_role:
name: ceph-container-common
- import_role:
name: ceph-handler
+ - import_role:
+ name: ceph-container-engine
+
- import_role:
name: ceph-container-common
-# Ansible role: ceph-docker
+# Ansible role: ceph-container-common
Documentation is available at http://docs.ceph.com/ceph-ansible/.
---
-- name: include pre_requisites/prerequisites.yml
- include_tasks: pre_requisites/prerequisites.yml
+- name: include prerequisites.yml
+ include_tasks: prerequisites.yml
when: not is_atomic
- name: get docker version
- command: docker --version
- changed_when: false
- check_mode: no
- register: ceph_docker_version
- when: container_binary == 'docker'
+ block:
+ - name: get docker version
+ command: docker --version
+ changed_when: false
+ check_mode: no
+ register: ceph_docker_version
-- name: set_fact ceph_docker_version ceph_docker_version.stdout.split
- set_fact:
- ceph_docker_version: "{{ ceph_docker_version.stdout.split(' ')[2] }}"
+ - name: set_fact ceph_docker_version ceph_docker_version.stdout.split
+ set_fact:
+ ceph_docker_version: "{{ ceph_docker_version.stdout.split(' ')[2] }}"
when: container_binary == 'docker'
- name: include fetch_image.yml
include_tasks: fetch_image.yml
tags: fetch_container_image
- when: containerized_deployment
- name: get ceph version
command: >
changed_when: false
check_mode: no
register: ceph_version
- when: containerized_deployment
- name: set_fact ceph_version ceph_version.stdout.split
set_fact:
ceph_version: "{{ ceph_version.stdout.split(' ')[2] }}"
- when: containerized_deployment
- name: include release.yml
include_tasks: release.yml
- when: containerized_deployment
+++ /dev/null
----
-- name: uninstall old docker versions
- package:
- name: ['docker', 'docker-engine', 'docker.io', 'containerd', 'runc']
- state: absent
-
-- name: allow apt to use a repository over https (debian)
- package:
- name: ['apt-transport-https', 'ca-certificates', 'gnupg', 'software-properties-common']
- update_cache: yes
- register: result
- until: result is succeeded
-
-- name: add docker's gpg key
- apt_key:
- url: 'https://download.docker.com/linux/{{ ansible_distribution | lower }}/gpg'
- register: result
- until: result is succeeded
-
-- name: add docker repository
- apt_repository:
- repo: "deb https://download.docker.com/linux/{{ ansible_distribution | lower}} {{ ansible_distribution_release }} stable"
+++ /dev/null
----
-- name: include specific variables
- include_vars: "{{ item }}"
- with_first_found:
- - "{{ ansible_distribution }}-{{ ansible_distribution_major_version }}.yml"
- - "{{ ansible_os_family }}.yml"
-
-- name: include remove_ceph_udev_rules.yml
- include_tasks: remove_ceph_udev_rules.yml
-
-- name: debian based systems tasks
- include_tasks: debian_prerequisites.yml
- when:
- - ansible_os_family == 'Debian'
- - container_package_name == 'docker-ce'
- tags: with_pkg
-
-# ensure extras enabled for docker
-- name: enable extras on centos
- yum_repository:
- name: extras
- state: present
- enabled: yes
- when:
- - ansible_distribution == 'CentOS'
- - ceph_docker_enable_centos_extra_repo
- tags:
- with_pkg
-
-- name: install container package
- package:
- name: ['{{ container_package_name }}', '{{ container_binding_name }}']
- update_cache: true
- tags: with_pkg
-
-- name: start container service
- service:
- name: '{{ container_service_name }}'
- state: started
- enabled: yes
- tags:
- with_pkg
- when: container_service_name == 'docker'
-
-- name: ensure tmpfiles.d is present
- lineinfile:
- path: /etc/tmpfiles.d/ceph-common.conf
- line: "d /run/ceph 0770 root root -"
- owner: root
- group: root
- mode: 0644
- state: present
- create: yes
+++ /dev/null
----
-- name: remove ceph udev rules
- 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
--- /dev/null
+---
+- name: remove ceph udev rules
+ 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
+ lineinfile:
+ path: /etc/tmpfiles.d/ceph-common.conf
+ line: "d /run/ceph 0770 root root -"
+ owner: root
+ group: root
+ mode: 0644
+ state: present
+ create: yes
+++ /dev/null
----
-container_package_name: docker-ce
-container_service_name: docker
-container_binding_name: python-docker
+++ /dev/null
----
-container_package_name: podman
-container_service_name: podman
-container_binding_name: podman
+++ /dev/null
----
-container_package_name: docker
-container_service_name: docker
-container_binding_name: python-docker-py
+++ /dev/null
----
-container_package_name: docker.io
-container_service_name: docker
-container_binding_name: python-docker
+++ /dev/null
----
-container_package_name: docker.io
-container_service_name: docker
-container_binding_name: python3-docker
--- /dev/null
+# Ansible role: ceph-container-engine
+
+Documentation is available at http://docs.ceph.com/ceph-ansible/.
--- /dev/null
+---
+galaxy_info:
+ company: Red Hat
+ author: Guillaume Abrioux
+ description: Handles container installation prerequisites
+ license: Apache
+ min_ansible_version: 2.7
+ platforms:
+ - name: Ubuntu
+ versions:
+ - xenial
+ - name: EL
+ versions:
+ - 7
+ galaxy_tags:
+ - system
+dependencies: []
--- /dev/null
+---
+- name: include pre_requisites/prerequisites.yml
+ include_tasks: pre_requisites/prerequisites.yml
+ when: not is_atomic
\ No newline at end of file
--- /dev/null
+---
+- name: uninstall old docker versions
+ package:
+ name: ['docker', 'docker-engine', 'docker.io', 'containerd', 'runc']
+ state: absent
+
+- name: allow apt to use a repository over https (debian)
+ package:
+ name: ['apt-transport-https', 'ca-certificates', 'gnupg', 'software-properties-common']
+ update_cache: yes
+ register: result
+ until: result is succeeded
+
+- name: add docker's gpg key
+ apt_key:
+ url: 'https://download.docker.com/linux/{{ ansible_distribution | lower }}/gpg'
+ register: result
+ until: result is succeeded
+
+- name: add docker repository
+ apt_repository:
+ repo: "deb https://download.docker.com/linux/{{ ansible_distribution | lower}} {{ ansible_distribution_release }} stable"
--- /dev/null
+---
+- name: include specific variables
+ include_vars: "{{ item }}"
+ with_first_found:
+ - "{{ ansible_distribution }}-{{ ansible_distribution_major_version }}.yml"
+ - "{{ ansible_os_family }}.yml"
+
+- name: debian based systems tasks
+ include_tasks: debian_prerequisites.yml
+ when:
+ - ansible_os_family == 'Debian'
+ - container_package_name == 'docker-ce'
+ tags: with_pkg
+
+# ensure extras enabled for docker
+- name: enable extras on centos
+ yum_repository:
+ name: extras
+ state: present
+ enabled: yes
+ when:
+ - ansible_distribution == 'CentOS'
+ - ceph_docker_enable_centos_extra_repo
+ tags:
+ with_pkg
+
+- name: install container package
+ package:
+ name: ['{{ container_package_name }}', '{{ container_binding_name }}']
+ update_cache: true
+ tags: with_pkg
+
+- name: start container service
+ service:
+ name: '{{ container_service_name }}'
+ state: started
+ enabled: yes
+ tags:
+ with_pkg
+ when: container_service_name == 'docker'
\ No newline at end of file
--- /dev/null
+---
+container_package_name: docker-ce
+container_service_name: docker
+container_binding_name: python-docker
--- /dev/null
+---
+container_package_name: podman
+container_service_name: podman
+container_binding_name: podman
--- /dev/null
+---
+container_package_name: docker
+container_service_name: docker
+container_binding_name: python-docker-py
--- /dev/null
+---
+container_package_name: docker.io
+container_service_name: docker
+container_binding_name: python-docker
--- /dev/null
+---
+container_package_name: docker.io
+container_service_name: docker
+container_binding_name: python3-docker
name: ceph-infra
- import_role:
name: ceph-handler
+ - import_role:
+ name: ceph-container-engine
- import_role:
name: ceph-container-common
tags: [with_pkg, fetch_container_image]
tags: ['ceph_update_config']
- import_role:
name: ceph-handler
+ - import_role:
+ name: ceph-container-engine
- import_role:
name: ceph-container-common
- import_role:
tags: ['ceph_update_config']
- import_role:
name: ceph-handler
+ - import_role:
+ name: ceph-container-engine
- import_role:
name: ceph-container-common
- import_role:
tags: ['ceph_update_config']
- import_role:
name: ceph-handler
+ - import_role:
+ name: ceph-container-engine
- import_role:
name: ceph-container-common
- import_role:
tags: ['ceph_update_config']
- import_role:
name: ceph-handler
+ - import_role:
+ name: ceph-container-engine
- import_role:
name: ceph-container-common
- import_role:
tags: ['ceph_update_config']
- import_role:
name: ceph-handler
+ - import_role:
+ name: ceph-container-engine
- import_role:
name: ceph-container-common
- import_role:
tags: ['ceph_update_config']
- import_role:
name: ceph-handler
+ - import_role:
+ name: ceph-container-engine
- import_role:
name: ceph-container-common
- import_role:
tags: ['ceph_update_config']
- import_role:
name: ceph-handler
+ - import_role:
+ name: ceph-container-engine
- import_role:
name: ceph-container-common
- import_role:
tags: ['ceph_update_config']
- import_role:
name: ceph-handler
+ - import_role:
+ name: ceph-container-engine
+ when: inventory_hostname == groups.get('clients', ['']) | first or dashboard_enabled
- import_role:
name: ceph-container-common
when: inventory_hostname == groups.get('clients', ['']) | first
tags: ['ceph_update_config']
- import_role:
name: ceph-handler
+ - import_role:
+ name: ceph-container-engine
- import_role:
name: ceph-container-common
- import_role:
tags: ['ceph_update_config']
- import_role:
name: ceph-handler
+ - import_role:
+ name: ceph-container-engine
- import_role:
name: ceph-container-common
- import_role:
- import_role:
name: ceph-handler
- import_role:
- name: ceph-container-common
+ name: ceph-container-engine
- import_role:
name: ceph-node-exporter
when: dashboard_enabled