]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
Replaced is_before is_after is_ booleans with numerical version dictionary
authorJames Saint-Rossy <james_saintrossy@cable.comcast.com>
Fri, 9 Sep 2016 21:34:26 +0000 (17:34 -0400)
committerJames Saint-Rossy <james_saintrossy@cable.comcast.com>
Fri, 9 Sep 2016 21:34:26 +0000 (17:34 -0400)
15 files changed:
group_vars/all.sample
infrastructure-playbooks/purge-cluster.yml
roles/ceph-common/defaults/main.yml
roles/ceph-common/handlers/main.yml
roles/ceph-common/tasks/facts.yml
roles/ceph-common/tasks/installs/install_on_redhat.yml
roles/ceph-common/tasks/main.yml
roles/ceph-mds/tasks/pre_requisite.yml
roles/ceph-mon/tasks/deploy_monitors.yml
roles/ceph-mon/tasks/start_monitor.yml
roles/ceph-osd/tasks/activate_osds.yml
roles/ceph-rbd-mirror/tasks/start_rbd_mirror.yml
roles/ceph-rgw/tasks/main.yml
roles/ceph-rgw/tasks/pre_requisite.yml
roles/ceph-rgw/tasks/start_radosgw.yml

index 6da490e0d89e213a2ca0dade91f1d3d2e89f6b65..0c4ed4ae22c2cb061b5c0cb921c7f0eca408b951 100644 (file)
@@ -109,17 +109,6 @@ dummy:
 #ceph_stable_release: jewel # ceph stable release
 #ceph_stable_repo: "http://download.ceph.com/debian-{{ ceph_stable_release }}"
 
-###################
-# Stable Releases #
-###################
-#ceph_stable_releases:
-#  - dumpling
-#  - emperor
-#  - firefly
-#  - giant
-#  - hammer
-#  - infernalis
-
 # Use the option below to specify your applicable package tree, eg. when using non-LTS Ubuntu versions
 # # for a list of available Debian distributions, visit http://download.ceph.com/debian-{{ ceph_stable_release }}/dists/
 # for more info read: https://github.com/ceph/ceph-ansible/issues/305
index ab3eea6e83dac46ec3cb9f63b0825bd2f04bc94c..4c8417c133442c977f5a9ee0afb6a7158c07c94b 100644 (file)
@@ -87,7 +87,7 @@
 
   - name: wait for server to boot
     become: false
-    local_action: wait_for port=22 host={{ inventory_hostname }} state=started delay=10 timeout=400
+    local_action: wait_for port=22 host={{ inventory_hostname }} state=started delay=10 timeout=500
 
   - name: remove data
     file:
index 9ed961204422d3f876986b137648ba1943c67c15..43276d767e259f204df785a7d04fa86ec92dbfc9 100644 (file)
@@ -101,17 +101,9 @@ ceph_stable_key: https://download.ceph.com/keys/release.asc
 ceph_stable_release: jewel # ceph stable release
 ceph_stable_repo: "http://download.ceph.com/debian-{{ ceph_stable_release }}"
 
-###################
-# Stable Releases #
-###################
-ceph_stable_releases:
-  - dumpling
-  - emperor
-  - firefly
-  - giant
-  - hammer
-  - infernalis
-
+######################################
+# Releases name to number dictionary #
+######################################
 ceph_release_num:
   dumpling: 0.67
   emperor: 0.72
@@ -120,6 +112,7 @@ ceph_release_num:
   hammer: 0.94
   infernalis: 9
   jewel: 10
+  kraken: 11
 
 # Use the option below to specify your applicable package tree, eg. when using non-LTS Ubuntu versions
 # # for a list of available Debian distributions, visit http://download.ceph.com/debian-{{ ceph_stable_release }}/dists/
index a05397f719180258343bd7120b9ccb6742df48b3..9a547d1a660e429dbd76af4a2432f09075a5025e 100644 (file)
@@ -9,7 +9,7 @@
     - socket.rc == 0
     - ansible_distribution != 'Ubuntu'
     - mon_group_name in group_names
-    - is_before_infernalis
+    - ceph_release_num.{{ ceph_release}} < ceph_release_num.infernalis
 
 - name: restart ceph mons with systemd
   service:
@@ -19,7 +19,7 @@
     - socket.rc == 0
     - use_systemd
     - mon_group_name in group_names
-    - is_after_hammer
+    - ceph_release_num.{{ ceph_release}} > ceph_release_num.hammer
 
 - name: restart ceph mons on ubuntu
   command: initctl restart ceph-mon cluster={{ cluster }} id={{ monitor_name }}
@@ -35,7 +35,7 @@
     - socket.rc == 0
     - ansible_distribution != 'Ubuntu'
     - osd_group_name in group_names
-    - is_before_infernalis
+    - ceph_release_num.{{ ceph_release}} < ceph_release_num.infernalis
 
 # This does not just restart OSDs but everything else too. Unfortunately
 # at this time the ansible role does not have an OSD id list to use
@@ -48,7 +48,7 @@
     - socket.rc == 0
     - use_systemd
     - osd_group_name in group_names
-    - is_after_hammer
+    - ceph_release_num.{{ ceph_release}} > ceph_release_num.hammer
 
 - name: restart ceph osds on ubuntu
   shell: |
@@ -76,7 +76,7 @@
     - ansible_distribution != 'Ubuntu'
     - use_systemd
     - mds_group_name in group_names
-    - is_before_infernalis
+    - ceph_release_num.{{ ceph_release}} < ceph_release_num.infernalis
 
 - name: restart ceph mdss with systemd
   service:
@@ -86,7 +86,7 @@
     - socket.rc == 0
     - use_systemd
     - mds_group_name in group_names
-    - is_after_hammer
+    - ceph_release_num.{{ ceph_release}} > ceph_release_num.hammer
 
 - name: restart ceph rgws on ubuntu
   command: initctl restart radosgw cluster={{ cluster }} id=rgw.{{ ansible_hostname }}
     - socketrgw.rc == 0
     - ansible_distribution != 'Ubuntu'
     - rgw_group_name in group_names
-    - is_before_infernalis
+    - ceph_release_num.{{ ceph_release}} < ceph_release_num.infernalis
 
 - name: restart ceph rgws on red hat
   command: /etc/init.d/ceph-radosgw restart
     - socketrgw.rc == 0
     - ansible_os_family == 'RedHat'
     - rgw_group_name in group_names
-    - is_before_infernalis
+    - ceph_release_num.{{ ceph_release}} < ceph_release_num.infernalis
 
 - name: restart ceph rgws with systemd
   service:
     - socketrgw.rc == 0
     - use_systemd
     - rgw_group_name in group_names
-    - is_after_hammer
+    - ceph_release_num.{{ ceph_release}} > ceph_release_num.hammer
 
 - name: restart apache2
   service:
index 3a2f7e10c97f9cf8721aa7a1b0f6d5bd298fb1ee..4491f68749729f35a0cf4ab051e695a74fc6b863 100644 (file)
 - set_fact:
     use_systemd={{ init_system.strip() == 'systemd' }}
 
-# NOTE (leseb/jsaintrocc): You are supposed to quote variables
-# that follow colons to avoid confusion with dicts but this
-# causes issues with the boolean, so we keep this syntax styling...
-# is_before facts
-- set_fact:
-    is_before_hammer={{ ceph_version | version_compare('0.94.0', '<') }}
-
-- set_fact:
-    is_before_infernalis={{ ceph_version | version_compare('9.0.0', '<') }}
-
-- set_fact:
-    is_before_jewel={{ ceph_version | version_compare('10.0.0', '<') }}
-
-- set_fact:
-    is_before_kraken={{ ceph_version | version_compare('11.0.0', '<') }}
-
-# is_after facts
-- set_fact:
-    is_after_hammer={{ ceph_version | version_compare('0.95.0', '>') }}
-
-- set_fact:
-    is_after_infernalis={{ ceph_version | version_compare('9.4.0', '>') }}
-
-- set_fact:
-    is_after_jewel={{ ceph_version | version_compare('10.4.0', '>') }}
-
-- set_fact:
-    is_after_kraken={{ ceph_version | version_compare('11.4.0', '>') }}
-
-# is_version facts
-- set_fact:
-    is_hammer={{ ceph_version | version_compare('0.94.0', '>=') | version_compare('9.0.0', '<') }}
-
-- set_fact:
-    is_infernalis={{ ceph_version | version_compare('9.0.0', '>=') and ceph_version | version_compare('10.0.0', '<') }}
-
-- set_fact:
-    is_jewel={{ ceph_version | version_compare('10.0.0', '>=') and ceph_version | version_compare('11.0.0', '<') }}
-
-- set_fact:
-    is_kraken={{ ceph_version | version_compare('11.0.0', '>=')  and ceph_version | version_compare('12.0.0', '<') }}
-
 - set_fact:
     mds_name: "{{ ansible_hostname }}"
   when: not mds_use_fqdn
