step4: flatten the neutron service configurations

This change combines the previous puppet and docker files into a single
file that performs the docker service installation and configuration
for the neutron-lbaas-api, neutron-plugin-ml2-ansible,
and neutron-plugin-ml2-cisco-vts services.

Change-Id: I27abda33af2365eac4b6b91cd87ae528c2144e92
Related-Blueprint: services-yaml-flattening
This commit is contained in:
Dan Prince 2019-02-28 09:34:34 -05:00
parent fcdef786e5
commit f101bbe8cf
13 changed files with 84 additions and 252 deletions

View File

@ -1,7 +1,7 @@
heat_template_version: rocky
description: >
Neutron LBaaS service plugin configured with Puppet
Containerized LBaaS Service Plugin
parameters:
ServiceData:
@ -30,6 +30,9 @@ parameters:
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
DockerNeutronConfigImage:
description: The container image to use for the neutron config_volume
type: string
NeutronServiceProviders:
default: 'LOADBALANCERV2:Haproxy:neutron_lbaas.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default'
description: Global list of service providers used by neutron. This
@ -40,17 +43,28 @@ parameters:
octavia-api as one service or the other will break because the defaults are different.
type: comma_delimited_list
resources:
ContainersCommon:
type: ../../docker/services/containers-common.yaml
outputs:
role_data:
description: Role data for the Neutron LBaaS role.
description: Role data for the LBaaS role.
value:
service_name: neutron_lbaas_api
step_config: |
include ::tripleo::profile::base::neutron::lbaas
config_settings: {}
service_config_settings:
neutron_api:
neutron::server::service_providers: {get_param: NeutronServiceProviders}
horizon:
horizon::neutron_options:
enable_lb: True
puppet_config:
config_volume: 'neutron'
puppet_tags: neutron_lbaas_service_config
step_config: |
include ::tripleo::profile::base::neutron::lbaas
config_image: {get_param: DockerNeutronConfigImage}
kolla_config: {}
docker_config: {}

View File

@ -4,10 +4,6 @@ description: >
Neutron ML2 networking-ansible Plugin (Docker)
parameters:
ML2HostConfigs:
description: ML2 config for switches
default: {}
type: json
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
@ -36,10 +32,15 @@ parameters:
default: {}
description: Parameters specific to the role
type: json
ML2HostConfigs:
description: ML2 config for switches
default: {}
type: json
resources:
NeutronML2AnsibleBase:
type: ../../puppet/services/neutron-plugin-ml2-ansible.yaml
NeutronMl2Base:
type: ../../puppet/services/neutron-plugin-ml2.yaml
properties:
ML2HostConfigs: {get_param: ML2HostConfigs}
EndpointMap: {get_param: EndpointMap}
@ -53,17 +54,20 @@ outputs:
role_data:
description: Role data for the Neutron ML2 ansible Plugin role.
value:
service_name: {get_attr: [NeutronML2AnsibleBase, role_data, service_name]}
config_settings: {get_attr: [NeutronML2AnsibleBase, role_data, config_settings]}
service_config_settings: {get_attr: [NeutronML2AnsibleBase, role_data, service_config_settings]}
service_name: neutron_plugin_ml2_ansible
config_settings:
map_merge:
- get_attr: [NeutronMl2Base, role_data, config_settings]
- neutron::plugins::ml2::networking_ansible::host_configs: {get_param: ML2HostConfigs}
service_config_settings: {}
metadata_settings:
get_attr: [NeutronML2AnsibleBase, role_data, metadata_settings]
get_attr: [NeutronMl2Base, role_data, metadata_settings]
# BEGIN DOCKER SETTINGS
puppet_config:
config_volume: 'neutron'
puppet_tags: neutron_plugin_ml2
step_config:
get_attr: [NeutronML2AnsibleBase, role_data, step_config]
step_config: |
include ::tripleo::profile::base::neutron::plugins::ml2
config_image: {get_param: DockerNeutronConfigImage}
kolla_config: {}
docker_config: {}

