devstack/roles/sync-devstack-data/tasks/main.yaml
Andrea Frittoli 5e714d3308 Fix multinode mode for devstack
Extend the devstack job so that it can support both single and multinode
cases.  Multinode mode require extra settings in devstack configuration,
some of which as subnode specific, some controller specific.

Also keep a simple devstack-multinode job defined for now so we can run
a multinode job in devstack gate, until the full tempest multinode job
is ready to match the old
gate-tempest-dsvm-neutron-multinode-full-ubuntu-xenial-nv.

Fixing multinode also requires sharing the CA configuration between
controller and peers, overlay network configuration for communication
between virtual machines and running discover_hosts for nova after the
subnode has been setup.

The extra orchestration required for multinode is encoded in a
dedicated role to allow for jobs in other repos to re-use it.

Change-Id: I2dcbd9bdb401860820e655d97aa3c4775af2827f
2018-03-07 12:47:55 +00:00

49 lines
1.3 KiB
YAML

- name: Ensure the data folder exists
become: true
file:
path: "{{ devstack_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_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_base_dir }}/data/ca-bundle.pem"
- "{{ devstack_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_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_base_dir }}/data/"
mode: push
when: 'inventory_hostname in groups["subnode"]|default([])'