Add 'ovn-controller' service

Presently the ovn-controller service (puppet/services/neutron-compute-plugin-ovn.yaml)
is started only on compute nodes. But for the cases where the controller nodes
provide the north/south traffic, we need ovn-controller service runninng in controller
nodes as well.

This patch
 - Renames the neutron-compute-plugin-ovn.yaml to ovn-controller.yaml which makes more
   sense and sets the service name as 'ovn-controller'.
 - Adds the service 'ovn-controller' to Controller and Compute roles.
 - Adds the missing 'upgrade_tasks' section in ovn-dbs.yaml and ovn-controller.yaml

Depends-On: Ie3f09dc70a582f3d14de093043e232820f837bc3
Depends-On: Ide11569d81f5f28bafccc168b624be505174fc53
Change-Id: Ib7747406213d18fd65b86820c1f86ee7c39f7cf5
This commit is contained in:
Numan Siddique 2017-07-13 17:14:51 +05:30
parent 017f8b9b47
commit 5f313f27c9
12 changed files with 55 additions and 16 deletions

View File

@ -16,7 +16,8 @@ resource_registry:
OS::TripleO::Services::NeutronDhcpAgent: OS::Heat::None OS::TripleO::Services::NeutronDhcpAgent: OS::Heat::None
OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None
OS::TripleO::Services::NeutronCorePlugin: OS::TripleO::Services::NeutronCorePluginML2OVN OS::TripleO::Services::NeutronCorePlugin: OS::TripleO::Services::NeutronCorePluginML2OVN
OS::TripleO::Services::ComputeNeutronCorePlugin: ../../puppet/services/neutron-compute-plugin-ovn.yaml OS::TripleO::Services::ComputeNeutronCorePlugin: OS::Heat::None
OS::TripleO::Services::OVNController: ../../puppet/services/ovn-controller.yaml
OS::TripleO::Services::OVNDBs: ../../puppet/services/ovn-dbs.yaml OS::TripleO::Services::OVNDBs: ../../puppet/services/ovn-dbs.yaml
parameter_defaults: parameter_defaults:
@ -34,7 +35,7 @@ parameter_defaults:
- OS::TripleO::Services::NeutronServer - OS::TripleO::Services::NeutronServer
- OS::TripleO::Services::NeutronCorePlugin - OS::TripleO::Services::NeutronCorePlugin
- OS::TripleO::Services::OVNDBs - OS::TripleO::Services::OVNDBs
- OS::TripleO::Services::ComputeNeutronCorePlugin - OS::TripleO::Services::OVNController
- OS::TripleO::Services::RabbitMQ - OS::TripleO::Services::RabbitMQ
- OS::TripleO::Services::HAproxy - OS::TripleO::Services::HAproxy
- OS::TripleO::Services::Keepalived - OS::TripleO::Services::Keepalived

View File

@ -39,3 +39,4 @@ parameter_defaults:
- OS::TripleO::Services::MySQLClient - OS::TripleO::Services::MySQLClient
- OS::TripleO::Services::Docker - OS::TripleO::Services::Docker
- OS::TripleO::Services::Iscsid - OS::TripleO::Services::Iscsid
- OS::TripleO::Services::OVNController

View File

@ -2,14 +2,15 @@
# extensions, configured via puppet # extensions, configured via puppet
resource_registry: resource_registry:
OS::TripleO::Services::NeutronCorePlugin: OS::TripleO::Services::NeutronCorePluginML2OVN OS::TripleO::Services::NeutronCorePlugin: OS::TripleO::Services::NeutronCorePluginML2OVN
OS::TripleO::Services::ComputeNeutronCorePlugin: ../puppet/services/neutron-compute-plugin-ovn.yaml OS::TripleO::Services::OVNController: ../puppet/services/ovn-controller.yaml
OS::TripleO::Services::OVNDBs: ../puppet/services/pacemaker/ovn-dbs.yaml OS::TripleO::Services::OVNDBs: ../puppet/services/pacemaker/ovn-dbs.yaml
# Disabling Neutron services that overlap with OVN # Disabling Neutron services that overlap with OVN
OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None
OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None
OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
OS::TripleO::Services::NeutronMetadataAgent: OS::Heat::None OS::TripleO::Services::NeutronMetadataAgent: OS::Heat::None
OS::TripleO::Services::NeutronDhcpAgent: OS::Heat::None OS::TripleO::Services::NeutronDhcpAgent: OS::Heat::None
OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None OS::TripleO::Services::ComputeNeutronCorePlugin: OS::Heat::None
parameter_defaults: parameter_defaults:
NeutronMechanismDrivers: ovn NeutronMechanismDrivers: ovn

