aboutsummaryrefslogtreecommitdiffstats
path: root/puppet/manifests/overcloud_controller_pacemaker.pp
AgeCommit message (Collapse)AuthorFilesLines
2016-05-31Fix inconsistency with ringbuilder/storage stepsSteven Hardy1-3/+0
Currently when deploying swift on the Controller nodes, we do the ringbuilder config during step3 and the swift-storage config during step 4, but this order is reversed on the ObjectStorage nodes. Also, we include the base swift class inconsistently during step2 on controller nodes, and via the overcloud-object manifest on ObjectStorage nodes. So fix this inconsistency as a precursor to conversion to composable services interfaces for the ObjectStorage role, we rework the post config so we apply the ObjectStorage config in steps 2, 3 and 4, which should hopefully get us much closer to the process used on the controller role, thus be easier to decompose in a compatible way. Partially-Implements: blueprint composable-services-within-roles Change-Id: Ic9d0ed8584a12d681a8f4d4742d39b96c15e531a
2016-05-31Convert Swift proxy to composable services formatSteven Hardy1-16/+0
Switch the swift proxy service to use the new composable services format. Change-Id: Idc9ac64818882e73836ac99bbad56eec184c9a5d Partially-Implements: blueprint composable-services-within-roles Depends-On: I6bd72284911f3f449157a6fc00b76682dd53bd8c
2016-05-27Remove custom SSL-related resource for cinderJuan Antonio Osorio Robles1-1/+0
Now that cinder includes http_proxy_to_wsgi by default[1] our puppet resource that included it in cinder's api-paste config is not longer needed. [1] If5aab9cc25a2e7c66a0bb13b5f7488a667b30309 Change-Id: I6141b6caf9b04ee73fae3ae2b94b3001b21b9999
2016-05-26Remove the delay resource and its constraintsMichele Baldessari1-37/+0
With change 648099e1925e7d0d3f6906e5e8d15f3871e88460 and the replacement of ceilometer-alarm with aodh, the delay resource became a leaf in the ordering graph and serves no real purpose any longer. It can now be removed without affecting anything else. Change-Id: Ib86e609821b9f0b7b0d99c49aead20f9a177f63d
2016-05-26Merge "composable heat services"Jenkins1-102/+0
2016-05-20Merge "Adds memcached as a composable service"Jenkins1-19/+0
2016-05-20Merge "Tighten the access rules for galera"Jenkins1-9/+63
2016-05-20Adds memcached as a composable servicemarios1-19/+0
Implements: blueprint composable-services-within-roles Depends-On: Icd504aef7dda144582c286c56c925a78566af72c Change-Id: I8802c2a0cf1e5fa1a6d1fab5e87f6014bea2f517
2016-05-19composable heat servicesBrad P. Crochet1-102/+0
Adds new puppet and puppet pacemaker specific services for Heat API, Heat API CFN, Heat API Cloudwatch, and Heat Engine. The Pacemaker templates extend the default heat services and swap in the pacemaker specific puppet-tripleo profile instead. Change-Id: I387b6bfd763d2d86cad68a3119b0edd0caa237b0 Partially-implements: blueprint composable-services-within-roles Depends-On: I194cbb6aa307c2331597147545cf10299cab132f Depends-On: I14dc923ac8ee8d5d538e7f4cf8138ccee8805b53
2016-05-19Deploy Loadbalancer as a composable roleEmilien Macchi1-69/+5
Deploy loadbalancer service using puppet-tripleo, and drop puppet code. Implements: blueprint refactor-puppet-manifests Depends-On: I9b106dcc1a4d446ab5dea8430ed295e6ec209cbd Change-Id: I9ca50a4bc822ec17d89988894af9bdf07e4bd1a9
2016-05-19Tighten the access rules for galeraMichele Baldessari1-9/+63
Set a password for the 'root' db user and add an additional 'clustercheck' user to be used only by the resource agent. The password for this 'clustercheck' user is randomly generated via a heat parameter. Before this change the workflow to set up the database in the manifest is the following: - Step 1 -> Install all the basic galera packages and basic configuration - Step 2.a -> Create /etc/sysconfig/clustercheck with root and empty password - Step 2.b -> Start up galera-monitor xinetd service - Step 2.c -> Start pacemaker ocf resource (no root user has been created so there will be an empty password per default) - Step 2.d -> Wait for /bin/clustercheck to return success and then proceed with the other steps After this change the workflow is slightly more complex because there is a bit of a chicken and egg problem: - Step 1 -> Install all the basic galera packages and basic configuration - Step 2.a -> Create /etc/sysconfig/clustercheck with root and empty password unless the file does exists already and has a clustercheck user configured - Step 2.b -> Start up galera-monitor xinetd service - Step 2.c -> Start pacemaker ocf resource (no root user has been created yet, so there will be an empty password per default) - Step 2.d -> Wait for /bin/clustercheck to return success and then proceed with the other steps - Step 2.e -> Create clustercheck db user - Step 3/4 -> Create /etc/sysconfig/clustercheck with clustercheck user credentials - Step 5.a -> Update the sql root password on the each node (at this stage - Step 5.b -> Create /root/.my.cnf with proper credentials on all nodes Note that we cannot really create the root/clustercheck users right at step 1 because the db is not running yet (an approach that spawned mysqld on each node, created the users and shut it down, was tried but was much more complex and cannot work on updating existing setups) Given the new way of solving the root password issue, we also need to make sure that Step1 and Step2 are running on updates. Closes-bug: #1581677 Depends-On: I83eed8885503043e881db34411616f9726e00352 Change-Id: If3d6e7253af6195b96129be7ea3348d697e4bae1
2016-05-18Deploy RabbitMQ as a composable roleEmilien Macchi1-37/+0
Change the way to implement RabbitMQ, as a composable role. Implements: blueprint refactor-puppet-manifests Change-Id: I5fed5c437ad492af75791a9163f99ae292f58895
2016-05-18composable neutron metadata serviceDan Prince1-11/+0
Adds new puppet and puppet pacemaker specific services for the Neutron Metadata agent. Partially-implements: blueprint composable-services-within-roles Change-Id: I25f026507e78f18594599b3621613a54f246545d
2016-05-18composable neutron l3 serviceDan Prince1-15/+0
Adds new puppet and puppet pacemaker specific services for the Neutron L3 agent. Partially-implements: blueprint composable-services-within-roles Change-Id: I0316043efe357a41ef3b4088a55d98dbb6d25963
2016-05-11Merge "composable neutron dhcp service"Jenkins1-126/+1
2016-05-10composable neutron dhcp serviceDan Prince1-126/+1
Adds new puppet and puppet pacemaker specific services for the Neutron DHCP agent. Depends-On: Ibbfd79421f871e41f870745a593cca65e8c0e58a Partially-implements: blueprint composable-services-within-roles Change-Id: Ia61295943e67efe354a51a26fe4540f288ff6ede
2016-05-10deployment: drop step6Emilien Macchi1-1/+5
Step6 was just about confuring fencing after creating all Pacemaker resources. It was created by this patch: https://review.openstack.org/#q,1787fbc7ca58f9965cd5d64b685c1f9beed4cb9b,n,z A bit of Puppet orchestration can help us to not require an extra step. This patch: * configure & enable fencing at step5 * make sure we don't configure fencing because creating Pacemaker resources and constraints. * remove step6 from deployment workflow. * depends on a patch in puppet-tripleo that moves keystone resources (endpoints, roles) to step 5. Change-Id: Iae33149e4a03cd64c5831e689be8189ad0cf034b Depends-On: Icea7537cea330da59fe108c9b874c04f2b94d062 Depends-On: I079e65f535af069312b602e8ff58be80ab2f2226
2016-05-05Merge "Remove calls to ::mysql from the manifests"Jenkins1-6/+0
2016-05-04Leave start/stop/restart for Keystone and Glance in charge to the roleGiulio Fidente1-2/+0
Change-Id: I511052dc765788336ffd32dee2118d787fce725d
2016-05-04Remove calls to ::mysql from the manifestsGiulio Fidente1-6/+0
The database will be created by the roles so we don't need to call ::mysql from the manifest. Change-Id: I2b137cbd6597222a72cf46830f34a93f002c70ef Depends-On: Id065a9180f1f1a41ab225ec5f755498ec7d9a827
2016-04-22Run sync in step 3 when $sync_dbGiulio Fidente1-1/+1
This will configure the openstack services and run the initial db sync in step 3 (instead of step 4) for the node for which $sync_db is true. Closes-Bug: #1572952 Change-Id: I29012ee0a8b281e4472353ee7d9d44912e8a9b6c
2016-04-22Merge "Enable client address in Horizon's logs."Jenkins1-0/+1
2016-04-21composable glance servicesDan Prince1-73/+0
Adds new puppet and puppet pacemaker specific services for Glance API and Glance Registry. The Pacemaker templates extend the default glance services and swap in the pacemaker specific puppet-tripleo profile instead. In the case of pacemaker glance-registry there is no separate puppet manifest so only the configuration parameters are maintained there. (Due to the way the pacemaker glance constraints are written the pacemaker varients of this service can't be split out...) Depends-On: Ifc388f7058ccfff2818f531bcbc00c7179874bbc Change-Id: I00a8c916129af43cda225754eb10370289bb4b41
2016-04-15Enable client address in Horizon's logs.Dimitri Savineau1-0/+1
Horizon's backends (httpd) see IP address of the haproxy in the logs instead of the client address. This patch allows to: - Install the remoteip httpd module [1]. - Use the X-Forwarded-For HTTP header and override the haproxy address. - Configure the Horizon's logs with the client address via httpd logformat. [1] https://httpd.apache.org/docs/2.4/mod/mod_remoteip.html [2] https://httpd.apache.org/docs/2.4/mod/mod_log_config.html#logformat Change-Id: Ib2f215913065426848b48f6293f33a75aff3d328 Depends-On: I54f0f5549d64768dacca71539c71a28cc99d9d95
2016-04-15Merge "Make sure openstack services are dependent on openstack-core"Jenkins1-9/+27
2016-04-14Fix Neutron enable_*_agent* Hiera parametersEmilien Macchi1-1/+1
This change will fix a logic error when L3 agent was disabled, where a Pacemaker constraint (neutron-dhcp-agent-to-l3-agent-constraint) were still looking for l3_agent_service in the Puppet catalog, but could not because L3 agent was disabled. It was sending this Puppet error: Error: Could not find dependency Pacemaker::Resource::Service[neutron-l3-agent] for Pacemaker::Constraint::Base[neutron-dhcp-agent-to-l3-agent-constraint] Change-Id: I0e5d24d844810c58a3205303399d1c20773af3dd
2016-04-14Keep setting backend_host to 'hostgroup' for rbd backendsJiri Stransky1-0/+1
There are backwards incompatible patches [1][2] in puppet-cinder which break upgrade scenarios, but at this point they made it to liberty and mitaka, so workaround in t-h-t is easier than revert [1] https://review.openstack.org/#/c/209412/ [2] https://review.openstack.org/#/c/231068/ Change-Id: Ic82258bf0893ebd4e595e5df73ffbc4c6443f9e8 Closes-Bug: #1570265
2016-04-13Refactor HAproxy and VIP creation.Sofer Athlan-Guyot1-161/+24
This part in overcloud_controller_pacemaker.pp has a lot of duplicate code to define haproxy and vip creation. This is an attempt to refactor this. Change-Id: Icbd560de08999e48cfb54c6f3c94f8b96cddd6ba Depends-On: I4cc6711911c1bfa1bc6063979e2b2a7ab5b8d37b
2016-04-13Make sure openstack services are dependent on openstack-coreJiri Stransky1-9/+27
Previously ceilometer-notification, aodh-listener and sahara-engine didn't have constraints that would anchor them under openstack-core dummy resource. Such constraints are added now. (sahara-engine starting after sahara-api, aodh-listener after aodh-evaluator, and ceilometer-notification after openstack-core.) Openstack-core -> heat-api constraint has been removed because heat-api depends on ceilometer-notification, so there's a transitive dependency on openstack-core already. Change-Id: Ided7321ebbf2c3556726343b4bb466fd8759b43a Closes-Bug: #1569444
2016-04-11Deploy Gnocchi as a Ceilometer metrics storage backendPradeep Kilambi1-0/+65
* Deploy Gnocchi API. * Storage backends: swift, rbd and file. * Indexer backend default to mysql * Configure Ceilometer to send metrics datas to Gnocchi * Pacemaker config Depends-On: Ic8778a3104e0ed0460423e4bf857682220dc5802 Depends-On: I7d2eb9405e0171fc54fa0b616122f69db5f51ce2 Co-Authored-By: Pradeep Kilambi <pkilambi@redhat.com> Change-Id: Ifde17b1ab8fa2b30544633e455e1c7eb475705aa
2016-04-09composable keystone servicesDan Prince1-88/+0
Adds new puppet and puppet pacemaker specific services for Keystone. The puppet manifests for keystone now live in puppet-tripleo. Hiera settings are driven by the nested stack heat templates and used to control puppet-keystone and puppet-tripleo directly. The Pacemaker template extends the default keystone service and swaps in the pacemaker specific puppet-tripleo profile instead. Change-Id: I8b30438a27e9d5ec4e7d335e0bd1a931a20b03a2 Depends-On: I2faf5a78db802549053ec41678bf83bf28108189
2016-04-07ha/glance-fs: avoid a race conditionEmilien Macchi1-11/+12
Create the glance-fs Pacemaker resource on one node (pacemaker master) instead of all nodes, and set verify_on_create to True. * It will avoid a race condition if Puppet is applied on 2 nodes on the same time, so the filesystem is attempted to be created once. * Verify with psc that the resource has been correctly created. The full context of the bug is decribed here: https://bugzilla.redhat.com/show_bug.cgi?id=1319384 Change-Id: I625f0879ae56e814664d1433ae47e27148779f12
2016-04-06Increase corosync token timeoutJiri Stransky1-2/+2
This might prevent dropping members from corosync cluster on high load environments. Symptoms of this problem happening can sometimes be found in corosync log: dub 05 17:23:45 overcloud-controller-0 corosync[14152]: [MAIN ] Corosync main process was not scheduled for 3691.8391 ms (threshold is 1320.0000 ms). Consider token timeout increase. The default in the Puppet manifest is 1 second, which matches the corosync default, and we override it with hiera to 10 seconds. Change-Id: I5ea850ada657e5eecafa3e8b28613a0ac48e78f3
2016-03-30Enable galera replication for Mariadb 10.1Damien Ciabrini1-0/+2
The generated galera config has to include additional settings for galera to be active on MariaDB 10.1. wsrep_on must be explicitely set to ON. On MariaDB 5.5, this was implicitely set as soon as wsrep_provider was specified. a valid wsrep_cluster_address must be configured in addition to wsrep_on, otherwise recovery command mysqld_safe --wsrep-recover cannot retrieve replication state, and cluster cannot be bootstrapped. These explicit settings are backward compatible with MariaDB 5.5 since the two variables exist in both versions of MariaDB. Change-Id: I4ab4f4eeb8679899f194399ba8695155e9a2f4a5 Closes-Bug: 1563751
2016-03-29Merge "PLUMgrid Neutron integration"Jenkins1-0/+8
2016-03-29Merge "Increment step count to include ringbuilder"Jenkins1-9/+9
2016-03-29Don't restart Pacemaker-managed services from PuppetJiri Stransky1-0/+18
We need to reload/restart services on updates/upgrades to apply any config changes, but restarting services managed from Pacemaker from Puppet causes problems. For now we no-op the restart and rely on the catch-all restart after Puppet phase. In the future we should have a service provider for pacemaker resources that will be using pcs. We still might have to restart services outside Puppet due to cluster-wide orchestration issues, but we might be able to do the restarts selectively rather than restart everything. We also no-op the start/stop commands to be safe, as it also doesn't make sense for Puppet to try start and stop those services when it doesn't have knowledge about Pacemaker. Change-Id: I95e21e10471cd7575f28c095c48150325f1414b3 Closes-Bug: #1562922
2016-03-25Increment step count to include ringbuilderDan Prince1-9/+9
This patch wires in ringbuilder.pp so that it is always asserted like the other manifests and it fixes the misaligned step sequencing in calling our overcloud controller manifests. Previously it was called as a separate software deployment outside of the hiera step sequence. This made things confusing in controller-post.yaml since the deployment names didn't align with the step hiera variables after step 3. Now that we call it just like the other modules it should make gradually moving this code to puppet-tripleo more straightforward as well. Change-Id: Ibd4f51f65da475bb20a6b08d7bda673f330a5464
2016-03-24Merge "Deploy Aodh services, replacing Ceilometer Alarm"Jenkins1-1/+88
2016-03-24Merge "Remove unused user resource."Jenkins1-3/+0
2016-03-23configure horizon with memcached ipv6 when neededEmilien Macchi1-1/+9
* Add MemcachedIPv6 parameter * If MemcachedIPv6 is set at True, configure Horizon with Memcached IPv6 addresses. This patch is required to make Horizon working when running IPv6 networks. Change-Id: I752e727bfb9040b29f5d755f565fa6b54b9511c8
2016-03-21Remove unused user resource.Sofer Athlan-Guyot1-3/+0
The user is created by installation of of the pacemaker package, so it's not required to add it to the resource catalog. This paves the way to merge the refeactoring of the puppet-pacemaker module[1]. It brings a lot of changes, one of them is an idempotent handling of the hacluster user's password. Removing it here prevents duplicate resource error durring puppet run. [1] https://review.openstack.org/#/c/294182/ Change-Id: I56849d9fc00bd3ce342d5c440cfe7c5b6d26b5bf
2016-03-20Deploy Aodh services, replacing Ceilometer AlarmPradeep Kilambi1-1/+88
Ceilometer Alarm is deprecated in Liberty by Aodh. This patch: * manage Aodh Keystone resources * deploy Aodh API under WSGI, Notifier, Listener and Evaluator * manage new parameters to customize Aodh deployment * uses ceilometer DB for the upgrade path * pacemaker config * Add migration logic to remove pcs resources Depends-On: I5333faa72e52d2aa2a622ac2d4b60825aadc52b5 Depends-On: Ib6c9c4c35da3fb55e0ca8e2d5a58ebaf4204d792 Co-Authored-By: Emilien Macchi <emilien@redhat.com> Change-Id: Ib47a22884afb032ebc1655e1a4a06bfe70249134
2016-03-18PLUMgrid Neutron integrationQasim Sarfraz1-0/+8
Enable PLUMgrid neutron liberty plugin in a TripleO overcloud environment. Change-Id: I07025f67ec3f3399aac4dcd10cc37e857772548b Signed-off-by: Qasim Sarfraz <qasims@plumgrid.com>
2016-03-15Merge "Install mongodb client package"Jenkins1-0/+1
2016-03-15Merge "Fix typos"Jenkins1-1/+1
2016-03-14Merge "Keystone domain for Heat"Jenkins1-0/+10
2016-03-10Support the deployment of Ceph over IPv6Giulio Fidente1-1/+16
To deploy Ceph on IPv6, we need to enable ms_bind_ipv6 in addition to passing the list of MON IPs in brackets. Change-Id: I3644b8fc06458e68574afa5573f07442f0a09190
2016-03-10Surround MongoDB IPs with braces in the connection string if IPv6Giulio Fidente1-3/+14
Change-Id: I9ed917f32b3de95beb234ade4819a8b96affe3e9
2016-03-10Keystone domain for HeatMartin Mágr1-0/+10
This patch adds support for configuring Keystone domain for Heat via heat-keystone-setup-domain script. It should be reverted as soon as Keystone v3 is fully functional. This patch won't be fully functional without either python-keystoneclient fix [1] or workaround [2]. [1] https://bugs.launchpad.net/python-keystoneclient/+bug/1452298 [2] https://review.openstack.org/180563 Change-Id: Ie9cdd518b299c141f0fdbb3441a7761c27321a88 Co-Authored-By: Jiri Stransky <jistr@redhat.com> Depends-On: Ic541f11978908f9344e5590f3961f0d31c04bb0c