aboutsummaryrefslogtreecommitdiffstats
path: root/puppet/manifests/overcloud_controller_pacemaker.pp
AgeCommit message (Collapse)AuthorFilesLines
2015-07-21Drive DB initialization via HieraDan Prince1-44/+1
This patch moves most of the ::db::mysql parameter initialization into a new database.yaml Hiera file. This cleans up the controller manifests and allows us to define things in a single location across the two implementations (HA and nonHA). Change-Id: I895b753b329097a96a6c6f3a03a5fcebefe32dd4
2015-07-21Merge "Puppet: wire in tripleo::packages"Jenkins1-10/+1
2015-07-21Merge "Fix Puppet Configuring NetApp Cinder Backend"Jenkins1-3/+22
2015-07-20Puppet: wire in tripleo::packagesDan Prince1-10/+1
This wires in use of a new puppet-tripleo class which encapsulates the logic to enable/disable package installation and upgrades. By using the new class we can remove the global Package provider declaration at the top of each module. Change-Id: I5c6e5fd8600031bd8fb6195649721607c560f9d5 Depends-on: Ie8fbc344149bc8c9977e127de77636903607617a
2015-07-20Fix Puppet Configuring NetApp Cinder BackendRyan Hefner1-3/+22
It was incorrectly assumed that Puppet variables assigned to a defined class (as seen in cinder-netapp.yaml) would be applied to any resources created with that type. This is not how Puppet works. The full range of configuration parameters to cinder::backend::netapp have been added back in. They are still pulling from Hiera like they were intended before, but it needs to be a little more explicit for Puppet to be happy. Change-Id: I2e00eae829713b2dbb1e4a5f296b6d08d0c21100
2015-07-16Merge "Provide manage_service to neutron::agents::ml2::ovs"Jenkins1-1/+1
2015-07-15Merge "Removes the NeutronScale resource from controller pcmk manifest"Jenkins1-22/+2
2015-07-13neutron-server: Remove start/sleep/stop patternYanis Guenane1-6/+1
Currently the bootstrap of the neutron server happens with the use of a start/sleep/stop pattern. Since Pacemaker doesn't mind if the service is already started let simply start the neutron server on the $pacemaker_master node and wait for 5 sec. Change-Id: I894dc3305f7d6685ebcc6828e690c718a63f32bd Closes-Bug: #1473410
2015-07-13Provide manage_service to neutron::agents::ml2::ovsGiulio Fidente1-1/+1
Change-Id: Ib945b07dd93f9bdc613f464211745094c4c72836
2015-07-10Allow configuration of MySQL max_connections settingGiulio Fidente1-1/+1
The number of connections created to the database depends on the number of running processes and this is a factor of both the nodes count and the cores count. We make it configurable so it can be increased when needed. Change-Id: I41d511bde95d0942706bf7c28cd913498ea165fb
2015-07-07Merge "Drop swift ceilometer middleware for pacemaker"Jenkins1-1/+0
2015-07-07Merge "Allow customization of included classes via hieradata"Jenkins1-0/+2
2015-07-06Merge "controller: enable HTTP Glance backend"Jenkins1-4/+6
2015-07-06Merge "Add IP to HAProxy kind=Optional constraint"Jenkins1-11/+118
2015-07-06Merge "Remove unwanted constraints between the Redis vip and Ceilometer"Jenkins1-25/+0
2015-07-06Merge "Allow to enable fencing, pass through fencing config"Jenkins1-1/+9
2015-07-06Allow customization of included classes via hieradataGiulio Fidente1-0/+2
Allows inclusion of additional arbitrary puppet classes by the manifests if defined in the *_classes hieradata. Example: to specify the Nova RAM allocation ratio there is a param in nova::scheduler::filter but we do not include it by default; if needed one can use: nova::scheduler::filter::ram_allocation_ratio: 1.8 controller_classes: - nova::scheduler::filter Change-Id: I61d64d2498bed5c49376dee917d106598392db51
2015-07-03Add IP to HAProxy kind=Optional constraintGiulio Fidente1-11/+118
Without the constraint the VIP could get assigned to a node without an active haproxy instance, which ultimately means everything stops working. kind=Optional allows a VIP to relocate to a healthy haproxy instance in the event of a failure without tearing down the entire stack in the process. Change-Id: I44d44952fb42cf91a2a248250a4063e3034d119e
2015-07-02Removes the NeutronScale resource from controller pcmk manifestmarios1-22/+2
As reported in https://bugzilla.redhat.com/show_bug.cgi?id=1238117 and https://bugzilla.redhat.com/show_bug.cgi?id=1236578 the NeutronScale resource is causing problems during post deploy configuration of the overcloud (momentary inconsistency in the host name for the neutron agents, given what NeutronScale does, discussion in BZ 1238117). As discussed in the bugs, we may not need NeutronScale, since our host names should be safe enough for scaling. This change removes neutron scale completely and links startup of neutron-server directly to neutron-ovs-cleanup. If we can safely remove the NeutronScale resource then this change does that. Change-Id: Ib43a2d60b85fd9bb48eff5919602bb74dc463905
2015-07-02Drop swift ceilometer middleware for pacemakerDan Prince1-1/+0
In 88b278f510b0c9351c58dfe67513f3902d415ab6 we dropped the swift ceilometer middleware but we forgot to do it for the overcloud pacemaker manifest. Change-Id: If9fcc5d029492554472edbe3be98a44942f94d20
2015-07-01Merge "Add special handling of neutron-server service startup to fix race"Jenkins1-0/+10
2015-07-01controller: enable HTTP Glance backendEmilien Macchi1-4/+6
While trying to download a glance image from a webserver, you need to enable the HTTP backend store. This patch aims to merge the configured backend and the HTTP store backend so it will be enabled anytime. Change-Id: Ie769831f8d491c1b7fe08b8fc7df9ebea493f9e8
2015-07-01Allow to enable fencing, pass through fencing configJiri Stransky1-1/+9
Add two new parameters: EnableFencing and FencingConfig. FencingConfig is a json with an expected structure documented in the templates. It gets passed further to puppet-tripleo, which configures the fencing devices. Fencing is configured and enabled in the last step after all pacemaker resources and constraints have been created, which should be a more stable approach than the other way round. Change-Id: Ifd432bfd2443b6d13e7efa006d4120bb0eaa2554 Depends-On: I819fc8c126ec47cd207c59b3dcf92ff699649c5a Depends-On: I8b7adff6f05f864115071c51810b41efad887584
2015-07-01Remove unwanted constraints between the Redis vip and CeilometerGiulio Fidente1-25/+0
We do not want to delay Redis vip start to promotion of Redis master, HAProxy will take care of the validating the backends. We do not need to force colocation of Redis vip with Redis master. We do not want to restart the Ceilometer central agent when the vip moves this can instead cause unwanted cascading restarts due to other constraints in between services. More details can be read on the BZ at: https://bugzilla.redhat.com/show_bug.cgi?id=1236374 Change-Id: I594984cd23db7de57746c3e1018181d61b020f46
2015-06-26Merge "Add missing Pacemaker constraint against Keystone"Jenkins1-9/+18
2015-06-26Merge "Enable mysql_clustercheck for Pacemaker scenario"Jenkins1-0/+1
2015-06-26Merge "Increase mongodb_conn_validator timeout to 600"Jenkins1-0/+1
2015-06-25Add missing Pacemaker constraint against KeystoneGiulio Fidente1-9/+18
The Heat contraints group was missing the initial dependency on Keystone, causing Pacemaker to Heat before or in parallel to Keystone. Given Systemd can define dependencies in the unit files, this was additionally causing an unmanaged start of Keystone making cluster initialization to fail (with Keystone start timeout blocking all the depending resources). Also moves Keystone -> Ceilomter constraint on top of Ceilometer constraints group for clarity. Logs and more infos at [1] 1. https://bugzilla.redhat.com/show_bug.cgi?id=1235703 Change-Id: I9505fd46c5bf278afc8ff919c7e768e2de194cb8
2015-06-25Enable mysql_clustercheck for Pacemaker scenarioGiulio Fidente1-0/+1
Change-Id: I154c90e6d019807758332e3aefe5dde9d79db6ac Related-Bug: 1456701 Depends-On: I7199c7e5d759a76f58c0f48b40e9d460a3163886
2015-06-25Ensure mysql/mariadb service is not enabled on bootGiulio Fidente1-0/+1
Change-Id: I42462a6de2bf70ef71899833c3f27633f0f59493 Closes-Bug: 1468549 Closes-Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1235454
2015-06-24Increase mongodb_conn_validator timeout to 600Giulio Fidente1-0/+1
This will increase the mongodb_conn_validator timeout from 60 secs (the default) to 600 secs; it should take much less in normal circumstances to start mongod but nodes might not be starting it all at the same time so we use a larger timeframe for the availablity checks. Change-Id: I0ee210be94b33d1c08d67f287aa745743a6649d3
2015-06-23Add special handling of neutron-server service startup to fix raceGiulio Fidente1-0/+10
Neutron will populate the database with some data as soon as the neutron-server service is started; we want this to happen from a single node before normal Pacemaker initialization. Change-Id: I422972502fbb10ddae3201464bbd6885749de31e Closes-Bug: 1467904 Closes-Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1233061
2015-06-23Merge "Leave control of Redis balancing in static hieradata"Jenkins1-1/+0
2015-06-22Merge "Fix MongoDB connection url configuration in Ceilometer"Jenkins1-6/+7
2015-06-22Fix MongoDB connection url configuration in CeilometerGiulio Fidente1-6/+7
Change-Id: I8a56e7b067044bace5def63ea6170ed817f48acd Closes-Bug: 1467437 Closes-Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1233283
2015-06-22Merge "Enable httpd balancing for Horizon"Jenkins1-3/+6
2015-06-19Leave control of Redis balancing in static hieradataGiulio Fidente1-1/+0
Redis balancing is controlled by static hieradata [1] we don't need to override it into manifest. 1. https://github.com/openstack/tripleo-heat-templates/blob/master/puppet/hieradata/controller.yaml#L111 Change-Id: Ie2a5a4cbee0a55f2572f182b18c036efc299dbef
2015-06-18Enable httpd balancing for HorizonGiulio Fidente1-3/+6
We need to customize the default apache::ip param or the default vhost configured will listen on ::80 Change-Id: I195a083f727da940841beb3a0c37dade02c6d1ca
2015-06-18Enable loadbalancing of the Redis VIP, defaults to Falsemarios1-2/+1
We have to set it to true as the default is false which means the redis vip can't be reached. This was manifested as a problem with ceilometer agent reaching the coordination url like [1]. Co-Authored-By: Giulio Fidente <gfidente@redhat.com> [1] https://bugzilla.redhat.com/attachment.cgi?id=1040023 Closes-Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1232797 Change-Id: I1cd63308d0ac1d17542e1a2a909ee1a9680ed4b3
2015-06-17Merge "Remove Redis VirtualIP from params and build it from Neutron::Port"Jenkins1-2/+4
2015-06-17Merge "Adds horizon to pacemaker when puppet-pacemaker is enabled"Jenkins1-1/+11
2015-06-13Remove Redis VirtualIP from params and build it from Neutron::PortGiulio Fidente1-2/+4
The redis_vip should come from a Neutron Port as its cidr depends on the Neutron Network configuration. This change adds 2 new files and modifies 1 in the network/ports directory: - noop.yaml - Passes through the ctlplane Controller IP (modified) - ctlplane_vip.yaml - Creates a new VIP on the control plane - vip.yaml - Creates a VIP on the named network (for isolated nets) Also, changes to overcloud-without-mergepy.yaml create the Redis Virtual IP. The standard resource registry was modified to use noop.yaml for the new Redis VIP. The Puppet resource registry was modified to use ctlplane_vip.yaml by default, but can be made to use vip.yaml when network isolation is used by using an environment file. vip.yaml will place the VIP according to the ServiceNetMap, which can also be overridden. We use this new VIP port definition to assign a VIP to Redis, but follow-up patches will assign VIPs to the rest of the services in a similar fashion. Co-Authored-By: Dan Sneddon <dsneddon@redhat.com> Change-Id: I2cb44ea7a057c4064d0e1999702623618ee3390c
2015-06-12Fix Redis bind setting to use redis_networkGiulio Fidente1-1/+0
The Redis bind host should be set from [1] template. 1. https://github.com/openstack/tripleo-heat-templates/blob/master/puppet/controller-puppet.yaml#L985 Change-Id: I8713db1a7ad739692817921248edcc6b0e819ade
2015-06-12Adds horizon to pacemaker when puppet-pacemaker is enabledmarios1-1/+11
Adds the horizon (httpd) service as pacemaker resource Also adds a default for the horizon::django_session_engine [1] which was previously unconfigured. Also adds a server-status.conf for httpd/pacemaker [2] [1] https://docs.djangoproject.com/en/dev/topics/http/sessions/#using-cached-sessions [2] https://github.com/beekhof/osp-ha-deploy/blob/master/pcmk/horizon.scenario#L72 Change-Id: I320837dfecf3241355e8a3345d0ff271592da491
2015-06-09Merge "Enable use of coordination_url in ceilometer"Jenkins1-0/+1
2015-06-09Merge "Add Redis as a Pacemaker resource"Jenkins1-17/+44
2015-06-08Merge "Enable NetApp Backends in Cinder"Jenkins1-1/+17
2015-06-05Update mongodb implementation to reflect masterYanis Guenane1-13/+5
Two PR have been merged upstream that let use improve our current implementation : * service_manage[1] * conn string has namevar[2] [1] https://github.com/puppetlabs/puppetlabs-mongodb/pull/198 [2] https://github.com/puppetlabs/puppetlabs-mongodb/pull/200 Change-Id: Ia2247348a9e0292b5fcbc65ea1e41e6bc7c477fa
2015-06-05Enable use of coordination_url in ceilometerYanis Guenane1-0/+1
Since t-h-t can now deploy a Redis cluster, we can rely on it as the tooz backend for high availability. Change-Id: If045a273388aa2e725b6de624e09aa9c85248cc4
2015-06-05Add Redis as a Pacemaker resourceYanis Guenane1-17/+44
Change-Id: I731b408f24da01c1bc897bfffe8fd4d5638932ed