]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
validate: make sure ceph_stable_release is set to the correct value
authorAndrew Schoen <aschoen@redhat.com>
Thu, 26 Apr 2018 20:47:33 +0000 (15:47 -0500)
committerGuillaume Abrioux <gabrioux@redhat.com>
Fri, 18 May 2018 15:58:24 +0000 (17:58 +0200)
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
plugins/actions/validate.py
roles/ceph-validate/tasks/main.yml

index 870add6b2ffa014d695348bd3c2f1c7b06ae2cf6..bbba52c75dbe2f94821165bf68cfa7c0549032c8 100644 (file)
@@ -22,6 +22,8 @@ class ActionModule(ActionBase):
         host = host_vars['ansible_hostname']
         mode = self._task.args.get('mode', 'permissive')
 
+        print host_vars['groups']
+
         self._supports_check_mode = False # XXX ?
         self._supports_async = True
 
@@ -122,6 +124,10 @@ def validate_lvm_volumes(value):
         assert isinstance(value, basestring), "lvm_volumes must contain a 'journal' key when the objectstore is 'filestore'"
 
 
+def validate_ceph_stable_release(value):
+    assert value in ['jewel', 'kraken', 'luminous', 'mimic'], "ceph_stable_release must be set to 'jewel', 'kraken', 'lumious' or 'mimic'"
+
+
 install_options = (
     ("ceph_origin", ceph_origin_choices),
     ('osd_objectstore', osd_objectstore_choices),
@@ -132,7 +138,7 @@ ceph_origin_repository = ("ceph_repository", ceph_repository_choices)
 ceph_repository_community = (
     ("ceph_mirror", types.string),
     ("ceph_stable_key", types.string),
-    ("ceph_stable_release", types.string),
+    ("ceph_stable_release", validate_ceph_stable_release),
     ("ceph_stable_repo", types.string),
 )
 
index 7f81041b1ff530901aa25781cc0d7522ef9bc029..c13d99493481e62219c460798e2e17f52ce341ec 100644 (file)
     - ansible_os_family == 'Debian'
     - ceph_origin == 'local'
 
-- name: make sure ceph_stable_release is set
-  fail:
-    msg: "make sure ceph_stable_release ( {{ ceph_stable_release }} ) is set to a release name (e.g: luminous), http://docs.ceph.com/docs/master/release-notes/"
-  when:
-    - ceph_origin != 'distro'
-    - ceph_stable_release == 'dummy'
-    - ceph_repository not in ['rhcs', 'dev', 'obs']
-
-- name: make sure ceph_stable_release is correct
-  fail:
-    msg: "wrong release name, see http://docs.ceph.com/docs/master/release-notes/"
-  when:
-    - ceph_stable_release not in ceph_release_num
-    - ceph_origin == 'repository'
-    - ceph_repository not in ['rhcs', 'dev', 'obs']
-
-- name: make sure ceph_stable_release is correct
-  fail:
-    msg: "wrong release name, see http://docs.ceph.com/docs/master/release-notes/"
-  when:
-    - ceph_stable_release not in ceph_release_num
-    - ceph_origin == 'repository'
-
 - name: verify that ceph_rhcs_cdn_debian_repo url is valid for red hat storage
   fail:
     msg: "ceph_rhcs_cdn_debian_repo url is invalid, please set your customername:customerpasswd"