Add cisco VTS ML2 template for a dockerized service and default environment settings

Change-Id: I01989cdec64d5dd3c38ea484d59c89c7bd873b83
Implements: blueprint ml2-cisco-vts
Signed-off-by: Wojciech Dec <wdec@cisco.com>
This commit is contained in:
Wojciech Dec 2018-01-02 16:21:56 +01:00
parent db56757a66
commit d726a9c8b4
6 changed files with 153 additions and 13 deletions

View File

@ -307,6 +307,11 @@ topics:
description: Enables Neutron L2 gateway Service Plugin and Agent
requires:
- overcloud-resource-registry-puppet.yaml
- file: environments/neutron-ml2-cisco-vts.yaml
title: Cisco VTS ML2 Plugin
description: Enables Cisco VTS ML2 Plugin
requires:
- overcloud-resource-registry-puppet.yaml
- title: Storage
description:

View File

@ -0,0 +1,64 @@
heat_template_version: queens
description: >
VTS Controller Settings for Neutron ML2 Plugin (Docker)
parameters:
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
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
DockerNeutronConfigImage:
description: The container image to use for the neutron config_volume
type: string
DefaultPasswords:
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
resources:
NeutronMl2VtsBase:
type: ../../puppet/services/neutron-plugin-ml2-cisco-vts.yaml
properties:
EndpointMap: {get_param: EndpointMap}
ServiceData: {get_param: ServiceData}
ServiceNetMap: {get_param: ServiceNetMap}
DefaultPasswords: {get_param: DefaultPasswords}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
outputs:
role_data:
description: Role data for the Neutron ML2 Cisco VTS Plugin role.
value:
service_name: {get_attr: [NeutronMl2VtsBase, role_data, service_name]}
config_settings: {get_attr: [NeutronMl2VtsBase, role_data, config_settings]}
logging_source: {get_attr: [NeutronMl2VtsBase, role_data, logging_source]}
logging_groups: {get_attr: [NeutronMl2VtsBase, role_data, logging_groups]}
service_config_settings: {get_attr: [NeutronMl2VtsBase, role_data, service_config_settings]}
# BEGIN DOCKER SETTINGS
puppet_config:
config_volume: 'neutron'
puppet_tags: neutron_plugin_ml2
step_config:
get_attr: [NeutronMl2VtsBase, role_data, step_config]
config_image: {get_param: DockerNeutronConfigImage}
kolla_config: {}
docker_config: {}

View File

@ -0,0 +1,29 @@
# A Heat environment file which can be used to enable Cisco VTS ML2 driver configured
# via puppet
resource_registry:
OS::TripleO::Services::NeutronCorePlugin: OS::TripleO::Services::NeutronCorePluginVTS
## Comment out below line when deploying VTS Agent on compute nodes instead of VPP/VPFA
OS::TripleO::Services::ComputeNeutronCorePlugin: OS::TripleO::Services::NeutronCorePluginVTS
parameter_defaults:
###################
### VTS General ###
###################
VTSUsername: 'admin'
#VTSPassword:
VTSServer: ''
VTSVMMID: ''
###################
### Neutron ML2 ###
###################
NeutronCorePlugin: 'neutron.plugins.ml2.plugin.Ml2Plugin'
NeutronMechanismDrivers: 'sriovnicswitch,cisco_vts'
NeutronTypeDrivers: 'vxlan,vlan,flat'
NeutronServicePlugins: 'cisco_vts_router,trunk'

View File

@ -0,0 +1,37 @@
# A docker enabled Heat environment file which can be used to enable Cisco VTS , configured via puppet
# By default the configuration has items required to deploy VPP/VPFA on all nodes + the cisco ML2 VTS driver
resource_registry:
OS::TripleO::Services::NeutronCorePluginVTS: ../../docker/services/neutron-plugin-ml2-cisco-vts.yaml
OS::TripleO::Services::NeutronCorePlugin: OS::TripleO::Services::NeutronCorePluginVTS
## Comment out below line when deploying VTS Agent on compute nodes instead of VPP/VPFA
OS::TripleO::Services::ComputeNeutronCorePlugin: OS::TripleO::Services::NeutronCorePluginVTS
parameter_defaults:
########################################
### Docker Cisco VTS Neutron images ###
########################################
DockerNeutronApiImage: 'repo/binary-neutron-cisco-vts'
DockerNeutronConfigImage: 'repo/binary-neutron-cisco-vts'
###################
### VTS General ###
###################
VTSUsername: 'admin'
#VTSPassword:
VTSServer: ''
VTSVMMID: ''
###################
### Neutron ML2 ###
###################
NeutronCorePlugin: 'neutron.plugins.ml2.plugin.Ml2Plugin'
NeutronMechanismDrivers: 'sriovnicswitch,cisco_vts'
NeutronTypeDrivers: 'vxlan,vlan,flat'
NeutronServicePlugins: 'cisco_vts_router,trunk'

View File

@ -4,23 +4,10 @@ description: >
VTS Controller Settings for the Cisco VTS Neutron ML2 Plugin.
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
VTSUsername:
default: 'admin'
description: The username for the VTS server.
type: string
VTSPassword:
default: 'admin'
type: string
description: The password for the VTS server.
hidden: true
@ -39,6 +26,19 @@ parameters:
description: Timeout for VTS server
type: number
default: 120
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

View File

@ -0,0 +1,5 @@
---
features:
- |
Add neutron-plugin-ml2-cisco-vts as a dockerized Neutron Core service template in support of the cisco VTS
controller ml2 plugin.