Neutron using ovn
# NOTE: This file serves as an example only!
# It demonstrates a subset of the API features which are available and
# is NOT FIT FOR PRODUCTIVE USE. You need to adapt them to your
# specific environment, needs and scale.
# DO NOT DEPLOY THIS FILE WITH THE EXPECTATION THAT YOU WILL GET A
# YAOOK DEPLOYMENT FIT FOR ANY USE EXCEPT LOOKING AT IT.
apiVersion: yaook.cloud/v1
kind: NeutronDeployment
metadata:
name: neutron-ovn
spec:
api:
ingress:
fqdn: "neutron.yaook.cloud"
port: 32443
replicas: 1
database:
backup:
schedule: "0 * * * *"
proxy: {}
replicas: 1
timeoutClient: 300
issuerRef:
name: ca-issuer
keystoneRef:
name: keystone
messageQueue:
replicas: 1
resources:
rabbitmq:
limits:
memory: 1G
cpu: 1000m
memcached: {}
neutronConfig:
DEFAULT:
debug: true
database:
# (optional) connection_recycle_time hould always be ~10%
# smaller than the haproxy timeoutClient
connection_recycle_time: 280
neutronML2Config:
ml2_type_flat:
flat_networks:
- physnet1
novaRef:
name: nova
policy:
"context_is_admin": "role:admin"
region:
name: MyRegion
setup:
ovn:
bgp: # remove this section if you don't use bgp
mybgpspeaker:
configTemplates:
- config:
addressScopes:
- 443d99a2-0531-498a-86f9-3a6bd987083c # UUID to your addressScope
bridgeName: br-mybgp
driver: ovn_stretched_l2_bgp_driver
localAS: 4200240042
peers:
switcha:
AS: 4200240041
IP: 10.42.2.21
switchb:
AS: 4200240041
IP: 10.42.2.22
syncInterval: 60
nodeSelectors:
- matchLabels:
network.yaook.cloud/neutron-ovn-agent: "true"
northboundOVSDB:
replicas: 3
backup:
schedule: 0 12 * * *
northd: {}
southboundOVSDB:
# recommended to increase inactivityProbe at scale (default 5s)
inactivityProbeMs: 60000
ovnRelay: # add this section to deploy ovn-relays
replicas: 5
replicas: 3
backup:
schedule: 0 12 * * *
controller:
configTemplates:
- nodeSelectors:
- matchLabels: {} # all nodes
- nodeSelectors:
- matchLabels:
"network.yaook.cloud/neutron-ovn-agent": "true"
bridgeConfig:
- bridgeName: br-ex
uplinkDevice: eth1
openstackPhysicalNetwork: "physnet1"
targetRelease: zed
Further parameters
spec:setup:ovs:l2:configTemplates:nodeSelectors[]:overlayNetworkConfig:ovs_local_ip_subnet
The IP address configured via [ovs]/local_ip
is used for the local
overlay (tunnel) network endpoint by the Neutron Open vSwitch agent. If not
specified in the NeutronDeployment
resource the Kubernetes node IP address
is used. By specifying a subnet via
spec:setup:ovs:l2:configTemplates:nodeSelectors[]:overlayNetworkConfig:ovs_local_ip_subnet
the IP address of the corresponding interface of the node which has an IP
address for that subnet is used for [ovs]/local_ip
instead.