summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2017-06-16 10:30:41 +0000
committerGerrit Code Review <review@openstack.org>2017-06-16 10:30:41 +0000
commit02eb277b8673b8806c3085a87aa3e13d608d507a (patch)
tree82cd68b7b3fb9789f6107a937f34908ec31b993a
parent3c9aa3543b221a16cbe8a5cfce32e8a080f69e92 (diff)
parentb327ea5d8680afc502e5874563951ecb25f28f5d (diff)
Merge "Pacemaker HA suport for OVN DB servers"
-rw-r--r--environments/neutron-ml2-ovn-ha.yaml24
-rw-r--r--puppet/services/ovn-dbs.yaml1
-rw-r--r--puppet/services/pacemaker/ovn-dbs.yaml61
-rw-r--r--releasenotes/notes/ovn-ha-c0139ac519680872.yaml3
4 files changed, 89 insertions, 0 deletions
diff --git a/environments/neutron-ml2-ovn-ha.yaml b/environments/neutron-ml2-ovn-ha.yaml
new file mode 100644
index 0000000..c592d57
--- /dev/null
+++ b/environments/neutron-ml2-ovn-ha.yaml
@@ -0,0 +1,24 @@
1# A Heat environment file which can be used to enable OVN
2# extensions, configured via puppet
3resource_registry:
4 OS::TripleO::Services::NeutronCorePlugin: OS::TripleO::Services::NeutronCorePluginML2OVN
5 OS::TripleO::Services::ComputeNeutronCorePlugin: ../puppet/services/neutron-compute-plugin-ovn.yaml
6 OS::TripleO::Services::OVNDBs: ../puppet/services/pacemaker/ovn-dbs.yaml
7# Disabling Neutron services that overlap with OVN
8 OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
9 OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None
10 OS::TripleO::Services::NeutronMetadataAgent: OS::Heat::None
11 OS::TripleO::Services::NeutronDhcpAgent: OS::Heat::None
12 OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None
13
14parameter_defaults:
15 NeutronMechanismDrivers: ovn
16 OVNVifType: ovs
17 OVNNeutronSyncMode: log
18 OVNQosDriver: ovn-qos
19 OVNTunnelEncapType: geneve
20 NeutronEnableDHCPAgent: false
21 NeutronTypeDrivers: 'geneve,vxlan,vlan,flat'
22 NeutronNetworkType: 'geneve'
23 NeutronServicePlugins: 'qos,ovn-router'
24 NeutronVniRanges: ['1:65536', ]
diff --git a/puppet/services/ovn-dbs.yaml b/puppet/services/ovn-dbs.yaml
index 20c38d8..df234c7 100644
--- a/puppet/services/ovn-dbs.yaml
+++ b/puppet/services/ovn-dbs.yaml
@@ -44,6 +44,7 @@ outputs:
44 ovn::northbound::port: {get_param: OVNNorthboundServerPort} 44 ovn::northbound::port: {get_param: OVNNorthboundServerPort}
45 ovn::southbound::port: {get_param: OVNSouthboundServerPort} 45 ovn::southbound::port: {get_param: OVNSouthboundServerPort}
46 ovn::northd::dbs_listen_ip: {get_param: [ServiceNetMap, OvnDbsNetwork]} 46 ovn::northd::dbs_listen_ip: {get_param: [ServiceNetMap, OvnDbsNetwork]}
47 tripleo::haproxy::ovn_dbs_manage_lb: true
47 tripleo.ovn_dbs.firewall_rules: 48 tripleo.ovn_dbs.firewall_rules:
48 '121 OVN DB server ports': 49 '121 OVN DB server ports':
49 proto: 'tcp' 50 proto: 'tcp'
diff --git a/puppet/services/pacemaker/ovn-dbs.yaml b/puppet/services/pacemaker/ovn-dbs.yaml
new file mode 100644
index 0000000..1cbb476
--- /dev/null
+++ b/puppet/services/pacemaker/ovn-dbs.yaml
@@ -0,0 +1,61 @@
1heat_template_version: ocata
2
3description: >
4 OVN databases configured with puppet in HA mode
5
6parameters:
7 ServiceNetMap:
8 default: {}
9 description: Mapping of service_name -> network name. Typically set
10 via parameter_defaults in the resource registry. This
11 mapping overrides those in ServiceNetMapDefaults.
12 type: json
13 DefaultPasswords:
14 default: {}
15 type: json
16 RoleName:
17 default: ''
18 description: Role name on which the service is applied
19 type: string
20 RoleParameters:
21 default: {}
22 description: Parameters specific to the role
23 type: json
24 EndpointMap:
25 default: {}
26 description: Mapping of service endpoint -> protocol. Typically set
27 via parameter_defaults in the resource registry.
28 type: json
29 OVNNorthboundServerPort:
30 description: Port of the OVN Northbound DB server
31 type: number
32 default: 6641
33 OVNSouthboundServerPort:
34 description: Port of the OVN Southbound DB server
35 type: number
36 default: 6642
37
38resources:
39
40 OVNDBsBase:
41 type: ../ovn-dbs.yaml
42 properties:
43 ServiceNetMap: {get_param: ServiceNetMap}
44 DefaultPasswords: {get_param: DefaultPasswords}
45 EndpointMap: {get_param: EndpointMap}
46 RoleName: {get_param: RoleName}
47 RoleParameters: {get_param: RoleParameters}
48
49outputs:
50 role_data:
51 description: Role data for the OVN northd service
52 value:
53 service_name: ovn_dbs
54 config_settings:
55 map_merge:
56 - get_attr: [OVNDBsBase, role_data, config_settings]
57 - tripleo::haproxy::ovn_dbs_manage_lb: false
58 tripleo::profile::pacemaker::ovn_northd::nb_db_port: {get_param: OVNNorthboundServerPort}
59 tripleo::profile::pacemaker::ovn_northd::sb_db_port: {get_param: OVNSouthboundServerPort}
60 step_config: |
61 include ::tripleo::profile::pacemaker::ovn_northd
diff --git a/releasenotes/notes/ovn-ha-c0139ac519680872.yaml b/releasenotes/notes/ovn-ha-c0139ac519680872.yaml
new file mode 100644
index 0000000..d36f836
--- /dev/null
+++ b/releasenotes/notes/ovn-ha-c0139ac519680872.yaml
@@ -0,0 +1,3 @@
1---
2features:
3 - Support HA for OVN db servers and ovn-northd using Pacemaker.