aboutsummaryrefslogtreecommitdiffstats
path: root/puppet/manifests
AgeCommit message (Collapse)AuthorFilesLines
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
2015-03-31Merge "puppet+devtest: make compute nodes reachable"Jenkins1-0/+7
2015-03-31lb: Allow multiple backendYanis Guenane1-1/+4
Currently tripleo::loadbalancer allow a controller to have only itself as a backend for a service, no matter the number of controller nodes. This patch fixes that using all controller nodes available. Change-Id: Ic8fc022b84850c669b19d37da7f275d9c811e694 Depends-On: I2a46c250bc3325eef9c3128cac2ab45c88b1ae75
2015-03-28puppet: correct cinder enabled_backends formatDan Prince1-1/+1
This resolves a formatting issue with the Cinder enabled_backends config file setting. Previously we would potentially construct an array with an undef value at the end if iscsi was enabled but ceph was not (this is the case for our current CI job). When an array formatted like ['tripleo_iscsi', undef] is then passed to join() in puppet-cinder to construct a string it leaves us with an extra ',' on the end of the string. This causes problems in that cinder-volume loads an extra (system default) cinder volume process which is not expected. Because Fedora uses LIO as a default it was causing about half of our CI runs to fail if the tgtadm cinder-volume process wasn't being chosen by the scheduler. Closes-bug: #1437708 Change-Id: I3383012cb43792f334fdf789dc13147a3cb5ad63
2015-03-27Restructure Ceph/Puppet params to reflect changes in puppet-cephGiulio Fidente3-19/+0
A change [1] in puppet-ceph offers more flexibility but breaks backwards so we had to update our composition layer as well; we gain control of the cephx keyring in the template though. 1. Ie6adbd601388ab52c37037004bd0ceef9fc41942 Change-Id: Ia8196849afce2969daa608828cec81ebe3ac96e1
2015-03-26puppet+devtest: make compute nodes reachableJiri Stransky1-0/+7
Compute nodes run libvirt, which automatically creates a default network which has the same address space (192.168.122.*) as the libvirt default network on the host machine where devtest is running. This overlap causes that when a compute node wants to send a packet to the host machine (192.168.122.1) it gets incorrectly routed through the compute node's own virbr0 instead of br-ex. The current solution does not seem to be enough because libvirt gets started and creates the default network before Puppet is triggered on compute nodes. Making sure the libvirt default network is destroyed on the compute node fixes the issue. We don't have any puppet modules in OPM that would deal with libvirt networks and it's probably not worth exploring and adding one because of this small issue (i don't expect another use case of managing libvirt networks directly), so i'm using an exec with proper idempotency check. Change-Id: Icde12aa204ed1f7fa35b0525875ce07db34dc42c Closes-Bug: #1436822
2015-03-25Refactor allNodesConfigJiri Stransky1-1/+1
* Create hiera file 'all_nodes' instead of 'rabbit' -- we'll want allNodesConfig to create keys for more services (e.g. mongo_node_ips) and it's not necessary to create a separate hiera file for each. * Rename rabbit_nodes to mongo_node_names -- we'll have more node lists, some services will need hostnames, some services will need IPs, some might need both, so we shouldn't have ambiguity in the hiera key names. Change-Id: If80f9c9b2849ae893e1ab78f1c4d246a2468665c
2015-03-20Set all RabbitMQ queues as mirrored when clusteredGiulio Fidente1-0/+9
Purpose of this change is to enable on the server side the ha-mode policy for all queues when nodes are clustered. Change-Id: I16e3d375aabac9dbcdc198c71069086951e40fc0
2015-03-19Ensure all Rabbit params are propagated to interested nodes.Giulio Fidente1-29/+2
Change-Id: I1bb8ee15d361638d77c5df7f8c03561c34f4c88f
2015-03-19Merge "puppet: tidy up the Nova ceilo auth configs"Jenkins1-4/+1
2015-03-19Merge "puppet: tidy up the Nova glance API server config"Jenkins1-4/+1
2015-03-19Merge "puppet: tidy up the compute nova neutron config"Jenkins1-6/+1
2015-03-18Add support for Ceph as a Cinder and Nova backendYanis Guenane2-3/+54
This commit aims to add support for Ceph as a cinder and a nova backend. * Allows creation of Ceph pools from heat (Default: volumes, vms) * Creates the proper ceph user and inject the keys * Applies the proper configuration in cinder.conf and nova.conf * Enable the backend out of the box Co-Authored-By: Giulio Fidente <gfidente@redhat.com> Change-Id: Ic17d7a665de81a8bab5e34035abe90eda4bc889f