aboutsummaryrefslogtreecommitdiffstats
path: root/puppet/manifests/overcloud_controller.pp
AgeCommit message (Collapse)AuthorFilesLines
2015-08-13Support for using external Ceph clustersDan Prince1-5/+12
This patch adds support for using an externally managed Ceph cluster with the TripleO Heat templates. For an externally managed Ceph cluster we initially only deploy the Ceph client tools, install the 'openstack' user keyring, and generate the ceph.conf. This matches what we do for managed Ceph installations and is a good first start. No other Ceph related services are installed or managed. To enable use of a Ceph external cluster simply add the custom Heat environment file environments/puppet-ceph-external.yaml to your heat stack create/update command and make sure to set the required CephClientKey, CephExternalMonHost, and CephClusterFSID variables. Change-Id: I0a8b213ce9dfa2fc4e62ae1e7631466e5179fc2b
2015-08-06Merge "Drive DB initialization via Hiera"Jenkins1-58/+7
2015-07-28Merge "Keystone token flushing"Jenkins1-0/+4
2015-07-24Merge "Ensure SELinux is permissive on Ceph OSDs"Jenkins1-0/+14
2015-07-24Keystone token flushingJiri Stransky1-0/+4
Set up a cron job to flush keystone tokens periodically. The job runs once a day near midnight per puppet-keystone defaults, and we pass maxdelay 3600 which means each controller will wait a random delay of up to 1 hour before running the task. Change-Id: I351f0273c61106c182aa3945b7ad1ce8f5c7d12b
2015-07-24Merge "NFS backend for Cinder"Jenkins1-1/+19
2015-07-23Use 'public' instead of 'nova' as default floating pool nameGiulio Fidente1-0/+1
The dafault in nova.conf for default_floating_pool is set to nova which is confusing given to make Tempest tests to pass one has to create a public network with such a name. Change-Id: I148222a9f276309ede062ee5292993898ff899d6
2015-07-22Provide list of memcached servers to NovaGiulio Fidente1-1/+3
Memcached is used by novnc to share the auth tokens. Change-Id: I18415b6ae38b46e3c92e4ce84b858a014ef8398b
2015-07-21Drive DB initialization via HieraDan Prince1-58/+7
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-13Ensure SELinux is permissive on Ceph OSDsJiri Stransky1-0/+14
Currently we build the overcloud image with selinux-permissive element in CI. However, even in environments where selinux-permissive element is not used, it should be ensured that SELinux is set to permissive mode on nodes with Ceph OSD [1]. We have no nice way to manage SELinux status via Puppet at the moment, so i'm resorting to execs, but with proper "onlyif" guards. [1] https://bugzilla.redhat.com/show_bug.cgi?id=1241422 Change-Id: I31bd685ad4800261fd317eef759bcfd285f2ba80
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-07NFS backend for CinderJiri Stransky1-1/+19
Adds support for NFS backend for Cinder, but remains disabled by default. Change-Id: I9ebef072ed115efe980fa4904ea80f02384522af
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-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-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-06-21Drop swift ceilometer middleware.Dan Prince1-1/+0
Per Ceilometer commit 191f7bf9ccee33d8444f7dac5c09ceccce72ca29 (change ID: Ifd1861e3df46fad0e44ff9b5cbd58711bbc87c97) the Swift Ceilometer middleware no longer exists so we need to drop it in order to work with the latest upstream package. Change-Id: Iebaad0ba477001d663c6875b32d691bbfcda3d8d
2015-06-08Merge "Enable NetApp Backends in Cinder"Jenkins1-1/+17
2015-06-05Enable NetApp Backends in CinderRyan Hefner1-1/+17
Enables support for configuring Cinder with a NetApp backend. This change adds all relevant parameters for: - Clustered Data ONTAP (NFS, iSCSI, FC) - Data ONTAP 7-Mode (NFS, iSCSI, FC) - E-Series (iSCSI) Change-Id: If6c6e511ef2d26c4794e3b37c61e5318485ff4db
2015-06-05Fix list of type_drivers for ML2 pluginGiulio Fidente1-1/+0
The list of drivers loaded by the ML2 plugin does not have to match the list of tenant_network_types, this will make ML2 load the flat, gre, vxlan and vlan drivers so that the provider networks can be of flat (default) and vlan type as well. Change-Id: I0b74f86acf5c1ff644deb46c0a1d14129c1882d4
2015-06-04puppet controller role: per service VIP settingsDan Prince1-13/+4
This patch refactors the puppet controller role so that it makes use of per service VIP settings for each service. Previously the VIP for the ctlplane was hard wired to many of the controller service. With this patch we have the ability to isolate traffic for services which made use of the ctlplane and public VIPs for their settings. The implementation includes: * stops the use of the VirtualIP and PublicVirtualIP within the controller role. These parameters have now been replaced with per service heat parameters for the controller nested stack which are determined via VipMap based on per service settings in the heat environment. * All VIP configuration is now moved into puppet/vip-config.yaml. This made sense so we could deprecate the use of the VirtualIP and PublicVirtualIP settings above. * The puppet manifests for the controller were cleaned up for several to use Hiera directly instead of constructing URLs based on the static controller and public network VIPs. This improvement was something we wanted to do anyways and made the implementation cleaner. Change-Id: I9b9a15be67f74bec97366408f7047acfd6ea0ec6
2015-06-03Make all-nodes Ip networks configurableDan Prince1-4/+3
This patch adds a new NetIpListMap abstraction which we can use to make the all-nodes-config IP list network assignments configurable. Ip address lists for all overcloud services which require IPs were added to all-nodes-config so that puppet manifests can be directly supplied the correct network list for each service. Change-Id: I209f2b4f97a4bb78648c54813dad8615770bcf1a
2015-05-29Merge "Map Mysql to isolated networks"Jenkins1-2/+2
2015-05-29Adds neutron-server and agents as pacemaker resourcesmarios1-10/+8
Adds neutron-server, neutron-l3-agent, neutron-dhcp-agent, neutron-openvswitch-agent and neutron-metadata-agent as pacemaker resources. Change-Id: I4dcc6f56db4c27a2a4f627fa8303cbeb2bd563d4
2015-05-28Map Mysql to isolated networksDan Prince1-2/+2
This change adds parameters to specify which networks the MySQL service will use. If the internal_api network exists the MySQL service will bind to the IP address on that network, otherwise the services will default to the IP on the Undercloud 'ctlplane' network. This patch also drop the old 'controller_host' variable from the puppet controller template since it is no longer in use. Change-Id: I4fba2c957f7db47e916bc269fb4bd32ccc99bd4c
2015-05-20Move sysctl settings into hieradataGiulio Fidente1-0/+2
This will configure the sysctl settings via puppet instead of sysctl image element. Change-Id: Ieb129d4cbe4b6d4184172631499ecd638073564f
2015-05-19Provide RabbitMQ clients with a list of servers instead of VIPGiulio Fidente1-1/+1
This will change the way how RabbitMQ clients get to the servers, they will not go through HAProxy anymore. Change-Id: I522d7520b383a280505e0e7c8fecba9ac02d2c9b
2015-05-15Makes sure galera can handle the connectionsmarios1-2/+4
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-11Use optimized config for RabbitMQ clusterGiulio Fidente1-2/+6
Use some optimized configuration settings for RabbitMQ when clustered. Data is ported from Astapor. Change-Id: If54aff5654dbe75e68197588be12cb3995c77ec7
2015-05-11Puppet: Split out controller pacemaker manifestDan Prince1-106/+12
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