2 # Defines deployment design and assigns role to server groups
10 any_errors_fatal: true
17 delegate_facts_host: True
20 # If we can't get python2 installed before any module is used we will fail
21 # so just try what we can to get it installed
22 - name: check for python2
26 register: systempython2
28 - name: install python2 for debian based systems
29 raw: sudo apt-get -y install python-simplejson
32 - systempython2.stat is undefined or systempython2.stat.exists == false
34 - name: install python2 for fedora
35 raw: sudo dnf -y install python creates=/usr/bin/python
38 - systempython2.stat is undefined or systempython2.stat.exists == false
40 - name: install python2 for opensuse
41 raw: sudo zypper -n install python-base creates=/usr/bin/python2.7
44 - systempython2.stat is undefined or systempython2.stat.exists == false
49 - not delegate_facts_host | bool
51 - name: gather and delegate facts
53 delegate_to: "{{ item }}"
55 with_items: "{{ groups['all'] }}"
58 - delegate_facts_host | bool
60 - name: install required packages for fedora > 23
61 raw: sudo dnf -y install python2-dnf libselinux-python ntp
63 - ansible_distribution == 'Fedora'
64 - ansible_distribution_major_version|int >= 23
76 any_errors_fatal: true
79 tags: ['ceph_update_config']
83 - name: rsync ceph-volume to test nodes on centos
85 src: "{{ toxinidir}}/../../../../ceph_volume"
86 dest: "/usr/lib/python2.7/site-packages"
89 - ansible_os_family == "RedHat"
90 - inventory_hostname in groups.get(osd_group_name, [])
92 - name: rsync ceph-volume to test nodes on ubuntu
94 src: "{{ toxinidir}}/../../../../ceph_volume"
95 dest: "/usr/lib/python2.7/dist-packages"
98 - ansible_os_family == "Debian"
99 - inventory_hostname in groups.get(osd_group_name, [])
101 - name: run ceph-config role
105 - name: run ceph-mon role
109 - inventory_hostname in groups.get(mon_group_name, [])
111 - name: run ceph-mgr role
115 - inventory_hostname in groups.get(mgr_group_name, [])
117 - name: run ceph-osd role
121 - inventory_hostname in groups.get(osd_group_name, [])