This change combines the previous puppet and docker files into a single file that performs the docker service installation and configuration for the neutron-metadata, neutron-ovs-agent, and neutron-ovs-dpdk-agent. With this patch the baremetal version of each respective neutron service has been removed. Related-Blueprint: services-yaml-flattening Change-Id: I7a918e72ce4bfd06a95d7a575603a6fb65ded5a9changes/13/630513/13
parent
7b9c549795
commit
d1fea280f4
@ -1,107 +0,0 @@
|
||||
heat_template_version: rocky
|
||||
|
||||
description: >
|
||||
OpenStack Neutron OVS DPDK configured with Puppet for Compute Role (Containerized)
|
||||
|
||||
parameters:
|
||||
DockerNeutronConfigImage:
|
||||
description: The container image to use for the neutron config_volume
|
||||
type: string
|
||||
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:
|
||||
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
NeutronOvsDpdkAgentBase:
|
||||
type: ../../puppet/services/neutron-ovs-dpdk-agent.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}
|
||||
|
||||
NeutronOvsAgentDockerBase:
|
||||
type: ../../docker/services/neutron-ovs-agent.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}
|
||||
|
||||
NeutronLogging:
|
||||
type: OS::TripleO::Services::Logging::NeutronCommon
|
||||
properties:
|
||||
NeutronServiceName: openvswitch-agent
|
||||
|
||||
outputs:
|
||||
role_data:
|
||||
description: Role data for Neutron openvswitch DPDK service
|
||||
value:
|
||||
service_name: {get_attr: [NeutronOvsDpdkAgentBase, role_data, service_name]}
|
||||
config_settings:
|
||||
map_merge:
|
||||
- get_attr: [NeutronOvsDpdkAgentBase, role_data, config_settings]
|
||||
- get_attr: [NeutronLogging, config_settings]
|
||||
service_config_settings:
|
||||
get_attr: [NeutronOvsDpdkAgentBase, role_data, service_config_settings]
|
||||
puppet_config:
|
||||
config_volume: neutron
|
||||
puppet_tags: neutron_config,neutron_agent_ovs,neutron_plugin_ml2
|
||||
step_config:
|
||||
get_attr: [NeutronOvsDpdkAgentBase, role_data, step_config]
|
||||
config_image: {get_param: DockerNeutronConfigImage}
|
||||
# We need to mount /run for puppet_config step. This is because
|
||||
# puppet-vswitch runs the commands "ovs-vsctl list open_vswitch ."
|
||||
# when running vswitch::ovs::enable_hw_offload: true
|
||||
# ovs-vsctl talks to the ovsdb-server (hosting conf.db)
|
||||
# on the unix domain socket - /run/openvswitch/db.sock
|
||||
volumes:
|
||||
- /lib/modules:/lib/modules:ro
|
||||
- /run/openvswitch:/run/openvswitch
|
||||
kolla_config:
|
||||
get_attr: [NeutronOvsAgentDockerBase, role_data, kolla_config]
|
||||
docker_config_scripts:
|
||||
get_attr: [NeutronOvsAgentDockerBase, role_data, docker_config_scripts]
|
||||
docker_config:
|
||||
get_attr: [NeutronOvsAgentDockerBase, role_data, docker_config]
|
||||
metadata_settings:
|
||||
get_attr: [NeutronOvsAgentDockerBase, role_data, metadata_settings]
|
||||
host_prep_tasks:
|
||||
get_attr: [NeutronOvsAgentDockerBase, role_data, host_prep_tasks]
|
||||
upgrade_tasks:
|
||||
get_attr: [NeutronOvsAgentDockerBase, role_data, upgrade_tasks]
|
||||
update_tasks:
|
||||
get_attr: [NeutronOvsAgentDockerBase, role_data, update_tasks]
|
||||
fast_forward_upgrade_tasks:
|
||||
get_attr: [NeutronOvsAgentDockerBase, role_data, fast_forward_upgrade_tasks]
|
@ -1,140 +0,0 @@
|
||||
heat_template_version: rocky
|
||||
|
||||
description: >
|
||||
OpenStack Neutron Metadata agent 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
|
||||
NeutronMetadataProxySharedSecret:
|
||||
description: Shared secret to prevent spoofing
|
||||
type: string
|
||||
hidden: true
|
||||
NeutronWorkers:
|
||||
default: ''
|
||||
description: |
|
||||
Sets the number of worker processes for the neutron metadata agent. The
|
||||
default value results in the configuration being left unset and a
|
||||
system-dependent default will be chosen (usually the number of
|
||||
processors). Please note that this can result in a large number of
|
||||
processes and memory consumption on systems with a large core count. On
|
||||
such systems it is recommended that a non-default value be selected that
|
||||
matches the load requirements.
|
||||
type: string
|
||||
NeutronPassword:
|
||||
description: The password for the neutron service and db account, used by neutron agents.
|
||||
type: string
|
||||
hidden: true
|
||||
MonitoringSubscriptionNeutronMetadata:
|
||||
default: 'overcloud-neutron-metadata'
|
||||
type: string
|
||||
NeutronMetadataAgentLoggingSource:
|
||||
type: json
|
||||
default:
|
||||
tag: openstack.neutron.agent.metadata
|
||||
path: /var/log/neutron/metadata-agent.log
|
||||
Debug:
|
||||
type: boolean
|
||||
default: false
|
||||
description: Set to True to enable debugging on all services.
|
||||
NeutronMetadataAgentDebug:
|
||||
default: ''
|
||||
description: Set to True to enable debugging for Neutron Metadata agent.
|
||||
type: string
|
||||
constraints:
|
||||
- allowed_values: [ '', 'true', 'True', 'TRUE', 'false', 'False', 'FALSE']
|
||||
EnableInternalTLS:
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
conditions:
|
||||
neutron_workers_unset: {equals : [{get_param: NeutronWorkers}, '']}
|
||||
service_debug_unset: {equals: [{get_param: NeutronMetadataAgentDebug}, '']}
|
||||
internal_tls_enabled: {equals: [{get_param: EnableInternalTLS}, true]}
|
||||
is_neutron_shared_metadata_notempty: {not: {equals: [{get_param: NeutronMetadataProxySharedSecret}, '']}}
|
||||
|
||||
resources:
|
||||
|
||||
NeutronBase:
|
||||
type: ./neutron-base.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 Metadata agent service.
|
||||
value:
|
||||
service_name: neutron_metadata
|
||||
monitoring_subscription: {get_param: MonitoringSubscriptionNeutronMetadata}
|
||||
config_settings:
|
||||
map_merge:
|
||||
- get_attr: [NeutronBase, role_data, config_settings]
|
||||
- neutron::agents::metadata::auth_password: {get_param: NeutronPassword}
|
||||
neutron::agents::metadata::auth_url: { get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] }
|
||||
neutron::agents::metadata::auth_tenant: 'service'
|
||||
neutron::agents::metadata::debug:
|
||||
if:
|
||||
- service_debug_unset
|
||||
- {get_param: Debug}
|
||||
- {get_param: NeutronMetadataAgentDebug}
|
||||
neutron::agents::metadata::metadata_host:
|
||||
str_replace:
|
||||
template:
|
||||
"%{hiera('cloud_name_$NETWORK')}"
|
||||
params:
|
||||
$NETWORK: {get_param: [ServiceNetMap, NovaMetadataNetwork]}
|
||||
neutron::agents::metadata::metadata_protocol:
|
||||
if:
|
||||
- internal_tls_enabled
|
||||
- 'https'
|
||||
- 'http'
|
||||
-
|
||||
if:
|
||||
- neutron_workers_unset
|
||||
- {}
|
||||
- neutron::agents::metadata::metadata_workers: {get_param: NeutronWorkers}
|
||||
-
|
||||
if:
|
||||
- is_neutron_shared_metadata_notempty
|
||||
- neutron::agents::metadata::shared_secret: {get_param: NeutronMetadataProxySharedSecret}
|
||||
- {}
|
||||
service_config_settings:
|
||||
fluentd:
|
||||
tripleo_fluentd_groups_neutron_metadata:
|
||||
- neutron
|
||||
tripleo_fluentd_sources_neutron_metadata:
|
||||
- {get_param: NeutronMetadataAgentLoggingSource}
|
||||
step_config: |
|
||||
include tripleo::profile::base::neutron::metadata
|
||||
upgrade_tasks: []
|
||||
metadata_settings:
|
||||
get_attr: [NeutronBase, role_data, metadata_settings]
|
@ -1,181 +0,0 @@
|
||||
heat_template_version: rocky
|
||||
|
||||
description: >
|
||||
OpenStack Neutron OVS agent 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
|
||||
NeutronEnableL2Pop:
|
||||
type: string
|
||||
description: Enable/disable the L2 population feature in the Neutron agents.
|
||||
default: "False"
|
||||
NeutronBridgeMappings:
|
||||
description: >
|
||||
The OVS logical->physical bridge mappings to use. See the Neutron
|
||||
documentation for details. Defaults to mapping br-ex - the external
|
||||
bridge on hosts - to a physical name 'datacentre' which can be used
|
||||
to create provider networks (and we use this for the default floating
|
||||
network) - if changing this either use different post-install network
|
||||
scripts or be sure to keep 'datacentre' as a mapping network name.
|
||||
type: comma_delimited_list
|
||||
default: "datacentre:br-ex"
|
||||
tags:
|
||||
- role_specific
|
||||
NeutronTunnelTypes:
|
||||
default: 'vxlan'
|
||||
description: The tunnel types for the Neutron tenant network.
|
||||
type: comma_delimited_list
|
||||
NeutronAgentExtensions:
|
||||
default: "qos"
|
||||
description: |
|
||||
Comma-separated list of extensions enabled for the Neutron agents.
|
||||
type: comma_delimited_list
|
||||
NeutronEnableDVR:
|
||||
default: False
|
||||
description: Enable Neutron DVR.
|
||||
type: boolean
|
||||
NeutronEnableARPResponder:
|
||||
default: false
|
||||
description: |
|
||||
Enable ARP responder feature in the OVS Agent.
|
||||
type: boolean
|
||||
MonitoringSubscriptionNeutronOvs:
|
||||
default: 'overcloud-neutron-ovs-agent'
|
||||
type: string
|
||||
NeutronOVSFirewallDriver:
|
||||
default: ''
|
||||
description: |
|
||||
Configure the classname of the firewall driver to use for implementing
|
||||
security groups. Possible values depend on system configuration. Some
|
||||
examples are: noop, openvswitch, iptables_hybrid. The default value of an
|
||||
empty string will result in a default supported configuration.
|
||||
type: string
|
||||
NeutronOpenVswitchAgentLoggingSource:
|
||||
type: json
|
||||
default:
|
||||
tag: openstack.neutron.agent.openvswitch
|
||||
path: /var/log/neutron/openvswitch-agent.log
|
||||
OvsHwOffload:
|
||||
default: false
|
||||
description: |
|
||||
Enable OVS Hardware Offload. This feature supported from OVS 2.8.0
|
||||
type: boolean
|
||||
tags:
|
||||
- role_specific
|
||||
NeutronOVSTunnelCsum:
|
||||
default: false
|
||||
description: |
|
||||
Set or un-set the tunnel header checksum on outgoing IP packet
|
||||
carrying GRE/VXLAN tunnel.
|
||||
type: boolean
|
||||
|
||||
conditions:
|
||||
no_firewall_driver: {equals : [{get_param: NeutronOVSFirewallDriver}, '']}
|
||||
|
||||
resources:
|
||||
|
||||
NeutronBase:
|
||||
type: ./neutron-base.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}
|
||||
|
||||
# Merging role-specific parameters (RoleParameters) with the default parameters.
|
||||
# RoleParameters will have the precedence over the default parameters.
|
||||
RoleParametersValue:
|
||||
type: OS::Heat::Value
|
||||
properties:
|
||||
type: json
|
||||
value:
|
||||
map_replace:
|
||||
- map_replace:
|
||||
- neutron::agents::ml2::ovs::bridge_mappings: NeutronBridgeMappings
|
||||
vswitch::ovs::enable_hw_offload: OvsHwOffload
|
||||
- values: {get_param: [RoleParameters]}
|
||||
- values:
|
||||
NeutronBridgeMappings: {get_param: NeutronBridgeMappings}
|
||||
OvsHwOffload: {get_param: OvsHwOffload}
|
||||
|
||||
outputs:
|
||||
role_data:
|
||||
description: Role data for the Neutron OVS agent service.
|
||||
value:
|
||||
service_name: neutron_ovs_agent
|
||||
monitoring_subscription: {get_param: MonitoringSubscriptionNeutronOvs}
|
||||
config_settings:
|
||||
map_merge:
|
||||
- get_attr: [NeutronBase, role_data, config_settings]
|
||||
- get_attr: [RoleParametersValue, value]
|
||||
- neutron::agents::ml2::ovs::l2_population: {get_param: NeutronEnableL2Pop}
|
||||
neutron::agents::ml2::ovs::enable_distributed_routing: {get_param: NeutronEnableDVR}
|
||||
neutron::agents::ml2::ovs::arp_responder: {get_param: NeutronEnableARPResponder}
|
||||
neutron::agents::ml2::ovs::tunnel_types: {get_param: NeutronTunnelTypes}
|
||||
neutron::agents::ml2::ovs::extensions: {get_param: NeutronAgentExtensions}
|
||||
neutron::agents::ml2::ovs::tunnel_csum: {get_param: NeutronOVSTunnelCsum}
|
||||
# NOTE: bind IP is found in hiera replacing the network name with the
|
||||
# local node IP for the given network; replacement examples
|
||||
# (eg. for internal_api):
|
||||
# internal_api -> IP
|
||||
# internal_api_uri -> [IP]
|
||||
# internal_api_subnet - > IP/CIDR
|
||||
neutron::agents::ml2::ovs::local_ip:
|
||||
str_replace:
|
||||
template:
|
||||
"%{hiera('$NETWORK')}"
|
||||
params:
|
||||
$NETWORK: {get_param: [ServiceNetMap, NeutronTenantNetwork]}
|
||||
tripleo::neutron_ovs_agent::firewall_rules:
|
||||
'118 neutron vxlan networks':
|
||||
proto: 'udp'
|
||||
dport: 4789
|
||||
'136 neutron gre networks':
|
||||
proto: 'gre'
|
||||
-
|
||||
if:
|
||||
- no_firewall_driver
|
||||
- {}
|
||||
- neutron::agents::ml2::ovs::firewall_driver: {get_param: NeutronOVSFirewallDriver}
|
||||
service_config_settings:
|
||||
collectd:
|
||||
tripleo.collectd.plugins.neutron_ovs_agent:
|
||||
- ovs_stats
|
||||
collectd::plugin::ovs_stats::socket: '/var/run/openvswitch/db.sock'
|
||||
fluentd:
|
||||
tripleo_fluentd_groups_neutron_ovs_agent:
|
||||
- neutron
|
||||
tripleo_fluentd_sources_neutron_ovs_agent:
|
||||
- {get_param: NeutronOpenVswitchAgentLoggingSource}
|
||||
step_config: |
|
||||
include ::tripleo::profile::base::neutron::ovs
|
||||
upgrade_tasks: []
|
||||
metadata_settings:
|
||||
get_attr: [NeutronBase, role_data, metadata_settings]
|
Loading…
Reference in new issue