Neutron using ovs¶
apiVersion: yaook.cloud/v1
kind: NeutronDeployment
metadata:
name: neutron-ovs
spec:
api:
ingress:
fqdn: "neutron.yaook.cloud"
port: 32443
replicas: 1
database:
backup:
schedule: "0 * * * *"
proxy: {}
replicas: 1
issuerRef:
name: ca-issuer
keystoneRef:
name: keystone
messageQueue:
replicas: 1
memcached: {}
neutronConfig:
DEFAULT:
debug: true
neutronML2Config:
ml2_type_flat:
flat_networks:
- physnet1
novaRef:
name: nova
policy:
"context_is_admin": "role:admin"
region:
name: MyRegion
setup:
ovs:
l2:
configTemplates:
- nodeSelectors:
- matchLabels: {} # matches all!
# this key will be removed, use neutronOpenvSwitchAgentConfig instead
neutronConfig:
DEFAULT:
debug: true
neutronOpenvSwitchAgentConfig:
DEFAULT:
debug: true
- nodeSelectors:
- matchLabels:
"network.yaook.cloud/neutron-l3-agent": "true"
# this key will be removed, use neutronOpenvSwitchAgentConfig instead
neutronConfig:
DEFAULT:
debug: True
neutronOpenvSwitchAgentConfig:
ovs:
bridge_mappings: []
bridgeConfig: []
dhcp:
configTemplates:
- nodeSelectors:
- matchLabels: {}
# this key will be removed, use neutronDHCPAgentConfig instead
neutronConfig:
DEFAULT:
debug: true
neutronDHCPAgentConfig:
DEFAULT:
debug: true
l3:
configTemplates:
- nodeSelectors:
- matchLabels: {}
# this key will be removed, use neutronL3AgentConfig instead
neutronConfig:
DEFAULT:
debug: true
neutronL3AgentConfig:
DEFAULT:
debug: true
agent:
debug_iptables_rules: true
bgp:
bgpdr-agent: # duplicate this section with a different key to have two or more bgp dragents
# the key needs to be lowercase or else the operator doesn't create the resources
configTemplates:
- nodeSelectors:
- matchLabels: {}
# this key will be removed, use neutronBGPDRAgentConfig instead
neutronConfig:
DEFAULT:
debug: True
neutronBGPDRAgentConfig:
DEFAULT:
debug: True
- nodeSelectors:
- matchLabels:
"network.yaook.cloud/neutron-l3-agent": "true"
bgpInterfaceMapping:
bridgeName: some-bridge-from-ovs-bridge_mappings
targetRelease: queens
Neutron using ovn¶
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
issuerRef:
name: ca-issuer
keystoneRef:
name: keystone
messageQueue:
replicas: 1
memcached: {}
neutronConfig:
DEFAULT:
debug: true
neutronML2Config:
ml2_type_flat:
flat_networks:
- physnet1
novaRef:
name: nova
policy:
"context_is_admin": "role:admin"
region:
name: MyRegion
setup:
ovn:
northboundOVSDB:
replicas: 3
backup:
schedule: 0 12 * * *
northd: {}
southboundOVSDB:
replicas: 3
backup:
schedule: 0 12 * * *
controller:
configTemplates:
- nodeSelectors:
- matchLabels: {} # all nodes
- nodeSelectors:
- matchLabels:
"network.yaook.cloud/neutron-network-node": "true"
bridgeConfig:
- bridgeName: br-ex
uplinkDevice: eth1
openstackPhysicalNetwork: "physnet1"
targetRelease: yoga
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.