vars:
delegate_facts_host: True
+ dashboard_enabled: False
+
+ environment:
+ DEBIAN_FRONTEND: noninteractive
pre_tasks:
# If we can't get python2 installed before any module is used we will fail
when:
- systempython2.stat is undefined or systempython2.stat.exists == false
+ # Ansible will try to auto-install python-apt, in some systems this might be
+ # python3-apt, or python-apt, and it has caused whole runs to fail because
+ # it is trying to do an interactive prompt
+ - name: install python-apt and aptitude in debian based systems
+ raw: sudo apt-get -y install "{{ item }}"
+ ignore_errors: yes
+ with_items:
+ - python3-apt
+ - python-apt
+ - aptitude
+
- name: install python2 for fedora
raw: sudo dnf -y install python creates=/usr/bin/python
ignore_errors: yes
- ansible_distribution == 'Fedora'
- ansible_distribution_major_version|int >= 23
- roles:
- - ceph-defaults
- - ceph-validate
+ - name: check if it is atomic host
+ stat:
+ path: /run/ostree-booted
+ register: stat_ostree
+
+ - name: set_fact is_atomic
+ set_fact:
+ is_atomic: '{{ stat_ostree.stat.exists }}'
+
+ tasks:
+ - import_role:
+ name: ceph-defaults
+ - import_role:
+ name: ceph-validate
- hosts:
- mons
- mgrs
gather_facts: false
become: True
- roles:
- - role: ceph-defaults
- tags: ['ceph_update_config']
- - role: ceph-common
- - role: ceph-config
- tags: ['ceph_update_config']
-
-- hosts: mons
- gather_facts: false
- become: True
- roles:
- - role: ceph-defaults
- - role: ceph-common
- - role: ceph-mon
-
-- hosts: mgrs
- gather_facts: false
- become: True
- roles:
- - role: ceph-defaults
- - role: ceph-common
- - role: ceph-mgr
-
-- hosts: osds
- gather_facts: false
- become: True
+ any_errors_fatal: true
+ vars:
+ dashboard_enabled: False
tasks:
+ - import_role:
+ name: ceph-defaults
+ - import_role:
+ name: ceph-facts
+ - import_role:
+ name: ceph-handler
+ - import_role:
+ name: ceph-common
+
- name: rsync ceph-volume to test nodes on centos
synchronize:
- src: "{{ toxinidir}}/../../../../ceph_volume"
- dest: "/usr/lib/python2.7/site-packages"
+ src: "{{ toxinidir }}/../../../../ceph_volume"
+ dest: "/usr/lib/python3.6/site-packages"
use_ssh_args: true
- when: ansible_os_family == "RedHat"
+ when:
+ - ansible_os_family == "RedHat"
+ - inventory_hostname in groups.get(osd_group_name, [])
- name: rsync ceph-volume to test nodes on ubuntu
synchronize:
- src: "{{ toxinidir}}/../../../../ceph_volume"
+ src: "{{ toxinidir }}/../../../../ceph_volume"
dest: "/usr/lib/python2.7/dist-packages"
use_ssh_args: true
- when: ansible_os_family == "Debian"
+ when:
+ - ansible_os_family == "Debian"
+ - inventory_hostname in groups.get(osd_group_name, [])
-- hosts: osds
- gather_facts: false
- become: True
- roles:
- - role: ceph-defaults
- - role: ceph-common
- - role: ceph-osd
+ - name: run ceph-config role
+ import_role:
+ name: ceph-config
+
+ - name: run ceph-mon role
+ import_role:
+ name: ceph-mon
+ when:
+ - inventory_hostname in groups.get(mon_group_name, [])
+
+ - name: run ceph-mgr role
+ import_role:
+ name: ceph-mgr
+ when:
+ - inventory_hostname in groups.get(mgr_group_name, [])
+
+ - name: run ceph-osd role
+ import_role:
+ name: ceph-osd
+ when:
+ - inventory_hostname in groups.get(osd_group_name, [])