View File

@ -1,15 +1,16 @@
# A Heat environment file which can be used to enable OVN # A Heat environment file which can be used to enable OVN
# extensions, configured via puppet # extensions, configured via puppet
resource_registry: resource_registry:
OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None
OS::TripleO::Services::NeutronMetadataAgent: OS::Heat::None
OS::TripleO::Services::NeutronCorePlugin: OS::TripleO::Services::NeutronCorePluginML2OVN OS::TripleO::Services::NeutronCorePlugin: OS::TripleO::Services::NeutronCorePluginML2OVN
OS::TripleO::Services::ComputeNeutronCorePlugin: ../puppet/services/neutron-compute-plugin-ovn.yaml OS::TripleO::Services::OVNController: ../puppet/services/ovn-controller.yaml
# Disabling Neutron services that overlap with OVN
OS::TripleO::Services::NeutronDhcpAgent: OS::Heat::None
OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None
OS::TripleO::Services::OVNDBs: ../puppet/services/ovn-dbs.yaml OS::TripleO::Services::OVNDBs: ../puppet/services/ovn-dbs.yaml
# Disabling Neutron services that overlap with OVN
OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None
OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None
OS::TripleO::Services::NeutronDhcpAgent: OS::Heat::None
OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
OS::TripleO::Services::NeutronMetadataAgent: OS::Heat::None
OS::TripleO::Services::ComputeNeutronCorePlugin: OS::Heat::None
parameter_defaults: parameter_defaults:
NeutronMechanismDrivers: ovn NeutronMechanismDrivers: ovn

View File

@ -156,6 +156,7 @@ resource_registry:
OS::TripleO::Services::NeutronCorePluginNuage: puppet/services/neutron-plugin-nuage.yaml OS::TripleO::Services::NeutronCorePluginNuage: puppet/services/neutron-plugin-nuage.yaml
OS::TripleO::Services::NeutronCorePluginNSX: puppet/services/neutron-plugin-nsx.yaml OS::TripleO::Services::NeutronCorePluginNSX: puppet/services/neutron-plugin-nsx.yaml
OS::TripleO::Services::OVNDBs: OS::Heat::None OS::TripleO::Services::OVNDBs: OS::Heat::None
OS::TripleO::Services::OVNController: OS::Heat::None
OS::TripleO::Services::NeutronCorePluginMidonet: puppet/services/neutron-midonet.yaml OS::TripleO::Services::NeutronCorePluginMidonet: puppet/services/neutron-midonet.yaml
OS::TripleO::Services::NeutronOvsAgent: puppet/services/neutron-ovs-agent.yaml OS::TripleO::Services::NeutronOvsAgent: puppet/services/neutron-ovs-agent.yaml

View File

@ -1,7 +1,7 @@
heat_template_version: pike heat_template_version: pike
description: > description: >
OpenStack Neutron Compute OVN agent OpenStack OVN Controller agent
parameters: parameters:
EndpointMap: EndpointMap:
@ -52,16 +52,16 @@ parameters:
outputs: outputs:
role_data: role_data:
description: Role data for the Neutron Compute OVN agent description: Role data for the OVN Controller agent
value: value:
service_name: neutron_compute_plugin_ovn service_name: ovn_controller
config_settings: config_settings:
ovn::southbound::port: {get_param: OVNSouthboundServerPort} ovn::southbound::port: {get_param: OVNSouthboundServerPort}
ovn::controller::ovn_encap_type: {get_param: OVNTunnelEncapType} ovn::controller::ovn_encap_type: {get_param: OVNTunnelEncapType}
ovn::controller::ovn_encap_ip: {get_param: [ServiceNetMap, NeutronApiNetwork]} ovn::controller::ovn_encap_ip: {get_param: [ServiceNetMap, NeutronApiNetwork]}
ovn::controller::ovn_bridge_mappings: {get_param: NeutronBridgeMappings} ovn::controller::ovn_bridge_mappings: {get_param: NeutronBridgeMappings}
nova::compute::force_config_drive: true nova::compute::force_config_drive: true
tripleo.neutron_compute_plugin_ovn.firewall_rules: tripleo.ovn_controller.firewall_rules:
'118 neutron vxlan networks': '118 neutron vxlan networks':
proto: 'udp' proto: 'udp'
dport: 4789 dport: 4789
@ -70,3 +70,17 @@ outputs:
dport: 6081 dport: 6081
step_config: | step_config: |
include ::tripleo::profile::base::neutron::agents::ovn include ::tripleo::profile::base::neutron::agents::ovn
upgrade_tasks:
- name: Check if ovn_controller is deployed
command: systemctl is-enabled ovn-controller
tags: common
ignore_errors: True
register: ovn_controller_enabled
- name: "PreUpgrade step0,validation: Check service ovn-controller is running"
shell: /usr/bin/systemctl show 'ovn-controller' --property ActiveState | grep '\bactive\b'
when: ovn_controller_enabled.rc == 0
tags: step0,validation
- name: Stop ovn-controller service
tags: step1
when: ovn_controller_enabled.rc == 0
service: name=ovn-controller state=stopped