index 91f40e6791e3494245c6d0b8f208428be568f9d8..3e582609113ad93df2d41bb21b7221a4531cf411 100644 (file)
@@ -76,7 +76,7 @@
     name: ceph
     state: "{{ (upgrade_ceph_packages|bool) | ternary('latest','present') }}"
   when:
-    - ceph_release_num.{{ ceph_stable_release}} <= ceph_release_num.infernalis
+    - ceph_release_num.{{ ceph_release}} <= ceph_release_num.infernalis
     - ansible_pkg_mgr == "yum"
     - ceph_origin != 'local'
 
   when:
     - mon_group_name in group_names
     - ansible_pkg_mgr == "yum"
-    - (ceph_stable and ceph_stable_release not in ceph_stable_releases)
-      or ceph_dev
+    - ceph_release_num.{{ ceph_release}} > ceph_release_num.infernalis
       or ceph_origin == "distro"
       or ceph_custom
 
   when:
     - mon_group_name in group_names
     - ansible_pkg_mgr == "dnf"
-    - (ceph_stable and ceph_stable_release not in ceph_stable_releases)
+    - ceph_release_num.{{ ceph_release}} > ceph_release_num.infernalis
       or ceph_origin == "distro"
-      or ceph_dev
       or ceph_custom
 
 - name: install distro or red hat storage ceph osd via yum
   when:
     - osd_group_name in group_names
     - ansible_pkg_mgr == "yum"
-    - (ceph_stable and ceph_stable_release not in ceph_stable_releases)
+    - ceph_release_num.{{ ceph_release}} > ceph_release_num.infernalis
       or ceph_origin == "distro"
-      or ceph_dev
       or ceph_custom
 
 - name: install distro or red hat storage ceph osd via dnf
   when:
     - osd_group_name in group_names
     - ansible_pkg_mgr == "dnf"
-    - (ceph_stable and ceph_stable_release not in ceph_stable_releases)
+    - ceph_release_num.{{ ceph_release}} > ceph_release_num.infernalis
       or ceph_origin == "distro"
-      or ceph_dev
       or ceph_custom
 
 - name: install distro or red hat storage ceph mds via yum
   when:
     - mds_group_name in group_names
     - ansible_pkg_mgr == "yum"
-    - (ceph_stable and ceph_stable_release not in ceph_stable_releases)
+    - ceph_release_num.{{ ceph_release}} > ceph_release_num.infernalis
       or ceph_origin == "distro"
-      or ceph_dev
       or ceph_custom
 
 - name: install distro or red hat storage ceph mds via dnf
   when:
     - mds_group_name in group_names
     - ansible_pkg_mgr == "dnf"
-    - (ceph_stable and ceph_stable_release not in ceph_stable_releases)
+    - ceph_release_num.{{ ceph_release}} > ceph_release_num.infernalis
       or ceph_origin == "distro"
-      or ceph_dev
       or ceph_custom
 
 - name: install distro or red hat storage ceph base via yum
   when:
     - client_group_name in group_names
     - ansible_pkg_mgr == "yum"
-    - (ceph_stable and ceph_stable_release not in ceph_stable_releases)
+    - ceph_release_num.{{ ceph_release}} > ceph_release_num.infernalis
       or ceph_origin == "distro"
-      or ceph_dev
       or ceph_custom
 
 - name: install distro or red hat storage ceph base via dnf
   when:
     - client_group_name in group_names
     - ansible_pkg_mgr == "dnf"