View File

@ -1,9 +1,37 @@
heat_template_version: rocky
description: >
VTS Controller Settings for the Cisco VTS Neutron ML2 Plugin.
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
VTSUsername:
description: The username for the VTS server.
type: string
@ -30,52 +58,22 @@ 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
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
DefaultPasswords:
default: {}
type: json
resources:
NeutronMl2Base:
type: ./neutron-plugin-ml2.yaml
type: ../../puppet/services/neutron-plugin-ml2.yaml
properties:
EndpointMap: {get_param: EndpointMap}
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 VTS ML2 Plugin.
description: Role data for the Neutron ML2 Cisco VTS Plugin role.
value:
service_name: neutron_plugin_ml2_cisco_vts
config_settings:
@ -88,7 +86,15 @@ outputs:
neutron::plugins::ml2::cisco::vts::vts_password: {get_param: VTSPassword}
neutron::plugins::ml2::cisco::vts::vts_vmmid: {get_param: VTSVMMID}
neutron::plugins::ml2::cisco::vts::vts_timeout: {get_param: VTSTimeout}
step_config: |
include ::tripleo::profile::base::neutron::plugins::ml2
service_config_settings: {}
metadata_settings:
get_attr: [NeutronMl2Base, role_data, metadata_settings]
# BEGIN DOCKER SETTINGS
puppet_config:
config_volume: 'neutron'
puppet_tags: neutron_plugin_ml2
step_config: |
include ::tripleo::profile::base::neutron::plugins::ml2
config_image: {get_param: DockerNeutronConfigImage}
kolla_config: {}
docker_config: {}

View File

@ -1,66 +0,0 @@
heat_template_version: rocky
description: >
Containerized LBaaS Service 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
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
DockerNeutronConfigImage:
description: The container image to use for the neutron config_volume
type: string
resources:
ContainersCommon:
type: ./containers-common.yaml
NeutronLbaasBase:
type: ../../puppet/services/neutron-lbaas-api.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 LBaaS role.
value:
service_name: {get_attr: [NeutronLbaasBase, role_data, service_name]}
config_settings: {get_attr: [NeutronLbaasBase, role_data, config_settings]}
service_config_settings: {get_attr: [NeutronLbaasBase, role_data, service_config_settings]}
puppet_config:
config_volume: 'neutron'
puppet_tags: neutron_lbaas_service_config
step_config:
get_attr: [NeutronLbaasBase, role_data, step_config]
config_image: {get_param: DockerNeutronConfigImage}
kolla_config: {}
docker_config: {}

View File

