aboutsummaryrefslogtreecommitdiffstats
path: root/puppet/overcloud_controller.pp
AgeCommit message (Collapse)AuthorFilesLines
2015-02-12Move all puppet templates into puppet directory.Dan Prince1-314/+0
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
2015-02-06puppet: only enable Ntp if ntp::servers is setDan Prince1-1/+3
Not all installations have an NtpServer configured and if they don't the ntp service will fail to startup correctly. This patch makes it so that ntp is only enabled if the ntp::servers array is greater than 0. Change-Id: I8417f87ad2a3c1237ebb00ee1232b5313cd45d46
2015-02-06puppet: disable swift proxy and glance backendDan Prince1-15/+15
We have an issue where swift.devices metadata isn't showing up on our controllers. This causes ringbuilding to fail meaning swift-proxy won't startup. This patch disables the swift-proxy and glance swift backend until we can figure out exactly what caused this change. Change-Id: I723a4b703d979d7475ac48f41c4c0ac91c306884 Partial-bug: 1418805
2015-02-05puppet: Add EnablePackageInstall optionDan Prince1-0/+11
This adds an option which enables package installation via Yum when Puppet executes. Users might want to disable Yum installation of packages via puppet when using pre-installed images. The option is off by default: meaning that Puppet will no longer install packages by default. Users will need to enable the EnablePackageInstall in order to get the previous behavior. The intent is to use the default_parameters section of the Heat environment to allow users to cleanly enable this features without wiring it into the top level. This is because the new parameter is Puppet specific and doesn't really apply to other implementations. Kilo Heat already has support for default_parameters and so does python-heatclient. NOTE: most TripleO users do not yet have the heatclient features because setup-clienttools in tripleo-incubator only installs releases via pip. It is for these reasons the default_parameters section in overcloud-resource-registry-puppet.yaml is commented out for now. Change-Id: I3af71b801b87d080b367d9e4a1fb44c1bfea6e87
2015-02-04Puppet: SNMP support for undercloud ceilometerDan Prince1-0/+10
This configures an snmp agent for the undercloud ceilometer 'hardware' metering. This rely's on the razorsedge/puppet-snmp which we are adding in I8ae104de7382767c3448a493cd37ff2994cf4f52. Change-Id: If2b6b63279b9b0402c5136ff1635e10acad1de7e
2015-02-04Puppet: wire in neutron_dnsmasq_optionsDan Prince1-0/+8
This patch updates puppet on the controller so that it configures the Neutron dnsmasq options file data with the value provided by the Heat NeutronDnsmasqOptions parameter. Properly configuring this setting can help resolve/tune overcloud instance connectivity issues w/ SSH etc. Change-Id: If47ab3d3002ebe19fc980ca5d37f84f4d8851f9b
2015-02-04Puppet: Heat API and EngineDan Prince1-1/+12
This patch adds the ability to configure the Heat API and Heat engine on controller nodes via puppet. Change-Id: Ie81090bceed3e18199a36ebb11d1cbcaea83c410
2015-02-04Puppet: Ntp supportDan Prince1-0/+2
This patch adds NTP support to all roles. As part of this change overcloud-without-mergepy.yaml has also been updated so that it passes the NtpServer parameters into the Swift and Cinder storage node templates so that Ntp can also be configured on those machines as well. NOTE: The puppet support here uses the puppetlabs-ntp modules which we add in Ib10ccbfdb3140b19f40049707548c6655d250e1c. Change-Id: If2ef236fa42a714e84c6944eee5fe4daddf3fedf
2015-02-03Puppet: Ceilometer controller supportDan Prince1-0/+25
This patch adds support for the Ceilometer controller role including the Ceilometer: -API -central agent -alarm notifier -alarm evaluator -collector -expirer In order to enable swift metering the swift::proxy ceilometer middleware was added in. Also, a minor adjustment to the existing ceilometer HA proxy setting was made to accommodate ceilometer auth settings. (not exactly sure why but this seems to be required) Like upstream TripleO Ceilometer is currently using a MySQL database backend. A follow on patch can support configuring MongoDB for use with Ceilometer. Change-Id: I4e171274bd7679d386d93492d13dfa7c5d37f6a8
2015-01-27Puppet: Switch glance to use a swift backendDan Prince1-1/+4
Now that we have swift we can switch glance over to make use of it. Change-Id: I9513cb63079235337b684aa734af73a0f0cc0afd
2015-01-27Puppet: Swift Overcloud Proxy/Storage supportDan Prince1-0/+33
This patch adds support for a Swift proxy and storage node on the controller. The implementation is fairly straightforward with the exception of building the ring. I've followed an upstream TripleO model here where we build the actual ring on each node (rather than build once and rsync). This works because Heat will always know all the devices ahead of time. In the future when we have Heat breakpoints it might be possible to consider optimizing this by generating the ring once and then rsyncing to all the nodes. The ringbuilder logic is executed as a seperate Heat software deployment. On the controller the ring is executed in between the base service (mysql/rabbit) and OpenStack service steps. This is to ensure the ring exists before the Swift proxy is started. Having the ringbuilder.pp logic as a separate software config should allow us to reuse it for the Storage node role. It should also be noted that swift.zones support is added here but we are missing an upstream Heat template change in order for it to be wired in properly. See: I0e0f5189da1575f2e1ed7fba4bbbe13a8fbf6221 Likewise we need to properly wire in SwiftRingBuild as well. See: I01311ec3ca265b151f8740bf7dc57cdf0cf0df6f The underlying puppet ringbuilder code is already wired to support this change when it lands. As is this works today and will provide a working Overcloud Swift-proxy/storage node config. Will follow this up with a related Swift storage node patch which should allow puppet to be used for configuration on the storage nodes as well... Change-Id: Id1272f796e2507a7357309e8cd6a51ad9e0160af
2015-01-08Puppet: overcloud controller configDan Prince1-0/+209
This patch provides an alternate implementation of the OS::TripleO::Controller::SoftwareConfig which uses Puppet to drive the configuration. Using this it is possible to create a fully functional overcloud controller instance which has the controller node configured via Puppet stackforge modules. Initially this includes only the following services: MySQL RabbitMQ Keepalived/HAProxy (HA is not yet fully supported however) Nova Neutron Keystone Glance (file backend) Cinder Using these services it is possible to run devtest_overcloud.sh to completion. The idea is that we can quickly add more services once we have CI in place. In order to test this you'll want to build your images with these elements: os-net-config heat-config-puppet puppet-modules hiera None of the OpenStack specific TripleO elements should be used with this approach (the nova/neutron elements were NOT used to build the controller image). Also, rather than use neutron-openvswitch-agent to configure low level networking it is recommended that os-net-config by configured directly via heat modeling rather than parameter passing to init-neutron-ovs. This allows us to configure the physical network while avoiding the coupling to the neutron-openvswitch-element that our standard parameter driven networking currently uses. (We still need to move init-neutron-ovs so that it isn't coupled and/or deprecate its use entirely because the heat drive stuff is more flexible.) Packages may optionally be pre-installed via DIB using the -p option (-p openstack-neutron,openstack-nova) etc. Change-Id: If8462e4eacb08eced61a8b03fd7c3c4257e0b5b8