summaryrefslogtreecommitdiffstats
path: root/puppet/manifests
AgeCommit message (Collapse)AuthorFilesLines
2015-05-18Configure HAProxy, Galera and MongoDB before startJiri Stransky1-61/+66
As with RabbitMQ previously, we can hit the same race conditions between config being written on all nodes vs. pacemaker starting the services. Configuring the services at least one step earlier than starting them will allow us to get rid of this race condition. Change-Id: I78f47dfb82ca8609ed40f784d65ba92db3d411f3
2015-05-18Update to reflect puppet-pacemaker changesJiri Stransky1-14/+28
Recently puppet-pacemaker has changed in a backward incompatible way, we need to reflect the changes in TripleO. This patch also addresses non-deterministic order between corosync service and VIP creation. Depends-On: Ia68fee38f99dba18badc07eb0adbc473cfcffdf3 Change-Id: Ia7fe14cfb1401be98b62afeed589bb9f1b8af761 Co-Authored-By: Yanis Guenane <yanis.guenane@enovance.com>
2015-05-18Fix RabbitMQ startup raceGiulio Fidente1-16/+22
The Pacemaker resource agent might have attempted to start the service when the rabbitmq-env.conf file wasn't written yet, making it attempt to bind on 0.0.0.0 Co-Authored-By: Jason Guiditta <jguiditt@redhat.com> Co-Authored-By: Jiri Stransky <jistr@redhat.com> Change-Id: I081a0bfc6fc3943b8ade71799357022d29317d79
2015-05-15Merge "Ensure haproxy is not enabled by puppet-tripleo when EnablePacemaker"Jenkins1-0/+1
2015-05-15Merge "Makes sure galera can handle the connections"Jenkins2-2/+6
2015-05-15Makes sure galera can handle the connectionsmarios2-2/+6
Increases the max_connections since this is currently set to 151. This causes problems in a baremetal environment with multiple CPUs. A related change is @ https://review.openstack.org/#/c/183046/2 for haproxy. There is also a bug report at https://bugzilla.redhat.com/show_bug.cgi?id=1218322 Change-Id: I9b4690191616cc04c4edc7b2402bd9ec54a7d17d
2015-05-14Merge "Use pacemaker::resource::service instead of ::systemd"Jenkins1-3/+3
2015-05-14Ensure haproxy is not enabled by puppet-tripleo when EnablePacemakerGiulio Fidente1-0/+1
Change-Id: Icfe70de72eb2cf09fe2d00d9ae49baebc79e1886
2015-05-13Merge "Add Galera as a Pacemaker resource when EnablePacemaker"Jenkins1-71/+169
2015-05-13Add Galera as a Pacemaker resource when EnablePacemakerYanis Guenane1-71/+169
This commit aims to support the creation of the galera cluster via Pacemaker. With this commit in, three use-cases will be supported. * Non HA setup / Non Pacemaker setup : The deployment will take place as it is currently the case in f20puppet-nonha. Nothing changes. * Non HA setup / Pacemaker setup : Even though it is a non ha setup, galera cluster via pacemaker will be deployed with a cluster nbr of 1. * HA setup / Non Pacemaker setup : N/A * HA setup / Pacemaker setup : It is assumed that HA setup will always be with pacemaker. So in this situation pacemaker will deploy a cluster of 3 galera master nodes. Depends-On: I7aed9acec11486e0f4f67e4d522727476c767d83 Change-Id: If0c37a86fa8b5aa6d452129bccf7341a3a3ba667
2015-05-11Use optimized config for RabbitMQ clusterGiulio Fidente2-6/+11
Use some optimized configuration settings for RabbitMQ when clustered. Data is ported from Astapor. Change-Id: If54aff5654dbe75e68197588be12cb3995c77ec7
2015-05-11Use pacemaker::resource::service instead of ::systemdGiulio Fidente1-3/+3
The puppet-pacemaker module realizes some abstraction for the different service types in ::service already. Change-Id: Icd897e18fda01b1bf4722a975c991e26341ac129 Closes-Bug: 1449988
2015-05-11Puppet: Split out controller pacemaker manifestDan Prince2-106/+504
This patch adds support for using the Heat resource registry so that end users can enable pacemaker. Using this approach allows us to isolate all of the pacemaker logic for the controller in a single template rather than use conditionals for every service that must support it. Change-Id: Ibefb80d0d8f98404133e4c31cf078d729b64dac3
2015-05-05Merge "Add MongoDB as a Pacemaker resource when EnablePacemaker"Jenkins1-1/+32
2015-05-05Merge "puppet: install Horizon on overcloud-controller"Jenkins1-0/+7
2015-05-05Add MongoDB as a Pacemaker resource when EnablePacemakerYanis Guenane1-1/+32
This commit allows one to configure MongoDB as a pacemaker resource when EnablePacemaker is set to true Change-Id: Iedfba3eb851442d0ca3b8c0a7163a63285ab6071
2015-05-04Merge "Add support for Glance RBD backend"Jenkins1-2/+12
2015-05-04Add support for Glance RBD backendDan Prince1-2/+12
This patch adds support for a new GlanceBackend setting which can be set to one of swift, rbd, or file to control which Glance backend is configured for use by default. Change-Id: Id6a3fbc3477e85e8e2446e3dc13d424f9535d0ff
2015-05-01Revert "Keystone domain for Heat"Dan Prince1-4/+0
This reverts commit 7313930c22b9f18d67e630de084ffcc6fad5ebe7. Seeing errors when trying to create the keystone admin role with packages. (ImportError: No module named os_client_config) Change-Id: I78796598ccb8d2ffd6bfca85dce7d18dc0fd768e Related-bug: #1450786
2015-04-30Merge "Keystone domain for Heat"Jenkins1-0/+4
2015-04-30Merge "Allow deployer to choose Ceilometer backend"Jenkins1-12/+33
2015-04-29Allow deployer to choose Ceilometer backendYanis Guenane1-12/+33
Ceilometer can use different backends. A recent change moved backend support for Ceilometer from MySQL to MongoDB. This commit introduce a greater flexibility, letting the deployer choose wheter MySQL or MongoDB should be used as a backend for Ceilometer. Change-Id: I0d5bfb0763cbcee234df7ab13574d866743d5ddf
2015-04-28Add RabbitMQ as a Pacemaker resource when EnablePacemakerGiulio Fidente1-28/+46
Change-Id: I43a74c1db324144d33e96a94cb718db30e0fd243
2015-04-27Configures haproxy as a Pacemaker resourceGiulio Fidente1-0/+3
Change-Id: I6bf5ada5a5298f4079594f3cc8b01ac0ef85876e
2015-04-27Switch VIP management from Keepalived to PacemakerGiulio Fidente1-0/+11
Change-Id: I45511569fda6b00ca35b1e590537a29271e56ce0 Depends-On: I98b9b3dbc48009ce255d964ac580e1a31f279f1e
2015-04-27puppet: install Horizon on overcloud-controllerEmilien Macchi1-0/+7
Install OpenStack Dashboad (Horizon) on the Overcloud Controller with Puppet. Co-Authored-By: Giulio Fidente <gfidente@redhat.com> Depends-On: If9b12d373e407be8be8428d77145f131eb450e88 Change-Id: I254e895014f58a51dade3dcdc63eabbb5dc458ac
2015-04-22Keystone domain for HeatMartin Mágr1-0/+4
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. Change-Id: I7397f49fac17c30262d02b70021d613aef5c6cad
2015-04-21Parameter to enable/disable controller swift storeDan Prince1-12/+14
Adds a new ControllerEnableSwiftStorage parameter that can be used to enable/disable use of the contoller node as a Swift storage node. Change-Id: Ic54144f4a46a671818c2f12e419cfa619b0dc1f9
2015-04-21Add option to enable ceph storage on controllerDan Prince1-0/+5
This patch adds a new ControllerEnableCephStorage option which can be used to install and configure Ceph storage (OSD) on the controller node. The default is to have this disabled by default (this is probably a more production like setting). The motivation for this change is to help facilitate CI jobs which actually use Ceph. Right now we have an issue where once the Heat stack finishes Ceph is configured and ready, but Cinder volume (required by our CI devtest_overcloud.sh test) may or may not have had enough time to recognize the amount of storage on the remote Ceph storage nodes. Waiting another periodic cycle for Cinder volume to recognize the actual amount of storage on the remote OSD nodes would work but there isn't a good way to do this ATM. The right solution here is probably to implement Heat breakpoints in our CI. As we haven't quite landed that change, another option is to simply make the controller node also be a Ceph storage node. Since this runs as "step 2" within the controller it ensures that the OSD will be available and thus Cinder volume will register the correct amount of storage on startup. Enabling this feature also matches what we do with Swift storage on the Controller (although we should provide an option to actually disable this as well). Change-Id: Ic47d028591edbaab83a52d7f38283d7805b63042
2015-04-21Merge "Perform basic setup of Pacemaker cluster using puppet-pacemaker"Jenkins1-15/+23
2015-04-21Merge "Add support for Redis configuration"Jenkins1-1/+21
2015-04-20Perform basic setup of Pacemaker cluster using puppet-pacemakerGiulio Fidente1-15/+23
Depends-On: Ia1bbf53c674e34ba7c70249895b106ec0af3c249 Change-Id: Ifa9f579d26a3cba9f8705226984c7b987ae0ad1c
2015-04-16Add support for Redis configurationYanis Guenane1-1/+21
Add support for Redis configuration on the overcloud controller role. Change-Id: I917ff1e7c0abf9d76b9939a97978e858268deac2 Depends-On: I80a6c284af9eceb6b669a03c5d93256261523331
2015-04-16puppet: add missing ::glance include on controllerEmilien Macchi1-0/+1
On Controller node, we also need to include ::glance if we want to have common Glance bits (packaging included). This is a Puppet best practice. Change-Id: I967c06b2c78d8f3aa5fa984b518d34c813426a2e
2015-04-16Merge "Do not downcase IP addresses"Jenkins1-2/+2
2015-04-16Merge "Perform basic setup of pacemaker cluster on controllers"Jenkins1-0/+17
2015-04-15puppet: Ceilometer use MongoDB datastore backendEmilien Macchi1-9/+5
This patch configure Ceilometer to use MongoDB backend. Change-Id: I22be0e22e7a3991ebd2d3aa7d14c518418a2458a
2015-04-15Fix MongoDB setup on nonha setupYanis Guenane1-6/+4
Currently a replset parameter is set in mongodb.conf no matter if we are in a ha or nonha setup. This install fine, but on a nonha setup it prevents any program from using MongoDB, since no replset has been initialized. It generates the following error when a program tries to use it : not master and slaveOk=false To prevent this issue a replicatset is initialized in both ha and nonha setup, this way if another MongoDB node is added to the pool, it will be able to attach automatically Change-Id: I65e3f1ad35cb0cd31f6771444a0cffdf7569222f
2015-04-14Do not downcase IP addressesGiulio Fidente1-2/+2
Change-Id: I0655b7cae2c436944833894bf9837877b3a69878
2015-04-14puppet: implement MongoDB on controller nodesEmilien Macchi1-0/+15
This patch aims to configure MongoDB server on controller nodes with Puppet. It also create a default replicaset for Ceilometer, so MongoDB can be highly available when multiple controllers are run. Change-Id: I3c1ff06ebc3c9dac44fc790caaea711d0eba4bb7
2015-04-14Perform basic setup of pacemaker cluster on controllersGiulio Fidente1-0/+17
Change-Id: Ia2e4eae619ca95c0f417f713676732eb4f01304b Depends-On: I9563eec0a2266deb2ebef2e3d76ae89d39b2be29
2015-04-10MariaDB bind on correct addressJiri Stransky1-0/+7
Despite passing bind-address for MariaDB in overcloud_controller.pp correctly, it was always trying to bind on 0.0.0.0. The problem is caused by Galera's config file (we install Galera into the image even though we don't use it yet). Galera's default config file contains override of the bind-address value to 0.0.0.0, and the setting from galera.cnf took precendence over what was in server.cnf. The mariadb-galera-server package assumes that the main config happens in galera.cnf and it ships an almost empty server.cnf. We now have an EnableGalera param, when it's set to true the mysql module will manage galera.cnf instead of server.cnf, overriding the default values from galera.cnf and fixing the issue. Change-Id: I7c2fd41d41dcf5eb4ee8b1dbd74d60cc2cabeed9 Closes-Bug: #1442256
2015-04-09Pass in libvirt_rbd_secret_key for nova computeJiri Stransky1-1/+5
Passing the key explicitly into nova::compute::rbd means that Puppet will not attempt to fetch the key using `ceph auth get-key <keyring>`, having these effects: * One reason for compute node to have access to the client.admin key is gone (in current implementation it does have access to the key, but this change is a step towards removing it). * Ceph cluster doesn't have to be running at the time when Puppet runs on compute node, meaning we don't have to serialize things more than we do now. Also adding the ComputeCephDeployment as a dependency of ComputePostDeployment, otherwise the hiera file it creates might be created *after* Puppet configuration happens on compute nodes, and the values it provides would be missing during the Puppet run on the compute nodes. Change-Id: Id3166e6d5f01d18ec8a5033398bb511f4321a5e8 Depends-On: I70da06159c0d3c6fa204b5f7a468909ffab4d633 Partial-Bug: #1439949
2015-04-03Remove enforced deps on RabbitMQ resources before configGiulio Fidente1-4/+0
This should have been removed with change I1bb8ee15d361638d77c5df7f8c03561c34f4c88f Change-Id: I20d4099aabe5ae9f89db45fd3db585067cab01f5
2015-04-02Merge "Restructure Ceph/Puppet params to reflect changes in puppet-ceph"Jenkins3-19/+0
2015-04-01puppet: wire in osfamily hieradata supportDan Prince1-7/+0
This updates all of the puppet roles to use an optional osfamily hieradata file which can be used to provide distro specific settings. Also, updates the controller role to make use of this new file for setting the rabbitmq package_provider parameter. Change-Id: I46417db51b87b82bf276dfcef5647a90c37fb07d
2015-04-01Merge "Set all RabbitMQ queues as mirrored when clustered"Jenkins1-0/+9
2015-04-01Merge "Ensure all Rabbit params are propagated to interested nodes."Jenkins1-29/+2
2015-03-31Merge "lb: Allow multiple backend"Jenkins1-1/+4
2015-03-31Merge "Refactor allNodesConfig"Jenkins1-1/+1