aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2015-03-31Merge "puppet+devtest: make compute nodes reachable"Jenkins1-0/+7
2015-03-31lb: Allow multiple backendYanis Guenane3-2/+8
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 Fidente5-25/+26
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-25Implement mongo_node_ips hiera keyJiri Stransky3-0/+9
We need a list of hosts where MongoDB is supposed to run (as a list of IP addresses, not names) to implement MongoDB support in overcloud. Change-Id: I4b80f13be7e50630314d0642fa32b7763b6a2921
2015-03-25Refactor allNodesConfigJiri Stransky3-4/+4
* 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-19Add support for Neutron l3_ha option in puppet templatesGiulio Fidente4-4/+12
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 Fidente7-47/+94
Change-Id: I1bb8ee15d361638d77c5df7f8c03561c34f4c88f
2015-03-19Merge "controller-puppet: Honor MysqlRootPassword"Jenkins1-1/+1
2015-03-19Merge "Correct the parameter_defaults section name."Jenkins1-3/+2
2015-03-19Merge "puppet: tidy up the Nova ceilo auth configs"Jenkins2-6/+8
2015-03-19Merge "puppet: tidy up the Nova glance API server config"Jenkins2-10/+10
2015-03-19Merge "puppet: tidy up the compute nova neutron config"Jenkins2-6/+15
2015-03-19Merge "puppet: use identity_uri and auth_uri"Jenkins1-8/+28
2015-03-19Merge "Add support for Ceph as a Cinder and Nova backend"Jenkins9-3/+105
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-18Update puppet post config to enable stepped deploymentsGiulio Fidente4-15/+12
The upcoming heat hook/breakpoint features will enable stepped deployments via setting stop points via the resource_registry. For this to work, we need hard dependencies between each step of the puppet deployments, because the current "soft" dependencies caused by the name property only influences the hook script application ordering, not the graph traversed by heat during deployment. Since removing the name: puppet_n completely removes some useful self- documenting context, move this to a resource naming convention, which should also be useful for heat hooks/breakpoints, as they are expected to support globbed specification of each step. Related heat patch (not yet landed, but this is not dependent on it): https://review.openstack.org/#/c/146123/ Change-Id: I05b02a46d4e80c08a308d033c33d4901c8f6c94e
2015-03-18Add support for Ceph as a Cinder and Nova backendYanis Guenane9-3/+105
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"Jenkins5-451/+44
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"Jenkins4-3/+18
2015-03-13puppet/loadbalancer: use puppet-tripleoEmilien Macchi5-451/+44
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 Hardy4-3/+18
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-12puppet: tidy up the Nova ceilo auth configsDan Prince2-6/+8
Updates the puppet configuration for the Ceilometer auth agent so that we do the join conversions in the Heat templates and use only hiera for configuration of the ::ceilometer::agent::auth class. Change-Id: I932afafe21b2485a0581ac3910ac9d46161eee0d
2015-03-12puppet: tidy up the Nova glance API server configDan Prince2-10/+10
Updates the puppet configuration for the Nova glance configs so that we do the join conversions in the Heat templates and use only hiera for configuration of the ::nova class. Change-Id: Id12fb05470470558f1dccd45150bfce00a554466
2015-03-12puppet: tidy up the compute nova neutron configDan Prince2-6/+15
Updates the puppet configuration for the Nova neutron configs so that we do the join conversions in the Heat templates and use only hiera for configuration of the ::nova::network::neutron class. This updates the compute configuration to match what we now do on the controller as well. Change-Id: I2b352551777f64e0ceb119f48cc3b3ab1779f4d5
2015-03-12Use Cinder multibackend by defaultYanis Guenane7-7/+68
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-12Merge "Puppet: Configure neutron_api_class on controller"Jenkins4-5/+23
2015-03-11Puppet: Configure neutron_api_class on controllerJiri Stransky4-5/+23
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-11Merge "puppet: add ordering for Neutron agents"Jenkins1-0/+5
2015-03-10puppet: add ordering for Neutron agentsEmilien Macchi1-0/+5
Before starting the Neutron agents, we need to make sure neutron-server is running so we don't have a race when starting the services. This patch adds some orchestration to do it. Change-Id: I24db069d6af1fadd302b0924f769db3f58f65685
2015-03-09Include cinder::glance into the ctrl manifestYanis Guenane1-0/+1
Include ::cinder::glance into the controller manifest to have proper (upstream) default value for cinder's glance related parameters. Change-Id: I9ac83b9e997d3c2502b08b642d4e41dba36ddf67
2015-03-06Puppet: define swift_store_auth_address in hieraEmilien Macchi2-3/+3
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 Prince2-4/+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-06Correct the parameter_defaults section name.Dan Prince1-3/+2
Also, we can actually uncomment this now that heatclient 0.3 has been released. Change-Id: I0b4ce13f1426c364ea7921596022e5165e025fdb
2015-03-05Puppet: First support CephEmilien Macchi13-19/+321
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-24Merge "Add allNodesConfig to Swift storage nodes"Jenkins1-1/+7
2015-02-24Merge "BlockStore: Exec puppet after all configuration"Jenkins6-16/+48
2015-02-24Merge "ObjectStore: Exec puppet after all configuration"Jenkins6-32/+58
2015-02-24Merge "Compute: Exec puppet after all configuration"Jenkins6-15/+41
2015-02-24Merge "Deprecate the old mergepy overcloud templates"Jenkins11-11/+10
2015-02-23Deprecate the old mergepy overcloud templatesDan Prince11-11/+10
This patch moves all the related mergepy templates for the overcloud into a deprecated directory. The Makefile has been updated so that overcloud.yaml is still generated at the top level so this shouldn't break end users. This is to reduce confusion for new users who are learning the TripleO heat templates and find the fact that we have two full implementations very confusing. Change-Id: I0848aca4dee3e37cb4c6089c5f655ad22ac6c5fd
2015-02-23Add allNodesConfig to Swift storage nodesDan Prince1-1/+7
This patch applies the allNodesConfig data to swift storage nodes. This contains hosts information which could be useful. Change-Id: Iaccfdc698e371d6618d561c33f256ccc3c166fb7
2015-02-23BlockStore: Exec puppet after all configurationDan Prince6-16/+48
This patch adds a new BlockStoreNodesPostDeployment resource which can be used along with the environment file to specify a nested stack which is guaranteed to execute after all the BlockStore config deployments 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 allNodes data 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. Change-Id: I29b3574e341eecd53b2867788f415bff153cfa9f
2015-02-23ObjectStore: Exec puppet after all configurationDan Prince6-32/+58
This patch adds a new ObjectStoreNodesPostDeployment resource which can be used along with the environment file to specify a nested stack which is guaranteed to execute after all the ObjectStore config deployments 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 allNodes data 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. Change-Id: I778b87a17d5e6824233fdf9957c76549c36b3f78
2015-02-23Compute: Exec puppet after all configurationDan Prince6-15/+41
This patch adds a new ComputeNodesPostDeployment resource which can be used along with the environment file to specify a nested stack which is guaranteed to execute after all the Compute config deployments 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 allNodes data 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. Change-Id: I80bccd692e45393f8250607073d1fe7beb0d7396
2015-02-19Split out BootstrapNode SoftwareConfigDan Prince6-8/+51
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 Fidente2-5/+12
Allow to install & configure RabbitMQ in cluster with Puppet on the controller node. Change-Id: Iebbf55c75b8c80453c7313bb41faf42c7fdf7159