View File

@ -57,3 +57,17 @@ outputs:
- {get_param: OVNSouthboundServerPort} - {get_param: OVNSouthboundServerPort}
step_config: | step_config: |
include ::tripleo::profile::base::neutron::ovn_northd include ::tripleo::profile::base::neutron::ovn_northd
upgrade_tasks:
- name: Check if ovn_northd is deployed
command: systemctl is-enabled ovn-northd
tags: common
ignore_errors: True
register: ovn_northd_enabled
- name: "PreUpgrade step0,validation: Check service ovn-northd is running"
shell: /usr/bin/systemctl show 'ovn-northd' --property ActiveState | grep '\bactive\b'
when: ovn_northd_enabled.rc == 0
tags: step0,validation
- name: Stop ovn-northd service
tags: step1
when: ovn_northd_enabled.rc == 0
service: name=ovn-northd state=stopped

View File

@ -45,3 +45,4 @@
- OS::TripleO::Services::TripleoPackages - OS::TripleO::Services::TripleoPackages
- OS::TripleO::Services::Tuned - OS::TripleO::Services::Tuned
- OS::TripleO::Services::Vpp - OS::TripleO::Services::Vpp
- OS::TripleO::Services::OVNController

View File

@ -45,3 +45,4 @@
- OS::TripleO::Services::TripleoPackages - OS::TripleO::Services::TripleoPackages
- OS::TripleO::Services::Tuned - OS::TripleO::Services::Tuned
- OS::TripleO::Services::Vpp - OS::TripleO::Services::Vpp
- OS::TripleO::Services::OVNController

View File

@ -109,6 +109,7 @@
- OS::TripleO::Services::OpenDaylightApi - OS::TripleO::Services::OpenDaylightApi
- OS::TripleO::Services::OpenDaylightOvs - OS::TripleO::Services::OpenDaylightOvs
- OS::TripleO::Services::OVNDBs - OS::TripleO::Services::OVNDBs
- OS::TripleO::Services::OVNController
- OS::TripleO::Services::Pacemaker - OS::TripleO::Services::Pacemaker
- OS::TripleO::Services::PankoApi - OS::TripleO::Services::PankoApi
- OS::TripleO::Services::RabbitMQ - OS::TripleO::Services::RabbitMQ

View File

@ -86,6 +86,7 @@
- OS::TripleO::Services::OpenDaylightApi - OS::TripleO::Services::OpenDaylightApi
- OS::TripleO::Services::OpenDaylightOvs - OS::TripleO::Services::OpenDaylightOvs
- OS::TripleO::Services::OVNDBs - OS::TripleO::Services::OVNDBs
- OS::TripleO::Services::OVNController
- OS::TripleO::Services::Pacemaker - OS::TripleO::Services::Pacemaker
- OS::TripleO::Services::PankoApi - OS::TripleO::Services::PankoApi
- OS::TripleO::Services::Redis - OS::TripleO::Services::Redis

View File

@ -112,6 +112,7 @@
- OS::TripleO::Services::OpenDaylightApi - OS::TripleO::Services::OpenDaylightApi
- OS::TripleO::Services::OpenDaylightOvs - OS::TripleO::Services::OpenDaylightOvs
- OS::TripleO::Services::OVNDBs - OS::TripleO::Services::OVNDBs
- OS::TripleO::Services::OVNController
- OS::TripleO::Services::Pacemaker - OS::TripleO::Services::Pacemaker
- OS::TripleO::Services::PankoApi - OS::TripleO::Services::PankoApi
- OS::TripleO::Services::RabbitMQ - OS::TripleO::Services::RabbitMQ
@ -179,6 +180,7 @@
- OS::TripleO::Services::TripleoPackages - OS::TripleO::Services::TripleoPackages
- OS::TripleO::Services::Tuned - OS::TripleO::Services::Tuned
- OS::TripleO::Services::Vpp - OS::TripleO::Services::Vpp
- OS::TripleO::Services::OVNController
############################################################################### ###############################################################################
# Role: BlockStorage # # Role: BlockStorage #
############################################################################### ###############################################################################