aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2015-01-27Puppet: Swift Overcloud Proxy/Storage supportDan Prince6-3/+201
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-27Compute: consolidated nested stackDan Prince6-197/+463
In I250dc1a8c02626cf7d1a5d2ce92706504ec0c7de we split out just the Controller software config in an effort to provide hooks for alternate implementations (puppet). This sort of worked but caused quirky ordering issues with signal handling. It also causes problems for Tuskar which would prefer to think of these nested stacks and not have us split out just the software configs like this. This patch moves all the compute related stuff for our two implementations: compute.yaml: is used by os-apply-config (uses the tripleo-image-elements) compute-puppet.yaml: uses stackforge puppet-* modules for configuration By duplicating the entire compute in this manner we make it much easier to create dependencies and implement proper signal handling. The only (temporary) downside is the duplication of parameters most of which will eventually go away when we move using the global parameters via Heat environment files instead. Change-Id: I49175d1843520abc80fefe9528442e5dda151f5d
2015-01-27Controller: consolidated nested stackDan Prince6-489/+1001
In I228216a0b55ff2d384b281d9ad2a61b93d58dab9 we split out just the Controller software config in an effort to provide hooks for alternate implementations (puppet). This sort of worked but caused quirky ordering issues with signal handling. It also causes problems for Tuskar which would prefer to think of these nested stacks and not have us split out just the software configs like this. This patch moves all the controller related stuff for our two implementations: controller.yaml: is used by os-apply-config (uses the tripleo-image-elements) controller-puppet.yaml: uses stackforge puppet-* modules for configuration By duplicating the entire controller in this manner we make it much easier to create dependencies and implement proper signal handling. The only (temporary) downside is the duplication of parameters most of which will eventually go away when we move towards using the global parameters via Heat environment files instead. Change-Id: Iaf3c889d7c8815f862308cd8e15ce1010059f5c6
2015-01-27Merge "Add parameter to manage usage of Neutron l3_ha option"Jenkins9-1/+31
2015-01-19Merge "Remove invalid NTP configuration in templates"Jenkins5-5/+5
2015-01-09Merge "Add SwiftMountCheck to overcloud-without-mergepy"Jenkins3-0/+13
2015-01-09Merge "Add SwiftMinPartHours to overcloud-without-mergepy"Jenkins3-0/+18
2015-01-09Add parameter to manage usage of Neutron l3_ha optionGiulio Fidente9-1/+31
This change will allow for the enablement of Neutron routers HA via the new NeutronL3HA parameter. Change-Id: Ia5f7c0b4e89159456482e840c50d166ec5f25d4c Implements: blueprint tripleo-icehouse-ha-production-configuration
2015-01-09Add SwiftMountCheck to overcloud-without-mergepyDan Prince3-0/+13
This was added in I36fece56bafa9fe9c4883b572687b3fc819eeae1 and is missing from overcloud-without-mergepy. Change-Id: I5c2566cc77247574f8d687eaab8094de481a8c67
2015-01-09Add SwiftMinPartHours to overcloud-without-mergepyDan Prince3-0/+18
This was added in Icc5e431a7e2884b3ca3a255b6fd901619bc98460 and is missing from overcloud-without-mergepy. Change-Id: I1273b646c04783712fd3f8baccafead11817689c
2015-01-09Merge "Default BlockStorageCount to 0 for without-mergepy jobs"Jenkins1-1/+1
2015-01-08Default BlockStorageCount to 0 for without-mergepy jobsGiulio Fidente1-1/+1
We have never created these additional storage nodes by default with the old templates; we agreed on adding a job for this in CI [1] so we will override the default value in the specific CI job. 1. https://github.com/openstack-infra/tripleo-ci/blob/master/docs/wanted_ci_jobs.csv Change-Id: Iaec38807bc209fc28d83e3d6922269e803110053
2015-01-08Remove invalid NTP configuration in templatesNicholas Randon5-5/+5
Currently the all templates have an invalid setting for NTP setup for the fudge setting. This should be removed from the templates which will remove the warning seen in syslog. ntpd[...]: inappropriate address xxx.xxx.xxx.xxx for the fudge command, line ignored Partial-Bug: 1408379 Relates-To: Ib9931b84925d9ceb32f18e9adc5be64402fbf61e Change-Id: I56a03dc0a899a8c515f2a05d678d7e80e9b7b93c
2015-01-08Puppet: overcloud controller configDan Prince6-1/+867
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
2015-01-08Merge "Controller: Drive os-net-config via software conf"Jenkins1-0/+13
2015-01-08Merge "Controller: Split out software config"Jenkins3-262/+344
2015-01-08Merge "Bring back (abandoned) support for Cinder/NFS"Jenkins4-101/+39
2015-01-08Merge "Allow setting Neutron tunnel type in no mergepy"Jenkins1-0/+2
2015-01-08Merge "Don't store Ceilo DB credentials on compute node"Jenkins6-20/+0
2015-01-08Merge "Puppet: overcloud compute config"Jenkins7-0/+209
2015-01-07Merge "Drop the MysqlClusterUniquePart validation"Jenkins1-2/+3
2015-01-07Merge "Pass Horizon port through to controller nodes"Jenkins1-0/+5
2015-01-05Allow setting Neutron tunnel type in no mergepyBen Nemec1-0/+2
The Neutron tunnel type settings were missing from the Controller section of the without-mergepy template, which made it impossible to configure any tunnel other than gre. Change-Id: Ia2579ed39a16d2b9826ce8406cb97fc116e3d595
2015-01-05Controller: Drive os-net-config via software confDan Prince1-0/+13
This example extends the controller software configuration so that heat metadata is used to model the os-net-config YAML (ultimately JSON) directly. The existing os-net-config element already supports this format. Configuring the physical network layer in this manner would supplant the ever growing list of Heat parameters that we have and is something that could be automatically generated via tuskar. The default is to use net-config-noop.yaml which will pass no config metadata into the os-net-config element which will essentially disable it in favor of using parameters w/ init-neutron-ovs. Change-Id: Ifba60454ee11222173a9762882e767a836a4545c
2015-01-05Controller: Split out software configDan Prince3-262/+344
This is a step towards supporting pluggable software configurations in the heat templates. By moving controller-config out of controller.yaml we make it possible to define alternate implementations by changing the OS::TripleO::ControllerConfig value in the overcloud-resource-registry.yaml heat environment file. Change-Id: I228216a0b55ff2d384b281d9ad2a61b93d58dab9
2015-01-05Puppet: overcloud compute configDan Prince7-0/+209
This patch provides an alternate implementation of the OS::TripleO::Compute::SoftwareConfig which uses Puppet to drive the configuration. Using this it is possible to create a fully functional overcloud compute instance which has the compute node configured via Puppet stackforge modules. This includes all the Nova, Neutron, and Ceilometer configuration required to make things work. 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/ceilometer elements were NOT used to build the compute 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). Change-Id: Ic36be25d70f0a94ca07ffda6e0005669b81c1ac7
2015-01-02Drop the MysqlClusterUniquePart validationDan Prince1-2/+3
Trying to use overcloud-without-mergepy currently fails with a validation error around MysqlClusterUniquePart. This works around the issue by temporarily dropping the validation. Change-Id: If93945a2c3396b07b592d08efb1f66e11d6194dd Partial-bug: #1405446
2014-12-23Pass Horizon port through to controller nodesJonathan Brownell1-0/+5
The Horizon port may vary based on SSL enablement, and needs to be known by the nodes for the purpose of iptables rules, etc. Change-Id: Iec475a6c245a5bfe8b1d63ff72b6d0299861615c
2014-12-23Merge "Don't store Neutron DB credentials on compute node"Jenkins5-19/+0
2014-12-23Merge "Don't store Nova DB credentials on compute nodes"Jenkins6-22/+2
2014-12-19Compute: drive NW configuration via software confDan Prince5-0/+113
This example extends the compute software configuration so that heat metadata is used to model the os-net-config YAML (ultimately JSON) directly. The existing os-net-config element already supports this format. Configuring the physical network layer in this manner would supplant the ever growing list of Heat parameters that we have and is something that could be automatically generated via tuskar. The default is to use net-config-noop.yaml which will pass no config metadata into the os-net-config element which will essentially disable it in favor of using parameters w/ init-neutron-ovs. Change-Id: I30f325b1751caaef5624537e63ee27c2e418d5c8
2014-12-19Merge "Set default network interfaces to nic1"Jenkins7-9/+9
2014-12-17Set more aggressive keepalive timingsGiulio Fidente2-0/+8
We want to customize the default kernel keepalive timings and make them more aggressive to workaround lack of hearbeat support in the Oslo RabbitMQ client, see: https://bugs.launchpad.net/oslo.messaging/+bug/856764/comments/19 and https://bugs.launchpad.net/oslo.messaging/+bug/856764/comments/70 Change-Id: Ieac08f595086acb8dd336e33efc705ee0b8a3a87 Closes-Bug: 1301431 Closes-Bug: 1385240 Closes-Bug: 1385234
2014-12-11Bring back (abandoned) support for Cinder/NFSGiulio Fidente4-101/+39
We used to have a YAML file providing a test setup for Cinder/NFS which could be used via a special Makefile target; this was not used in CI anymore though and overtime things broke. This change aims at bringing that functionality back and also make it easier to use it via a number of changes: * delete unmaintained nfs-server-source (not working due to changes in the elements) * delete (unneeded) block-storage-nfs * remove the hidden block-storage-with-nfs target from Makefile * add a some nfs-source which supports newer elements and newer template language as well * improve existing comments in Makefile documeting how to use it Change-Id: I96144ee2f4ca33bd7467f09ad960ea268c1250bf
2014-12-09Merge "Remove default flavor from every template"Jenkins11-15/+18
2014-12-09Merge "bump up the number of sesson limit for rabbitmq"Jenkins2-0/+2
2014-12-08Don't store Ceilo DB credentials on compute nodeDan Prince6-20/+0
This patch removes all references to the Ceilometer DSN parameter in the overcloud compute templates. These credentials are not required in order to run the required Ceilometer service/agents. Change-Id: I421ce4fca87ac87dd65ab8bbb20e7ea9be8d9c5d
2014-12-08Don't store Neutron DB credentials on compute nodeDan Prince5-19/+0
This patch removes all references to the Neutron DSN parameter in the overcloud compute templates. These credentials are not required in order to run the required Neutron services. Change-Id: I0691f43bd2ce85bec0d68ab979136414f0610c61
2014-12-08Don't store Nova DB credentials on compute nodesDan Prince6-22/+2
Remove NovaDSN from overcloud compute. When using the Conductor the Nova compute service does not need access to the database. This patch removes all references to the Nova DSN in the overcloud compute templates. Change-Id: If75f480489b84002dd061c183dbee3572a8b63f1
2014-12-05Remove missing cinder-storage Neutron* parametersDan Prince1-4/+0
In I00af10e07feed6c9c97ee6cad545dbff88cd6afc we removed the Neutron* parameters from cinder-storage.yaml but we forgot to also remove them from overcloud-without-mergepy.yaml. Change-Id: I09f2eb278fa0eba1dff80884f12b6f682c7b0484
2014-12-05Add missing novncproxy settings to controllerDan Prince1-0/+3
This patch adds the missing HAProxy novncproxy parameters to controller.yaml These parameters were adding to overcloud-source.yaml in I0c6a3d6a8fd10da71abbf568633b28bdb5e56aa2. Change-Id: Icff2f17a301e5e95fa43549ec1566c0c0d5b5353
2014-12-05Add missing HAProxy settings to controllerDan Prince1-0/+6
This patch adds the missing parameters to controller.yaml These parameters were adding to overcloud-source.yaml in I1581c091b996422fb1374ea4c024d0a88453e10b. Change-Id: I3e4e0e1feb521dded2679fed508fa97e8dd27661
2014-12-05Add missing Neutron DVR params to without-mergepyDan Prince4-1/+100
This patch adds the missing parameters to overcloud-without-mergepy.yaml. These parameters were adding to overcloud-source.yaml in I422c65e7d941593083d52ad7fdf0dfd1d2fb3155. Due to the concurrent review window they never made it into the new overcloud-without-mergepy.yaml implementation. Change-Id: If54dc111aec852f906c9e7ac1bf56f9dcaf678ea
2014-12-05Remove duplicate Neutron params in overcloudDan Prince1-8/+0
In I422c65e7d941593083d52ad7fdf0dfd1d2fb3155 (Enable Neutron DVR support in TripleO installation) we added duplicate parameters for NeutronPublicInterfaceRawDevice and NeutronNetworkType. In preparation for syncing with overcloud-without-mergepy.yaml lets remove these dups. Change-Id: Ib4888bc91f30aeb3aba590b69e4919a93f577143
2014-12-05Add missing Keystone params to without-mergepyDan Prince2-0/+23
This patch adds the missing KeystoneSSLCertificate and KeystoneSSLCertificateKey to overcloud-without-mergepy.yaml. These parameters were adding to overcloud-source.yaml in Icf46132230512a31b6dec3c07164c95b13dd8f73. Due to the concurrent review window they never made it into the new overcloud-without-mergepy.yaml implementation. Change-Id: I8b1155ca0a28392e5d5ade57d53bf810d8b5f053
2014-12-05Add missing Rabbit params to without-mergepyDan Prince2-0/+24
This patch adds the missing RabbitClientUseSSL and RabbitClientPort to overcloud-without-mergepy.yaml. These parameters were adding to overcloud-source.yaml in I7b7613cb60b9095ba5665c335c496fea4514391a. Due to the concurrent review window they never made it into the new overcloud-without-mergepy.yaml implementation. Change-Id: I182671b84d0a21d7018eb136003968f101384716
2014-12-05Set default network interfaces to nic1Dan Prince7-9/+9
Now that we are using os-net-config we can make use of the nic naming abstraction layer where the actual physical nic name is mapped automatically. This change removes all the eth0 references and replaces them with nic1 which should make it more likely that these default values would actually work on some distributions. It also removes the single instance of eth2 in the undercloud-bm-nova-deploy.yaml template and replaces it with nic1 as well. Underclouds aren't a special case in this regard (I run my bare metal undercloud on em1) so there is no good reason to default to the second nic. Change-Id: I3ea92a502bc4b8789f74913f232ac8bc6b843008
2014-12-05Merge "Remove LiveUpdate params"Jenkins6-115/+0
2014-12-05Align the cinder-storage.yaml template with block-storage.yamlGiulio Fidente2-55/+7
Change-Id: I00af10e07feed6c9c97ee6cad545dbff88cd6afc
2014-12-01Remove LiveUpdate paramsDan Prince6-115/+0
The params were added in I2997d23c584055c40034827e9beb58e6542ea11c as a means to pass undercloud image data to overcloud instances so they could perform an update via takeovernode). We've never actually made use of them via takeovernode... furthermore these params are a bit stale in that they haven't been applied to other instance types (storage, etc.). I propose we remove them entirely and start with a fresh plan for how these would get used (perhaps a blueprint). As is these don't appear to have ever been fully wired up to do anything removing them should have no effect on end users. Change-Id: I96f91fb0d67e7fe203d3767c8ab89ce82adbe331