-    - (ceph_stable and ceph_stable_release not in ceph_stable_releases)
+    - ceph_release_num.{{ ceph_release}} > ceph_release_num.infernalis
       or ceph_origin == "distro"
-      or ceph_dev
       or ceph_custom
 
 - name: install ceph-test
index 7ae1ac9e3cc2b1b09e040fed88dc2a6d49fd0e4e..f43c919b991e2c5fc1bf35ad2c115ae225cbe7d8 100644 (file)
@@ -3,6 +3,9 @@
 
 - include: ./checks/check_mandatory_vars.yml
 
+# Set ceph_release
+- include: ./release.yml
+
 - include: ./checks/check_firewall.yml
   when: check_firewall
   # Hard code this so we will skip the entire file instead of individual tasks (Default isn't Consistent)
     dir_owner: ceph
     dir_group: ceph
     dir_mode: "0755"
-  when: is_after_hammer
+  when: ceph_release_num.{{ ceph_release}} > ceph_release_num.hammer
 
 - set_fact:
     dir_owner: root
     dir_group: root
     dir_mode: "0755"
-  when: is_before_infernalis
+  when: ceph_release_num.{{ ceph_release}} < ceph_release_num.infernalis
 
 - set_fact:
     key_owner: root
     key_group: root
     key_mode: "0600"
-  when: is_before_infernalis
+  when: ceph_release_num.{{ ceph_release}} < ceph_release_num.infernalis
 
 - set_fact:
     key_owner: ceph
     key_group: ceph
     key_mode: "0600"
-  when: is_after_hammer
+  when: ceph_release_num.{{ ceph_release}} > ceph_release_num.hammer
 
 - set_fact:
     activate_file_owner: ceph
     activate_file_group: ceph
     activate_file_mode: "0644"
-  when: is_after_hammer
+  when: ceph_release_num.{{ ceph_release}} > ceph_release_num.hammer
 
 - set_fact:
     activate_file_owner: root
     activate_file_group: root
     activate_file_mode: "0644"
-  when: is_before_infernalis
+  when: ceph_release_num.{{ ceph_release}} < ceph_release_num.infernalis
 
 - set_fact:
     rbd_client_directory_owner: root
   when:
-    - is_before_infernalis
+    - ceph_release_num.{{ ceph_release}} < ceph_release_num.infernalis
     - rbd_client_directory_owner is not defined
       or not rbd_client_directory_owner
 
 - set_fact:
     rbd_client_directory_owner: ceph
   when:
-    - is_after_hammer
+    - ceph_release_num.{{ ceph_release}} > ceph_release_num.hammer
     - rbd_client_directory_owner is not defined
       or not rbd_client_directory_owner
 
 - set_fact:
     rbd_client_directory_group: root
   when:
-    - is_before_infernalis
+    - ceph_release_num.{{ ceph_release}} < ceph_release_num.infernalis
     - rbd_client_directory_group is not defined
       or not rbd_client_directory_group
 
 - set_fact:
     rbd_client_directory_group: ceph
   when:
-    - is_after_hammer
+    - ceph_release_num.{{ ceph_release}} > ceph_release_num.hammer
     - rbd_client_directory_group is not defined
       or not rbd_client_directory_group
 
 - set_fact:
     rbd_client_directory_mode: "1777"
   when:
-    - is_before_infernalis
+    - ceph_release_num.{{ ceph_release}} < ceph_release_num.infernalis
     - rbd_client_directory_mode is not defined
       or not rbd_client_directory_mode
 
 - set_fact:
     rbd_client_directory_mode: "0770"
   when:
-    - is_after_hammer
+    - ceph_release_num.{{ ceph_release}} > ceph_release_num.hammer
     - rbd_client_directory_mode is not defined
       or not rbd_client_directory_mode
 
index 1c59fd0ef6be6fc87ff135b34b0d5451f610bae6..bc9d18c067094ff5631b74f1906a57326034fe97 100644 (file)
@@ -76,7 +76,7 @@
   failed_when: false
   when:
     - use_systemd
