aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--environments/neutron-ml2-bigswitch.yaml4
-rw-r--r--puppet/compute.yaml1
-rw-r--r--puppet/extraconfig/pre_deploy/compute/neutron-ml2-bigswitch.yaml45
-rw-r--r--puppet/extraconfig/pre_deploy/controller/neutron-ml2-bigswitch.yaml1
-rw-r--r--puppet/manifests/overcloud_compute.pp4
-rw-r--r--puppet/manifests/overcloud_controller.pp3
-rw-r--r--puppet/manifests/overcloud_controller_pacemaker.pp3
7 files changed, 58 insertions, 3 deletions
diff --git a/environments/neutron-ml2-bigswitch.yaml b/environments/neutron-ml2-bigswitch.yaml
index 69c91326..750d3c4e 100644
--- a/environments/neutron-ml2-bigswitch.yaml
+++ b/environments/neutron-ml2-bigswitch.yaml
@@ -2,11 +2,13 @@
# extensions, configured via puppet
resource_registry:
OS::TripleO::ControllerExtraConfigPre: ../puppet/extraconfig/pre_deploy/controller/neutron-ml2-bigswitch.yaml
+ OS::TripleO::ComputeExtraConfigPre: ../puppet/extraconfig/pre_deploy/compute/neutron-ml2-bigswitch.yaml
parameter_defaults:
# Required to fill in:
NeutronBigswitchRestproxyServers:
NeutronBigswitchRestproxyServerAuth:
+ NeutronMechanismDrivers: bsn_ml2
# Optional:
# NeutronBigswitchRestproxyAutoSyncOnFailure:
@@ -14,4 +16,6 @@ parameter_defaults:
# NeutronBigswitchRestproxyNeutronId:
# NeutronBigswitchRestproxyServerSsl:
# NeutronBigswitchRestproxySslCertDirectory:
+ # NeutronBigswitchAgentEnabled:
+ # NeutronBigswitchLLDPEnabled:
diff --git a/puppet/compute.yaml b/puppet/compute.yaml
index e56c3766..7586ebd0 100644
--- a/puppet/compute.yaml
+++ b/puppet/compute.yaml
@@ -443,6 +443,7 @@ resources:
- all_nodes # provided by allNodesConfig
- '"%{::osfamily}"'
- common
+ - neutron_bigswitch_data # Optionally provided by ComputeExtraConfigPre
- cisco_n1kv_data # Optionally provided by ComputeExtraConfigPre
- nova_nuage_data # Optionally provided by ComputeExtraConfigPre
- midonet_data # Optionally provided by AllNodesExtraConfig
diff --git a/puppet/extraconfig/pre_deploy/compute/neutron-ml2-bigswitch.yaml b/puppet/extraconfig/pre_deploy/compute/neutron-ml2-bigswitch.yaml
new file mode 100644
index 00000000..49c77190
--- /dev/null
+++ b/puppet/extraconfig/pre_deploy/compute/neutron-ml2-bigswitch.yaml
@@ -0,0 +1,45 @@
+heat_template_version: 2015-04-30
+
+description: Configure hieradata for Big Switch agents on compute node
+
+parameters:
+ server:
+ description: ID of the controller node to apply this config to
+ type: string
+ NeutronBigswitchAgentEnabled:
+ description: The state of the neutron-bsn-agent service.
+ type: boolean
+ default: false
+ NeutronBigswitchLLDPEnabled:
+ description: The state of the neutron-bsn-lldp service.
+ type: boolean
+ default: true
+
+
+resources:
+ NeutronBigswitchConfig:
+ type: OS::Heat::StructuredConfig
+ properties:
+ group: os-apply-config
+ config:
+ hiera:
+ datafiles:
+ neutron_bigswitch_data:
+ mapped_data:
+ neutron::agents::bigswitch::agent_enabled: {get_input: neutron_enable_bigswitch_agent}
+ neutron::agents::bigswitch::lldp_enabled: {get_input: neutron_enable_bigswitch_lldp}
+
+ NeutronBigswitchDeployment:
+ type: OS::Heat::StructuredDeployment
+ properties:
+ name: NeutronBigswitchDeployment
+ config: {get_resource: NeutronBigswitchConfig}
+ server: {get_param: server}
+ input_values:
+ neutron_enable_bigswitch_agent: {get_param: NeutronBigswitchAgentEnabled}
+ neutron_enable_bigswitch_lldp: {get_param: NeutronBigswitchLLDPEnabled}
+
+outputs:
+ deploy_stdout:
+ description: Deployment reference, used to trigger puppet apply on changes
+ value: {get_attr: [NeutronBigswitchDeployment, deploy_stdout]}
diff --git a/puppet/extraconfig/pre_deploy/controller/neutron-ml2-bigswitch.yaml b/puppet/extraconfig/pre_deploy/controller/neutron-ml2-bigswitch.yaml
index 1e652960..467f57cc 100644
--- a/puppet/extraconfig/pre_deploy/controller/neutron-ml2-bigswitch.yaml
+++ b/puppet/extraconfig/pre_deploy/controller/neutron-ml2-bigswitch.yaml
@@ -44,7 +44,6 @@ resources:
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}
diff --git a/puppet/manifests/overcloud_compute.pp b/puppet/manifests/overcloud_compute.pp
index 3022787b..0f1318c3 100644
--- a/puppet/manifests/overcloud_compute.pp
+++ b/puppet/manifests/overcloud_compute.pp
@@ -131,6 +131,10 @@ else {
n1kv_version => hiera('n1kv_vem_version', undef),
}
}
+
+ if 'bsn_ml2' in hiera('neutron::plugins::ml2::mechanism_drivers') {
+ include ::neutron::agents::bigswitch
+ }
}
diff --git a/puppet/manifests/overcloud_controller.pp b/puppet/manifests/overcloud_controller.pp
index 601f35f7..14dde157 100644
--- a/puppet/manifests/overcloud_controller.pp
+++ b/puppet/manifests/overcloud_controller.pp
@@ -355,8 +355,9 @@ if hiera('step') >= 3 {
include ::neutron::plugins::ml2::cisco::type_nexus_vxlan
}
- if hiera('neutron_enable_bigswitch_ml2', false) {
+ if 'bsn_ml2' in hiera('neutron::plugins::ml2::mechanism_drivers') {
include ::neutron::plugins::ml2::bigswitch::restproxy
+ include ::neutron::agents::bigswitch
}
neutron_l3_agent_config {
'DEFAULT/ovs_use_veth': value => hiera('neutron_ovs_use_veth', false);
diff --git a/puppet/manifests/overcloud_controller_pacemaker.pp b/puppet/manifests/overcloud_controller_pacemaker.pp
index b57bcffb..c527c26e 100644
--- a/puppet/manifests/overcloud_controller_pacemaker.pp
+++ b/puppet/manifests/overcloud_controller_pacemaker.pp
@@ -732,8 +732,9 @@ if hiera('step') >= 3 {
}
}
- if hiera('neutron_enable_bigswitch_ml2', false) {
+ if 'bsn_ml2' in hiera('neutron::plugins::ml2::mechanism_drivers') {
include ::neutron::plugins::ml2::bigswitch::restproxy
+ include ::neutron::agents::bigswitch
}
neutron_l3_agent_config {
'DEFAULT/ovs_use_veth': value => hiera('neutron_ovs_use_veth', false);