Browse Source

GlusterFS: Fix registry playbook PV creation

Refactor the creation of an independent GlusterFS volume for registry
consumption to avoid direct set_fact statements and bring it in line
with other PV/PVC creation strategies.

Signed-off-by: Jose A. Rivera <jarrpa@redhat.com>
Jose A. Rivera 6 năm trước cách đây
mục cha
commit
72a1e305d7

+ 3 - 2
playbooks/openshift-glusterfs/private/registry.yml

@@ -7,10 +7,11 @@
 
 - name: Create persistent volumes
   hosts: oo_first_master
+  vars:
+    openshift_hosted_registry_glusterfs_storage_create_pv: True
+    openshift_hosted_registry_glusterfs_storage_create_pvc: True
   roles:
   - role: openshift_persistent_volumes
-    when:
-    - openshift_hosted_registry_storage_kind | default(none) == 'glusterfs' or openshift_hosted_registry_storage_glusterfs_swap
 
 - import_playbook: ../../openshift-hosted/private/openshift_hosted_registry.yml
 

+ 1 - 5
playbooks/openshift-hosted/private/openshift_hosted_registry_storage.yml

@@ -1,8 +1,5 @@
 ---
-# This playbook waits for registry and router pods after both have been
-# created.  It is intended to allow the tasks of deploying both to complete
-# before polling to save time.
-- name: Poll for hosted pod deployments
+- name: Create Hosted Resources - registry storage
   hosts: oo_first_master
   tasks:
   - import_role:
@@ -10,4 +7,3 @@
       tasks_from: registry_storage.yml
     when:
     - openshift_hosted_manage_registry | default(True) | bool
-    - openshift_hosted_registry_registryurl is defined

+ 1 - 0
roles/lib_utils/action_plugins/generate_pv_pvcs_list.py

@@ -188,6 +188,7 @@ class ActionModule(ActionBase):
         result["failed"] = False
         result["msg"] = "persistent_volumes list and persistent_volume_claims list created"
         vars_to_check = ['openshift_hosted_registry_storage',
+                         'openshift_hosted_registry_glusterfs_storage',
                          'openshift_hosted_router_storage',
                          'openshift_hosted_etcd_storage',
                          'openshift_logging_storage',

+ 14 - 1
roles/openshift_facts/defaults/main.yml

@@ -87,7 +87,20 @@ openshift_hosted_registry_storage_glusterfs_ips: []
 openshift_hosted_registry_storage_hostpath_path: /var/lib/openshift_volumes
 # Default to ReadWriteOnce if using hostpath, else default to ReadWriteMany
 openshift_hosted_registry_storage_access_modes:
-  - "{{ (openshift_hosted_registry_storage_kind == 'hostpath') | ternary('ReadWriteOnce', 'ReadWriteMany') }}"
+  - "{{ (openshift_hosted_registry_storage_kind | default(none) == 'hostpath') | ternary('ReadWriteOnce', 'ReadWriteMany') }}"
+
+openshift_hosted_registry_glusterfs_namespace: "{{ openshift_hosted_registry_namespace }}"
+openshift_hosted_registry_glusterfs_storage_kind: 'glusterfs'
+openshift_hosted_registry_glusterfs_storage_volume_name: "{{ openshift_hosted_registry_storage_volume_name }}-glusterfs"
+openshift_hosted_registry_glusterfs_storage_volume_size: "{{ openshift_hosted_registry_storage_volume_size }}"
+openshift_hosted_registry_glusterfs_storage_create_pv: False
+openshift_hosted_registry_glusterfs_storage_create_pvc: False
+openshift_hosted_registry_glusterfs_storage_glusterfs_endpoints: "{{ openshift_hosted_registry_storage_glusterfs_endpoints }}"
+openshift_hosted_registry_glusterfs_storage_glusterfs_path: "{{ openshift_hosted_registry_storage_glusterfs_path }}"
+openshift_hosted_registry_glusterfs_storage_glusterfs_readOnly: "{{ openshift_hosted_registry_storage_glusterfs_readOnly }}"
+openshift_hosted_registry_glusterfs_storage_glusterfs_ips: "{{ openshift_hosted_registry_storage_glusterfs_ips }}"
+openshift_hosted_registry_glusterfs_storage_access_modes:
+  - 'ReadWriteMany'
 
 openshift_logging_storage_nfs_directory: '/exports'
 openshift_logging_storage_nfs_options: '*(rw,root_squash)'

+ 2 - 19
roles/openshift_persistent_volumes/tasks/main.yml

@@ -9,23 +9,6 @@
     cp /etc/origin/master/admin.kubeconfig {{ mktemp.stdout }}/admin.kubeconfig
   changed_when: False
 
-- set_fact:
-    glusterfs_pv:
-    - name: "{{ openshift_hosted_registry_storage_volume_name }}-glusterfs-volume"
-      capacity: "{{ openshift_hosted_registry_storage_volume_size }}"
-      access_modes: "{{ openshift_hosted_registry_storage_access_modes }}"
-      storage:
-        glusterfs:
-          endpoints: "{{ openshift_hosted_registry_storage_glusterfs_endpoints }}"
-          path: "{{ openshift_hosted_registry_storage_glusterfs_path }}"
-          readOnly: "{{ openshift_hosted_registry_storage_glusterfs_readOnly }}"
-    glusterfs_pvc:
-    - name: "{{ openshift_hosted_registry_storage_volume_name }}-glusterfs-claim"
-      capacity: "{{ openshift_hosted_registry_storage_volume_size }}"
-      access_modes: "{{ openshift_hosted_registry_storage_access_modes }}"
-      storageclass: ""
-  when: openshift_hosted_registry_storage_glusterfs_swap | default(False)
-
 - name: create standard pv and pvc lists
   # generate_pv_pvcs_list is a custom action module defined in
   # roles/lib_utils/action_plugins/generate_pv_pvcs_list.py
@@ -34,12 +17,12 @@
 
 - include_tasks: pv.yml
   vars:
-    l_extra_persistent_volumes: "{{ openshift_persistent_volume_extras | union(glusterfs_pv) }}"
+    l_extra_persistent_volumes: "{{ openshift_persistent_volume_extras }}"
     persistent_volumes: "{{ l_pv_pvcs_list.persistent_volumes | union(l_extra_persistent_volumes) }}"
 
 - include_tasks: pvc.yml
   vars:
-    l_extra_persistent_volume_claims: "{{ openshift_persistent_volume_claims_extras | union(glusterfs_pvc) }}"
+    l_extra_persistent_volume_claims: "{{ openshift_persistent_volume_claims_extras }}"
     persistent_volume_claims: "{{ l_pv_pvcs_list.persistent_volume_claims | union(l_extra_persistent_volume_claims) }}"
 
 - name: Delete temp directory