Next generation HA architecture work
authorMichele Baldessari <michele@acksyn.org>
Fri, 29 Jul 2016 09:46:40 +0000 (11:46 +0200)
committerMichele Baldessari <michele@acksyn.org>
Thu, 4 Aug 2016 13:07:39 +0000 (15:07 +0200)
This is the THT part that brings us the next generation architecture
as described in the following spec:
https://review.openstack.org/#/c/299628/

Blueprint:
https://blueprints.launchpad.net/tripleo/+spec/ha-lightweight-architecture

So far we tested deployment + tripleo.sh --overcloud-pingtest and
failover + tripleo.sh --overcloud-pingtest

Note that many of the Pacemaker template files become redundant with
this change, but to simplify the process of getting this change landed,
those templates will not be removed until a future commit.

Depends-On: I5e7585c08675d8a4bd071523b94210d325d79b59

Change-Id: I00bccb2563c006f80baed623b64f1e17af20dd4e
Implements: blueprint ha-lightweight-architecture
Co-Author: cmsj@tenshu.net

environments/puppet-pacemaker.yaml
puppet/services/ceilometer-base.yaml
puppet/services/cinder-base.yaml
puppet/services/glance-api.yaml
puppet/services/glance-registry.yaml
puppet/services/heat-base.yaml
puppet/services/keystone.yaml
puppet/services/neutron-base.yaml
puppet/services/nova-base.yaml
puppet/services/pacemaker/haproxy.yaml
puppet/services/sahara-base.yaml

index fad2b9e..1643029 100644 (file)
@@ -10,48 +10,11 @@ resource_registry:
   # NOTE: For now we will need to specify overrides to all services
   # which use pacemaker. In the future (with upcoming HA light work) this
   # list will hopefully be much smaller however.
-  OS::TripleO::Services::CinderApi: ../puppet/services/pacemaker/cinder-api.yaml
-  OS::TripleO::Services::CinderScheduler: ../puppet/services/pacemaker/cinder-scheduler.yaml
   OS::TripleO::Services::CinderVolume: ../puppet/services/pacemaker/cinder-volume.yaml
-  OS::TripleO::Services::Core: ../puppet/services/pacemaker/core.yaml
-  OS::TripleO::Services::Keystone: ../puppet/services/pacemaker/keystone.yaml
-  OS::TripleO::Services::GlanceApi: ../puppet/services/pacemaker/glance-api.yaml
-  OS::TripleO::Services::GlanceRegistry: ../puppet/services/pacemaker/glance-registry.yaml
-  OS::TripleO::Services::HeatApi: ../puppet/services/pacemaker/heat-api.yaml
-  OS::TripleO::Services::HeatApiCfn: ../puppet/services/pacemaker/heat-api-cfn.yaml
-  OS::TripleO::Services::HeatApiCloudwatch: ../puppet/services/pacemaker/heat-api-cloudwatch.yaml
-  OS::TripleO::Services::HeatEngine: ../puppet/services/pacemaker/heat-engine.yaml
-  OS::TripleO::Services::NeutronDhcpAgent: ../puppet/services/pacemaker/neutron-dhcp.yaml
-  OS::TripleO::Services::NeutronL3Agent: ../puppet/services/pacemaker/neutron-l3.yaml
-  OS::TripleO::Services::NeutronMetadataAgent: ../puppet/services/pacemaker/neutron-metadata.yaml
-  OS::TripleO::Services::NeutronServer: ../puppet/services/pacemaker/neutron-server.yaml
-  OS::TripleO::Services::NeutronCorePlugin: ../puppet/services/pacemaker/neutron-plugin-ml2.yaml
-  # Neutron Core Plugin Vendors (these typically override NeutronCorePlugin)
-  OS::TripleO::Services::NeutronCorePluginPlumgrid: ../puppet/services/pacemaker/neutron-plugin-plumgrid.yaml
-  OS::TripleO::Services::NeutronCorePluginNuage: ../puppet/services/pacemaker/neutron-plugin-nuage.yaml
-  OS::TripleO::Services::NeutronCorePluginOpencontrail: ../puppet/services/pacemaker/neutron-plugin-opencontrail.yaml
-  OS::TripleO::Services::NeutronCorePluginMidonet: ../puppet/services/pacemaker/neutron-midonet.yaml
-  OS::TripleO::Services::NeutronOvsAgent: ../puppet/services/pacemaker/neutron-ovs-agent.yaml
   OS::TripleO::Services::RabbitMQ: ../puppet/services/pacemaker/rabbitmq.yaml
   OS::TripleO::Services::HAproxy: ../puppet/services/pacemaker/haproxy.yaml
-  OS::TripleO::Services::Memcached: ../puppet/services/pacemaker/memcached.yaml
   OS::TripleO::Services::Pacemaker: ../puppet/services/pacemaker.yaml
   OS::TripleO::Services::Redis: ../puppet/services/pacemaker/database/redis.yaml
