Browse Source

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
changes/92/483492/9
Numan Siddique 5 years ago
parent
commit
5f313f27c9
  1. 5
      ci/environments/scenario007-multinode.yaml
  2. 1
      environments/hyperconverged-ceph.yaml
  3. 7
      environments/neutron-ml2-ovn-ha.yaml
  4. 13
      environments/neutron-ml2-ovn.yaml
  5. 1
      overcloud-resource-registry-puppet.j2.yaml
  6. 22
      puppet/services/ovn-controller.yaml
  7. 14
      puppet/services/ovn-dbs.yaml
  8. 1
      roles/Compute.yaml
  9. 1
      roles/ComputeHCI.yaml
  10. 1
      roles/Controller.yaml
  11. 1
      roles/ControllerOpenstack.yaml
  12. 2
      roles_data.yaml

5
ci/environments/scenario007-multinode.yaml

@ -16,7 +16,8 @@ resource_registry:
OS::TripleO::Services::NeutronDhcpAgent: OS::Heat::None
OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None
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
parameter_defaults:
@ -34,7 +35,7 @@ parameter_defaults:
- OS::TripleO::Services::NeutronServer
- OS::TripleO::Services::NeutronCorePlugin
- OS::TripleO::Services::OVNDBs
- OS::TripleO::Services::ComputeNeutronCorePlugin
- OS::TripleO::Services::OVNController
- OS::TripleO::Services::RabbitMQ
- OS::TripleO::Services::HAproxy
- OS::TripleO::Services::Keepalived

1
environments/hyperconverged-ceph.yaml

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

7
environments/neutron-ml2-ovn-ha.yaml

@ -2,14 +2,15 @@
# extensions, configured via puppet
resource_registry:
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
# Disabling Neutron services that overlap with OVN
OS::TripleO::Services::NeutronL3Agent: 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::NeutronDhcpAgent: OS::Heat::None
OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None
OS::TripleO::Services::ComputeNeutronCorePlugin: OS::Heat::None
parameter_defaults:
NeutronMechanismDrivers: ovn

13
environments/neutron-ml2-ovn.yaml

@ -1,15 +1,16 @@
# A Heat environment file which can be used to enable OVN
# extensions, configured via puppet
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::ComputeNeutronCorePlugin: ../puppet/services/neutron-compute-plugin-ovn.yaml
OS::TripleO::Services::OVNController: ../puppet/services/ovn-controller.yaml
OS::TripleO::Services::OVNDBs: ../puppet/services/ovn-dbs.yaml
# Disabling Neutron services that overlap with OVN
OS::TripleO::Services::NeutronDhcpAgent: OS::Heat::None
OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None
OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None
OS::TripleO::Services::OVNDBs: ../puppet/services/ovn-dbs.yaml
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:
NeutronMechanismDrivers: ovn

1
overcloud-resource-registry-puppet.j2.yaml

@ -156,6 +156,7 @@ resource_registry:
OS::TripleO::Services::NeutronCorePluginNuage: puppet/services/neutron-plugin-nuage.yaml
OS::TripleO::Services::NeutronCorePluginNSX: puppet/services/neutron-plugin-nsx.yaml
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::NeutronOvsAgent: puppet/services/neutron-ovs-agent.yaml

22
puppet/services/neutron-compute-plugin-ovn.yaml → puppet/services/ovn-controller.yaml

@ -1,7 +1,7 @@
heat_template_version: pike
description: >
OpenStack Neutron Compute OVN agent
OpenStack OVN Controller agent
parameters:
EndpointMap:
@ -52,16 +52,16 @@ parameters:
outputs:
role_data:
description: Role data for the Neutron Compute OVN agent
description: Role data for the OVN Controller agent
value:
service_name: neutron_compute_plugin_ovn
service_name: ovn_controller
config_settings:
ovn::southbound::port: {get_param: OVNSouthboundServerPort}
ovn::controller::ovn_encap_type: {get_param: OVNTunnelEncapType}
ovn::controller::ovn_encap_ip: {get_param: [ServiceNetMap, NeutronApiNetwork]}
ovn::controller::ovn_bridge_mappings: {get_param: NeutronBridgeMappings}
nova::compute::force_config_drive: true
tripleo.neutron_compute_plugin_ovn.firewall_rules:
tripleo.ovn_controller.firewall_rules:
'118 neutron vxlan networks':
proto: 'udp'
dport: 4789
@ -70,3 +70,17 @@ outputs:
dport: 6081
step_config: |
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

14
puppet/services/ovn-dbs.yaml

@ -57,3 +57,17 @@ outputs:
- {get_param: OVNSouthboundServerPort}
step_config: |
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

1
roles/Compute.yaml

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

1
roles/ComputeHCI.yaml

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

1
roles/Controller.yaml

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

1
roles/ControllerOpenstack.yaml

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

2
roles_data.yaml

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

Loading…
Cancel
Save