--- - hosts: primary environment: KAYOBE_CONFIG_SOURCE_PATH: "{{ kayobe_config_src_dir }}" tasks: # NOTE(mgoddard): Use the name zz-overrides.yml to ensure this takes # precedence over the standard config files. - name: Ensure kayobe-config override config file exists template: src: overrides.yml.j2 dest: "{{ kayobe_config_src_dir }}/etc/kayobe/zz-overrides.yml" - name: Ensure kolla-ansible globals.yml override config file exists template: src: globals.yml.j2 dest: "{{ kayobe_config_src_dir }}/etc/kayobe/kolla/globals.yml" when: tls_enabled - name: Ensure kolla custom config dir exists file: path: "{{ kayobe_config_src_dir }}/etc/kayobe/kolla/config" state: directory # TODO(mgoddard): Remove this when it has been added to kayobe-config-dev. - name: Ensure ironic.conf override config file exists copy: src: ironic.conf dest: "{{ kayobe_config_src_dir }}/etc/kayobe/kolla/config/ironic.conf" # NOTE(mgoddard): The kayobe dev config by default expects a bridge - # breth1 - to exist with an IP address of 192.168.33.3. - name: Ensure all-in-one network bridge interface exists command: "{{ item }}" become: true with_items: - "ip l add breth1 type bridge" - "ip l set breth1 up" - "ip a add 192.168.33.3/24 dev breth1" # NOTE(mgoddard): CentOS 8 removes interfaces from their bridge during # ifdown, and removes the bridge if there are no interfaces left. When # Kayobe bounces veth links plugged into the bridge, it causes the # bridge which has the IP we are using for SSH to be removed. Use a # dummy interface. - "ip l add dummy1 type dummy" - "ip l set dummy1 up" - "ip l set dummy1 master breth1" - name: Ensure kayobe is installed shell: cmd: dev/install.sh &> {{ logs_dir }}/ansible/install chdir: "{{ kayobe_src_dir }}" - name: Configure the firewall shell: cmd: dev/configure-firewall.sh chdir: "{{ kayobe_src_dir }}"