@ -1,64 +0,0 @@
heat_template_version: rocky
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]}
service_config_settings: {get_attr: [NeutronMl2VtsBase, role_data, service_config_settings]}
metadata_settings:
get_attr: [NeutronMl2VtsBase, role_data, metadata_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

@ -1,6 +1,6 @@
# A Heat environment file which can be used to enable network-ansible ML2 mechanism driver
resource_registry:
OS::TripleO::Services::NeutronCorePlugin: ../puppet/services/neutron-plugin-ml2-ansible.yaml
OS::TripleO::Services::NeutronCorePlugin: ../deployment/neutron/neutron-plugin-ml2-ansible-container-puppet.yaml
parameter_defaults:
IronicDefaultNetworkInterface: neutron

View File

@ -9,7 +9,7 @@
# - LinuxBridges: neutron.agent.linux.interface.BridgeInterfaceDriver
resource_registry:
OS::TripleO::Services::NeutronLbaasv2Agent: ../../puppet/services/neutron-lbaas-agent.yaml
OS::TripleO::Services::NeutronLbaasv2Api: ../../puppet/services/neutron-lbaas-api.yaml
OS::TripleO::Services::NeutronLbaasv2Api: ../../deployment/neutron/neutron-lbaas-api-container-puppet.yaml
parameter_defaults:
NeutronLbaasInterfaceDriver: "neutron.agent.linux.interface.OVSInterfaceDriver"

View File

@ -3,7 +3,7 @@
# 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: ../../puppet/services/neutron-plugin-ml2-cisco-vts.yaml
OS::TripleO::Services::NeutronCorePluginVTS: ../../deployment/neutron/neutron-plugin-ml2-cisco-vts-container-puppet.yaml
OS::TripleO::Services::NeutronCorePlugin: OS::TripleO::Services::NeutronCorePluginVTS
## Comment out below line when deploying VTS Agent on compute nodes instead of VPP/VPFA

View File

@ -1,6 +1,6 @@
# A Heat environment file that can be used to deploy Neutron LBaaSv2 service
resource_registry:
OS::TripleO::Services::NeutronLbaasv2Api: ../../docker/services/neutron-lbaas-api.yaml
OS::TripleO::Services::NeutronLbaasv2Api: ../../deployment/neutron/neutron-lbaas-api-container-puppet.yaml
parameter_defaults:
NeutronServiceProviders: ['LOADBALANCERV2:Haproxy:neutron_lbaas.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default']

View File

@ -3,7 +3,7 @@
# 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::NeutronCorePluginVTS: ../../deployment/neutron/neutron-plugin-ml2-cisco-vts-container-puppet.yaml
OS::TripleO::Services::NeutronCorePlugin: OS::TripleO::Services::NeutronCorePluginVTS
## Comment out below line when deploying VTS Agent on compute nodes instead of VPP/VPFA

View File

@ -1,6 +1,6 @@
# A Heat environment file that can be used to deploy Neutron LBaaSv2 service
resource_registry:
OS::TripleO::Services::NeutronLbaasv2Api: ../../docker/services/neutron-lbaas-api.yaml
OS::TripleO::Services::NeutronLbaasv2Api: ../../deployment/neutron/neutron-lbaas-api-container-puppet.yaml
parameter_defaults:
NeutronServiceProviders: ['LOADBALANCERV2:VMWareEdge:neutron_lbaas.drivers.vmware.edge_driver_v2.EdgeLoadBalancerDriverV2:default']

View File

@ -163,8 +163,8 @@ resource_registry:
OS::TripleO::Services::NeutronCorePluginMLNXSDN: puppet/services/neutron-plugin-ml2-mlnx-sdn-assist.yaml
OS::TripleO::Services::NeutronCorePluginMidonet: puppet/services/neutron-midonet.yaml
OS::TripleO::Services::NeutronCorePluginVTS: docker/services/neutron-plugin-ml2-cisco-vts.yaml
OS::TripleO::Services::NeutronCorePluginML2Ansible: docker/services/neutron-plugin-ml2-ansible.yaml
OS::TripleO::Services::NeutronCorePluginVTS: deployment/neutron/neutron-plugin-ml2-cisco-vts-container-puppet.yaml
OS::TripleO::Services::NeutronCorePluginML2Ansible: deployment/neutron/neutron-plugin-ml2-ansible-container-puppet.yaml
OS::TripleO::Services::NeutronNuageVrs: puppet/services/neutron-controller-plugin-nuage.yaml
OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None
OS::TripleO::Services::NeutronLinuxbridgeAgent: OS::Heat::None

View File

@ -1,62 +0,0 @@
heat_template_version: rocky
description: >
OpenStack Neutron ML2 networking-ansible plugin configured with Puppet
parameters:
ML2HostConfigs:
description: ML2 config for switches
default: {}
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
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
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 networking-ansible plugin.
value:
service_name: neutron_plugin_ml2_ansible
config_settings:
map_merge:
- get_attr: [NeutronMl2Base, role_data, config_settings]
- neutron::plugins::ml2::networking_ansible::host_configs: {get_param: ML2HostConfigs}
step_config: |
include ::tripleo::profile::base::neutron::plugins::ml2
metadata_settings:
get_attr: [NeutronMl2Base, role_data, metadata_settings]