Skip to content
Snippets Groups Projects
pre.yml 5.18 KiB
---
- hosts: all
  any_errors_fatal: true
  vars:
    logs_dir: "/tmp/logs"
  roles:
    - configure-ephemeral
    - multi-node-firewall
    - role: multi-node-vxlan-overlay
      vars:
        vxlan_interface_name: "{{ api_interface_name }}"
        vxlan_vni: 10000
    - role: multi-node-managed-addressing
      vars:
        managed_interface_name: "{{ api_interface_name }}"
        managed_network_prefix: "{{ api_network_prefix }}"
        managed_network_prefix_length: "{{ api_network_prefix_length }}"
        managed_network_address_family: "{{ address_family }}"
    # NOTE(yoctozepto): no addressing for neutron_external_interface in here
    # because it is enslaved by a bridge
    - role: multi-node-vxlan-overlay
      vars:
        vxlan_interface_name: "{{ neutron_external_vxlan_interface_name }}"
        vxlan_vni: 10001
    - role: bridge
      vars:
        bridge_name: "{{ neutron_external_bridge_name }}"
        bridge_member_name: "{{ neutron_external_vxlan_interface_name }}"
    - role: multi-node-vxlan-overlay
      vars:
        vxlan_interface_name: "{{ external_api_interface_name }}"
        vxlan_vni: 10002
      when: external_api_interface_name is defined
    - role: multi-node-managed-addressing
      vars:
        managed_interface_name: "{{ external_api_interface_name }}"
        managed_network_prefix: "{{ external_api_network_prefix }}"
        managed_network_prefix_length: "{{ external_api_network_prefix_length }}"
        managed_network_address_family: "{{ address_family }}"
      when: external_api_interface_name is defined
    # TODO(mnasiadka): Update ipv6 jobs to test ipv6 in Neutron
    - role: multi-node-managed-addressing
      vars:
        managed_interface_name: "{{ neutron_external_bridge_name }}"
        managed_network_prefix: "{{ neutron_external_network_prefix }}"
        managed_network_prefix_length: "{{ neutron_external_network_prefix_length }}"
        managed_network_address_family: "ipv4"
    - role: veth
      vars:
        veth_pair:
          - "veth-{{ neutron_external_bridge_name }}"
          - "veth-{{ neutron_external_bridge_name }}-ext"
        bridge_name: "{{ neutron_external_bridge_name }}"
  tasks:
    # NOTE(yoctozepto): we use gawk to add time to each logged line
    # outside of Ansible (e.g. for init-runonce)
    - name: Install gawk and required Python modules
      become: true
      package:
        name:
          - gawk
          - python3-pip
          - python3-setuptools

    - name: Install lvm on storage scenarios
      become: true
      package:
        name: lvm2
      when: scenario in ['cephadm', 'zun', 'swift']