Big Switch Neutron ML2 plugin integration
Add support for Big Switch Neutron ML2 plugin. Makes sure that the package is present and sets up the [restproxy] section in ml2_conf.ini. This also adds support for setting the ovs_use_veth option in l3_agent.ini. There is no support for this in puppet-neutron l3 class and it probably doesn't make sense adding it there, because this setting isn't relevant for all l3 agent drivers, it's specific to OVSInterfaceDriver. The ovs_use_veth option is also added to dhcp_agent.ini. Change-Id: I99635e25b2099dacce68154fe14693d6f06ac19f
This commit is contained in:
parent
f84d4e45c0
commit
e78e1c8d9b
17
environments/neutron-ml2-bigswitch.yaml
Normal file
17
environments/neutron-ml2-bigswitch.yaml
Normal file
@ -0,0 +1,17 @@
|
||||
# A Heat environment file which can be used to enable Big Switch
|
||||
# extensions, configured via puppet
|
||||
resource_registry:
|
||||
OS::TripleO::ControllerExtraConfigPre: ../puppet/extraconfig/pre_deploy/controller/neutron-ml2-bigswitch.yaml
|
||||
|
||||
parameter_defaults:
|
||||
# Required to fill in:
|
||||
NeutronBigswitchRestproxyServers:
|
||||
NeutronBigswitchRestproxyServerAuth:
|
||||
|
||||
# Optional:
|
||||
# NeutronBigswitchRestproxyAutoSyncOnFailure:
|
||||
# NeutronBigswitchRestproxyConsistencyInterval:
|
||||
# NeutronBigswitchRestproxyNeutronId:
|
||||
# NeutronBigswitchRestproxyServerSsl:
|
||||
# NeutronBigswitchRestproxySslCertDirectory:
|
||||
|
@ -910,6 +910,7 @@ resources:
|
||||
- '"%{::osfamily}"'
|
||||
- common
|
||||
- cinder_netapp_data # Optionally provided by ControllerExtraConfigPre
|
||||
- neutron_bigswitch_data # Optionally provided by ControllerExtraConfigPre
|
||||
- neutron_cisco_data # Optionally provided by ControllerExtraConfigPre
|
||||
datafiles:
|
||||
controller_extraconfig:
|
||||
|
@ -0,0 +1,73 @@
|
||||
heat_template_version: 2015-04-30
|
||||
|
||||
description: Configure hieradata for Neutron Big Switch configuration
|
||||
|
||||
parameters:
|
||||
server:
|
||||
description: ID of the controller node to apply this config to
|
||||
type: string
|
||||
NeutronBigswitchRestproxyServers:
|
||||
description: 'Big Switch controllers ("IP:port,IP:port")'
|
||||
type: string
|
||||
NeutronBigswitchRestproxyServerAuth:
|
||||
description: 'Big Switch controller credentials ("username:password")'
|
||||
type: string
|
||||
NeutronBigswitchRestproxyAutoSyncOnFailure:
|
||||
description: Resynchronize with the new master server on Big Switch failover.
|
||||
type: boolean
|
||||
default: true
|
||||
NeutronBigswitchRestproxyConsistencyInterval:
|
||||
description: Keepalive message interval (from Neutron to Big Switch controller).
|
||||
type: number
|
||||
default: 60
|
||||
NeutronBigswitchRestproxyNeutronId:
|
||||
description: Unique identifier of the Neutron instance for the Big Switch controller.
|
||||
type: string
|
||||
default: 'neutron'
|
||||
NeutronBigswitchRestproxyServerSsl:
|
||||
description: Whether Neutron should use SSL to talk to the Big Switch controllers.
|
||||
type: boolean
|
||||
default: true
|
||||
NeutronBigswitchRestproxySslCertDirectory:
|
||||
description: Directory where Big Switch controller certificate will be stored.
|
||||
type: string
|
||||
default: '/var/lib/neutron'
|
||||
|
||||
|
||||
resources:
|
||||
NeutronBigswitchConfig:
|
||||
type: OS::Heat::StructuredConfig
|
||||
properties:
|
||||
group: os-apply-config
|
||||
config:
|
||||
hiera:
|
||||
datafiles:
|
||||
neutron_bigswitch_data:
|
||||
mapped_data:
|
||||
neutron_enable_bigswitch_ml2: true
|
||||
neutron::plugins::ml2::bigswitch::restproxy::servers: {get_input: restproxy_servers}
|
||||
neutron::plugins::ml2::bigswitch::restproxy::server_auth: {get_input: restproxy_server_auth}
|
||||
neutron::plugins::ml2::bigswitch::restproxy::auto_sync_on_failure: {get_input: restproxy_auto_sync_on_failure}
|
||||
neutron::plugins::ml2::bigswitch::restproxy::consistency_interval: {get_input: restproxy_consistency_interval}
|
||||
neutron::plugins::ml2::bigswitch::restproxy::neutron_id: {get_input: restproxy_neutron_id}
|
||||
neutron::plugins::ml2::bigswitch::restproxy::server_ssl: {get_input: restproxy_server_ssl}
|
||||
neutron::plugins::ml2::bigswitch::restproxy::ssl_cert_directory: {get_input: restproxy_ssl_cert_directory}
|
||||
|
||||
NeutronBigswitchDeployment:
|
||||
type: OS::Heat::StructuredDeployment
|
||||
properties:
|
||||
config: {get_resource: NeutronBigswitchConfig}
|
||||
server: {get_param: server}
|
||||
input_values:
|
||||
restproxy_servers: {get_param: NeutronBigswitchRestproxyServers}
|
||||
restproxy_server_auth: {get_param: NeutronBigswitchRestproxyServerAuth }
|
||||
restproxy_auto_sync_on_failure: {get_param: NeutronBigswitchRestproxyAutoSyncOnFailure}
|
||||
restproxy_consistency_interval: {get_param: NeutronBigswitchRestproxyConsistencyInterval}
|
||||
restproxy_neutron_id: {get_param: NeutronBigswitchRestproxyNeutronId}
|
||||
restproxy_server_ssl: {get_param: NeutronBigswitchRestproxyServerSsl}
|
||||
restproxy_ssl_cert_directory: {get_param: NeutronBigswitchRestproxySslCertDirectory}
|
||||
|
||||
outputs:
|
||||
deploy_stdout:
|
||||
description: Deployment reference, used to trigger puppet apply on changes
|
||||
value: {get_attr: [NeutronBigswitchDeployment, deploy_stdout]}
|
@ -254,6 +254,16 @@ if hiera('step') >= 3 {
|
||||
include ::neutron::plugins::ml2::cisco::type_nexus_vxlan
|
||||
}
|
||||
|
||||
if hiera('neutron_enable_bigswitch_ml2', false) {
|
||||
include neutron::plugins::ml2::bigswitch::restproxy
|
||||
}
|
||||
neutron_l3_agent_config {
|
||||
'DEFAULT/ovs_use_veth': value => hiera('neutron_ovs_use_veth', false);
|
||||
}
|
||||
neutron_dhcp_agent_config {
|
||||
'DEFAULT/ovs_use_veth': value => hiera('neutron_ovs_use_veth', false);
|
||||
}
|
||||
|
||||
Service['neutron-server'] -> Service['neutron-dhcp-service']
|
||||
Service['neutron-server'] -> Service['neutron-l3']
|
||||
Service['neutron-server'] -> Service['neutron-ovs-agent-service']
|
||||
|
@ -616,6 +616,16 @@ if hiera('step') >= 3 {
|
||||
include ::neutron::plugins::ml2::cisco::type_nexus_vxlan
|
||||
}
|
||||
|
||||
if hiera('neutron_enable_bigswitch_ml2', false) {
|
||||
include neutron::plugins::ml2::bigswitch::restproxy
|
||||
}
|
||||
neutron_l3_agent_config {
|
||||
'DEFAULT/ovs_use_veth': value => hiera('neutron_ovs_use_veth', false);
|
||||
}
|
||||
neutron_dhcp_agent_config {
|
||||
'DEFAULT/ovs_use_veth': value => hiera('neutron_ovs_use_veth', false);
|
||||
}
|
||||
|
||||
include ::cinder
|
||||
class { '::cinder::api':
|
||||
sync_db => $sync_db,
|
||||
|
Loading…
Reference in New Issue
Block a user