aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2014-08-14Permit specifying VLAN mappings to overclouds.Robert Collins1-1/+10
To use a VLAN based public network we need the ext-net network to be a VLAN with a segmentation id - but we can't do this unless we also have the datacentre physical network marked as allowing vlans. We could make this strictly opt-in, but as this doesn't affect the switch configuration (and thus actual machine capabilities) having it on by default seems reasonable. OTOH we can't force it on, because high security environments may well want a defense in depth setup where neutron admins cannot configure VLANs that they are not meant to have access too (consider that the cloud machine admins may be separate to the folk running the services on top of them...) Change-Id: I9687751753f810896c6d065750910da40132c9fa
2014-08-14Fixup network configuration for ext-netRobert Collins1-8/+19
We currently make the external network a single-node gre network but this is not at all correct for HA environments - we need a provider network, which means having a bridge mapping, a flat network specified, and then because we run the same ovs config everywhere we need br-ex on the hypervisors too. This is entirely reasonable since DVR will require this as well (and solve lots of scaling issues...). Change-Id: I8b63ab51e7e20b235430fad8d786d8da005d84a1
2014-08-13Merge "Make removing nodes from scaled items possible."Jenkins3-8/+384
2014-08-13Switch to heat_template_version: 2013-05-23Steve Baker13-67/+67
To support underclouds and seeds running older than the very latest heat. 2013-05-23 lacks function list_join, so this change reverts to using the equivalent function Fn::Join. Change-Id: I039f57ab39c1fcfc319a7a34265ba4fabf4ccd08 Closes-Bug: #1354305
2014-08-13Change overcloud to use VIP for MySQLJulia Kreger3-12/+70
This change sets applications to utilize the VIP address for database connectivity and sets HAProxy in between the applications and MySQL. Depends upon tripleo-image-elements changes: Ia6f26305f8e744e4ff938dff85de1193183ecd8f Iac1274cc52014f25887d696261b32146afc926dd I5af70abb96021146c098f788db349808d806a348 Related to blueprint tripleo-icehouse-ha-production-configuration Change-Id: Ia9d6ed2771f756d2a97ae5df7ed737a062a59cf2
2014-08-12Move cacert property out of "stunnel" and into a new "ssl" groupJonathan Brownell1-0/+3
The CA certificate is currently passed via ssl-source.yaml as "stunnel.cacert", but this value is not currently used by stunnel since we have no use case for client cert authentication. This change proposes that it also be exposed as "ssl.ca_certificate", which is consistent with the overall SSL direction being driven by the PKI spec: I32473fe797a4c1e28d14c3b82c8892c7c59a4e55 This new CA certificate value will be installed as a trusted CA on all cloud nodes that issue SSL-secured connection requests to OpenStack or other infrastructure (MySQL, RabbitMQ) services. Change-Id: Ibacd7c98980520e11c0df89632013f2ba2dbe370
2014-08-12Merge "Restore rabbit.host and add an haproxy rabbit listener"Jenkins3-0/+11
2014-08-12Make removing nodes from scaled items possible.Robert Collins3-8/+384
This makes it possible to remove a dead node (e.g. if NovaCompute2 has failed, regenerate the template with ,2 in the scale parameter, and NovaCompute2 will not be enumerated. Change-Id: I65d85a88152ed4adee60895173f8a05611a6440b
2014-08-10Merge "Fix overcloud controller scaling"Jenkins2-6/+24
2014-08-08Restore rabbit.host and add an haproxy rabbit listenerGiulio Fidente3-0/+11
To balance load over the rabbit cluster we want to route access to it via haproxy. This also helps workaround bug #856764 as an additional benefit. This change sets rabbit.host to the ControlVirtualIP (to be used by the elements) and adds an haproxy listener for the rabbit nodes. Related to blueprint tripleo-icehouse-ha-production-configuration Depends on I3ff37ec18b9191ca8e861519bed142cbdbd5faa2 Change-Id: I49b622a604542f456bd9a37da8dae3353218e640 Related-Bug: 856764
2014-08-08Merge "Use VIP for keystone host in swift template"Jenkins1-1/+1
2014-08-08Merge "fix incorrect reference to rabbit_username"Jenkins1-1/+1
2014-08-08Merge "Move config options under neutron.ovs"Jenkins2-2/+4
2014-08-07Merge "Set basic pacemaker and corosync properties in undercloud"Jenkins1-0/+11
2014-08-07Fix overcloud controller scalingTomas Sedovic2-6/+24
Controller scaling was broken by the commit 02772ba2877b9f6d427c6fd760bf19d6334c68a8. Merge.py raises an exception when it tries to scale the default value "controller0" of the `BootstrapNodeResource` parameter. This reverts back to using Fn::Select for specifying the bootstrap host, the rest of the Fn::Select -> get_attr changes are kept. Change-Id: I0cdebf75d4752a35f547d4fbb81545ece3172405
2014-08-06Use VIP for keystone host in swift templateJan Provaznik1-1/+1
As a side effect this fixes invalid keystone host generation when multiple controller nodes are used. Change-Id: I081976f0da94fc0232dfa2c34de03bbb4abf1a85
2014-08-06Set basic pacemaker and corosync properties in undercloudJan Provaznik1-0/+11
Because services which depend on pacemaker (ceilometer central agent and neutron services) are used in undercloud too, we need to set basic pacemaker and corosync metadata for undercloud. Related to: Ifa83d62c2132bcdcb40d0b7c80ce3adadc0b5587 Related to: I63f054a8c80f9f676a77341c89e605b5b472d078 Change-Id: Icc97e36a1db198b973041346cf2056f68de661a2
2014-08-05Move config options under neutron.ovsJames Slagle2-2/+4
These config options are supposed to be under neutron.ovs (see template for neutron openvswitch agent). They were mistakenly moved to be just under neutron when the migration to SoftwareConfig was done. Change-Id: I5769dc1dc501d48c965f8e4e36238cfcaac64a17
2014-08-05Remove duplicate config section from block-storage.yamlGiulio Fidente1-26/+0
Deletes a duplicate config section from file block-storage.yaml (and a duplicate admin-password key too). Change-Id: I226517ea467751d00dbf217a6b6e4e0839538225
2014-08-04fix incorrect reference to rabbit_usernameGiulio Fidente1-1/+1
Fixes a typo in nova-compute-config.yaml file where rabbit_username was mistakenly written as rabbit_user_name; compute nodes received null as rabbit username as consequence. Change-Id: I796b9bdccd1863647a667edbbc96731fc924c55d
2014-08-04Convert Fn::Select to extended get_attrSteve Baker12-335/+182
Overcloud bootstrap_nodeid is now specified by parameter BootStrapNodeResource with default value controller0. This avoids the need to use Fn::Select on the mergy.py built list of controllers to specify the first controller. Change-Id: Id9cfeab50b90ceeeae51ea0e35997b7495b28cc4 Partial-Blueprint: tripleo-juno-remove-mergepy
2014-08-04Port all templates to HOTSteve Baker37-1134/+1136
This change was generated and validated by running the following: make hot clean all validate-all This converts all templates to be valid HOT. Fn::Select is not converted in this change but this will actually work with heat_template_version 2013-05-23. Fn::Select is converted manually in the next change in this series. This change also sets the heat_template_version to 2014-10-16 which includes the list_join intrinsic functions used throughout these templates. Partial-Blueprint: tripleo-juno-remove-mergepy Change-Id: Ib3cbb83f6ae94adb7b793ab1b662bd5c55cbb5b3
2014-08-01Merge "Remove ImageBuilder::Elements from templates"Jenkins2-9/+0
2014-08-01Merge "Fix swift memcache and device properties"Jenkins2-79/+56
2014-08-01merge.py --hot to process and generate HOTSteve Baker25-5/+1000
This adds a --hot flag to merge.py which will assume source templates are in the HOT format, and generate a HOT template artifact. Tests have also been ported to HOT, along with some minor corrections to the existing tests to make the source and result templates valid heat templates. Partial-Blueprint: tripleo-juno-remove-mergepy Change-Id: If18ff79f89456123c884a1ab2f910ce4cc9a6e0b
2014-07-31Add strict dependencies to the overcloud templateNicholas Randon2-1/+4
Currently there is very weak (no) ordering of StructuredDeployments during heat stack creation (and, importantly, update) on the overcloud. This can cause the deployment which sends the completion signal back to Heat to happen before all others have completed, which in turn leads Heat to state the stack is ready while ORC is still configuring services The only workaround to this is to wait an unknown amount of time after the heat stack completes before the system is usable. This patch prevents the completion signal from being returned early, by ensuring these are strictly ordered: controller0Deploy controller0Passthrough controller0AllNodesDeploy NovaCompute0Deploy NovaCompute0Passthrough NovaCompute0AllNodesDeploy Change-Id: I0a549370b7aca55b1145de521ad51218428deaf5
2014-07-31Correct overcloud template to inherit passthroughNicholas Randon1-6/+4
Inherit passthrough from nova-compute-instance.yaml, rather than having an exact copy in overcloud-source.yaml. Change-Id: I4f5a4a7be5835cb68755734aa72f8d9670cba0d4
2014-07-31Rename NovaCompute0Config to NovaCompute0DeployNicholas Randon1-1/+1
Rename NovaCompute0Config to NovaCompute0Deploy as this makes the structured deployment name match the one in nova-compute-instance.yaml. Change-Id: I79f66c09006aa7f7118af1f48e1f6f10b87daec6
2014-07-31controller0AllNodesConfig to controller0AllNodes.Nicholas Randon1-1/+1
Rename all occurrences of controller0AllNodesConfig to controller0AllNodes as this is in line with compute node deployments. Also the current naming is confusing as this is a deployment step not a configuration step. Change-Id: I8efa3b6a64a099e1e8ee43009472152aed5f8ad8
2014-07-31Merge "Remove nova-compute-group.yaml"Jenkins1-67/+0
2014-07-30Fix swift memcache and device propertiesJan Provaznik2-79/+56
All controller nodes are added into the list of swift devices and into the list of memcache servers. This patch also removes swift storage nodes from the list of memcache servers - I don't think that each storage node should run proxy server (also swift-storage element doesn't depend on swift-proxy). Change-Id: Idb2ce2e2050fb84d8f8b564626b20e7b059fd685
2014-07-28Merge "Add signal_transport property"Jenkins1-0/+1
2014-07-28Merge "Add user_data_format"Jenkins1-0/+1
2014-07-28Remove nova-compute-group.yamlAlexis Lee1-67/+0
This file is not used. Change-Id: Ic03fb3402b3164c7c99cf02040f3a5e5abf6a9e9
2014-07-25Merge "Fix SSL with HAProxy."Jenkins2-0/+24
2014-07-22Add signal_transport propertyJames Slagle1-0/+1
Specify NO_SIGNAL for signal_transport on the BlockStorage0Deployment resource. Otherwise, this resource remains CREATE_IN_PROGRESS forever. Change-Id: I973d197245ed32612bde9209479e6ae3a443fc69
2014-07-22Add user_data_formatJames Slagle1-0/+1
user_data_format must be set to SOFTWARE_CONFIG on instances of OS::Nova::Server where there are deployments. Corrects the following error: ERROR: Resource BlockStorage0's property user_data_format should be set to SOFTWARE_CONFIG since there are software deployments on it. Change-Id: Iba29588374980098d71585ff1bf26ad914a6711c
2014-07-22Merge "Remove extra list"Jenkins1-1/+1
2014-07-22Merge "Define and bind a public virtual IP"Jenkins1-1/+70
2014-07-22Define and bind a public virtual IPJames Polley1-1/+70
Prior to this change our heat templates define one virtual IP, which all the services are bound to. We wish to be able to segregate these endpoints: some need to be accessible to "the public"; some are only intended to be accessed within the cloud; some are only for admin use. This change adds a second VIP which we can use for binding only the endpoints that are intended to be publicly accessible, leaving the older VIP to be used for internal end points. Haproxy is told to also listen on that new VIP so that we can expose selected services via the new VIP, and keepalived is in charge of assigning the VIP to control plane nodes. This change has a proposed split of services between control-only and control+public interfaces. Assuming our yaml parsers (in merge.py and Heat) understand YAML anchors/aliases, and assuming I've got the syntax right, this should get expanded so that all the control+public services get their config defined from the same block without needing to repeat it for each service. (AFAICT both merge.py and heat use pyyaml, which does support aliases/anchors) The default is left at binding to only the controlplane interface, so that new services added to this map will default to being internal-only This patchset partially completes a spec which will one day live at https://blueprints.launchpad.net/tripleo/+specs/tripleo-juno-virtual-public-ips but for now can bee seen in Id9addc65f0d2ed519ce4b3edbd561ed660a2786e Implements: blueprint tripleo-juno-virtual-public-ips Change-Id: I9649ee74ebaf62b6b929b28243a07c789a08867c Co-Authored-By: Robert Collins <rbtcollins@hp.com> Partial-Bug #1325114
2014-07-22Merge "expose glance_port,protocol as glance.port,protocol"Jenkins1-0/+2
2014-07-22Merge "merge.py use a class to represent template syntax"Jenkins1-52/+73
2014-07-19Fix SSL with HAProxy.Robert Collins2-0/+24
The current configuration of services is that if SSL is in use (signaled by stunnel.connect_ip) we bind to 127.0.0.1 - which is great, but it breaks simultaneous non-SSL due to there being no pass-through stunnel equivalent on all the nodes. As an interim measure, teach stunnel to connect to the ctlplane address instead. We will need this flexability in future anyway to deal with mixed-mode configurations, but we don't yet have an SSL only configuration. The change will permit SSL only by altering the Deployment object only - the SSL config object should now be flexible enough to run in either mode (but as yet on an all-one-way-or-the-other basis). Change-Id: Ibac3dec1fe7b573029482fdd9ad2d2f6223fbce0
2014-07-18Merge "make keystone.host point to controller_virtual_ip"Jenkins1-1/+1
2014-07-18Merge "Add corosync and pacemaker properties into overcloud template"Jenkins1-0/+11
2014-07-18merge.py use a class to represent template syntaxSteve Baker1-52/+73
Defining cfn template syntax as class attributes will make it easier to port merge.py to HOT just by setting lang to a different class. Change-Id: I2547333d727bf91cd3159790f0f20f4d10195a9c Partial-Blueprint: tripleo-juno-remove-mergepy
2014-07-17Merge "make glance.host point to controller_virtual_ip"Jenkins1-1/+1
2014-07-17Merge "use ControlVirtualInterface for keepalived VRRP"Jenkins1-1/+1
2014-07-17Merge "add Horizon caches backend definition (memcached)"Jenkins1-0/+7
2014-07-17Remove extra listJames Slagle1-1/+1
We are using "ctlplane" as the first parameter to Fn::Select here, so the second parameter must be a map, not a list. Fixes the following error: ERROR: Property error : BlockStorage0Deployment: input_values Index to "Fn::Select" must be an integer Change-Id: I34153543f8c3152df449e1b42e1f76a78a7d6ba3