Addition of Nuage as mechanism driver for ML2
Adding composable services for Nuage mechanism driver for ML2. This is separate from Nuage as the core plugin and intentional duplication of Nuage under puppet services. Parameters required for working of Nuage as mechanism driver are also added. Change-Id: I2b564610721152c4f4dab9da79442256ba8d0b33
This commit is contained in:
parent
2bc6d68676
commit
0bc2403ecf
@ -1,13 +1,13 @@
|
||||
# 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::Services::NeutronDhcpAgent: OS::Heat::None
|
||||
OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
|
||||
OS::TripleO::Services::NeutronMetadataAgent: OS::Heat::None
|
||||
OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None
|
||||
OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None
|
||||
# Override the NeutronCorePlugin to use Nuage
|
||||
OS::TripleO::Services::NeutronCorePlugin: OS::TripleO::Services::NeutronCorePluginNuage
|
||||
OS::TripleO::Services::ComputeNeutronCorePlugin: ../puppet/services/neutron-compute-plugin-nuage.yaml
|
||||
OS::TripleO::Services::NeutronCorePlugin: OS::TripleO::Services::NeutronCorePluginML2Nuage
|
||||
|
||||
parameter_defaults:
|
||||
NeutronNuageNetPartitionName: 'default_name'
|
||||
@ -18,9 +18,18 @@ parameter_defaults:
|
||||
NeutronNuageBaseURIVersion: 'default_uri_version'
|
||||
NeutronNuageCMSId: ''
|
||||
UseForwardedFor: true
|
||||
NeutronCorePlugin: 'nuage_neutron.plugins.nuage.plugin.NuagePlugin'
|
||||
NeutronEnableDHCPAgent: false
|
||||
NeutronServicePlugins: []
|
||||
NovaOVSBridge: 'alubr0'
|
||||
controllerExtraConfig:
|
||||
NeutronServicePlugins: ''
|
||||
NeutronDBSyncExtraParams: '--config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini'
|
||||
NeutronTypeDrivers: ''
|
||||
NeutronNetworkType: ''
|
||||
NeutronMechanismDrivers: ''
|
||||
NeutronPluginExtensions: ''
|
||||
NeutronFlatNetworks: ''
|
||||
NeutronTunnelIdRanges: ''
|
||||
NeutronNetworkVLANRanges: ''
|
||||
NeutronVniRanges: ''
|
||||
NovaOVSBridge: 'default_bridge'
|
||||
NeutronMetadataProxySharedSecret: 'default'
|
||||
InstanceNameTemplate: 'inst-%08x'
|
||||
ControllerExtraConfig:
|
||||
neutron::api_extensions_path: '/usr/lib/python2.7/site-packages/neutron/plugins/nuage/'
|
||||
|
@ -2,7 +2,13 @@
|
||||
# Nuage backend on the compute, configured via puppet
|
||||
resource_registry:
|
||||
OS::TripleO::ComputeExtraConfigPre: ../puppet/extraconfig/pre_deploy/compute/nova-nuage.yaml
|
||||
OS::TripleO::Services::ComputeNeutronCorePlugin: ../puppet/services/neutron-compute-plugin-nuage.yaml
|
||||
|
||||
parameter_defaults:
|
||||
NuageActiveController: '0.0.0.0'
|
||||
NuageStandbyController: '0.0.0.0'
|
||||
NovaOVSBridge: 'default_bridge'
|
||||
NovaComputeLibvirtType: 'default_type'
|
||||
NovaIPv6: False
|
||||
NuageMetadataProxySharedSecret: 'default'
|
||||
NuageNovaApiEndpoint: 'default_endpoint'
|
||||
|
@ -154,6 +154,7 @@ resource_registry:
|
||||
OS::TripleO::Services::NeutronCorePluginML2OVN: puppet/services/neutron-plugin-ml2-ovn.yaml
|
||||
OS::TripleO::Services::NeutronCorePluginPlumgrid: puppet/services/neutron-plugin-plumgrid.yaml
|
||||
OS::TripleO::Services::NeutronCorePluginNuage: puppet/services/neutron-plugin-nuage.yaml
|
||||
OS::TripleO::Services::NeutronCorePluginML2Nuage: puppet/services/neutron-plugin-ml2-nuage.yaml
|
||||
OS::TripleO::Services::NeutronCorePluginNSX: puppet/services/neutron-plugin-nsx.yaml
|
||||
OS::TripleO::Services::OVNDBs: OS::Heat::None
|
||||
OS::TripleO::Services::OVNController: OS::Heat::None
|
||||
|
@ -69,6 +69,12 @@ parameters:
|
||||
networks, neutron uses this value without modification. For overlay
|
||||
networks such as VXLAN, neutron automatically subtracts the overlay
|
||||
protocol overhead from this value.
|
||||
NeutronDBSyncExtraParams:
|
||||
default: ''
|
||||
description: |
|
||||
String of extra command line parameters to append to the neutron-db-manage
|
||||
upgrade head command.
|
||||
type: string
|
||||
ServiceData:
|
||||
default: {}
|
||||
description: Dictionary packing service data
|
||||
@ -134,6 +140,7 @@ outputs:
|
||||
neutron::db::database_max_retries: -1
|
||||
neutron::db::sync::db_sync_timeout: {get_param: DatabaseSyncTimeout}
|
||||
neutron::global_physnet_mtu: {get_param: NeutronGlobalPhysnetMtu}
|
||||
neutron::db::sync::extra_params: {get_param: NeutronDBSyncExtraParams}
|
||||
- if:
|
||||
- dhcp_agents_zero
|
||||
- {}
|
||||
|
99
puppet/services/neutron-plugin-ml2-nuage.yaml
Normal file
99
puppet/services/neutron-plugin-ml2-nuage.yaml
Normal file
@ -0,0 +1,99 @@
|
||||
heat_template_version: pike
|
||||
|
||||
description: >
|
||||
OpenStack Neutron ML2/Nuage plugin configured with Puppet
|
||||
|
||||
parameters:
|
||||
ServiceData:
|
||||
default: {}
|
||||
description: Dictionary packing service data
|
||||
type: json
|
||||
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
|
||||
RoleName:
|
||||
default: ''
|
||||
description: Role name on which the service is applied
|
||||
type: string
|
||||
RoleParameters:
|
||||
default: {}
|
||||
description: Parameters specific to the role
|
||||
type: json
|
||||
EndpointMap:
|
||||
default: {}
|
||||
description: Mapping of service endpoint -> protocol. Typically set
|
||||
via parameter_defaults in the resource registry.
|
||||
type: json
|
||||
# Config specific parameters, to be provided via parameter_defaults
|
||||
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
|
||||
|
||||
UseForwardedFor:
|
||||
description: Treat X-Forwarded-For as the canonical remote address. Only enable this if you have a sanitizing proxy.
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
resources:
|
||||
|
||||
NeutronML2Base:
|
||||
type: ./neutron-plugin-ml2.yaml
|
||||
properties:
|
||||
ServiceData: {get_param: ServiceData}
|
||||
ServiceNetMap: {get_param: ServiceNetMap}
|
||||
DefaultPasswords: {get_param: DefaultPasswords}
|
||||
EndpointMap: {get_param: EndpointMap}
|
||||
RoleName: {get_param: RoleName}
|
||||
RoleParameters: {get_param: RoleParameters}
|
||||
|
||||
outputs:
|
||||
role_data:
|
||||
description: Role data for the Neutron ML2/Nuage plugin
|
||||
value:
|
||||
service_name: neutron_plugin_ml2_nuage
|
||||
config_settings:
|
||||
map_merge:
|
||||
- get_attr: [NeutronML2Base, role_data, config_settings]
|
||||
- neutron::plugins::ml2::nuage::nuage_net_partition_name: {get_param: NeutronNuageNetPartitionName}
|
||||
neutron::plugins::ml2::nuage::nuage_vsd_ip: {get_param: NeutronNuageVSDIp}
|
||||
neutron::plugins::ml2::nuage::nuage_vsd_username: {get_param: NeutronNuageVSDUsername}
|
||||
neutron::plugins::ml2::nuage::nuage_vsd_password: {get_param: NeutronNuageVSDPassword}
|
||||
neutron::plugins::ml2::nuage::nuage_vsd_organization: {get_param: NeutronNuageVSDOrganization}
|
||||
neutron::plugins::ml2::nuage::nuage_base_uri_version: {get_param: NeutronNuageBaseURIVersion}
|
||||
neutron::plugins::ml2::nuage::nuage_cms_id: {get_param: NeutronNuageCMSId}
|
||||
nova::api::use_forwarded_for: {get_param: UseForwardedFor}
|
||||
step_config: |
|
||||
include tripleo::profile::base::neutron::plugins::ml2
|
@ -72,6 +72,10 @@ parameters:
|
||||
default: 'vxlan'
|
||||
description: The tenant network type for Neutron.
|
||||
type: comma_delimited_list
|
||||
NeutronFirewallDriver:
|
||||
description: Firewall driver for realizing neutron security group function
|
||||
type: string
|
||||
default: 'openvswitch'
|
||||
resources:
|
||||
|
||||
NeutronBase:
|
||||
@ -100,6 +104,7 @@ outputs:
|
||||
neutron::plugins::ml2::tunnel_id_ranges: {get_param: NeutronTunnelIdRanges}
|
||||
neutron::plugins::ml2::vni_ranges: {get_param: NeutronVniRanges}
|
||||
neutron::plugins::ml2::tenant_network_types: {get_param: NeutronNetworkType}
|
||||
neutron::plugins::ml2::firewall_driver: {get_param: NeutronFirewallDriver}
|
||||
|
||||
step_config: |
|
||||
include ::tripleo::profile::base::neutron::plugins::ml2
|
||||
|
Loading…
Reference in New Issue
Block a user