Switch default neutron ML2 mechanism driver to OVN
This patch switches the default mechanism driver for neutron from openvswitch to OVN. It will also flip scenario007 job to run with ML2/OVS. Depends-On: I74ffb6b7f912e1fce6ce428cd23a7283c91b8b96 Depends-On: I99ba2fd6a85b4895b577719a7541b7cbf1fdb85c Depends-On: Ib60de9b0df451273d1d81ba049b46b5214e09080 Depends-On: Iaed7304adf40a87a0f14b7a95339f8416140e947 Change-Id: Iab52cdf5d0f7a392c4f17c884493b5c5beb1d89f Co-Authored-By: Kamil Sambor <ksambor@redhat.com>
This commit is contained in:
parent
2399828ca1
commit
6053eb1964
@ -82,7 +82,7 @@ and should be executed according to the following table:
|
||||
+----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
| mysql | X | X | X | X | X | X | X | | X | X | X |
|
||||
+----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
| neutron | | ovs | ovs | ovs | ovs | ovs | ovn | | ovs | ovs | ovs |
|
||||
| neutron | | ovn | ovn | ovn | ovn | ovn | ovs | | ovn | ovn | ovn |
|
||||
+----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
| neutron-bgpvpn | | | | | wip | | | | | | |
|
||||
+----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
|
@ -4,6 +4,7 @@ resource_registry:
|
||||
# Some infra instances don't pass the ping test but are otherwise working.
|
||||
# Since the OVB jobs also test this functionality we can shut it off here.
|
||||
OS::TripleO::AllNodes::Validation: ../common/all-nodes-validation-disabled.yaml
|
||||
OS::TripleO::Services::OVNDBs: ../../docker/services/ovn-dbs.yaml
|
||||
|
||||
parameter_defaults:
|
||||
ControllerServices:
|
||||
@ -16,12 +17,11 @@ parameter_defaults:
|
||||
- OS::TripleO::Services::GlanceApi
|
||||
- OS::TripleO::Services::MySQL
|
||||
- OS::TripleO::Services::MySQLClient
|
||||
- OS::TripleO::Services::NeutronDhcpAgent
|
||||
- OS::TripleO::Services::NeutronL3Agent
|
||||
- OS::TripleO::Services::NeutronMetadataAgent
|
||||
- OS::TripleO::Services::NeutronServer
|
||||
- OS::TripleO::Services::NeutronCorePlugin
|
||||
- OS::TripleO::Services::NeutronOvsAgent
|
||||
- OS::TripleO::Services::OVNDBs
|
||||
- OS::TripleO::Services::OVNController
|
||||
- OS::TripleO::Services::OVNMetadataAgent
|
||||
- OS::TripleO::Services::OsloMessagingRpc
|
||||
- OS::TripleO::Services::OsloMessagingNotify
|
||||
- OS::TripleO::Services::HAproxy
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
resource_registry:
|
||||
OS::TripleO::BlockStorage::Net::SoftwareConfig: nic-configs/cinder-storage.yaml
|
||||
OS::TripleO::Compute::Net::SoftwareConfig: nic-configs/compute.yaml
|
||||
OS::TripleO::Compute::Net::SoftwareConfig: nic-configs/compute-dvr.yaml
|
||||
OS::TripleO::Controller::Net::SoftwareConfig: nic-configs/controller.yaml
|
||||
OS::TripleO::ObjectStorage::Net::SoftwareConfig: nic-configs/swift-storage.yaml
|
||||
OS::TripleO::CephStorage::Net::SoftwareConfig: nic-configs/ceph-storage.yaml
|
||||
|
@ -0,0 +1,189 @@
|
||||
heat_template_version: rocky
|
||||
|
||||
parameters:
|
||||
ControlPlaneIp:
|
||||
default: ''
|
||||
description: IP address/subnet on the ctlplane network
|
||||
type: string
|
||||
InternalApiIpSubnet:
|
||||
default: ''
|
||||
description: IP address/subnet on the internal_api network
|
||||
type: string
|
||||
InternalApiInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the internal_api network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
type: json
|
||||
InternalApiMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
InternalApi network.
|
||||
type: number
|
||||
StorageIpSubnet:
|
||||
default: ''
|
||||
description: IP address/subnet on the storage network
|
||||
type: string
|
||||
StorageInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the storage network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
type: json
|
||||
StorageMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
Storage network.
|
||||
type: number
|
||||
TenantIpSubnet:
|
||||
default: ''
|
||||
description: IP address/subnet on the tenant network
|
||||
type: string
|
||||
TenantInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the tenant network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
type: json
|
||||
TenantMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
Tenant network.
|
||||
type: number
|
||||
BondInterfaceOvsOptions:
|
||||
default: 'bond_mode=active-backup'
|
||||
description: The ovs_options string for the bond interface. Set things like
|
||||
lacp=active and/or bond_mode=balance-slb using this option.
|
||||
type: string
|
||||
InternalApiNetworkVlanID:
|
||||
default: 20
|
||||
description: Vlan ID for the internal_api network traffic.
|
||||
type: number
|
||||
StorageNetworkVlanID:
|
||||
default: 30
|
||||
description: Vlan ID for the storage network traffic.
|
||||
type: number
|
||||
TenantNetworkVlanID:
|
||||
default: 50
|
||||
description: Vlan ID for the tenant network traffic.
|
||||
type: number
|
||||
ControlPlaneSubnetCidr:
|
||||
default: ''
|
||||
description: >
|
||||
The subnet CIDR of the control plane network. (The parameter is
|
||||
automatically resolved from the ctlplane subnet's cidr attribute.)
|
||||
type: string
|
||||
ControlPlaneDefaultRoute:
|
||||
default: ''
|
||||
description: The default route of the control plane network. (The parameter
|
||||
is automatically resolved from the ctlplane subnet's gateway_ip attribute.)
|
||||
type: string
|
||||
ControlPlaneStaticRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the ctlplane network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
type: json
|
||||
ControlPlaneMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the network.
|
||||
(The parameter is automatically resolved from the ctlplane network's mtu attribute.)
|
||||
type: number
|
||||
DnsServers: # Override this via parameter_defaults
|
||||
default: []
|
||||
description: >
|
||||
DNS servers to use for the Overcloud (2 max for some implementations).
|
||||
If not set the nameservers configured in the ctlplane subnet's
|
||||
dns_nameservers attribute will be used.
|
||||
type: comma_delimited_list
|
||||
EC2MetadataIp:
|
||||
default: ''
|
||||
description: The IP address of the EC2 metadata server. (The parameter
|
||||
is automatically resolved from the ctlplane subnet's host_routes attribute.)
|
||||
type: string
|
||||
ExternalInterfaceDefaultRoute:
|
||||
default: '10.0.0.1'
|
||||
description: default route for the external network
|
||||
type: string
|
||||
|
||||
|
||||
resources:
|
||||
OsNetConfigImpl:
|
||||
properties:
|
||||
config:
|
||||
str_replace:
|
||||
params:
|
||||
$network_config:
|
||||
network_config:
|
||||
- type: interface
|
||||
name: nic1
|
||||
mtu: 1350
|
||||
use_dhcp: false
|
||||
addresses:
|
||||
- ip_netmask:
|
||||
list_join:
|
||||
- /
|
||||
- - {get_param: ControlPlaneIp}
|
||||
- {get_param: ControlPlaneSubnetCidr}
|
||||
routes:
|
||||
- default: true
|
||||
ip_netmask: 0.0.0.0/0
|
||||
next_hop: {get_param: ControlPlaneDefaultRoute}
|
||||
- ip_netmask: 169.254.169.254/32
|
||||
next_hop: {get_param: EC2MetadataIp}
|
||||
- type: interface
|
||||
name: nic3
|
||||
mtu: 1350
|
||||
use_dhcp: false
|
||||
addresses:
|
||||
- ip_netmask: {get_param: InternalApiIpSubnet}
|
||||
- type: interface
|
||||
name: nic4
|
||||
mtu: 1350
|
||||
use_dhcp: false
|
||||
addresses:
|
||||
- ip_netmask: {get_param: StorageIpSubnet}
|
||||
- type: ovs_bridge
|
||||
name: br-tenant
|
||||
dns_servers: {get_param: DnsServers}
|
||||
use_dhcp: false
|
||||
addresses:
|
||||
- ip_netmask: {get_param: TenantIpSubnet}
|
||||
members:
|
||||
- type: interface
|
||||
name: nic6
|
||||
mtu: 1350
|
||||
primary: true
|
||||
- type: ovs_bridge
|
||||
name: br-ex
|
||||
dns_servers: {get_param: DnsServers}
|
||||
use_dhcp: false
|
||||
routes:
|
||||
- ip_netmask: 0.0.0.0/0
|
||||
next_hop: {get_param: ExternalInterfaceDefaultRoute}
|
||||
members:
|
||||
- type: interface
|
||||
name: nic2
|
||||
mtu: 1350
|
||||
primary: true
|
||||
template:
|
||||
get_file: ../../../../../network/scripts/run-os-net-config.sh
|
||||
group: script
|
||||
type: OS::Heat::SoftwareConfig
|
||||
|
||||
outputs:
|
||||
OS::stack_id:
|
||||
description: The OsNetConfigImpl resource.
|
||||
value: {get_resource: OsNetConfigImpl}
|
@ -1,7 +1,7 @@
|
||||
|
||||
resource_registry:
|
||||
OS::TripleO::BlockStorage::Net::SoftwareConfig: nic-configs/cinder-storage.yaml
|
||||
OS::TripleO::Compute::Net::SoftwareConfig: nic-configs/compute.yaml
|
||||
OS::TripleO::Compute::Net::SoftwareConfig: nic-configs/compute-dvr.yaml
|
||||
OS::TripleO::Controller::Net::SoftwareConfig: nic-configs/controller.yaml
|
||||
OS::TripleO::ObjectStorage::Net::SoftwareConfig: nic-configs/swift-storage.yaml
|
||||
OS::TripleO::CephStorage::Net::SoftwareConfig: nic-configs/ceph-storage.yaml
|
||||
|
@ -0,0 +1,188 @@
|
||||
heat_template_version: rocky
|
||||
|
||||
parameters:
|
||||
ControlPlaneIp:
|
||||
default: ''
|
||||
description: IP address/subnet on the ctlplane network
|
||||
type: string
|
||||
InternalApiIpSubnet:
|
||||
default: ''
|
||||
description: IP address/subnet on the internal_api network
|
||||
type: string
|
||||
InternalApiInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the internal_api network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
type: json
|
||||
InternalApiMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
InternalApi network.
|
||||
type: number
|
||||
StorageIpSubnet:
|
||||
default: ''
|
||||
description: IP address/subnet on the storage network
|
||||
type: string
|
||||
StorageInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the storage network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
type: json
|
||||
StorageMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
Storage network.
|
||||
type: number
|
||||
TenantIpSubnet:
|
||||
default: ''
|
||||
description: IP address/subnet on the tenant network
|
||||
type: string
|
||||
TenantInterfaceRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the tenant network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
type: json
|
||||
TenantMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the
|
||||
Tenant network.
|
||||
type: number
|
||||
BondInterfaceOvsOptions:
|
||||
default: 'bond_mode=active-backup'
|
||||
description: The ovs_options string for the bond interface. Set things like
|
||||
lacp=active and/or bond_mode=balance-slb using this option.
|
||||
type: string
|
||||
InternalApiNetworkVlanID:
|
||||
default: 20
|
||||
description: Vlan ID for the internal_api network traffic.
|
||||
type: number
|
||||
StorageNetworkVlanID:
|
||||
default: 30
|
||||
description: Vlan ID for the storage network traffic.
|
||||
type: number
|
||||
TenantNetworkVlanID:
|
||||
default: 50
|
||||
description: Vlan ID for the tenant network traffic.
|
||||
type: number
|
||||
ControlPlaneSubnetCidr:
|
||||
default: ''
|
||||
description: >
|
||||
The subnet CIDR of the control plane network. (The parameter is
|
||||
automatically resolved from the ctlplane subnet's cidr attribute.)
|
||||
type: string
|
||||
ControlPlaneDefaultRoute:
|
||||
default: ''
|
||||
description: The default route of the control plane network. (The parameter
|
||||
is automatically resolved from the ctlplane subnet's gateway_ip attribute.)
|
||||
type: string
|
||||
ControlPlaneStaticRoutes:
|
||||
default: []
|
||||
description: >
|
||||
Routes for the ctlplane network traffic.
|
||||
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||
Unless the default is changed, the parameter is automatically resolved
|
||||
from the subnet host_routes attribute.
|
||||
type: json
|
||||
ControlPlaneMtu:
|
||||
default: 1500
|
||||
description: The maximum transmission unit (MTU) size(in bytes) that is
|
||||
guaranteed to pass through the data path of the segments in the network.
|
||||
(The parameter is automatically resolved from the ctlplane network's mtu attribute.)
|
||||
type: number
|
||||
DnsServers: # Override this via parameter_defaults
|
||||
default: []
|
||||
description: >
|
||||
DNS servers to use for the Overcloud (2 max for some implementations).
|
||||
If not set the nameservers configured in the ctlplane subnet's
|
||||
dns_nameservers attribute will be used.
|
||||
type: comma_delimited_list
|
||||
EC2MetadataIp:
|
||||
default: ''
|
||||
description: The IP address of the EC2 metadata server. (The parameter
|
||||
is automatically resolved from the ctlplane subnet's host_routes attribute.)
|
||||
type: string
|
||||
ExternalInterfaceDefaultRoute:
|
||||
default: '10.0.0.1'
|
||||
description: default route for the external network
|
||||
type: string
|
||||
|
||||
|
||||
resources:
|
||||
OsNetConfigImpl:
|
||||
type: OS::Heat::SoftwareConfig
|
||||
properties:
|
||||
group: script
|
||||
config:
|
||||
str_replace:
|
||||
template:
|
||||
get_file: ../../../../../network/scripts/run-os-net-config.sh
|
||||
params:
|
||||
$network_config:
|
||||
network_config:
|
||||
- type: interface
|
||||
name: nic1
|
||||
mtu: 1350
|
||||
use_dhcp: false
|
||||
addresses:
|
||||
- ip_netmask:
|
||||
list_join:
|
||||
- /
|
||||
- - {get_param: ControlPlaneIp}
|
||||
- {get_param: ControlPlaneSubnetCidr}
|
||||
routes:
|
||||
- ip_netmask: 169.254.169.254/32
|
||||
next_hop: {get_param: EC2MetadataIp}
|
||||
- default: true
|
||||
next_hop: {get_param: ControlPlaneDefaultRoute}
|
||||
- type: ovs_bridge
|
||||
name: br-ex
|
||||
dns_servers: {get_param: DnsServers}
|
||||
use_dhcp: false
|
||||
routes:
|
||||
- ip_netmask: 0.0.0.0/0
|
||||
next_hop: {get_param: ExternalInterfaceDefaultRoute}
|
||||
members:
|
||||
- type: interface
|
||||
name: nic2
|
||||
mtu: 1350
|
||||
primary: true
|
||||
- type: interface
|
||||
name: nic3
|
||||
mtu: 1350
|
||||
use_dhcp: false
|
||||
addresses:
|
||||
- ip_netmask: {get_param: InternalApiIpSubnet}
|
||||
- type: interface
|
||||
name: nic4
|
||||
mtu: 1350
|
||||
use_dhcp: false
|
||||
addresses:
|
||||
- ip_netmask: {get_param: StorageIpSubnet}
|
||||
- type: ovs_bridge
|
||||
name: br-tenant
|
||||
dns_servers: {get_param: DnsServers}
|
||||
use_dhcp: false
|
||||
addresses:
|
||||
- ip_netmask: {get_param: TenantIpSubnet}
|
||||
members:
|
||||
- type: interface
|
||||
name: nic6
|
||||
mtu: 1350
|
||||
primary: true
|
||||
|
||||
outputs:
|
||||
OS::stack_id:
|
||||
description: The OsNetConfigImpl resource.
|
||||
value: {get_resource: OsNetConfigImpl}
|
@ -16,10 +16,6 @@ parameter_defaults:
|
||||
- OS::TripleO::Services::MySQLClient
|
||||
- OS::TripleO::Services::NeutronCorePlugin
|
||||
- OS::TripleO::Services::NeutronApi
|
||||
- OS::TripleO::Services::NeutronDhcpAgent
|
||||
- OS::TripleO::Services::NeutronL3Agent
|
||||
- OS::TripleO::Services::NeutronMetadataAgent
|
||||
- OS::TripleO::Services::NeutronOvsAgent
|
||||
- OS::TripleO::Services::NovaApi
|
||||
- OS::TripleO::Services::NovaConductor
|
||||
- OS::TripleO::Services::NovaMetadata
|
||||
@ -37,10 +33,11 @@ parameter_defaults:
|
||||
- OS::TripleO::Services::Timezone
|
||||
- OS::TripleO::Services::TripleoFirewall
|
||||
- OS::TripleO::Services::TripleoPackages
|
||||
- OS::TripleO::Services::OVNController
|
||||
- OS::TripleO::Services::OVNDBs
|
||||
|
||||
ComputeServices:
|
||||
- OS::TripleO::Services::CACerts
|
||||
- OS::TripleO::Services::ComputeNeutronCorePlugin
|
||||
- OS::TripleO::Services::ComputeNeutronOvsAgent
|
||||
- OS::TripleO::Services::Docker
|
||||
- OS::TripleO::Services::Ipsec
|
||||
- OS::TripleO::Services::Iscsid
|
||||
@ -54,6 +51,9 @@ parameter_defaults:
|
||||
- OS::TripleO::Services::Timezone
|
||||
- OS::TripleO::Services::TripleoFirewall
|
||||
- OS::TripleO::Services::TripleoPackages
|
||||
- OS::TripleO::Services::OVNController
|
||||
- OS::TripleO::Services::OVNMetadataAgent
|
||||
|
||||
ControllerExtraConfig:
|
||||
nova::compute::libvirt::services::libvirt_virt_type: qemu
|
||||
nova::compute::libvirt::libvirt_virt_type: qemu
|
||||
|
@ -44,12 +44,11 @@ parameter_defaults:
|
||||
- OS::TripleO::Services::HeatEngine
|
||||
- OS::TripleO::Services::MySQL
|
||||
- OS::TripleO::Services::MySQLClient
|
||||
- OS::TripleO::Services::NeutronDhcpAgent
|
||||
- OS::TripleO::Services::NeutronL3Agent
|
||||
- OS::TripleO::Services::NeutronMetadataAgent
|
||||
- OS::TripleO::Services::NeutronServer
|
||||
- OS::TripleO::Services::NeutronCorePlugin
|
||||
- OS::TripleO::Services::NeutronOvsAgent
|
||||
- OS::TripleO::Services::OVNDBs
|
||||
- OS::TripleO::Services::OVNController
|
||||
- OS::TripleO::Services::OVNMetadataAgent
|
||||
- OS::TripleO::Services::OsloMessagingRpc
|
||||
- OS::TripleO::Services::OsloMessagingNotify
|
||||
- OS::TripleO::Services::HAproxy
|
||||
|
@ -36,12 +36,11 @@ parameter_defaults:
|
||||
- OS::TripleO::Services::HeatEngine
|
||||
- OS::TripleO::Services::MySQL
|
||||
- OS::TripleO::Services::MySQLClient
|
||||
- OS::TripleO::Services::NeutronDhcpAgent
|
||||
- OS::TripleO::Services::NeutronL3Agent
|
||||
- OS::TripleO::Services::NeutronMetadataAgent
|
||||
- OS::TripleO::Services::NeutronServer
|
||||
- OS::TripleO::Services::NeutronCorePlugin
|
||||
- OS::TripleO::Services::NeutronOvsAgent
|
||||
- OS::TripleO::Services::OVNDBs
|
||||
- OS::TripleO::Services::OVNController
|
||||
- OS::TripleO::Services::OVNMetadataAgent
|
||||
- OS::TripleO::Services::OsloMessagingRpc
|
||||
- OS::TripleO::Services::OsloMessagingNotify
|
||||
- OS::TripleO::Services::HAproxy
|
||||
|
@ -35,12 +35,11 @@ parameter_defaults:
|
||||
- OS::TripleO::Services::GlanceApi
|
||||
- OS::TripleO::Services::MySQL
|
||||
- OS::TripleO::Services::MySQLClient
|
||||
- OS::TripleO::Services::NeutronDhcpAgent
|
||||
- OS::TripleO::Services::NeutronL3Agent
|
||||
- OS::TripleO::Services::NeutronMetadataAgent
|
||||
- OS::TripleO::Services::NeutronServer
|
||||
- OS::TripleO::Services::NeutronCorePlugin
|
||||
- OS::TripleO::Services::NeutronOvsAgent
|
||||
- OS::TripleO::Services::OVNDBs
|
||||
- OS::TripleO::Services::OVNController
|
||||
- OS::TripleO::Services::OVNMetadataAgent
|
||||
- OS::TripleO::Services::OsloMessagingRpc
|
||||
- OS::TripleO::Services::OsloMessagingNotify
|
||||
- OS::TripleO::Services::HAproxy
|
||||
|
@ -51,12 +51,11 @@ parameter_defaults:
|
||||
- OS::TripleO::Services::GlanceApi
|
||||
- OS::TripleO::Services::MySQL
|
||||
- OS::TripleO::Services::MySQLClient
|
||||
- OS::TripleO::Services::NeutronDhcpAgent
|
||||
- OS::TripleO::Services::NeutronL3Agent
|
||||
- OS::TripleO::Services::NeutronMetadataAgent
|
||||
- OS::TripleO::Services::NeutronServer
|
||||
- OS::TripleO::Services::NeutronCorePlugin
|
||||
- OS::TripleO::Services::NeutronOvsAgent
|
||||
- OS::TripleO::Services::OVNDBs
|
||||
- OS::TripleO::Services::OVNController
|
||||
- OS::TripleO::Services::OVNMetadataAgent
|
||||
- OS::TripleO::Services::OsloMessagingRpc
|
||||
- OS::TripleO::Services::OsloMessagingNotify
|
||||
- OS::TripleO::Services::HAproxy
|
||||
|
@ -19,12 +19,11 @@ parameter_defaults:
|
||||
- OS::TripleO::Services::IronicPxe
|
||||
- OS::TripleO::Services::MySQL
|
||||
- OS::TripleO::Services::MySQLClient
|
||||
- OS::TripleO::Services::NeutronDhcpAgent
|
||||
- OS::TripleO::Services::NeutronL3Agent
|
||||
- OS::TripleO::Services::NeutronMetadataAgent
|
||||
- OS::TripleO::Services::NeutronServer
|
||||
- OS::TripleO::Services::NeutronCorePlugin
|
||||
- OS::TripleO::Services::NeutronOvsAgent
|
||||
- OS::TripleO::Services::OVNDBs
|
||||
- OS::TripleO::Services::OVNController
|
||||
- OS::TripleO::Services::OVNMetadataAgent
|
||||
- OS::TripleO::Services::OsloMessagingRpc
|
||||
- OS::TripleO::Services::OsloMessagingNotify
|
||||
- OS::TripleO::Services::HAproxy
|
||||
|
@ -1,10 +1,16 @@
|
||||
resource_registry:
|
||||
OS::TripleO::Controller::Net::SoftwareConfig: ../common/net-config-multinode-os-net-config.yaml
|
||||
OS::TripleO::Compute::Net::SoftwareConfig: ../common/net-config-multinode-os-net-config.yaml
|
||||
OS::TripleO::Docker::NeutronMl2PluginBase: ../../puppet/services/neutron-plugin-ml2-ovn.yaml
|
||||
OS::TripleO::Services::OVNController: ../../docker/services/ovn-controller.yaml
|
||||
OS::TripleO::Services::OVNDBs: ../../docker/services/ovn-dbs.yaml
|
||||
OS::TripleO::Services::OVNMetadataAgent: ../../docker/services/ovn-metadata.yaml
|
||||
OS::TripleO::Docker::NeutronMl2PluginBase: ../../puppet/services/neutron-plugin-ml2.yaml
|
||||
OS::TripleO::Services::NeutronServer: ../../deployment/neutron/neutron-api-container-puppet.yaml
|
||||
OS::TripleO::Services::NeutronApi: ../../deployment/neutron/neutron-api-container-puppet.yaml
|
||||
OS::TripleO::Services::NeutronCorePlugin: ../../docker/services/neutron-plugin-ml2.yaml
|
||||
OS::TripleO::Services::NeutronMetadataAgent: ../../deployment/neutron/neutron-metadata-container-puppet.yaml
|
||||
OS::TripleO::Services::NeutronOvsAgent: ../../deployment/neutron/neutron-ovs-agent-container-puppet.yaml
|
||||
OS::TripleO::Services::NeutronDhcpAgent: ../../deployment/neutron/neutron-dhcp-container-puppet.yaml
|
||||
OS::TripleO::Services::NeutronL3Agent: ../../deployment/neutron/neutron-l3-container-puppet.yaml
|
||||
OS::TripleO::Services::ComputeNeutronOvsAgent: ../../deployment/neutron/neutron-ovs-agent-container-puppet.yaml
|
||||
|
||||
# Some infra instances don't pass the ping test but are otherwise working.
|
||||
# Since the OVB jobs also test this functionality we can shut it off here.
|
||||
OS::TripleO::AllNodes::Validation: ../common/all-nodes-validation-disabled.yaml
|
||||
@ -12,6 +18,10 @@ resource_registry:
|
||||
OS::TripleO::Services::SwiftProxy: OS::Heat::None
|
||||
OS::TripleO::Services::SwiftStorage: OS::Heat::None
|
||||
OS::TripleO::Services::SwiftRingBuilder: OS::Heat::None
|
||||
# Disable OVN services
|
||||
OS::TripleO::Services::OVNController: OS::Heat::None
|
||||
OS::TripleO::Services::OVNDBs: OS::Heat::None
|
||||
OS::TripleO::Services::OVNMetadataAgent: OS::Heat::None
|
||||
# TODO(mandre) fix the tacker service - https://bugs.launchpad.net/tripleo/+bug/1714270
|
||||
# OS::TripleO::Services::Tacker: ../../docker/services/tacker.yaml
|
||||
# TODO tacker still wip https://bugs.launchpad.net/tripleo/+bug/1714270
|
||||
@ -41,9 +51,10 @@ parameter_defaults:
|
||||
- OS::TripleO::Services::MySQLClient
|
||||
- OS::TripleO::Services::NeutronServer
|
||||
- OS::TripleO::Services::NeutronCorePlugin
|
||||
- OS::TripleO::Services::OVNDBs
|
||||
- OS::TripleO::Services::OVNController
|
||||
- OS::TripleO::Services::OVNMetadataAgent
|
||||
- OS::TripleO::Services::NeutronDhcpAgent
|
||||
- OS::TripleO::Services::NeutronL3Agent
|
||||
- OS::TripleO::Services::NeutronMetadataAgent
|
||||
- OS::TripleO::Services::NeutronOvsAgent
|
||||
- OS::TripleO::Services::OsloMessagingRpc
|
||||
- OS::TripleO::Services::OsloMessagingNotify
|
||||
- OS::TripleO::Services::HAproxy
|
||||
@ -72,17 +83,14 @@ parameter_defaults:
|
||||
nova::compute::libvirt::libvirt_virt_type: qemu
|
||||
# Required for Centos 7.3 and Qemu 2.6.0
|
||||
nova::compute::libvirt::libvirt_cpu_mode: 'none'
|
||||
# For OVN.
|
||||
NeutronMechanismDrivers: ovn
|
||||
OVNVifType: ovs
|
||||
OVNNeutronSyncMode: log
|
||||
OVNQosDriver: ovn-qos
|
||||
OVNTunnelEncapType: geneve
|
||||
NeutronTypeDrivers: 'geneve,vlan,flat,vxlan'
|
||||
NeutronNetworkType: 'geneve'
|
||||
NeutronServicePlugins: 'qos,networking_ovn.l3.l3_ovn.OVNL3RouterPlugin'
|
||||
NeutronVniRanges: ['1:65536', ]
|
||||
OVNBridgeMappings: 'datacentre:br-ex'
|
||||
# For ML2/OVS
|
||||
NeutronMechanismDrivers: 'openvswitch'
|
||||
NeutronTypeDrivers: 'vxlan,vlan,flat,gre'
|
||||
NeutronNetworkType: 'vxlan'
|
||||
NeutronServicePlugins: 'router,qos,segments,trunk'
|
||||
NeutronVniRanges: ['1:4094', ]
|
||||
NeutronEnableDVR: false
|
||||
KernelIpNonLocalBind: 0
|
||||
Debug: true
|
||||
DockerPuppetDebug: True
|
||||
BannerText: |
|
||||
|
@ -4,6 +4,10 @@ resource_registry:
|
||||
OS::TripleO::Services::OpenDaylightApi: ../../docker/services/opendaylight-api.yaml
|
||||
OS::TripleO::Services::OpenDaylightOvs: ../../puppet/services/opendaylight-ovs.yaml
|
||||
OS::TripleO::Docker::NeutronMl2PluginBase: ../../puppet/services/neutron-plugin-ml2-odl.yaml
|
||||
# Disable OVN services
|
||||
OS::TripleO::Services::OVNController: OS::Heat::None
|
||||
OS::TripleO::Services::OVNDBs: OS::Heat::None
|
||||
OS::TripleO::Services::OVNMetadataAgent: OS::Heat::None
|
||||
|
||||
parameter_defaults:
|
||||
ControllerServices:
|
||||
|
@ -39,12 +39,11 @@ parameter_defaults:
|
||||
- OS::TripleO::Services::GlanceApi
|
||||
- OS::TripleO::Services::MySQL
|
||||
- OS::TripleO::Services::MySQLClient
|
||||
- OS::TripleO::Services::NeutronDhcpAgent
|
||||
- OS::TripleO::Services::NeutronL3Agent
|
||||
- OS::TripleO::Services::NeutronMetadataAgent
|
||||
- OS::TripleO::Services::NeutronServer
|
||||
- OS::TripleO::Services::NeutronCorePlugin
|
||||
- OS::TripleO::Services::NeutronOvsAgent
|
||||
- OS::TripleO::Services::OVNDBs
|
||||
- OS::TripleO::Services::OVNController
|
||||
- OS::TripleO::Services::OVNMetadataAgent
|
||||
- OS::TripleO::Services::OctaviaApi
|
||||
- OS::TripleO::Services::OctaviaDeploymentConfig
|
||||
- OS::TripleO::Services::OctaviaHealthManager
|
||||
|
@ -32,12 +32,11 @@ parameter_defaults:
|
||||
- OS::TripleO::Services::IronicPxe
|
||||
- OS::TripleO::Services::MySQL
|
||||
- OS::TripleO::Services::MySQLClient
|
||||
- OS::TripleO::Services::NeutronDhcpAgent
|
||||
- OS::TripleO::Services::NeutronL3Agent
|
||||
- OS::TripleO::Services::NeutronMetadataAgent
|
||||
- OS::TripleO::Services::NeutronServer
|
||||
- OS::TripleO::Services::NeutronCorePlugin
|
||||
- OS::TripleO::Services::NeutronOvsAgent
|
||||
- OS::TripleO::Services::OVNDBs
|
||||
- OS::TripleO::Services::OVNController
|
||||
- OS::TripleO::Services::OVNMetadataAgent
|
||||
- OS::TripleO::Services::OsloMessagingRpc
|
||||
- OS::TripleO::Services::OsloMessagingNotify
|
||||
- OS::TripleO::Services::HAproxy
|
||||
@ -72,7 +71,7 @@ parameter_defaults:
|
||||
SwiftCeilometerPipelineEnabled: false
|
||||
IronicCleaningDiskErase: 'metadata'
|
||||
NovaSchedulerDiscoverHostsInCellsInterval: 15
|
||||
NeutronMechanismDrivers: openvswitch,ansible
|
||||
NeutronMechanismDrivers: ovn,ansible
|
||||
NeutronNetworkType: vlan
|
||||
NeutronTypeDrivers: local,vxlan,vlan,flat
|
||||
IronicDefaultNetworkInterface: neutron
|
||||
|
@ -48,7 +48,7 @@ parameters:
|
||||
default: []
|
||||
|
||||
NeutronMechanismDrivers:
|
||||
default: 'openvswitch'
|
||||
default: 'ovn'
|
||||
description: |
|
||||
The mechanism drivers for the Neutron tenant network.
|
||||
type: comma_delimited_list
|
||||
|
@ -43,7 +43,7 @@ parameters:
|
||||
description: Configures net.ipv4.ip_forward key
|
||||
type: number
|
||||
KernelIpNonLocalBind:
|
||||
default: 0
|
||||
default: 1
|
||||
description: Configures net.ipv{4,6}.ip_nonlocal_bind key
|
||||
type: number
|
||||
NeighbourGcThreshold1:
|
||||
|
@ -90,8 +90,8 @@ parameters:
|
||||
hidden: true
|
||||
NeutronEnableDVR:
|
||||
description: Enable Neutron DVR.
|
||||
default: false
|
||||
type: boolean
|
||||
default: ''
|
||||
type: string
|
||||
KeystoneRegion:
|
||||
type: string
|
||||
default: 'regionOne'
|
||||
@ -150,6 +150,7 @@ conditions:
|
||||
neutron_rpc_workers_unset: {equals : [{get_param: NeutronRpcWorkers}, '']}
|
||||
neutron_ovs_int_br_unset: {equals : [{get_param: NeutronOvsIntegrationBridge}, '']}
|
||||
internal_tls_enabled: {equals: [{get_param: EnableInternalTLS}, true]}
|
||||
neutron_dvr_unset: {equals : [{get_param: NeutronEnableDVR}, '']}
|
||||
|
||||
resources:
|
||||
|
||||
@ -228,8 +229,6 @@ outputs:
|
||||
dport:
|
||||
- 9696
|
||||
- 13696
|
||||
neutron::server::router_distributed: {get_param: NeutronEnableDVR}
|
||||
neutron::server::enable_dvr: {get_param: NeutronEnableDVR}
|
||||
# NOTE: bind IP is found in hiera replacing the network name with the local node IP
|
||||
# for the given network; replacement examples (eg. for internal_api):
|
||||
# internal_api -> IP
|
||||
@ -261,6 +260,12 @@ outputs:
|
||||
params:
|
||||
$NETWORK: {get_param: [ServiceNetMap, NeutronApiNetwork]}
|
||||
tripleo::profile::base::neutron::server::l3_ha_override: {get_param: NeutronL3HA}
|
||||
-
|
||||
if:
|
||||
- neutron_dvr_unset
|
||||
- {}
|
||||
- neutron::server::router_distributed: {get_param: NeutronEnableDVR}
|
||||
neutron::server::enable_dvr: {get_param: NeutronEnableDVR}
|
||||
-
|
||||
if:
|
||||
- neutron_workers_unset
|
||||
|
@ -83,9 +83,9 @@ parameters:
|
||||
Comma-separated list of extensions enabled for the Neutron agents.
|
||||
type: comma_delimited_list
|
||||
NeutronEnableDVR:
|
||||
default: False
|
||||
default: ''
|
||||
description: Enable Neutron DVR.
|
||||
type: boolean
|
||||
type: string
|
||||
NeutronEnableARPResponder:
|
||||
default: false
|
||||
description: |
|
||||
@ -123,6 +123,7 @@ parameters:
|
||||
conditions:
|
||||
no_firewall_driver: {equals : [{get_param: NeutronOVSFirewallDriver}, '']}
|
||||
docker_puppet_mount_host: {equals: [{get_param: DockerPuppetMountHostPuppet}, true]}
|
||||
neutron_dvr_unset: {equals : [{get_param: NeutronEnableDVR}, '']}
|
||||
|
||||
resources:
|
||||
|
||||
@ -172,7 +173,6 @@ outputs:
|
||||
- get_attr: [RoleParametersValue, value]
|
||||
- get_attr: [NeutronLogging, config_settings]
|
||||
- neutron::agents::ml2::ovs::l2_population: {get_param: NeutronEnableL2Pop}
|
||||
neutron::agents::ml2::ovs::enable_distributed_routing: {get_param: NeutronEnableDVR}
|
||||
neutron::agents::ml2::ovs::arp_responder: {get_param: NeutronEnableARPResponder}
|
||||
neutron::agents::ml2::ovs::tunnel_types: {get_param: NeutronTunnelTypes}
|
||||
neutron::agents::ml2::ovs::extensions: {get_param: NeutronAgentExtensions}
|
||||
@ -195,6 +195,11 @@ outputs:
|
||||
dport: 4789
|
||||
'136 neutron gre networks':
|
||||
proto: 'gre'
|
||||
-
|
||||
if:
|
||||
- neutron_dvr_unset
|
||||
- {}
|
||||
- neutron::agents::ml2::ovs::enable_distributed_routing: {get_param: NeutronEnableDVR}
|
||||
-
|
||||
if:
|
||||
- no_firewall_driver
|
||||
|
@ -2,6 +2,19 @@
|
||||
# This works by configuring L3 and Metadata agents on the
|
||||
# compute nodes.
|
||||
resource_registry:
|
||||
# Default Neutron ML2 puppet plugin to use when NeutronCorePlugin is set to ML2
|
||||
# FIXME(bogdando): can not be switched yet due to puppet-base issues
|
||||
# see https://review.openstack.org/#/c/563443
|
||||
OS::TripleO::Docker::NeutronMl2PluginBase: ../puppet/services/neutron-plugin-ml2.yaml
|
||||
|
||||
OS::TripleO::Services::NeutronServer: ../deployment/neutron/neutron-api-container-puppet.yaml
|
||||
OS::TripleO::Services::NeutronApi: ../deployment/neutron/neutron-api-container-puppet.yaml
|
||||
OS::TripleO::Services::NeutronCorePlugin: ../docker/services/neutron-plugin-ml2.yaml
|
||||
OS::TripleO::Services::NeutronMetadataAgent: ../deployment/neutron/neutron-metadata-container-puppet.yaml
|
||||
OS::TripleO::Services::NeutronOvsAgent: ../deployment/neutron/neutron-ovs-agent-container-puppet.yaml
|
||||
OS::TripleO::Services::NeutronDhcpAgent: ../deployment/neutron/neutron-dhcp-container-puppet.yaml
|
||||
OS::TripleO::Services::ComputeNeutronOvsAgent: ../deployment/neutron/neutron-ovs-agent-container-puppet.yaml
|
||||
OS::TripleO::Services::NeutronL3Agent: ../deployment/neutron/neutron-l3-container-puppet.yaml
|
||||
OS::TripleO::Services::ComputeNeutronL3Agent: ../deployment/neutron/neutron-l3-container-puppet.yaml
|
||||
OS::TripleO::Services::ComputeNeutronMetadataAgent: ../deployment/neutron/neutron-metadata-container-puppet.yaml
|
||||
|
||||
@ -9,12 +22,22 @@ resource_registry:
|
||||
# bridge to be connected to a physical network.
|
||||
OS::TripleO::Compute::Net::SoftwareConfig: ../net-config-bridge.yaml
|
||||
|
||||
parameter_defaults:
|
||||
# Disable OVN services
|
||||
OS::TripleO::Services::OVNController: OS::Heat::None
|
||||
OS::TripleO::Services::OVNDBs: OS::Heat::None
|
||||
OS::TripleO::Services::OVNMetadataAgent: OS::Heat::None
|
||||
|
||||
parameter_defaults:
|
||||
# DVR requires that the L2 population feature is enabled
|
||||
NeutronMechanismDrivers: ['openvswitch', 'l2population']
|
||||
NeutronEnableL2Pop: 'True'
|
||||
|
||||
NeutronTypeDrivers: 'vxlan,vlan,flat,gre'
|
||||
NeutronNetworkType: 'vxlan'
|
||||
NeutronServicePlugins: 'router,qos,segments,trunk'
|
||||
NeutronVniRanges: ['1:4094', ]
|
||||
KernelIpNonLocalBind: 0
|
||||
|
||||
# Setting NeutronEnableDVR enables distributed routing support in the
|
||||
# ML2 plugin and agents that support this feature
|
||||
NeutronEnableDVR: true
|
||||
|
@ -1,18 +1,39 @@
|
||||
# A Heat environment file that enables DVR in the overcloud. Used with Compute
|
||||
# DVR role. Note that the network configuration is consistent with the default
|
||||
# tripleo network templates so some customization is likely required for
|
||||
# production deployments.
|
||||
# A Heat environment file that deploys ML2/OVS in the overcloud.
|
||||
resource_registry:
|
||||
# Default Neutron ML2 puppet plugin to use when NeutronCorePlugin is set to ML2
|
||||
# FIXME(bogdando): can not be switched yet due to puppet-base issues
|
||||
# see https://review.openstack.org/#/c/563443
|
||||
OS::TripleO::Docker::NeutronMl2PluginBase: ../../puppet/services/neutron-plugin-ml2.yaml
|
||||
|
||||
OS::TripleO::Services::NeutronServer: ../../deployment/neutron/neutron-api-container-puppet.yaml
|
||||
OS::TripleO::Services::NeutronApi: ../../deployment/neutron/neutron-api-container-puppet.yaml
|
||||
OS::TripleO::Services::NeutronCorePlugin: ../../docker/services/neutron-plugin-ml2.yaml
|
||||
OS::TripleO::Services::NeutronMetadataAgent: ../../deployment/neutron/neutron-metadata-container-puppet.yaml
|
||||
OS::TripleO::Services::NeutronOvsAgent: ../../deployment/neutron/neutron-ovs-agent-container-puppet.yaml
|
||||
OS::TripleO::Services::NeutronDhcpAgent: ../../deployment/neutron/neutron-dhcp-container-puppet.yaml
|
||||
OS::TripleO::Services::ComputeNeutronOvsAgent: ../../deployment/neutron/neutron-ovs-agent-container-puppet.yaml
|
||||
OS::TripleO::Services::NeutronL3Agent: ../../deployment/neutron/neutron-l3-container-puppet.yaml
|
||||
OS::TripleO::Services::ComputeNeutronL3Agent: ../../deployment/neutron/neutron-l3-container-puppet.yaml
|
||||
OS::TripleO::Services::ComputeNeutronMetadataAgent: ../../deployment/neutron/neutron-metadata-container-puppet.yaml
|
||||
OS::TripleO::ComputeDVR::Net::SoftwareConfig: ../../net-config-bridge.yaml
|
||||
|
||||
# Disable OVN services
|
||||
OS::TripleO::Services::OVNController: OS::Heat::None
|
||||
OS::TripleO::Services::OVNDBs: OS::Heat::None
|
||||
OS::TripleO::Services::OVNMetadataAgent: OS::Heat::None
|
||||
|
||||
parameter_defaults:
|
||||
|
||||
# DVR requires that the L2 population feature is enabled
|
||||
NeutronMechanismDrivers: ['openvswitch', 'l2population']
|
||||
NeutronEnableL2Pop: 'True'
|
||||
|
||||
NeutronTypeDrivers: 'vxlan,vlan,flat,gre'
|
||||
NeutronNetworkType: 'vxlan'
|
||||
NeutronServicePlugins: 'router,qos,segments,trunk'
|
||||
NeutronVniRanges: ['1:4094', ]
|
||||
KernelIpNonLocalBind: 0
|
||||
|
||||
# Setting NeutronEnableDVR enables distributed routing support in the
|
||||
# ML2 plugin and agents that support this feature
|
||||
NeutronEnableDVR: true
|
||||
|
35
environments/services/neutron-ovs.yaml
Normal file
35
environments/services/neutron-ovs.yaml
Normal file
@ -0,0 +1,35 @@
|
||||
# A Heat environment file that enables DVR in the overcloud. Used with Compute
|
||||
# DVR role. Note that the network configuration is consistent with the default
|
||||
# tripleo network templates so some customization is likely required for
|
||||
# production deployments.
|
||||
resource_registry:
|
||||
# Default Neutron ML2 puppet plugin to use when NeutronCorePlugin is set to ML2
|
||||
# FIXME(bogdando): can not be switched yet due to puppet-base issues
|
||||
# see https://review.openstack.org/#/c/563443
|
||||
OS::TripleO::Docker::NeutronMl2PluginBase: ../../puppet/services/neutron-plugin-ml2.yaml
|
||||
|
||||
OS::TripleO::Services::NeutronServer: ../../deployment/neutron/neutron-api-container-puppet.yaml
|
||||
OS::TripleO::Services::NeutronApi: ../../deployment/neutron/neutron-api-container-puppet.yaml
|
||||
OS::TripleO::Services::NeutronCorePlugin: ../../docker/services/neutron-plugin-ml2.yaml
|
||||
OS::TripleO::Services::NeutronMetadataAgent: ../../deployment/neutron/neutron-metadata-container-puppet.yaml
|
||||
OS::TripleO::Services::NeutronOvsAgent: ../../deployment/neutron/neutron-ovs-agent-container-puppet.yaml
|
||||
OS::TripleO::Services::NeutronDhcpAgent: ../../deployment/neutron/neutron-dhcp-container-puppet.yaml
|
||||
OS::TripleO::Services::ComputeNeutronOvsAgent: ../../deployment/neutron/neutron-ovs-agent-container-puppet.yaml
|
||||
OS::TripleO::Services::NeutronL3Agent: ../../deployment/neutron/neutron-l3-container-puppet.yaml
|
||||
|
||||
# Disable OVN services
|
||||
OS::TripleO::Services::OVNController: OS::Heat::None
|
||||
OS::TripleO::Services::OVNDBs: OS::Heat::None
|
||||
OS::TripleO::Services::OVNMetadataAgent: OS::Heat::None
|
||||
|
||||
parameter_defaults:
|
||||
|
||||
NeutronMechanismDrivers: ['openvswitch']
|
||||
|
||||
NeutronTypeDrivers: 'vxlan,vlan,flat,gre'
|
||||
NeutronNetworkType: 'vxlan'
|
||||
NeutronServicePlugins: 'router,qos,segments,trunk'
|
||||
NeutronVniRanges: ['1:4094', ]
|
||||
KernelIpNonLocalBind: 0
|
||||
|
||||
NeutronEnableDVR: false
|
@ -111,6 +111,7 @@ resource_registry:
|
||||
OS::TripleO::Services::MistralEngine: OS::Heat::None
|
||||
OS::TripleO::Services::MistralEventEngine: OS::Heat::None
|
||||
OS::TripleO::Services::MistralExecutor: OS::Heat::None
|
||||
OS::TripleO::Services::OVNDBs: ../../docker/services/ovn-dbs.yaml
|
||||
OS::TripleO::Services::OpenStackClients: ../../puppet/services/openstack-clients.yaml
|
||||
OS::TripleO::Services::PankoApi: OS::Heat::None
|
||||
OS::TripleO::Services::Podman: ../../deployment/podman/podman-baremetal-ansible.yaml
|
||||
|
@ -8,6 +8,14 @@ resource_registry:
|
||||
# Allows us to control the external VIP for Undercloud SSL
|
||||
OS::TripleO::Network::Ports::ExternalVipPort: ../network/ports/external_from_pool.yaml
|
||||
|
||||
OS::TripleO::Services::ComputeNeutronOvsAgent: ../deployment/neutron/neutron-ovs-agent-container-puppet.yaml
|
||||
OS::TripleO::Services::NeutronMetadataAgent: ../deployment/neutron/neutron-metadata-container-puppet.yaml
|
||||
OS::TripleO::Services::NeutronOvsAgent: ../deployment/neutron/neutron-ovs-agent-container-puppet.yaml
|
||||
OS::TripleO::Services::NeutronDhcpAgent: ../deployment/neutron/neutron-dhcp-container-puppet.yaml
|
||||
OS::TripleO::Services::NeutronL3Agent: ../deployment/neutron/neutron-l3-container-puppet.yaml
|
||||
OS::TripleO::Services::NeutronCorePlugin: ../docker/services/neutron-plugin-ml2.yaml
|
||||
OS::TripleO::Docker::NeutronMl2PluginBase: ../puppet/services/neutron-plugin-ml2.yaml
|
||||
|
||||
# We managed this in instack-undercloud, so we need to manage it here.
|
||||
OS::TripleO::Services::SELinux: ../deployment/selinux/selinux-baremetal-puppet.yaml
|
||||
OS::TripleO::Services::OpenStackClients: ../puppet/services/openstack-clients.yaml
|
||||
@ -124,6 +132,7 @@ parameter_defaults:
|
||||
NeutronTunnelIdRanges: '20:100'
|
||||
NeutronTypeDrivers: ['local','flat','vlan','gre','vxlan']
|
||||
NeutronVniRanges: '10:100'
|
||||
NeutronEnableDVR: false
|
||||
NeutronPortQuota: '-1'
|
||||
SwiftCorsAllowedOrigin: '*'
|
||||
SwiftReplicas: 1
|
||||
|
8
environments/updates/update-from-ml2-ovs-from-rocky.yaml
Normal file
8
environments/updates/update-from-ml2-ovs-from-rocky.yaml
Normal file
@ -0,0 +1,8 @@
|
||||
# This environment file provides default previous values for ml2/ovs
|
||||
|
||||
parameter_defaults:
|
||||
OVNQosDriver: NULL
|
||||
NeutronMechanismDrivers: 'openvswitch'
|
||||
NeutronTypeDrivers: "vxlan,vlan,flat,gre"
|
||||
NeutronVniRanges: ["1:65536", ]
|
||||
NeutronNetworkType: 'vxlan'
|
@ -134,14 +134,14 @@ resource_registry:
|
||||
OS::TripleO::Services::NeutronBgpVpnApi: OS::Heat::None
|
||||
OS::TripleO::Services::NeutronBgpVpnBagpipe: OS::Heat::None
|
||||
OS::TripleO::Services::NeutronSfcApi: OS::Heat::None
|
||||
OS::TripleO::Services::NeutronDhcpAgent: deployment/neutron/neutron-dhcp-container-puppet.yaml
|
||||
OS::TripleO::Services::NeutronDhcpAgent: OS::Heat::None
|
||||
OS::TripleO::Services::NeutronL2gwApi: OS::Heat::None
|
||||
OS::TripleO::Services::NeutronL3Agent: deployment/neutron/neutron-l3-container-puppet.yaml
|
||||
OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
|
||||
OS::TripleO::Services::NeutronL2gwAgent: OS::Heat::None
|
||||
OS::TripleO::Services::NeutronLbaasv2Agent: OS::Heat::None
|
||||
OS::TripleO::Services::NeutronLbaasv2Api: OS::Heat::None
|
||||
OS::TripleO::Services::NeutronMetadataAgent: deployment/neutron/neutron-metadata-container-puppet.yaml
|
||||
OS::TripleO::Services::OVNMetadataAgent: OS::Heat::None
|
||||
OS::TripleO::Services::NeutronMetadataAgent: OS::Heat::None
|
||||
OS::TripleO::Services::OVNMetadataAgent: docker/services/ovn-metadata.yaml
|
||||
# FIXME(shardy) the duplicate NeutronServer line can be removed when we've updated
|
||||
# the multinode job ControllerServices after this patch merges
|
||||
OS::TripleO::Services::NeutronServer: deployment/neutron/neutron-api-container-puppet.yaml
|
||||
@ -149,25 +149,26 @@ resource_registry:
|
||||
OS::TripleO::Services::NeutronCorePlugin: docker/services/neutron-plugin-ml2.yaml
|
||||
# can be the same as NeutronCorePlugin but some vendors install different
|
||||
# things where VMs run
|
||||
OS::TripleO::Services::ComputeNeutronCorePlugin: docker/services/neutron-plugin-ml2.yaml
|
||||
OS::TripleO::Services::ComputeNeutronCorePlugin: OS::Heat::None
|
||||
OS::TripleO::Services::ComputeNeutronCorePluginNuage: puppet/services/neutron-compute-plugin-nuage.yaml
|
||||
# Neutron Core Plugin Vendors (these typically override NeutronCorePlugin)
|
||||
OS::TripleO::Services::NeutronCorePluginML2OVN: puppet/services/neutron-plugin-ml2-ovn.yaml
|
||||
OS::TripleO::Services::NeutronCorePluginPlumgrid: puppet/services/neutron-plugin-plumgrid.yaml
|
||||
OS::TripleO::Services::NeutronCorePluginNuage: puppet/services/neutron-plugin-nuage.yaml
|
||||
OS::TripleO::Services::NeutronCorePluginML2Nuage: puppet/services/neutron-plugin-ml2-nuage.yaml
|
||||
OS::TripleO::Services::NeutronCorePluginNSX: docker/services/neutron-plugin-nsx.yaml
|
||||
OS::TripleO::Services::OVNDBs: OS::Heat::None
|
||||
OS::TripleO::Services::OVNController: OS::Heat::None
|
||||
|
||||
OS::TripleO::Services::NeutronCorePluginNSX: puppet/services/neutron-plugin-nsx.yaml
|
||||
OS::TripleO::Services::OVNDBs: docker/services/pacemaker/ovn-dbs.yaml
|
||||
OS::TripleO::Services::OVNController: docker/services/ovn-controller.yaml
|
||||
|
||||
OS::TripleO::Services::NeutronCorePluginMLNXSDN: puppet/services/neutron-plugin-ml2-mlnx-sdn-assist.yaml
|
||||
OS::TripleO::Services::NeutronCorePluginMidonet: puppet/services/neutron-midonet.yaml
|
||||
OS::TripleO::Services::NeutronCorePluginVTS: docker/services/neutron-plugin-ml2-cisco-vts.yaml
|
||||
OS::TripleO::Services::NeutronCorePluginML2Ansible: docker/services/neutron-plugin-ml2-ansible.yaml
|
||||
OS::TripleO::Services::NeutronNuageVrs: puppet/services/neutron-controller-plugin-nuage.yaml
|
||||
OS::TripleO::Services::NeutronOvsAgent: deployment/neutron/neutron-ovs-agent-container-puppet.yaml
|
||||
OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None
|
||||
OS::TripleO::Services::NeutronLinuxbridgeAgent: OS::Heat::None
|
||||
OS::TripleO::Services::ComputeNeutronOvsAgent: deployment/neutron/neutron-ovs-agent-container-puppet.yaml
|
||||
OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None
|
||||
OS::TripleO::Services::ComputeNeutronOvsDpdk: OS::Heat::None
|
||||
OS::TripleO::Services::Pacemaker: OS::Heat::None
|
||||
OS::TripleO::Services::PacemakerRemote: OS::Heat::None
|
||||
@ -332,7 +333,7 @@ resource_registry:
|
||||
# Default Neutron ML2 puppet plugin to use when NeutronCorePlugin is set to ML2
|
||||
# FIXME(bogdando): can not be switched yet due to puppet-base issues
|
||||
# see https://review.openstack.org/#/c/563443
|
||||
OS::TripleO::Docker::NeutronMl2PluginBase: puppet/services/neutron-plugin-ml2.yaml
|
||||
OS::TripleO::Docker::NeutronMl2PluginBase: puppet/services/neutron-plugin-ml2-ovn.yaml
|
||||
OS::TripleO::Services::Multipathd: deployment/multipathd/multipathd-container.yaml
|
||||
|
||||
# Logging
|
||||
@ -359,6 +360,7 @@ resource_registry:
|
||||
OS::TripleO::Services::BootParams: extraconfig/pre_network/boot-params-service.yaml
|
||||
|
||||
parameter_defaults:
|
||||
NeutronMechanismDrivers: ovn
|
||||
EnablePackageInstall: false
|
||||
SoftwareConfigTransport: POLL_TEMP_URL
|
||||
|
||||
|
@ -27,7 +27,7 @@ parameters:
|
||||
from neutron.core_plugins namespace.
|
||||
type: string
|
||||
NeutronServicePlugins:
|
||||
default: "router,qos,segments,trunk"
|
||||
default: "qos,ovn-router,trunk"
|
||||
description: |
|
||||
Comma-separated list of service plugin entrypoints to be loaded from the
|
||||
neutron.service_plugins namespace.
|
||||
|
@ -58,15 +58,15 @@ parameters:
|
||||
OVNQosDriver:
|
||||
description: OVN notification driver for Neutron QOS service plugin
|
||||
type: string
|
||||
default: NULL
|
||||
default: ovn-qos
|
||||
NeutronGeneveMaxHeaderSize:
|
||||
description: Geneve encapsulation header size
|
||||
type: number
|
||||
default: 38
|
||||
NeutronEnableDVR:
|
||||
description: Enable Neutron DVR.
|
||||
default: false
|
||||
type: boolean
|
||||
default: ''
|
||||
type: string
|
||||
OVNMetadataEnabled:
|
||||
description: Whether Metadata Service has to be enabled
|
||||
type: boolean
|
||||
@ -80,11 +80,15 @@ parameters:
|
||||
- allowed_values:
|
||||
- geneve
|
||||
- vlan
|
||||
|
||||
OVNDnsServers:
|
||||
default: []
|
||||
description: List of servers to use as as dns forwarders
|
||||
type: comma_delimited_list
|
||||
|
||||
conditions:
|
||||
neutron_dvr_unset: {equals : [{get_param: NeutronEnableDVR}, '']}
|
||||
|
||||
resources:
|
||||
|
||||
NeutronMl2Base:
|
||||
@ -113,9 +117,13 @@ outputs:
|
||||
neutron::plugins::ml2::ovn::ovn_metadata_enabled: {get_param: OVNMetadataEnabled}
|
||||
neutron::server::qos_notification_drivers: {get_param: OVNQosDriver}
|
||||
neutron::plugins::ml2::max_header_size: {get_param: NeutronGeneveMaxHeaderSize}
|
||||
neutron::plugins::ml2::ovn::dvr_enabled: {get_param: NeutronEnableDVR}
|
||||
neutron::plugins::ml2::ovn::dns_servers: {get_param: OVNDnsServers}
|
||||
neutron::plugins::ml2::tenant_network_types: {get_param: NeutronNetworkType}
|
||||
-
|
||||
if:
|
||||
- neutron_dvr_unset
|
||||
- neutron::plugins::ml2::ovn::dvr_enabled: true
|
||||
- neutron::plugins::ml2::ovn::dvr_enabled: {get_param: NeutronEnableDVR}
|
||||
step_config: |
|
||||
include ::tripleo::profile::base::neutron::plugins::ml2
|
||||
metadata_settings:
|
||||
|
@ -31,12 +31,12 @@ parameters:
|
||||
via parameter_defaults in the resource registry.
|
||||
type: json
|
||||
NeutronMechanismDrivers:
|
||||
default: 'openvswitch'
|
||||
default: 'ovn'
|
||||
description: |
|
||||
The mechanism drivers for the Neutron tenant network.
|
||||
type: comma_delimited_list
|
||||
NeutronTypeDrivers:
|
||||
default: "vxlan,vlan,flat,gre"
|
||||
default: "geneve,vlan,flat"
|
||||
description: |
|
||||
Comma-separated list of network type driver entrypoints to be loaded.
|
||||
type: comma_delimited_list
|
||||
@ -66,10 +66,10 @@ parameters:
|
||||
description: |
|
||||
Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges
|
||||
of VXLAN VNI IDs that are available for tenant network allocation
|
||||
default: ["1:4094", ]
|
||||
default: ["1:65536", ]
|
||||
type: comma_delimited_list
|
||||
NeutronNetworkType:
|
||||
default: 'vxlan'
|
||||
default: 'geneve'
|
||||
description: The tenant network type for Neutron.
|
||||
type: comma_delimited_list
|
||||
NeutronFirewallDriver:
|
||||
|
@ -0,0 +1,16 @@
|
||||
---
|
||||
features:
|
||||
- |
|
||||
This patch switches the default mechanism driver for neutron from
|
||||
openvswitch to OVN. DVR is now enabled by default which in the case
|
||||
of OVN means that we're distributing FIP N/S traffic
|
||||
as E/W is anyways distributed
|
||||
upgrade:
|
||||
- |
|
||||
During upgrade from ml2/ovs please remember to provide similar
|
||||
environment file to environments/updates/update-from-ml2-ovs-from-rocky.yaml.
|
||||
This is good also to remember to provide this file as a first
|
||||
to avoid overwriting custom modification by upgrade environment
|
||||
file. If you will not provide such file during upgrade from
|
||||
ml2/ovs you will see error and notification about problems witch
|
||||
mutually exclusive network drivers.
|
@ -62,6 +62,9 @@ environments:
|
||||
OS::TripleO::Standalone::Net::SoftwareConfig: ../../net-config-standalone.yaml
|
||||
OS::TripleO::NodeExtraConfigPost: ../../extraconfig/post_deploy/standalone_post.yaml
|
||||
|
||||
# OVN
|
||||
OS::TripleO::Services::OVNDBs: ../../docker/services/ovn-dbs.yaml
|
||||
|
||||
# Manage SELinux
|
||||
OS::TripleO::Services::SELinux: ../../deployment/selinux/selinux-baremetal-puppet.yaml
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user