|  | - name: Ensure the data folder exists | 
|  | become: true | 
|  | file: | 
|  | path: "{{ devstack_data_base_dir }}/data" | 
|  | state: directory | 
|  | owner: stack | 
|  | group: stack | 
|  | mode: 0755 | 
|  | when: 'inventory_hostname in groups["subnode"]|default([])' | 
|  |  | 
|  | - name: Ensure the CA folder exists | 
|  | become: true | 
|  | file: | 
|  | path: "{{ devstack_data_base_dir }}/data/CA" | 
|  | state: directory | 
|  | owner: stack | 
|  | group: stack | 
|  | mode: 0755 | 
|  | when: 'inventory_hostname in groups["subnode"]|default([])' | 
|  |  | 
|  | - name: Pull the CA certificate and folder | 
|  | become: true | 
|  | synchronize: | 
|  | src: "{{ item }}" | 
|  | dest: "{{ zuul.executor.work_root }}/{{ item | basename }}" | 
|  | mode: pull | 
|  | with_items: | 
|  | - "{{ devstack_data_base_dir }}/data/ca-bundle.pem" | 
|  | - "{{ devstack_data_base_dir }}/data/CA" | 
|  | when: inventory_hostname == 'controller' | 
|  |  | 
|  | - name: Push the CA certificate | 
|  | become: true | 
|  | become_user: stack | 
|  | synchronize: | 
|  | src: "{{ zuul.executor.work_root }}/ca-bundle.pem" | 
|  | dest: "{{ devstack_data_base_dir }}/data/ca-bundle.pem" | 
|  | mode: push | 
|  | when: 'inventory_hostname in groups["subnode"]|default([])' | 
|  |  | 
|  | - name: Push the CA folder | 
|  | become: true | 
|  | become_user: stack | 
|  | synchronize: | 
|  | src: "{{ zuul.executor.work_root }}/CA/" | 
|  | dest: "{{ devstack_data_base_dir }}/data/" | 
|  | mode: push | 
|  | when: 'inventory_hostname in groups["subnode"]|default([])' |