-    - is_after_hammer
+    - ceph_release_num.{{ ceph_release}} > ceph_release_num.hammer
 
 - name: start and add that the metadata service to the init sequence (upstart)
   command: initctl emit ceph-mds cluster={{ cluster }} id={{ mds_name }}
@@ -93,7 +93,7 @@
   changed_when: false
   when:
     - not use_systemd
-    - is_before_infernalis
+    - ceph_release_num.{{ ceph_release}} < ceph_release_num.infernalis
 
 - name: start and add that the metadata service to the init sequence (systemd after hammer)
   service:
   changed_when: false
   when:
     - use_systemd
-    - is_after_hammer
+    - ceph_release_num.{{ ceph_release}} > ceph_release_num.hammer
index 78518b4a32873c0d4b3717b651621a6bca23ff4e..eef3f1e6abc0442316431420b677808e87e9807c 100644 (file)
@@ -50,7 +50,7 @@
     creates: /var/lib/ceph/mon/{{ cluster }}-{{ monitor_name }}/keyring
   when:
     - cephx
-    - is_after_hammer
+    - ceph_release_num.{{ ceph_release}} > ceph_release_num.hammer
 
 - name: ceph monitor mkfs without keyring (for or after infernalis release)
   command: ceph-mon --cluster {{ cluster }} --setuser ceph --setgroup ceph --mkfs -i {{ monitor_name }} --fsid {{ fsid }}
@@ -58,7 +58,7 @@
     creates: /var/lib/ceph/mon/{{ cluster }}-{{ monitor_name }}/store.db
   when:
     - not cephx
-    - is_after_hammer
+    - ceph_release_num.{{ ceph_release}} > ceph_release_num.hammer
 
 - name: ceph monitor mkfs with keyring (before infernalis release)
   command: ceph-mon --mkfs -i {{ monitor_name }} --fsid {{ fsid }} --keyring /var/lib/ceph/tmp/keyring.mon.{{ monitor_name }}
@@ -66,7 +66,7 @@
     creates: /var/lib/ceph/mon/{{ cluster }}-{{ monitor_name }}/keyring
   when:
     - cephx
-    - is_before_infernalis
+    - ceph_release_num.{{ ceph_release}} < ceph_release_num.infernalis
 
 - name: ceph monitor mkfs without keyring (before infernalis release)
   command: ceph-mon --mkfs -i {{ monitor_name }} --fsid {{ fsid }}
@@ -74,4 +74,4 @@
     creates: /var/lib/ceph/mon/{{ cluster }}-{{ monitor_name }}/store.db
   when:
     - not cephx
-    - is_before_infernalis
+    - ceph_release_num.{{ ceph_release}} < ceph_release_num.infernalis
index 1842802c9379e6860e87a81bc4670201ee9d69ec..d1be15c0015f73e58ac00f638d600fee18557889 100644 (file)
@@ -47,7 +47,7 @@
   failed_when: false
   when:
     - use_systemd
-    - is_after_hammer
+    - ceph_release_num.{{ ceph_release}} > ceph_release_num.hammer
 
 - name: start the monitor service (for or after infernalis)
   service:
@@ -57,7 +57,7 @@
   changed_when: false
   when:
     - use_systemd
-    - is_after_hammer
+    - ceph_release_num.{{ ceph_release}} > ceph_release_num.hammer
 
 - name: collect admin and bootstrap keys
   command: ceph-create-keys --cluster {{ cluster }} --id {{ monitor_name }}
index f4aff7191dcfca4e3775705967147c43fedfd15d..a4bc7ea7a91b64f28a03a46649cc40fc79270d31 100644 (file)
@@ -89,7 +89,7 @@
     - ansible_selinux != false
     - ansible_selinux['status'] == 'enabled'
     - ansible_selinux['config_mode'] != 'disabled'
-    - is_before_infernalis
+    - ceph_release_num.{{ ceph_release}} < ceph_release_num.infernalis
 
 - name: start and add that the osd service(s) to the init sequence (before infernalis)
   service:
@@ -98,7 +98,7 @@
     enabled: yes
   when:
     - ansible_distribution != "Ubuntu"
