5e714d3308
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
49 lines
1.3 KiB
YAML
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([])'
|