-  OS::TripleO::Services::NovaConductor: ../puppet/services/pacemaker/nova-conductor.yaml
-  OS::TripleO::Services::MongoDb: ../puppet/services/pacemaker/database/mongodb.yaml
-  OS::TripleO::Services::NovaApi: ../puppet/services/pacemaker/nova-api.yaml
-  OS::TripleO::Services::NovaScheduler: ../puppet/services/pacemaker/nova-scheduler.yaml
-  OS::TripleO::Services::NovaConsoleauth: ../puppet/services/pacemaker/nova-consoleauth.yaml
-  OS::TripleO::Services::NovaVncproxy: ../puppet/services/pacemaker/nova-vncproxy.yaml
-  OS::TripleO::Services::CeilometerApi: ../puppet/services/pacemaker/ceilometer-api.yaml
-  OS::TripleO::Services::CeilometerCollector: ../puppet/services/pacemaker/ceilometer-collector.yaml
-  OS::TripleO::Services::CeilometerAgentCentral: ../puppet/services/pacemaker/ceilometer-agent-central.yaml
-  OS::TripleO::Services::CeilometerAgentNotification: ../puppet/services/pacemaker/ceilometer-agent-notification.yaml
-  #Gnocchi services
-  OS::TripleO::Services::GnocchiApi: ../puppet/services/pacemaker/gnocchi-api.yaml
-  OS::TripleO::Services::GnocchiMetricd: ../puppet/services/pacemaker/gnocchi-metricd.yaml
-  OS::TripleO::Services::GnocchiStatsd: ../puppet/services/pacemaker/gnocchi-statsd.yaml
   OS::TripleO::Services::MySQL: ../puppet/services/pacemaker/database/mysql.yaml
-  OS::TripleO::Services::Horizon: ../puppet/services/pacemaker/horizon.yaml
   # Services that are disabled by default (use relevant environment files):
   OS::Tripleo::Services::ManilaShare: OS::Heat::None
index a812371..5342cef 100644 (file)
@@ -109,3 +109,5 @@ outputs:
           - '%'
           - "%{hiera('mysql_bind_host')}"
         ceilometer::rabbit_heartbeat_timeout_threshold: 60
+        ceilometer::db::database_db_max_retries: -1
+        ceilometer::db::database_max_retries: -1
index b224cd6..d923e7c 100644 (file)
@@ -67,3 +67,5 @@ outputs:
         cinder::keystone::auth::tenant: 'service'
         cinder::host: hostgroup
         cinder::cron::db_purge::destination: '/dev/null'
+        cinder::db::database_db_max_retries: -1
+        cinder::db::database_max_retries: -1
index 00751f5..9906578 100644 (file)
@@ -106,6 +106,8 @@ outputs:
         glance::keystone::auth::internal_url: {get_param: [EndpointMap, GlanceInternal, uri]}
         glance::keystone::auth::admin_url: {get_param: [EndpointMap, GlanceAdmin, uri]}
         glance::keystone::auth::password: {get_param: GlancePassword }
+        glance::registry::db::database_db_max_retries: -1
+        glance::registry::db::database_max_retries: -1
         tripleo.glance_api.firewall_rules:
           '112 glance_api':
             dport:
index 5ad4bb9..40d1819 100644 (file)
@@ -50,6 +50,8 @@ outputs:
         glance::db::mysql::allowed_hosts:
           - '%'
           - "%{hiera('mysql_bind_host')}"
+        glance::registry::db::database_db_max_retries: -1
+        glance::registry::db::database_max_retries: -1
 
         tripleo.glance_registry.firewall_rules:
           '112 glance_registry':
index c40136f..01f2a51 100644 (file)
@@ -56,3 +56,5 @@ outputs:
         heat::cron::purge_deleted::age_type: 'days'
         heat::cron::purge_deleted::maxdelay: 3600
         heat::cron::purge_deleted::destination: '/dev/null'
+        heat::db::database_db_max_retries: -1
+        heat::db::database_max_retries: -1
index 79c0dcc..abc738d 100644 (file)
@@ -147,6 +147,8 @@ outputs:
         keystone::wsgi::apache::workers: {get_param: KeystoneWorkers}
         # override via extraconfig:
         keystone::wsgi::apache::threads: 1
+        keystone::db::database_db_max_retries: -1
+        keystone::db::database_max_retries: -1
         tripleo.keystone.firewall_rules:
           '111 keystone':
             dport:
index c113482..3f8ac7e 100644 (file)
@@ -65,3 +65,5 @@ outputs:
         neutron::rabbit_heartbeat_timeout_threshold: 60
         neutron::host: '"%{::fqdn}"'    #NOTE: extra quoting is needed
         neutron::keystone::auth::tenant: 'service'
+        neutron::db::database_db_max_retries: -1
+        neutron::db::database_max_retries: -1
index 21dbacd..e337982 100644 (file)
@@ -101,3 +101,5 @@ outputs:
         nova::db::mysql_api::allowed_hosts:
           - '%'
           - "%{hiera('mysql_bind_host')}"
+        nova::db::database_db_max_retries: -1
+        nova::db::database_max_retries: -1
index 811a669..c450530 100644 (file)
@@ -27,5 +27,6 @@ outputs:
           - tripleo::haproxy::haproxy_service_manage: false
             tripleo::haproxy::mysql_clustercheck: true
             enable_keepalived: false
+            tripleo::haproxy::keepalived: false
       step_config: |
         include ::tripleo::profile::pacemaker::haproxy
index 3e32012..2f8cd91 100644 (file)
@@ -49,3 +49,5 @@ outputs:
         sahara::rpc_backend: rabbit
         sahara::admin_tenant_name: 'service'
         sahara::keystone::auth::tenant: 'service'
+        sahara::db::database_db_max_retries: -1
+        sahara::db::database_max_retries: -1