aboutsummaryrefslogtreecommitdiffstats
path: root/puppet/controller-puppet.yaml
AgeCommit message (Collapse)AuthorFilesLines
2015-04-21Parameter to enable/disable controller swift storeDan Prince1-0/+6
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/+6
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-6/+12
2015-04-20Perform basic setup of Pacemaker cluster using puppet-pacemakerGiulio Fidente1-6/+12
Depends-On: Ia1bbf53c674e34ba7c70249895b106ec0af3c249 Change-Id: Ifa9f579d26a3cba9f8705226984c7b987ae0ad1c
2015-04-16Add support for Redis configurationYanis Guenane1-1/+2
Add support for Redis configuration on the overcloud controller role. Change-Id: I917ff1e7c0abf9d76b9939a97978e858268deac2 Depends-On: I80a6c284af9eceb6b669a03c5d93256261523331
2015-04-16Merge "Perform basic setup of pacemaker cluster on controllers"Jenkins1-0/+8
2015-04-15puppet: Ceilometer use MongoDB datastore backendEmilien Macchi1-7/+0
This patch configure Ceilometer to use MongoDB backend. Change-Id: I22be0e22e7a3991ebd2d3aa7d14c518418a2458a
2015-04-14Merge "Make memcached bind on ctlplane instead of 0.0.0.0"Jenkins1-0/+1
2015-04-14Merge "puppet: implement MongoDB on controller nodes"Jenkins1-1/+2
2015-04-14Merge "Make rabbitmq bind on ctlplane instead of 0.0.0.0"Jenkins1-0/+2
2015-04-14puppet: implement MongoDB on controller nodesEmilien Macchi1-1/+2
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/+8
Change-Id: Ia2e4eae619ca95c0f417f713676732eb4f01304b Depends-On: I9563eec0a2266deb2ebef2e3d76ae89d39b2be29
2015-04-10MariaDB bind on correct addressJiri Stransky1-0/+6
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-09Make rabbitmq bind on ctlplane instead of 0.0.0.0Giulio Fidente1-0/+2
Change-Id: I353cffc13f56b54ce2d2aeb1468b9a7c51765d7c
2015-04-09Make memcached bind on ctlplane instead of 0.0.0.0Giulio Fidente1-0/+2
Change-Id: I06f7066bf9eacf3ef0f5d73c0cfa65eaf4f74cff
2015-04-01Merge "puppet: wire in osfamily hieradata support"Jenkins1-0/+1
2015-04-01puppet: wire in osfamily hieradata supportDan Prince1-0/+1
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-01puppet: add debug mode for OpenStack servicesJiri Stransky1-4/+17
Propagate the top-level Debug parameter wherever it makes sense. Swift doesn't have this kind of debug setting, it only allows to configure log levels, so we'll need a different approach there. Change-Id: I15332315a2fbaeaf924cde4e748fb0e064a778b7
2015-04-01Merge "Ensure all Rabbit params are propagated to interested nodes."Jenkins1-7/+20
2015-03-31lb: Allow multiple backendYanis Guenane1-1/+0
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-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-19Add support for Neutron l3_ha option in puppet templatesGiulio Fidente1-0/+6
With this change we wire the NeutronL3HA parameter to the puppet class, where needed. Change-Id: I37b3850f71885a93859b5e51925df379616fc6ab
2015-03-19Ensure all Rabbit params are propagated to interested nodes.Giulio Fidente1-7/+20
Change-Id: I1bb8ee15d361638d77c5df7f8c03561c34f4c88f
2015-03-19Merge "controller-puppet: Honor MysqlRootPassword"Jenkins1-1/+1
2015-03-19Merge "puppet: use identity_uri and auth_uri"Jenkins1-8/+28
2015-03-18puppet: use identity_uri and auth_uriDan Prince1-8/+28
This patch updates the puppet modules to use new identity_uri and auth_uri settings instead of the old 'auth_host' parameters for keystone auth_token middleware. This avoids some deprecation warnings in our puppet logs. Change-Id: I805b28d4135b13eef7082fda78956816c985c323
2015-03-18Add support for Ceph as a Cinder and Nova backendYanis Guenane1-0/+6
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
2015-03-18Merge "puppet/loadbalancer: use puppet-tripleo"Jenkins1-0/+5
2015-03-18controller-puppet: Honor MysqlRootPasswordYanis Guenane1-1/+1
Currently the MysqlRootPassword parameter is retrieved from the templates but not honored, preventing a user to specify it. This commit fixes that. Change-Id: Ib6842736a37aea3cc16f1a7c75fc877408682bf7
2015-03-16Merge "Make heat auth_encryption_key random"Jenkins1-1/+5
2015-03-13puppet/loadbalancer: use puppet-tripleoEmilien Macchi1-0/+5
The loadbalancer Puppet code moved to puppet-tripleo (lightweight) composition layer. This patch aims to use it and refactor the loadbalancer.pp file. Co-Authored-By: Dan Prince <dprince@redhat.com> Change-Id: I1765ac9b6cb01cb64d5d28dad646674ddca859e9
2015-03-13Make heat auth_encryption_key randomSteven Hardy1-1/+5
Currently we have a hard-coded default for auth_encryption_key, which isn't ideal as it's used as a salt for the DB encryption. Instead, reference an OS::Heat::RandomString resource so we create a random key for each deployment. Change-Id: Ic76b89db17603c114d98d28c01f75cc287fb2e90
2015-03-12Use Cinder multibackend by defaultYanis Guenane1-2/+8
Currently Cinder iscsi backend is configured within the DEFAULT section. Since we aim to support multibackend, this commit puts the iscsi backend in its own section and enable it by default configuring it properly. Also adds a parameter which can be used to disable the default backend. Co-Authored-By: Giulio Fidente <gfidente@redhat.com> Change-Id: I05fb44b59829c0afa8a6588956a48320f2f65159
2015-03-11Puppet: Configure neutron_api_class on controllerJiri Stransky1-0/+16
We're already configuring Neutron in Overcloud, but the controller is still configured to use the default Nova neutron_api_class for default configuration for networking, which means it used Nova Network and not Neutron. This causes some of the Nova API is_neutron checks to behave incorrectly. This patch updates the controller to use nova::network::neutron (like we already do on the overcloud_compute.pp role). As part of the change several of the compute specific hiera settings for the nova::network::neutron class have been moved to common.yaml. Change-Id: Id2d5a5a0aa1ca087de714880ef1ea98484b06849
2015-03-06Puppet: define swift_store_auth_address in hieraEmilien Macchi1-0/+2
This patch updates the glance::backend::swift implementation to use only hiera variables instead of a mix of hiera, and inline class variables. Nothing was functionally wrong with the previous approach but now that we can compose more freely using the SoftwareDeployment defining all the variables in Hiera makes sense and is cleaner. Change-Id: I6d319841488d2ed94e088a5ac21e41dcd964ed1a Co-Authored-By: Dan Prince <dprince@redhat.com>
2015-03-06puppet: set heat-user using class parameterDan Prince1-0/+1
The puppet-heat module just added a new class parameter to help manage instance_user today in I44fef59d3ed1f7851d8504855a7ae0d5460fdc84. This actually broke us because we were setting it manually via heat_config (puppet doesn't allow two settings). Change-Id: Ib25e8de8ca3849701d506a5d0c956a6f3317ac8a Closes-bug: #1429328
2015-03-05Puppet: First support CephEmilien Macchi1-0/+4
This is a first implementation of Ceph support in TripleO with Puppet: * Install ceph-mon on controller node * Install ceph-osd on cephstorage node Co-Authored-By: Giulio Fidente <gfidente@redhat.com> Change-Id: I48488cbe950047fae5e746e458106d6edb9a6183
2015-02-19Split out BootstrapNode SoftwareConfigDan Prince1-2/+1
This patch splits out the BootstrapNode config such that alternate implementation (puppet for example) can implement their own SoftwareConfig's via a nested stack. This is controlled by the standard overcloud heat environment. For os-apply-config deployments the implementation should work the same as before. For puppet deployments the implementation uses hiera metadata to configure bootstrap_nodeid. Change-Id: I691a9d7c474866038a5d47beab295899b5479d03
2015-02-13Puppet/RabbitMQ: support clusteringGiulio Fidente1-1/+1
Allow to install & configure RabbitMQ in cluster with Puppet on the controller node. Change-Id: Iebbf55c75b8c80453c7313bb41faf42c7fdf7159
2015-02-13Split out allNodesConfig SoftwareConfigDan Prince1-0/+1
This patch splits out the allNodesConfig config such that alternate implementation (puppet for example) can implement their own SoftwareConfig's via a nested stack. This is controlled by the standard overcloud heat environment. For os-apply-config deployments the implementation should work the same as before. For puppet deployments the implementation uses hiera metadata to configure rabbit_nodes. The puppet deployment doesn't support hosts, or freeform sysctl metadata yet so those are the same for now as well. Change-Id: I34ae30b1f37aca8b39586f7e350511462d66f694
2015-02-12Split out SwiftDevicesAndProxy SoftwareConfigDan Prince1-2/+1
This patch splits out the SwiftDevicesAndProxy config such that alternate implementation (puppet for example) can implement their own SoftwareConfig's via a nested stack. This is controlled by the standard overcloud heat environment. For os-apply-config deployments the implementation should work the same as before. For puppet deployments the implementation uses hiera metadata to configure swift devices. Partial-bug: 1418805 Change-Id: Ibf6038460f36279ad51a04947589d4a03a553f66
2015-02-12Controller: Exec puppet after all configurationDan Prince1-114/+0
This patch adds a new ControllerNodesPostDeployment resource which can be used along with the environment file to specify a nested stack which is guaranteed to execute after all the Controller config (HA, or other) have executed. This is really useful for Puppet in that Heat actually controls where puppet executes in the deployment process and we want to ensure puppet runs after all hiera configuration data has be deployed to the nodes. With the previous approach some of the data would be there, but most of the HA data which actually gets composed outside of the controller-puppet.yaml nested stack would not be guaranteed to be there in time. As os-apply-config (tripleo-image-elements) have their ordering controlled within the elements themselves an empty stubbed in nested stack has been added so that we don't break that implementation. Partial-bug: 1418805 Change-Id: Icd6b2c9c1f9b057c28649ee3bdce0039f3fd8422
2015-02-12Move all puppet templates into puppet directory.Dan Prince1-0/+868
This cleans up the top level tree by moving all the puppet related bits into the puppet directory. The only exception is overcloud-resource-registry-puppet.yaml which is the puppet environment file and is used externally. Change-Id: Idb65a7143b0f29e5579d4e9d1642e4cda6f65d50