Browse code

sync-devstack-data: new argument devstack_data_base_dir

When the role is used by grenade, the data directory is shared among
different devstack executions, and the base directory is different,
for example: /opt/stack/data vs /opt/stack/{old,new}.
The new devstack_data_base_dir parameter allows user to specify
a base directory for the data/ directory which is unrelated
to the devstack directory. The default value is devstack_base_dir,
so the default behavior is unchanged.

Change-Id: Ie69b7b51947cbf1a8b31d2701783de2fb56a2d33

Luigi Toscano authored on 2019/04/02 19:28:31
Showing 3 changed files
... ...
@@ -10,3 +10,10 @@ subnodes.
10 10
    :default: /opt/stack
11 11
 
12 12
    The devstack base directory.
13
+
14
+.. zuul:rolevar:: devstack_data_base_dir
15
+   :default: {{ devstack_base_dir }}
16
+
17
+   The devstack base directory for data/.
18
+   Useful for example when multiple executions of devstack (i.e. grenade)
19
+   share the same data directory.
... ...
@@ -1 +1,2 @@
1 1
 devstack_base_dir: /opt/stack
2
+devstack_data_base_dir: "{{ devstack_base_dir }}"
... ...
@@ -1,7 +1,7 @@
1 1
 - name: Ensure the data folder exists
2 2
   become: true
3 3
   file:
4
-    path: "{{ devstack_base_dir }}/data"
4
+    path: "{{ devstack_data_base_dir }}/data"
5 5
     state: directory
6 6
     owner: stack
7 7
     group: stack
... ...
@@ -11,7 +11,7 @@
11 11
 - name: Ensure the CA folder exists
12 12
   become: true
13 13
   file:
14
-    path: "{{ devstack_base_dir }}/data/CA"
14
+    path: "{{ devstack_data_base_dir }}/data/CA"
15 15
     state: directory
16 16
     owner: stack
17 17
     group: stack
... ...
@@ -25,8 +25,8 @@
25 25
     dest: "{{ zuul.executor.work_root }}/{{ item | basename }}"
26 26
     mode: pull
27 27
   with_items:
28
-    - "{{ devstack_base_dir }}/data/ca-bundle.pem"
29
-    - "{{ devstack_base_dir }}/data/CA"
28
+    - "{{ devstack_data_base_dir }}/data/ca-bundle.pem"
29
+    - "{{ devstack_data_base_dir }}/data/CA"
30 30
   when: inventory_hostname == 'controller'
31 31
 
32 32
 - name: Push the CA certificate
... ...
@@ -34,7 +34,7 @@
34 34
   become_user: stack
35 35
   synchronize:
36 36
     src: "{{ zuul.executor.work_root }}/ca-bundle.pem"
37
-    dest: "{{ devstack_base_dir }}/data/ca-bundle.pem"
37
+    dest: "{{ devstack_data_base_dir }}/data/ca-bundle.pem"
38 38
     mode: push
39 39
   when: 'inventory_hostname in groups["subnode"]|default([])'
40 40
 
... ...
@@ -43,6 +43,6 @@
43 43
   become_user: stack
44 44
   synchronize:
45 45
     src: "{{ zuul.executor.work_root }}/CA/"
46
-    dest: "{{ devstack_base_dir }}/data/"
46
+    dest: "{{ devstack_data_base_dir }}/data/"
47 47
     mode: push
48 48
   when: 'inventory_hostname in groups["subnode"]|default([])'