Split OVN northd and ml2 plugin

This allows us to take advantage of the composable roles hiera
settings to connect the plugin to the northd/ovndb API without
needing to hard-code the IP of the node running the service.

Change-Id: I2508d48f81c1819ae3521fff271c0bdc50724604
Depends-On: I9af7bd837c340c3df016fc7ad4238b2941ba7a95
Closes-Bug: #1634171
This commit is contained in:
Steven Hardy 2016-10-18 12:15:56 +01:00 committed by Numan Siddique
parent d78e6c2822
commit d169989598
6 changed files with 47 additions and 11 deletions

View File

@ -8,10 +8,10 @@ resource_registry:
# Disabling Neutron services that overlap with OVN # Disabling Neutron services that overlap with OVN
OS::TripleO::Services::NeutronDhcpAgent: OS::Heat::None OS::TripleO::Services::NeutronDhcpAgent: OS::Heat::None
OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None
OS::TripleO::Services::OVNDBs: ../puppet/services/ovn-dbs.yaml
parameter_defaults: parameter_defaults:
NeutronMechanismDrivers: ovn NeutronMechanismDrivers: ovn
OVNDbHost: '0.0.0.0'
OVNSouthboundServerPort: 6642 OVNSouthboundServerPort: 6642
OVNNorthboundServerPort: 6641 OVNNorthboundServerPort: 6641
OVNDbConnectionTimeout: 60 OVNDbConnectionTimeout: 60
@ -19,3 +19,4 @@ parameter_defaults:
OVNNeutronSyncMode: log OVNNeutronSyncMode: log
OVNQosDriver: ovn-qos OVNQosDriver: ovn-qos
OVNTunnelEncapType: geneve OVNTunnelEncapType: geneve
NeutronEnableDHCPAgent: false

View File

@ -58,6 +58,7 @@ parameters:
CephRgwNetwork: storage CephRgwNetwork: storage
PublicNetwork: external PublicNetwork: external
OpendaylightApiNetwork: internal_api OpendaylightApiNetwork: internal_api
OvnDbsNetwork: internal_api
MistralApiNetwork: internal_api MistralApiNetwork: internal_api
ZaqarApiNetwork: internal_api ZaqarApiNetwork: internal_api
# We special-case the default ResolveNetwork for the CephStorage role # We special-case the default ResolveNetwork for the CephStorage role

View File

@ -146,6 +146,8 @@ resource_registry:
OS::TripleO::Services::NeutronCorePluginPlumgrid: puppet/services/neutron-plugin-plumgrid.yaml OS::TripleO::Services::NeutronCorePluginPlumgrid: puppet/services/neutron-plugin-plumgrid.yaml
OS::TripleO::Services::NeutronCorePluginNuage: puppet/services/neutron-plugin-nuage.yaml OS::TripleO::Services::NeutronCorePluginNuage: puppet/services/neutron-plugin-nuage.yaml
OS::TripleO::Services::NeutronCorePluginOpencontrail: puppet/services/neutron-plugin-opencontrail.yaml OS::TripleO::Services::NeutronCorePluginOpencontrail: puppet/services/neutron-plugin-opencontrail.yaml
OS::TripleO::Services::OVNDBs: OS::Heat::None
OS::TripleO::Services::NeutronCorePluginMidonet: puppet/services/neutron-midonet.yaml OS::TripleO::Services::NeutronCorePluginMidonet: puppet/services/neutron-midonet.yaml
OS::TripleO::Services::NeutronOvsAgent: puppet/services/neutron-ovs-agent.yaml OS::TripleO::Services::NeutronOvsAgent: puppet/services/neutron-ovs-agent.yaml
OS::TripleO::Services::ComputeNeutronOvsAgent: puppet/services/neutron-ovs-agent.yaml OS::TripleO::Services::ComputeNeutronOvsAgent: puppet/services/neutron-ovs-agent.yaml

View File

@ -18,13 +18,6 @@ parameters:
description: Mapping of service endpoint -> protocol. Typically set description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry. via parameter_defaults in the resource registry.
type: json type: json
OVNDbHost:
description: IP address on which the OVN DB servers are listening
type: string
OVNNorthboundServerPort:
description: Port of the OVN Northbound DB server
type: number
default: 6641
OVNDbConnectionTimeout: OVNDbConnectionTimeout:
description: Timeout in seconds for the OVSDB connection transaction description: Timeout in seconds for the OVSDB connection transaction
type: number type: number
@ -68,9 +61,7 @@ outputs:
config_settings: config_settings:
map_merge: map_merge:
- get_attr: [NeutronMl2Base, role_data, config_settings] - get_attr: [NeutronMl2Base, role_data, config_settings]
- ovn::northbound::port: {get_param: OVNNorthboundServerPort} - neutron::plugins::ovn::ovsdb_connection_timeout: {get_param: OVNDbConnectionTimeout}
tripleo::profile::base::neutron::plugins::ml2::ovn::ovn_db_host: {get_param: OVNDbHost}
neutron::plugins::ovn::ovsdb_connection_timeout: {get_param: OVNDbConnectionTimeout}
neutron::plugins::ovn::neutron_sync_mode: {get_param: OVNNeutronSyncMode} neutron::plugins::ovn::neutron_sync_mode: {get_param: OVNNeutronSyncMode}
neutron::plugins::ovn::ovn_l3_mode: true neutron::plugins::ovn::ovn_l3_mode: true
neutron::plugins::ovn::vif_type: {get_param: OVNVifType} neutron::plugins::ovn::vif_type: {get_param: OVNVifType}

View File

@ -0,0 +1,40 @@
heat_template_version: 2016-04-08
description: >
OVN databases configured with puppet
parameters:
ServiceNetMap:
default: {}
description: Mapping of service_name -> network name. Typically set
via parameter_defaults in the resource registry. This
mapping overrides those in ServiceNetMapDefaults.
type: json
DefaultPasswords:
default: {}
type: json
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
OVNNorthboundServerPort:
description: Port of the OVN Northbound DB server
type: number
default: 6641
OVNSouthboundServerPort:
description: Port of the OVN Southbound DB server
type: number
default: 6642
outputs:
role_data:
description: Role data for the OVN northd service
value:
service_name: ovn_dbs
config_settings:
ovn::northbound::port: {get_param: OVNNorthboundServerPort}
ovn::southbound::port: {get_param: OVNSouthboundServerPort}
ovn::northd::dbs_listen_ip: {get_param: [ServiceNetMap, OvnDbsNetwork]}
step_config: |
include ::tripleo::profile::base::neutron::ovn_northd

View File

@ -97,6 +97,7 @@
- OS::TripleO::Services::BarbicanApi - OS::TripleO::Services::BarbicanApi
- OS::TripleO::Services::PankoApi - OS::TripleO::Services::PankoApi
- OS::TripleO::Services::Zaqar - OS::TripleO::Services::Zaqar
- OS::TripleO::Services::OVNDBs
- name: Compute - name: Compute
CountDefault: 1 CountDefault: 1