Add l2gw neutron agent support
L2 Gateway (L2GW) is an API framework for OpenStack that offers bridging two or more networks together to make them look at a single broadcast domain. This patch implements the l2gw agent which is one of the backend of the l2 gateway service plugin. Change-Id: I1ae8132ceff9410be7bd82caddf0d14251e720bf Depends-On: If1501c153b1b170b9550cb7e5a23be463fba1fe9 Partially-Implements: blueprint l2gw-service-integration Signed-off-by: Peng Liu <pliu@redhat.com>
This commit is contained in:
parent
5b4e1bc823
commit
633ab23f88
@ -369,7 +369,7 @@ topics:
|
||||
- overcloud-resource-registry-puppet.yaml
|
||||
- file: environments/neutron-l2gw.yaml
|
||||
title: Neutron L2 gateway Service Plugin
|
||||
description: Enables Neutron L2 gateway Service Plugin
|
||||
description: Enables Neutron L2 gateway Service Plugin and Agent
|
||||
requires:
|
||||
- overcloud-resource-registry-puppet.yaml
|
||||
|
||||
|
@ -8,13 +8,20 @@
|
||||
# - OpenDaylight: L2GW:OpenDaylight:networking_odl.l2gateway.driver.OpenDaylightL2gwDriver:default
|
||||
resource_registry:
|
||||
OS::TripleO::Services::NeutronL2gwApi: ../puppet/services/neutron-l2gw-api.yaml
|
||||
OS::TripleO::Services::NeutronL2gwAgent: ../puppet/services/neutron-l2gw-agent.yaml
|
||||
|
||||
parameter_defaults:
|
||||
NeutronServicePlugins: "networking_l2gw.services.l2gateway.plugin.L2GatewayPlugin"
|
||||
L2gwServiceProvider: ["L2GW:l2gw:networking_l2gw.services.l2gateway.service_drivers.L2gwDriver:default"]
|
||||
L2gwServiceProvider: ['L2GW:l2gw:networking_l2gw.services.l2gateway.service_drivers.L2gwDriver:default']
|
||||
|
||||
# Optional
|
||||
# L2gwServiceDefaultInterfaceName:
|
||||
# L2gwServiceDefaultDeviceName:
|
||||
# L2gwServiceQuotaL2Gateway:
|
||||
# L2gwServicePeriodicMonitoringInterval:
|
||||
# L2gwServiceDefaultInterfaceName: "FortyGigE1/0/1"
|
||||
# L2gwServiceDefaultDeviceName: "Switch1"
|
||||
# L2gwServiceQuotaL2Gateway: 10
|
||||
# L2gwServicePeriodicMonitoringInterval: 5
|
||||
# L2gwAgentOvsdbHosts: ["ovsdb1:127.0.0.1:6632"]
|
||||
# L2gwAgentEnableManager: False
|
||||
# L2gwAgentManagerTableListeningPort: "6633"
|
||||
# L2gwAgentPeriodicInterval: 20
|
||||
# L2gwAgentMaxConnectionRetries: 10
|
||||
# L2gwAgentSocketTimeout: 30
|
@ -135,6 +135,7 @@ resource_registry:
|
||||
OS::TripleO::Services::NeutronDhcpAgent: puppet/services/neutron-dhcp.yaml
|
||||
OS::TripleO::Services::NeutronL2gwApi: OS::Heat::None
|
||||
OS::TripleO::Services::NeutronL3Agent: puppet/services/neutron-l3.yaml
|
||||
OS::TripleO::Services::NeutronL2gwAgent: OS::Heat::None
|
||||
OS::TripleO::Services::NeutronMetadataAgent: puppet/services/neutron-metadata.yaml
|
||||
# FIXME(shardy) the duplicate NeutronServer line can be removed when we've updated
|
||||
# the multinode job ControllerServices after this patch merges
|
||||
|
106
puppet/services/neutron-l2gw-agent.yaml
Normal file
106
puppet/services/neutron-l2gw-agent.yaml
Normal file
@ -0,0 +1,106 @@
|
||||
heat_template_version: pike
|
||||
|
||||
description: >
|
||||
L2 Gateway agent configured with Puppet
|
||||
parameters:
|
||||
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
|
||||
L2gwAgentOvsdbHosts:
|
||||
default: ''
|
||||
description: L2 gateway agent OVSDB server list.
|
||||
type: comma_delimited_list
|
||||
L2gwAgentEnableManager:
|
||||
default: false
|
||||
description: Connection can be initiated by the ovsdb server.
|
||||
type: boolean
|
||||
L2gwAgentManagerTableListeningPort:
|
||||
default: 6632
|
||||
description: port number for L2 gateway agent, so that it can listen
|
||||
type: number
|
||||
L2gwAgentPeriodicInterval:
|
||||
default: 20
|
||||
description: The L2 gateway agent checks connection state with the OVSDB
|
||||
servers. The interval is number of seconds between attempts.
|
||||
type: number
|
||||
L2gwAgentMaxConnectionRetries:
|
||||
default: 10
|
||||
description: The L2 gateway agent retries to connect to the OVSDB server
|
||||
type: number
|
||||
L2gwAgentSocketTimeout:
|
||||
default: 30
|
||||
description: socket timeout
|
||||
type: number
|
||||
MonitoringSubscriptionNeutronL2gwAgent:
|
||||
default: 'overcloud-neutron-l2gw-agent'
|
||||
type: string
|
||||
NeutronL2gwAgentLoggingSource:
|
||||
type: json
|
||||
default:
|
||||
tag: openstack.neutron.agent.l2gw
|
||||
path: /var/log/neutron/l2gw-agent.log
|
||||
|
||||
conditions:
|
||||
internal_manager_enabled: {equals: [{get_param: L2gwAgentEnableManager}, True]}
|
||||
|
||||
outputs:
|
||||
role_data:
|
||||
description: Role data for the L2 Gateway role.
|
||||
value:
|
||||
service_name: neutron_l2gw_agent
|
||||
monitoring_subscription: {get_param: MonitoringSubscriptionNeutronL2gwAgent}
|
||||
logging_source: {get_param: NeutronL2gwAgentLoggingSource}
|
||||
logging_groups:
|
||||
- neutron
|
||||
config_settings:
|
||||
map_merge:
|
||||
- neutron::agents::l2gw::ovsdb_hosts: {get_param: L2gwAgentOvsdbHosts}
|
||||
neutron::agents::l2gw::enable_manager: {get_param: L2gwAgentEnableManager}
|
||||
neutron::agents::l2gw::manager_table_listening_port: {get_param: L2gwAgentManagerTableListeningPort}
|
||||
neutron::agents::l2gw::periodic_interval: {get_param: L2gwAgentPeriodicInterval}
|
||||
neutron::agents::l2gw::max_connection_retries: {get_param: L2gwAgentMaxConnectionRetries}
|
||||
neutron::agents::l2gw::socket_timeout: {get_param: L2gwAgentSocketTimeout}
|
||||
-
|
||||
if:
|
||||
- internal_manager_enabled
|
||||
- tripleo.neutron_l2gw_agent.firewall_rules:
|
||||
'142 neutron l2gw agent input':
|
||||
proto: 'tcp'
|
||||
dport: {get_param: L2gwAgentManagerTableListeningPort}
|
||||
- null
|
||||
|
||||
step_config: |
|
||||
include tripleo::profile::base::neutron::agents::l2gw
|
||||
upgrade_tasks:
|
||||
- name: Check if neutron_l2gw_agent is deployed
|
||||
command: systemctl is-enabled neutron-l2gw-agent
|
||||
tags: common
|
||||
ignore_errors: True
|
||||
register: neutron_l2gw_agent_enabled
|
||||
- name: "PreUpgrade step0,validation: Check service neutron-l2gw-agent is running"
|
||||
shell: /usr/bin/systemctl show 'neutron-l2gw-agent' --property ActiveState | grep '\bactive\b'
|
||||
when: neutron_l2gw_agent_enabled.rc == 0
|
||||
tags: step0,validation
|
||||
- name: Stop neutron_l2gw_agent service
|
||||
tags: step1
|
||||
when: neutron_l2gw_agent_enabled.rc == 0
|
||||
service: name=neutron-l2gw-agent state=stopped
|
3
releasenotes/notes/add-l2gw-agent-1a2f14a6ceefe362.yaml
Normal file
3
releasenotes/notes/add-l2gw-agent-1a2f14a6ceefe362.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
---
|
||||
features:
|
||||
- Add support for L2 Gateway Neutron agent
|
@ -74,6 +74,7 @@
|
||||
- OS::TripleO::Services::NeutronApi
|
||||
- OS::TripleO::Services::NeutronCorePlugin
|
||||
- OS::TripleO::Services::NeutronOvsAgent
|
||||
- OS::TripleO::Services::NeutronL2gwAgent
|
||||
- OS::TripleO::Services::RabbitMQ
|
||||
- OS::TripleO::Services::HAproxy
|
||||
- OS::TripleO::Services::Keepalived
|
||||
|
Loading…
Reference in New Issue
Block a user