Changes for configuring Nuage
Added ExtraConfig templates and environment files for Nuage specific parameters. Modified overcloud_compute.pp and overcloud_controller.pp to conditionally include Nuage plugin and agents. Change-Id: I95510c753b0a262c73566481f9e94279970f4a4f
This commit is contained in:
parent
fdc2359e45
commit
ee9b8f3a5d
14
environments/neutron-nuage-config.yaml
Normal file
14
environments/neutron-nuage-config.yaml
Normal file
@ -0,0 +1,14 @@
|
||||
# A Heat environment file which can be used to enable a
|
||||
# a Neutron Nuage backend on the controller, configured via puppet
|
||||
resource_registry:
|
||||
OS::TripleO::ControllerExtraConfigPre: ../puppet/extraconfig/pre_deploy/controller/neutron-nuage.yaml
|
||||
|
||||
parameter_defaults:
|
||||
NeutronNuageOSControllerIp: '0.0.0.0'
|
||||
NeutronNuageNetPartitionName: 'default_name'
|
||||
NeutronNuageVSDIp: '0.0.0.0:0'
|
||||
NeutronNuageVSDUsername: 'username'
|
||||
NeutronNuageVSDPassword: 'password'
|
||||
NeutronNuageVSDOrganization: 'organization'
|
||||
NeutronNuageBaseURIVersion: 'default_uri_version'
|
||||
NeutronNuageCMSId: ''
|
8
environments/nova-nuage-config.yaml
Normal file
8
environments/nova-nuage-config.yaml
Normal file
@ -0,0 +1,8 @@
|
||||
# A Heat environment file which can be used to enable
|
||||
# Nuage backend on the compute, configured via puppet
|
||||
resource_registry:
|
||||
OS::TripleO::ComputeExtraConfigPre: ../puppet/extraconfig/pre_deploy/compute/nova-nuage.yaml
|
||||
|
||||
parameter_defaults:
|
||||
NuageActiveController: '0.0.0.0'
|
||||
NuageStandbyController: '0.0.0.0'
|
@ -375,6 +375,7 @@ resources:
|
||||
- '"%{::osfamily}"'
|
||||
- common
|
||||
- cisco_n1kv_data # Optionally provided by ComputeExtraConfigPre
|
||||
- nova_nuage_data # Optionally provided by ComputeExtraConfigPre
|
||||
datafiles:
|
||||
compute_extraconfig:
|
||||
mapped_data: {get_param: NovaComputeExtraConfig}
|
||||
|
@ -1035,6 +1035,7 @@ resources:
|
||||
- neutron_bigswitch_data # Optionally provided by ControllerExtraConfigPre
|
||||
- neutron_cisco_data # Optionally provided by ControllerExtraConfigPre
|
||||
- cisco_n1kv_data # Optionally provided by ControllerExtraConfigPre
|
||||
- neutron_nuage_data # Optionally provided by ControllerExtraConfigPre
|
||||
datafiles:
|
||||
controller_extraconfig:
|
||||
mapped_data: {get_param: ControllerExtraConfig}
|
||||
|
42
puppet/extraconfig/pre_deploy/compute/nova-nuage.yaml
Normal file
42
puppet/extraconfig/pre_deploy/compute/nova-nuage.yaml
Normal file
@ -0,0 +1,42 @@
|
||||
heat_template_version: 2015-04-30
|
||||
|
||||
description: Configure hieradata for Nuage configuration on the Compute
|
||||
|
||||
parameters:
|
||||
server:
|
||||
description: ID of the compute node to apply this config to
|
||||
type: string
|
||||
|
||||
NuageActiveController:
|
||||
description: IP address of the Active Virtualized Services Controller (VSC)
|
||||
type: string
|
||||
NuageStandbyController:
|
||||
description: IP address of the Standby Virtualized Services Controller (VSC)
|
||||
type: string
|
||||
|
||||
resources:
|
||||
NovaNuageConfig:
|
||||
type: OS::Heat::StructuredConfig
|
||||
properties:
|
||||
group: os-apply-config
|
||||
config:
|
||||
hiera:
|
||||
datafiles:
|
||||
nova_nuage_data:
|
||||
mapped_data:
|
||||
nuage::vrs::active_controller: {get_input: ActiveController}
|
||||
nuage::vrs::standby_controller: {get_input: StandbyController}
|
||||
|
||||
NovaNuageDeployment:
|
||||
type: OS::Heat::StructuredDeployment
|
||||
properties:
|
||||
config: {get_resource: NovaNuageConfig}
|
||||
server: {get_param: server}
|
||||
input_values:
|
||||
ActiveController: {get_param: NuageActiveController}
|
||||
StandbyController: {get_param: NuageStandbyController}
|
||||
|
||||
outputs:
|
||||
deploy_stdout:
|
||||
description: Deployment reference, used to trigger puppet apply on changes
|
||||
value: {get_attr: [NovaNuageDeployment, deploy_stdout]}
|
83
puppet/extraconfig/pre_deploy/controller/neutron-nuage.yaml
Normal file
83
puppet/extraconfig/pre_deploy/controller/neutron-nuage.yaml
Normal file
@ -0,0 +1,83 @@
|
||||
heat_template_version: 2015-04-30
|
||||
|
||||
description: Configure hieradata for Nuage configuration on the Controller
|
||||
|
||||
parameters:
|
||||
server:
|
||||
description: ID of the controller node to apply this config to
|
||||
type: string
|
||||
|
||||
# Config specific parameters, to be provided via parameter_defaults
|
||||
NeutronNuageOSControllerIp:
|
||||
description: IP address of the OpenStack Controller
|
||||
type: string
|
||||
|
||||
NeutronNuageNetPartitionName:
|
||||
description: Specifies the title that you will see on the VSD
|
||||
type: string
|
||||
default: 'default_name'
|
||||
|
||||
NeutronNuageVSDIp:
|
||||
description: IP address and port of the Virtual Services Directory
|
||||
type: string
|
||||
|
||||
NeutronNuageVSDUsername:
|
||||
description: Username to be used to log into VSD
|
||||
type: string
|
||||
|
||||
NeutronNuageVSDPassword:
|
||||
description: Password to be used to log into VSD
|
||||
type: string
|
||||
|
||||
NeutronNuageVSDOrganization:
|
||||
description: Organization parameter required to log into VSD
|
||||
type: string
|
||||
default: 'organization'
|
||||
|
||||
NeutronNuageBaseURIVersion:
|
||||
description: URI version to be used based on the VSD release
|
||||
type: string
|
||||
default: 'default_uri_version'
|
||||
|
||||
NeutronNuageCMSId:
|
||||
description: Cloud Management System ID (CMS ID) to distinguish between OS instances on the same VSD
|
||||
type: string
|
||||
|
||||
resources:
|
||||
NeutronNuageConfig:
|
||||
type: OS::Heat::StructuredConfig
|
||||
properties:
|
||||
group: os-apply-config
|
||||
config:
|
||||
hiera:
|
||||
datafiles:
|
||||
neutron_nuage_data:
|
||||
mapped_data:
|
||||
neutron::plugins::nuage::nuage_oscontroller_ip: {get_input: NuageOSControllerIp}
|
||||
neutron::plugins::nuage::nuage_net_partition_name: {get_input: NuageNetPartitionName}
|
||||
neutron::plugins::nuage::nuage_vsd_ip: {get_input: NuageVSDIp}
|
||||
neutron::plugins::nuage::nuage_vsd_username: {get_input: NuageVSDUsername}
|
||||
neutron::plugins::nuage::nuage_vsd_password: {get_input: NuageVSDPassword}
|
||||
neutron::plugins::nuage::nuage_vsd_organization: {get_input: NuageVSDOrganization}
|
||||
neutron::plugins::nuage::nuage_base_uri_version: {get_input: NuageBaseURIVersion}
|
||||
neutron::plugins::nuage::nuage_cms_id: {get_input: NuageCMSId}
|
||||
|
||||
NeutronNuageDeployment:
|
||||
type: OS::Heat::StructuredDeployment
|
||||
properties:
|
||||
config: {get_resource: NeutronNuageConfig}
|
||||
server: {get_param: server}
|
||||
input_values:
|
||||
NuageOSControllerIp: {get_param: NeutronNuageOSControllerIp}
|
||||
NuageNetPartitionName: {get_param: NeutronNuageNetPartitionName}
|
||||
NuageVSDIp: {get_param: NeutronNuageVSDIp}
|
||||
NuageVSDUsername: {get_param: NeutronNuageVSDUsername}
|
||||
NuageVSDPassword: {get_param: NeutronNuageVSDPassword}
|
||||
NuageVSDOrganization: {get_param: NeutronNuageVSDOrganization}
|
||||
NuageBaseURIVersion: {get_param: NeutronNuageBaseURIVersion}
|
||||
NuageCMSId: {get_param: NeutronNuageCMSId}
|
||||
|
||||
outputs:
|
||||
deploy_stdout:
|
||||
description: Deployment reference, used to trigger puppet apply on changes
|
||||
value: {get_attr: [NeutronNuageDeployment, deploy_stdout]}
|
@ -71,20 +71,28 @@ include ::nova::compute::libvirt
|
||||
include ::nova::network::neutron
|
||||
include ::neutron
|
||||
|
||||
class { '::neutron::plugins::ml2':
|
||||
flat_networks => split(hiera('neutron_flat_networks'), ','),
|
||||
tenant_network_types => [hiera('neutron_tenant_network_type')],
|
||||
}
|
||||
# If the value of core plugin is set to 'nuage',
|
||||
# include nuage agent,
|
||||
# else use the default value of 'ml2'
|
||||
if hiera('neutron::core_plugin') == 'neutron.plugins.nuage.plugin.NuagePlugin' {
|
||||
include ::nuage::vrs
|
||||
include ::nova::compute::neutron
|
||||
} else {
|
||||
class { '::neutron::plugins::ml2':
|
||||
flat_networks => split(hiera('neutron_flat_networks'), ','),
|
||||
tenant_network_types => [hiera('neutron_tenant_network_type')],
|
||||
}
|
||||
|
||||
class { '::neutron::agents::ml2::ovs':
|
||||
bridge_mappings => split(hiera('neutron_bridge_mappings'), ','),
|
||||
tunnel_types => split(hiera('neutron_tunnel_types'), ','),
|
||||
}
|
||||
class { '::neutron::agents::ml2::ovs':
|
||||
bridge_mappings => split(hiera('neutron_bridge_mappings'), ','),
|
||||
tunnel_types => split(hiera('neutron_tunnel_types'), ','),
|
||||
}
|
||||
|
||||
if 'cisco_n1kv' in hiera('neutron_mechanism_drivers') {
|
||||
class { '::neutron::agents::n1kv_vem':
|
||||
n1kv_source => hiera('n1kv_vem_source', undef),
|
||||
n1kv_version => hiera('n1kv_vem_version', undef),
|
||||
if 'cisco_n1kv' in hiera('neutron_mechanism_drivers') {
|
||||
class { '::neutron::agents::n1kv_vem':
|
||||
n1kv_source => hiera('n1kv_vem_source', undef),
|
||||
n1kv_version => hiera('n1kv_vem_version', undef),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -233,64 +233,72 @@ if hiera('step') >= 3 {
|
||||
include ::neutron
|
||||
include ::neutron::server
|
||||
include ::neutron::server::notifications
|
||||
include ::neutron::agents::l3
|
||||
include ::neutron::agents::dhcp
|
||||
include ::neutron::agents::metadata
|
||||
|
||||
file { '/etc/neutron/dnsmasq-neutron.conf':
|
||||
content => hiera('neutron_dnsmasq_options'),
|
||||
owner => 'neutron',
|
||||
group => 'neutron',
|
||||
notify => Service['neutron-dhcp-service'],
|
||||
require => Package['neutron'],
|
||||
}
|
||||
# If the value of core plugin is set to 'nuage',
|
||||
# include nuage core plugin,
|
||||
# else use the default value of 'ml2'
|
||||
if hiera('neutron::core_plugin') == 'neutron.plugins.nuage.plugin.NuagePlugin' {
|
||||
include ::neutron::plugins::nuage
|
||||
} else {
|
||||
include ::neutron::agents::l3
|
||||
include ::neutron::agents::dhcp
|
||||
include ::neutron::agents::metadata
|
||||
|
||||
class { '::neutron::plugins::ml2':
|
||||
flat_networks => split(hiera('neutron_flat_networks'), ','),
|
||||
tenant_network_types => [hiera('neutron_tenant_network_type')],
|
||||
mechanism_drivers => [hiera('neutron_mechanism_drivers')],
|
||||
}
|
||||
class { '::neutron::agents::ml2::ovs':
|
||||
bridge_mappings => split(hiera('neutron_bridge_mappings'), ','),
|
||||
tunnel_types => split(hiera('neutron_tunnel_types'), ','),
|
||||
}
|
||||
if 'cisco_n1kv' in hiera('neutron_mechanism_drivers') {
|
||||
include ::neutron::plugins::ml2::cisco::nexus1000v
|
||||
|
||||
class { '::neutron::agents::n1kv_vem':
|
||||
n1kv_source => hiera('n1kv_vem_source', undef),
|
||||
n1kv_version => hiera('n1kv_vem_version', undef),
|
||||
file { '/etc/neutron/dnsmasq-neutron.conf':
|
||||
content => hiera('neutron_dnsmasq_options'),
|
||||
owner => 'neutron',
|
||||
group => 'neutron',
|
||||
notify => Service['neutron-dhcp-service'],
|
||||
require => Package['neutron'],
|
||||
}
|
||||
|
||||
class { '::n1k_vsm':
|
||||
n1kv_source => hiera('n1kv_vsm_source', undef),
|
||||
n1kv_version => hiera('n1kv_vsm_version', undef),
|
||||
pacemaker_control => false,
|
||||
class { '::neutron::plugins::ml2':
|
||||
flat_networks => split(hiera('neutron_flat_networks'), ','),
|
||||
tenant_network_types => [hiera('neutron_tenant_network_type')],
|
||||
mechanism_drivers => [hiera('neutron_mechanism_drivers')],
|
||||
}
|
||||
}
|
||||
class { '::neutron::agents::ml2::ovs':
|
||||
bridge_mappings => split(hiera('neutron_bridge_mappings'), ','),
|
||||
tunnel_types => split(hiera('neutron_tunnel_types'), ','),
|
||||
}
|
||||
if 'cisco_n1kv' in hiera('neutron_mechanism_drivers') {
|
||||
include ::neutron::plugins::ml2::cisco::nexus1000v
|
||||
|
||||
if 'cisco_ucsm' in hiera('neutron_mechanism_drivers') {
|
||||
include ::neutron::plugins::ml2::cisco::ucsm
|
||||
}
|
||||
if 'cisco_nexus' in hiera('neutron_mechanism_drivers') {
|
||||
include ::neutron::plugins::ml2::cisco::nexus
|
||||
include ::neutron::plugins::ml2::cisco::type_nexus_vxlan
|
||||
}
|
||||
class { '::neutron::agents::n1kv_vem':
|
||||
n1kv_source => hiera('n1kv_vem_source', undef),
|
||||
n1kv_version => hiera('n1kv_vem_version', undef),
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
class { '::n1k_vsm':
|
||||
n1kv_source => hiera('n1kv_vsm_source', undef),
|
||||
n1kv_version => hiera('n1kv_vsm_version', undef),
|
||||
pacemaker_control => false,
|
||||
}
|
||||
}
|
||||
|
||||
Service['neutron-server'] -> Service['neutron-dhcp-service']
|
||||
Service['neutron-server'] -> Service['neutron-l3']
|
||||
Service['neutron-server'] -> Service['neutron-ovs-agent-service']
|
||||
Service['neutron-server'] -> Service['neutron-metadata']
|
||||
if 'cisco_ucsm' in hiera('neutron_mechanism_drivers') {
|
||||
include ::neutron::plugins::ml2::cisco::ucsm
|
||||
}
|
||||
if 'cisco_nexus' in hiera('neutron_mechanism_drivers') {
|
||||
include ::neutron::plugins::ml2::cisco::nexus
|
||||
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']
|
||||
Service['neutron-server'] -> Service['neutron-metadata']
|
||||
}
|
||||
|
||||
include ::cinder
|
||||
include ::cinder::api
|
||||
|
Loading…
Reference in New Issue
Block a user