diff --git a/multi-node-aio/playbooks/group_vars/all.yml b/multi-node-aio/playbooks/group_vars/all.yml index 2ed941cd..682db7a8 100644 --- a/multi-node-aio/playbooks/group_vars/all.yml +++ b/multi-node-aio/playbooks/group_vars/all.yml @@ -139,11 +139,17 @@ mnaio_host_networks: inet_type: 'static' address: '10.0.244.1/22' iface_port: none + lbaas: + iface: 'vm-br-eth6' + inet_type: 'static' + address: '10.0.232.1/22' + iface_port: none osa_enable_infra: true osa_enable_identity: true osa_enable_block_storage: true osa_enable_image: true +osa_enable_lbaas: false osa_enable_compute: true osa_enable_orchestration: true osa_enable_dashboard: true diff --git a/multi-node-aio/playbooks/host_vars/compute1.yml b/multi-node-aio/playbooks/host_vars/compute1.yml index 325d43b7..f81a0af3 100644 --- a/multi-node-aio/playbooks/host_vars/compute1.yml +++ b/multi-node-aio/playbooks/host_vars/compute1.yml @@ -46,3 +46,8 @@ server_networks: inet_type: 'static' address: '10.0.244.120/22' vm_int_iface: vm-br-eth5 + lbaas: + iface: 'eth6' + inet_type: 'static' + address: '10.0.232.120/22' + vm_int_iface: vm-br-eth6 \ No newline at end of file diff --git a/multi-node-aio/playbooks/host_vars/compute2.yml b/multi-node-aio/playbooks/host_vars/compute2.yml index 7e0ddab7..e650f1f7 100644 --- a/multi-node-aio/playbooks/host_vars/compute2.yml +++ b/multi-node-aio/playbooks/host_vars/compute2.yml @@ -46,3 +46,8 @@ server_networks: inet_type: 'static' address: '10.0.244.121/22' vm_int_iface: vm-br-eth5 + lbaas: + iface: 'eth6' + inet_type: 'static' + address: '10.0.232.121/22' + vm_int_iface: vm-br-eth6 \ No newline at end of file diff --git a/multi-node-aio/playbooks/host_vars/example-host1.yml.example b/multi-node-aio/playbooks/host_vars/example-host1.yml.example index 28d63520..fae64f1b 100644 --- a/multi-node-aio/playbooks/host_vars/example-host1.yml.example +++ b/multi-node-aio/playbooks/host_vars/example-host1.yml.example @@ -57,3 +57,8 @@ server_networks: # dict - required, hash of networks, can inet_type: 'manual' # str - required, iface type [static, dhcp, manual] address: '10.0.244.200/22' # str - not required, must be in CIDR format vm_int_iface: vm-br-eth5 # str - not Required, used to specify an integration networks interface when provisioning a VM + lbaas: + iface: 'eth6' # str - required, interface name + inet_type: 'static' # str - required, iface type [static, dhcp, manual] + address: '10.0.232.200/22' # str - not required, must be in CIDR format + vm_int_iface: vm-br-eth6 # str - not Required, used to specify an integration networks interface when provisioning a VM \ No newline at end of file diff --git a/multi-node-aio/playbooks/host_vars/infra1.yml b/multi-node-aio/playbooks/host_vars/infra1.yml index 96c050b2..5bd40a14 100644 --- a/multi-node-aio/playbooks/host_vars/infra1.yml +++ b/multi-node-aio/playbooks/host_vars/infra1.yml @@ -46,3 +46,8 @@ server_networks: # dict - required, hash of networks, can inet_type: 'static' # str - required, iface type [static, dhcp, manual] address: '10.0.244.100/22' # str - not required, must be in CIDR format vm_int_iface: vm-br-eth5 # str - not Required, used to specify an integration networks interface when provisioning a VM + lbaas: + iface: 'eth6' # str - required, interface name + inet_type: 'static' # str - required, iface type [static, dhcp, manual] + address: '10.0.232.100/22' # str - not required, must be in CIDR format + vm_int_iface: vm-br-eth6 # str - not Required, used to specify an integration networks interface when provisioning a VM diff --git a/multi-node-aio/playbooks/host_vars/infra2.yml b/multi-node-aio/playbooks/host_vars/infra2.yml index fa9641f2..b5c2ccf9 100644 --- a/multi-node-aio/playbooks/host_vars/infra2.yml +++ b/multi-node-aio/playbooks/host_vars/infra2.yml @@ -46,3 +46,8 @@ server_networks: inet_type: 'static' address: '10.0.244.101/22' vm_int_iface: vm-br-eth5 + lbaas: + iface: 'eth6' + inet_type: 'static' + address: '10.0.232.101/22' + vm_int_iface: vm-br-eth6 diff --git a/multi-node-aio/playbooks/host_vars/infra3.yml b/multi-node-aio/playbooks/host_vars/infra3.yml index 62c9002d..c2cab051 100644 --- a/multi-node-aio/playbooks/host_vars/infra3.yml +++ b/multi-node-aio/playbooks/host_vars/infra3.yml @@ -46,3 +46,8 @@ server_networks: inet_type: 'static' address: '10.0.244.102/22' vm_int_iface: vm-br-eth5 + lbaas: + iface: 'eth6' + inet_type: 'static' + address: '10.0.232.102/22' + vm_int_iface: vm-br-eth6 \ No newline at end of file diff --git a/multi-node-aio/playbooks/osa/openstack_user_config.yml b/multi-node-aio/playbooks/osa/openstack_user_config.yml index 6b950710..3cb70479 100644 --- a/multi-node-aio/playbooks/osa/openstack_user_config.yml +++ b/multi-node-aio/playbooks/osa/openstack_user_config.yml @@ -1,11 +1,13 @@ --- cidr_networks: + lbaas: 10.0.232.0/22 container: 10.0.236.0/22 tunnel: 10.0.240.0/22 storage: 10.0.244.0/22 flat: 10.0.248.0/22 used_ips: + - "10.0.232.0,10.0.232.200" - "10.0.236.0,10.0.236.200" - "10.0.240.0,10.0.240.200" - "10.0.244.0,10.0.244.200" @@ -69,6 +71,19 @@ global_overrides: - cinder_volume - nova_compute - swift_proxy + - network: + container_bridge: "br-lbaas" + container_type: "veth" + container_interface: "eth13" + ip_from_q: "lbaas" + type: "flat" + net_name: "lbaas" + group_binds: + - "neutron_linuxbridge_agent" + - "octavia-worker" + - "octavia-housekeeping" + - "octavia-health-monitor" + swift: part_power: 8 storage_network: 'br-storage' @@ -191,6 +206,11 @@ storage_hosts: *cinder_block image_hosts: *infra_block {% endif %} +{% if osa_enable_lbaas | bool %} +# octavia +octavia-infra_hosts: *infra_block +{% endif %} + {% if osa_enable_compute | bool %} # nova api, conductor, etc services compute-infra_hosts: *infra_block diff --git a/multi-node-aio/playbooks/pxe/configs/eni/vm-bridges.cfg.j2 b/multi-node-aio/playbooks/pxe/configs/eni/vm-bridges.cfg.j2 index 2a622bed..d3bebb82 100644 --- a/multi-node-aio/playbooks/pxe/configs/eni/vm-bridges.cfg.j2 +++ b/multi-node-aio/playbooks/pxe/configs/eni/vm-bridges.cfg.j2 @@ -24,6 +24,14 @@ iface br-{{ key }} inet {{ value.inet_type }} # Delete veth pair on DOWN post-down ip link del br-vlan-veth || true bridge_ports {{ value.iface }} br-veth-{{ key }} +{% elif value.iface is defined and key == "lbaas" %} + pre-up ip link add lb-veth-inbr type veth peer name lb-veth-ovrd || true + # Set both ends UP + pre-up ip link set lb-veth-inbr up + pre-up ip link set lb-veth-ovrd up + # Delete veth pair on DOWN + post-down ip link del br-vlan-veth || true + bridge_ports {{ value.iface }} lb-veth-inbr {% elif value.iface is defined %} bridge_ports {{ value.iface | default('none') }} {% else %}