]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/ceph-volume/ceph_volume/tests/functional/playbooks/deploy.yml
import 15.2.0 Octopus source
[ceph.git] / ceph / src / ceph-volume / ceph_volume / tests / functional / playbooks / deploy.yml
index ff3954b217850b4d427f94c4bf75739831e51622..12bca4f3237307ed8de5dc9631869caedd311895 100644 (file)
 
   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, [])