From 81de06566571722738a144402a293ddecdd928f2 Mon Sep 17 00:00:00 2001 From: Michele Baldessari Date: Fri, 29 Jul 2016 11:46:40 +0200 Subject: Next generation HA architecture work 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 | 37 ---------------------------------- puppet/services/ceilometer-base.yaml | 2 ++ puppet/services/cinder-base.yaml | 2 ++ puppet/services/glance-api.yaml | 2 ++ puppet/services/glance-registry.yaml | 2 ++ puppet/services/heat-base.yaml | 2 ++ puppet/services/keystone.yaml | 2 ++ puppet/services/neutron-base.yaml | 2 ++ puppet/services/nova-base.yaml | 2 ++ puppet/services/pacemaker/haproxy.yaml | 1 + puppet/services/sahara-base.yaml | 2 ++ 11 files changed, 19 insertions(+), 37 deletions(-) diff --git a/environments/puppet-pacemaker.yaml b/environments/puppet-pacemaker.yaml index fad2b9ee..16430290 100644 --- a/environments/puppet-pacemaker.yaml +++ b/environments/puppet-pacemaker.yaml @@ -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 diff --git a/puppet/services/ceilometer-base.yaml b/puppet/services/ceilometer-base.yaml index a812371c..5342cefb 100644 --- a/puppet/services/ceilometer-base.yaml +++ b/puppet/services/ceilometer-base.yaml @@ -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 diff --git a/puppet/services/cinder-base.yaml b/puppet/services/cinder-base.yaml index b224cd65..d923e7c6 100644 --- a/puppet/services/cinder-base.yaml +++ b/puppet/services/cinder-base.yaml @@ -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 diff --git a/puppet/services/glance-api.yaml b/puppet/services/glance-api.yaml index 00751f51..99065789 100644 --- a/puppet/services/glance-api.yaml +++ b/puppet/services/glance-api.yaml @@ -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: diff --git a/puppet/services/glance-registry.yaml b/puppet/services/glance-registry.yaml index 5ad4bb9a..40d18191 100644 --- a/puppet/services/glance-registry.yaml +++ b/puppet/services/glance-registry.yaml @@ -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': diff --git a/puppet/services/heat-base.yaml b/puppet/services/heat-base.yaml index c40136f5..01f2a51b 100644 --- a/puppet/services/heat-base.yaml +++ b/puppet/services/heat-base.yaml @@ -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 diff --git a/puppet/services/keystone.yaml b/puppet/services/keystone.yaml index 79c0dcc2..abc738d9 100644 --- a/puppet/services/keystone.yaml +++ b/puppet/services/keystone.yaml @@ -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: diff --git a/puppet/services/neutron-base.yaml b/puppet/services/neutron-base.yaml index c1134824..3f8ac7e8 100644 --- a/puppet/services/neutron-base.yaml +++ b/puppet/services/neutron-base.yaml @@ -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 diff --git a/puppet/services/nova-base.yaml b/puppet/services/nova-base.yaml index 21dbacd2..e3379821 100644 --- a/puppet/services/nova-base.yaml +++ b/puppet/services/nova-base.yaml @@ -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 diff --git a/puppet/services/pacemaker/haproxy.yaml b/puppet/services/pacemaker/haproxy.yaml index 811a6697..c450530b 100644 --- a/puppet/services/pacemaker/haproxy.yaml +++ b/puppet/services/pacemaker/haproxy.yaml @@ -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 diff --git a/puppet/services/sahara-base.yaml b/puppet/services/sahara-base.yaml index 3e320128..2f8cd91b 100644 --- a/puppet/services/sahara-base.yaml +++ b/puppet/services/sahara-base.yaml @@ -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 -- cgit 1.2.3-korg