-    - is_before_infernalis
+    - ceph_release_num.{{ ceph_release}} < ceph_release_num.infernalis
 
 - name: get osd id (for or after infernalis)
   shell: 'ls /var/lib/ceph/osd/ | grep -oP "\d+$"'
   register: osd_id
   when:
     - use_systemd
-    - is_after_hammer
+    - ceph_release_num.{{ ceph_release}} > ceph_release_num.hammer
 
 - name: enable the osd service (for or after infernalis)
   command: systemctl enable ceph-osd@{{ item }}
   with_items: "{{ osd_id.stdout_lines }}"
   when:
     - use_systemd
-    - is_after_hammer
+    - ceph_release_num.{{ ceph_release}} > ceph_release_num.hammer
 
 - name: start and add that the osd service(s) to the init sequence (for or after infernalis)
   service:
   changed_when: false
   when:
     - use_systemd
-    - is_after_hammer
+    - ceph_release_num.{{ ceph_release}} > ceph_release_num.hammer
index 8359f38bbe733ebfc8bbf3f0742d94272b8339c4..3b0240d7c7d59f7c325f03678ad237062c1741a0 100644 (file)
@@ -12,7 +12,7 @@
   changed_when: false
   when:
     - use_systemd
-    - is_before_infernalis
+    - ceph_release_num.{{ ceph_release}} < ceph_release_num.infernalis
 
 - name: enable systemd unit file for the rbd mirror service (systemd after hammer)
   command: systemctl enable ceph-rbd-mirror@{{ ceph_rbd_mirror_local_user }}
@@ -20,7 +20,7 @@
   failed_when: false
   when:
     - use_systemd
-    - is_after_hammer
+    - ceph_release_num.{{ ceph_release}} > ceph_release_num.hammer
 
 - name: start and add that the rbd mirror service to the init sequence (systemd after hammer)
   service:
@@ -30,4 +30,4 @@
   changed_when: false
   when:
     - use_systemd
-    - is_after_hammer
+    - ceph_release_num.{{ ceph_release}} > ceph_release_num.hammer
index ca2f9ea7879a2ec79e9f02e708fe2e16b98eaecb..9796abb8e25cecd56f404971460c40ed3d951b93 100644 (file)
@@ -16,7 +16,7 @@
 
 - name: include rgw multisite playbooks
   include: multisite/main.yml
-  when: rgw_zone is defined and rgw_multisite and ( is_jewel or is_after_jewel )
+  when: rgw_zone is defined and rgw_multisite and ( ceph_release_num.{{ ceph_release}} >= ceph_release_num.jewel )
   # Hard code this so we will skip the entire file instead of individual tasks (Default isn't Consistent)
   static: False
 
index c4306ed2700efe0bea24c1d2f5cfba83c2e632f7..ebcab44cd0bef896d099e93a15a997b3362c0787 100644 (file)
@@ -47,7 +47,7 @@
     creates: /var/run/systemd/generator.late/ceph-radosgw.service
   when:
     - ansible_os_family == "RedHat"
-    - is_before_infernalis
+    - ceph_release_num.{{ ceph_release}} < ceph_release_num.infernalis
 
 - name: activate rados gateway with upstart
   file:
index dbd9e673211a17837b7bb4884458db0a3338adb5..adc226411adcc900371a4640662902f8c463cc90 100644 (file)
@@ -26,7 +26,7 @@
     enabled: yes
   when:
     - ansible_os_family == 'RedHat'
-    - is_before_infernalis
+    - ceph_release_num.{{ ceph_release}} < ceph_release_num.infernalis
 
 - name: enable systemd unit file for rgw instance (for or after infernalis)
   command: systemctl enable ceph-radosgw@rgw.{{ ansible_hostname }}
@@ -34,7 +34,7 @@
   failed_when: false
   when:
     - use_systemd
-    - is_after_hammer
+    - ceph_release_num.{{ ceph_release}} > ceph_release_num.hammer
 
 - name: start rgw with systemd (for or after infernalis)
   service:
@@ -43,4 +43,4 @@
     enabled: yes
   when:
     - use_systemd
-    - is_after_hammer
+    - ceph_release_num.{{ ceph_release}} > ceph_release_num.hammer