apex-tripleo-heat-templates.git
10 years agoAdd strict dependencies to the undercloud template
Nicholas Randon [Thu, 14 Aug 2014 10:40:29 +0000 (11:40 +0100)]
Add strict dependencies to the undercloud template

Currently there is very weak ordering of StructuredDeployments during
heat stack creation on the undercloud. 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:
   undercloudIronicDeployment (if used)
   undercloudNovaDeployment
   undercloudPassthroughDeployment
   undercloudDeployment

Note: The reference numbering for the undercloud has been removed.
Change-Id: I98499dd54bb907d29cf355fe83b5c285a7375e97

10 years agoMerge "Make removing nodes from scaled items possible."
Jenkins [Wed, 13 Aug 2014 20:05:17 +0000 (20:05 +0000)]
Merge "Make removing nodes from scaled items possible."

10 years agoSwitch to heat_template_version: 2013-05-23
Steve Baker [Sun, 10 Aug 2014 21:18:01 +0000 (09:18 +1200)]
Switch to heat_template_version: 2013-05-23

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

10 years agoChange overcloud to use VIP for MySQL
Julia Kreger [Wed, 9 Jul 2014 20:43:35 +0000 (16:43 -0400)]
Change overcloud to use VIP for MySQL

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

10 years agoMove cacert property out of "stunnel" and into a new "ssl" group
Jonathan Brownell [Mon, 28 Jul 2014 19:46:02 +0000 (12:46 -0700)]
Move cacert property out of "stunnel" and into a new "ssl" group

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

10 years agoMerge "Restore rabbit.host and add an haproxy rabbit listener"
Jenkins [Tue, 12 Aug 2014 12:12:43 +0000 (12:12 +0000)]
Merge "Restore rabbit.host and add an haproxy rabbit listener"

10 years agoMake removing nodes from scaled items possible.
Robert Collins [Tue, 12 Aug 2014 03:29:19 +0000 (15:29 +1200)]
Make removing nodes from scaled items possible.

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

10 years agoMerge "Fix overcloud controller scaling"
Jenkins [Sun, 10 Aug 2014 05:45:33 +0000 (05:45 +0000)]
Merge "Fix overcloud controller scaling"

10 years agoRestore rabbit.host and add an haproxy rabbit listener
Giulio Fidente [Mon, 4 Aug 2014 19:02:18 +0000 (21:02 +0200)]
Restore rabbit.host and add an haproxy rabbit listener

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

10 years agoMerge "Use VIP for keystone host in swift template"
Jenkins [Fri, 8 Aug 2014 10:34:12 +0000 (10:34 +0000)]
Merge "Use VIP for keystone host in swift template"

10 years agoMerge "fix incorrect reference to rabbit_username"
Jenkins [Fri, 8 Aug 2014 10:33:28 +0000 (10:33 +0000)]
Merge "fix incorrect reference to rabbit_username"

10 years agoMerge "Move config options under neutron.ovs"
Jenkins [Fri, 8 Aug 2014 08:12:49 +0000 (08:12 +0000)]
Merge "Move config options under neutron.ovs"

10 years agoMerge "Set basic pacemaker and corosync properties in undercloud"
Jenkins [Thu, 7 Aug 2014 22:26:55 +0000 (22:26 +0000)]
Merge "Set basic pacemaker and corosync properties in undercloud"

10 years agoFix overcloud controller scaling
Tomas Sedovic [Thu, 7 Aug 2014 09:39:16 +0000 (11:39 +0200)]
Fix overcloud controller scaling

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

10 years agoUse VIP for keystone host in swift template
Jan Provaznik [Thu, 31 Jul 2014 12:40:38 +0000 (08:40 -0400)]
Use VIP for keystone host in swift template

As a side effect this fixes invalid keystone host generation
when multiple controller nodes are used.

Change-Id: I081976f0da94fc0232dfa2c34de03bbb4abf1a85

10 years agoSet basic pacemaker and corosync properties in undercloud
Jan Provaznik [Thu, 31 Jul 2014 19:30:07 +0000 (15:30 -0400)]
Set basic pacemaker and corosync properties in undercloud

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

10 years agoMove config options under neutron.ovs
James Slagle [Wed, 23 Jul 2014 19:30:26 +0000 (15:30 -0400)]
Move config options under neutron.ovs

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

10 years agoRemove duplicate config section from block-storage.yaml
Giulio Fidente [Tue, 5 Aug 2014 16:11:26 +0000 (18:11 +0200)]
Remove duplicate config section from block-storage.yaml

Deletes a duplicate config section from file block-storage.yaml
(and a duplicate admin-password key too).

Change-Id: I226517ea467751d00dbf217a6b6e4e0839538225

10 years agofix incorrect reference to rabbit_username
Giulio Fidente [Mon, 4 Aug 2014 19:14:26 +0000 (21:14 +0200)]
fix incorrect reference to rabbit_username

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

10 years agoConvert Fn::Select to extended get_attr
Steve Baker [Fri, 18 Jul 2014 00:55:31 +0000 (12:55 +1200)]
Convert Fn::Select to extended get_attr

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

10 years agoPort all templates to HOT
Steve Baker [Sun, 3 Aug 2014 20:43:34 +0000 (08:43 +1200)]
Port all templates to HOT

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

10 years agoMerge "Remove ImageBuilder::Elements from templates"
Jenkins [Fri, 1 Aug 2014 11:13:34 +0000 (11:13 +0000)]
Merge "Remove ImageBuilder::Elements from templates"

10 years agoMerge "Fix swift memcache and device properties"
Jenkins [Fri, 1 Aug 2014 05:04:04 +0000 (05:04 +0000)]
Merge "Fix swift memcache and device properties"

10 years agomerge.py --hot to process and generate HOT
Steve Baker [Tue, 8 Jul 2014 00:14:28 +0000 (12:14 +1200)]
merge.py --hot to process and generate HOT

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

10 years agoAdd strict dependencies to the overcloud template
Nicholas Randon [Thu, 31 Jul 2014 11:46:20 +0000 (12:46 +0100)]
Add strict dependencies to the overcloud template

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

10 years agoCorrect overcloud template to inherit passthrough
Nicholas Randon [Wed, 30 Jul 2014 09:17:56 +0000 (10:17 +0100)]
Correct overcloud template to inherit passthrough

Inherit passthrough from nova-compute-instance.yaml, rather than
having an exact copy in overcloud-source.yaml.

Change-Id: I4f5a4a7be5835cb68755734aa72f8d9670cba0d4

10 years agoRename NovaCompute0Config to NovaCompute0Deploy
Nicholas Randon [Wed, 30 Jul 2014 09:11:12 +0000 (10:11 +0100)]
Rename NovaCompute0Config to NovaCompute0Deploy

Rename NovaCompute0Config to NovaCompute0Deploy as this makes
the structured deployment name match the one in
nova-compute-instance.yaml.

Change-Id: I79f66c09006aa7f7118af1f48e1f6f10b87daec6

10 years agocontroller0AllNodesConfig to controller0AllNodes.
Nicholas Randon [Tue, 29 Jul 2014 13:02:42 +0000 (14:02 +0100)]
controller0AllNodesConfig to controller0AllNodes.

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

10 years agoMerge "Remove nova-compute-group.yaml"
Jenkins [Thu, 31 Jul 2014 05:43:13 +0000 (05:43 +0000)]
Merge "Remove nova-compute-group.yaml"

10 years agoFix swift memcache and device properties
Jan Provaznik [Wed, 30 Jul 2014 11:40:01 +0000 (07:40 -0400)]
Fix swift memcache and device properties

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

10 years agoMerge "Add signal_transport property"
Jenkins [Mon, 28 Jul 2014 08:42:55 +0000 (08:42 +0000)]
Merge "Add signal_transport property"

10 years agoMerge "Add user_data_format"
Jenkins [Mon, 28 Jul 2014 08:42:19 +0000 (08:42 +0000)]
Merge "Add user_data_format"

10 years agoRemove nova-compute-group.yaml
Alexis Lee [Thu, 24 Jul 2014 16:51:55 +0000 (17:51 +0100)]
Remove nova-compute-group.yaml

This file is not used.

Change-Id: Ic03fb3402b3164c7c99cf02040f3a5e5abf6a9e9

10 years agoMerge "Fix SSL with HAProxy."
Jenkins [Fri, 25 Jul 2014 18:24:06 +0000 (18:24 +0000)]
Merge "Fix SSL with HAProxy."

10 years agoAdd signal_transport property
James Slagle [Thu, 17 Jul 2014 15:53:25 +0000 (11:53 -0400)]
Add signal_transport property

Specify NO_SIGNAL for signal_transport on the BlockStorage0Deployment
resource.  Otherwise, this resource remains CREATE_IN_PROGRESS forever.

Change-Id: I973d197245ed32612bde9209479e6ae3a443fc69

10 years agoAdd user_data_format
James Slagle [Thu, 17 Jul 2014 15:15:09 +0000 (11:15 -0400)]
Add user_data_format

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

10 years agoMerge "Remove extra list"
Jenkins [Tue, 22 Jul 2014 19:20:35 +0000 (19:20 +0000)]
Merge "Remove extra list"

10 years agoMerge "Define and bind a public virtual IP"
Jenkins [Tue, 22 Jul 2014 16:28:34 +0000 (16:28 +0000)]
Merge "Define and bind a public virtual IP"

10 years agoDefine and bind a public virtual IP
James Polley [Fri, 20 Jun 2014 07:28:57 +0000 (17:28 +1000)]
Define and bind a public virtual IP

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

10 years agoMerge "expose glance_port,protocol as glance.port,protocol"
Jenkins [Tue, 22 Jul 2014 06:55:32 +0000 (06:55 +0000)]
Merge "expose glance_port,protocol as glance.port,protocol"

10 years agoMerge "merge.py use a class to represent template syntax"
Jenkins [Tue, 22 Jul 2014 03:46:25 +0000 (03:46 +0000)]
Merge "merge.py use a class to represent template syntax"

10 years agoFix SSL with HAProxy.
Robert Collins [Fri, 18 Jul 2014 08:56:23 +0000 (20:56 +1200)]
Fix SSL with HAProxy.

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

10 years agoMerge "make keystone.host point to controller_virtual_ip"
Jenkins [Fri, 18 Jul 2014 09:21:24 +0000 (09:21 +0000)]
Merge "make keystone.host point to controller_virtual_ip"

10 years agoMerge "Add corosync and pacemaker properties into overcloud template"
Jenkins [Fri, 18 Jul 2014 07:56:39 +0000 (07:56 +0000)]
Merge "Add corosync and pacemaker properties into overcloud template"

10 years agomerge.py use a class to represent template syntax
Steve Baker [Mon, 7 Jul 2014 23:41:31 +0000 (11:41 +1200)]
merge.py use a class to represent template syntax

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

10 years agoMerge "make glance.host point to controller_virtual_ip"
Jenkins [Thu, 17 Jul 2014 18:19:57 +0000 (18:19 +0000)]
Merge "make glance.host point to controller_virtual_ip"

10 years agoMerge "use ControlVirtualInterface for keepalived VRRP"
Jenkins [Thu, 17 Jul 2014 18:19:05 +0000 (18:19 +0000)]
Merge "use ControlVirtualInterface for keepalived VRRP"

10 years agoMerge "add Horizon caches backend definition (memcached)"
Jenkins [Thu, 17 Jul 2014 18:15:15 +0000 (18:15 +0000)]
Merge "add Horizon caches backend definition (memcached)"

10 years agoRemove extra list
James Slagle [Thu, 17 Jul 2014 15:13:34 +0000 (11:13 -0400)]
Remove extra list

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

10 years agoRemove ImageBuilder::Elements from templates
Tomas Sedovic [Wed, 25 Jun 2014 11:19:38 +0000 (13:19 +0200)]
Remove ImageBuilder::Elements from templates

We're not using this metadata for anything.

Change-Id: I9d27c76dfa7223cbd16b9afe967696644137b8d6

10 years agoexpose glance_port,protocol as glance.port,protocol
Ryan Moore [Fri, 11 Jul 2014 13:51:39 +0000 (14:51 +0100)]
expose glance_port,protocol as glance.port,protocol

These values are available in metadata with underscores but
they are accessed by nova with dots.
Make them available with dots.

Required by: Idccc0d60c9f6b17a853c6de1bbea64bfc7e028b2
Change-Id: I5fe952f850339465de128e56e45c9bbda011ce7f

10 years agoMerge "Use the right DSN for neutron agents."
Jenkins [Fri, 11 Jul 2014 03:46:45 +0000 (03:46 +0000)]
Merge "Use the right DSN for neutron agents."

10 years agoadd Horizon caches backend definition (memcached)
Giulio Fidente [Mon, 7 Jul 2014 20:57:11 +0000 (22:57 +0200)]
add Horizon caches backend definition (memcached)

This change adds into the overcloud-source template a structure
name horizon.caches meant to define the Horizon caches backend.
It defaults to using memcached and provides a list of the
memcached nodes in horizon.caches.memcached.nodes

Related to blueprint tripleo-icehouse-ha-production-configuration

Change-Id: I728e05926f2de0e867fb8e8c74c63947da7d987a

10 years agomake glance.host point to controller_virtual_ip
Giulio Fidente [Thu, 10 Jul 2014 04:44:57 +0000 (06:44 +0200)]
make glance.host point to controller_virtual_ip

Previously glance.host was pointing to the local controller_host
which would have requests to glance from other services to fail
if the local glance daemon was unavailable.

Change-Id: Ifd4f4b12cd51e23313826288797cc00ba3cd1754

10 years agomake keystone.host point to controller_virtual_ip
Giulio Fidente [Thu, 10 Jul 2014 04:10:41 +0000 (06:10 +0200)]
make keystone.host point to controller_virtual_ip

Previously keystone.host was pointing to the local controller_host
which would have caused all local services to become unavailable
if keystone was to go down.

Closes-Bug: #1339986
Change-Id: I9b73595d3e0ae6e872aa6b7e0f93354ff04f2956

10 years agouse ControlVirtualInterface for keepalived VRRP
Giulio Fidente [Thu, 10 Jul 2014 03:48:05 +0000 (05:48 +0200)]
use ControlVirtualInterface for keepalived VRRP

Change keepalived.keepalive_interface so that it uses the actual
ControlVirtualInterface (bridge) for VRRP rather than the bridged
interface (NeutronPublicInterface).

Fixes the issue which caused keepalived to bring up the VIP on
all control nodes.

Change-Id: Ifc484d6a6086d9872210aa576f21d326f60b7d35

10 years agoMerge "Make target to validate a template"
Jenkins [Wed, 9 Jul 2014 01:03:18 +0000 (01:03 +0000)]
Merge "Make target to validate a template"

10 years agoAdd corosync and pacemaker properties into overcloud template
Jan Provaznik [Tue, 8 Jul 2014 08:41:18 +0000 (04:41 -0400)]
Add corosync and pacemaker properties into overcloud template

Pacemaker will be used for managing ceilometer central agent,
we need basic metadata to setup corosync and pacemaker.

Related to: Ifa83d62c2132bcdcb40d0b7c80ce3adadc0b5587

Change-Id: I44909005d9bc653c3e7c2de1c12fe4ffecf6bede

10 years agoMake target to validate a template
Steve Baker [Tue, 8 Jul 2014 01:27:07 +0000 (13:27 +1200)]
Make target to validate a template

This adds make targets to run heat template-validate against the
generated templates.

These targets assume that credentials to a valid heat endpoint
have been sourced.

The target validate-all will validate every template in
generated_templates, but there is also a target created for each
template, for example:

  make validate-overcloud.yaml

This is a useful aid for
Partial-Blueprint: tripleo-juno-remove-mergepy

Change-Id: Id101402b8b2fa0bc6058c5bc4b7474f0f6a158ad

10 years agoSpecify the network for nodes
Robert Collins [Wed, 2 Jul 2014 03:14:19 +0000 (15:14 +1200)]
Specify the network for nodes

Without this, when there are multiple admin networks (e.g. a VLAN)
Nova will refuse to guess and we'll fail to deploy.

Change-Id: Id1dca43ef287fda2adcfdf5b5d30145b055dbe76

10 years agoMake stack complete depend on all nodes
Clint Byrum [Thu, 3 Jul 2014 16:08:47 +0000 (09:08 -0700)]
Make stack complete depend on all nodes

Previously the completion signal was just based on the first run of
os-refresh-config. But in this case, we actually need to wait until it
runs successfully with all hosts computed. That way we can know that
services aren't in an unstable state while that configuration rolls out.

Change-Id: I3b965c19c92b366df3069cb8e1daffa18252c884
Closes-Bug: #1337230

10 years agoMerge "Enable multi-node rabbitmq cluster"
Jenkins [Wed, 2 Jul 2014 18:16:24 +0000 (18:16 +0000)]
Merge "Enable multi-node rabbitmq cluster"

10 years agoMerge "Compute all hosts matrix once"
Jenkins [Wed, 2 Jul 2014 03:30:52 +0000 (03:30 +0000)]
Merge "Compute all hosts matrix once"

10 years agoEnable multi-node rabbitmq cluster
Jan Provaznik [Mon, 9 Jun 2014 07:36:24 +0000 (03:36 -0400)]
Enable multi-node rabbitmq cluster

This causes that:
* rabbit.nodes is list of all control nodes
* rabbit_hosts in OS config files points to all nodes in
  rabbitmq cluster
* overcloud control nodes are joined into cluster

This works both for single or multiple control nodes and it's needed
for scaling out control nodes.

rabbit.nodes property is very similar to generating list of all hosts,
so it uses same StructuredConfig block. This block (and couple of references)
is renamed to allNodesConfig to make it more general.

Related to blueprint tripleo-icehouse-ha-production-configuration

Change-Id: Ice1a34ba7a52c41c1bb0c63350438971c651e7b6

10 years agoMerge "Add galera clustering properties"
Jenkins [Mon, 30 Jun 2014 18:14:04 +0000 (18:14 +0000)]
Merge "Add galera clustering properties"

10 years agoCompute all hosts matrix once
Clint Byrum [Wed, 4 Jun 2014 07:42:29 +0000 (00:42 -0700)]
Compute all hosts matrix once

Then feed in through separate deployments. This reduces the exponential
growth of calculating the entire list for every server.

Change-Id: Ib1187eabeb91b46e29ddcf5065056e43a69bb2a0

10 years agoMerge "Haproxy configuration"
Jenkins [Mon, 30 Jun 2014 08:22:25 +0000 (08:22 +0000)]
Merge "Haproxy configuration"

10 years agoAdd galera clustering properties
Gregory Haynes [Fri, 28 Mar 2014 20:00:08 +0000 (13:00 -0700)]
Add galera clustering properties

Adding nodes and cluster_name properties for mysql in order to enable
galera clustering.

Change-Id: I522b7324460469c59f49983ca3becd9ea914cdc0

10 years agoHaproxy configuration
Dima Shulyak [Wed, 14 May 2014 12:20:12 +0000 (15:20 +0300)]
Haproxy configuration

Added several sections that are required for HAproxy configuration

1. haproxy.services - standard openstack services ports
2. haproxy.nodes - openstack controllers
3. haproxy.net_binds - virtual ips, that will also act as public endpoint

input controller_nodes scales with OVERCLOUD_CONTROLSCALE > 1

Related change t-i-e I641fa90c4a34c26e5699cf7f5a6f9643792c7b16

Implements blueprint tripleo-haproxy-configuration
Related to blueprint tripleo-icehouse-ha-production-configuration

Change-Id: I9c70812ee1b3e8c8c072705fc5123da88ecc8f9f

10 years agoUse the right DSN for neutron agents.
Robert Collins [Thu, 19 Jun 2014 02:36:07 +0000 (14:36 +1200)]
Use the right DSN for neutron agents.

Since the wrong one is a bad idea :)

Change-Id: I7ed40078f487459dee9055ef41f10a9b60a0e674

10 years agoMerge "Set glance protocol and port as Heat configurable"
Jenkins [Fri, 27 Jun 2014 07:53:53 +0000 (07:53 +0000)]
Merge "Set glance protocol and port as Heat configurable"

10 years agoAdd parameters for setting up keystone keys/certs in undercloud
Jan Provaznik [Tue, 24 Jun 2014 10:55:20 +0000 (12:55 +0200)]
Add parameters for setting up keystone keys/certs in undercloud

This will allow us distribute identical keys/certs to all
control nodes in HA mode.

CAKey was removed because it's not required by keystone.

Change-Id: I187492d5fac448e57f8cd687f9cb751520df5921

10 years agoMerge "Add custom public IP support to the undercloud."
Jenkins [Fri, 20 Jun 2014 18:55:45 +0000 (18:55 +0000)]
Merge "Add custom public IP support to the undercloud."

10 years agoSet glance protocol and port as Heat configurable
Ryan Moore [Thu, 3 Apr 2014 15:37:54 +0000 (16:37 +0100)]
Set glance protocol and port as Heat configurable

This change is to set the glance protocol and port as
configurable via the Heat template. Presently the port is
hard-coded in the elements nova.conf file, and the protocol
is assumed as being the default (http).

This change will allow the glance_api_servers
to be set (in nova.conf) using the constituent parts:
    glance_protocol://glance_host:glance_port

Change to nova.conf to read this value is:
    Idccc0d60c9f6b17a853c6de1bbea64bfc7e028b2

Default port value is set to the nova default(9292) which is
currently hard-coded in the elements nova.conf file.
Default protocol value is set to the nova default(http).

Change-Id: I3c7218292797c62c36e2aaab4f325bf053ef140b

10 years agoMerge "Use virtual ip for OS services"
Jenkins [Mon, 16 Jun 2014 05:24:38 +0000 (05:24 +0000)]
Merge "Use virtual ip for OS services"

10 years agoMerge "Add parameters for setting up keystone keys/certs"
Jenkins [Wed, 11 Jun 2014 09:53:31 +0000 (09:53 +0000)]
Merge "Add parameters for setting up keystone keys/certs"

10 years agoMerge "Remove the tuskar-source template"
Jenkins [Tue, 10 Jun 2014 20:09:36 +0000 (20:09 +0000)]
Merge "Remove the tuskar-source template"

10 years agoUse virtual ip for OS services
Jan Provaznik [Mon, 9 Jun 2014 10:27:29 +0000 (06:27 -0400)]
Use virtual ip for OS services

VIP should be used when pointing an OS service to
another OS service in config files (most typical is
setting Keystone's host IP, but also Glance and Netron
host needs to be set in Nova config file).

Change-Id: Id91e6ef2747981f17a43afd279d4eebaad01fe4d

10 years agoReplace nagios3 template with HOT rewrite
Clint Byrum [Mon, 28 Apr 2014 08:42:53 +0000 (01:42 -0700)]
Replace nagios3 template with HOT rewrite

Rewrote template from scratch using HOT. Mail delivery does not work yet
but it does produce Nagios.

Change-Id: I347f8a008aa7db1145da0988053c791e6f2dbbc2

10 years agoMerge "Add Controller scale param to merge.py"
Jenkins [Fri, 6 Jun 2014 15:13:50 +0000 (15:13 +0000)]
Merge "Add Controller scale param to merge.py"

10 years agoSetup SSL for Ceilometer
Rob Parker [Wed, 28 May 2014 20:39:59 +0000 (20:39 +0000)]
Setup SSL for Ceilometer

Establish the Public (SSL) port, 13777, and connect it to the internal port, 8777

Change-Id: I7bba7f8224b6e31fc4f5444eee679ca5a4ce4ebe

10 years agoRemove the tuskar-source template
Tomas Sedovic [Wed, 4 Jun 2014 10:16:24 +0000 (12:16 +0200)]
Remove the tuskar-source template

There is no need for a tuskar-specific undercloud template. Tuskar is
installed via elements just like any other undercloud service.

This template is not being used in devtest and I'm not sure it ever has
been.

Change-Id: I531d927b1984873b32f440d33a130788670f7cd9

10 years agoMerge "Add passthrough configuration glue."
Jenkins [Wed, 4 Jun 2014 08:46:24 +0000 (08:46 +0000)]
Merge "Add passthrough configuration glue."

10 years agoMerge "Fixes to swift-storage-source.yaml"
Jenkins [Wed, 4 Jun 2014 06:48:54 +0000 (06:48 +0000)]
Merge "Fixes to swift-storage-source.yaml"

10 years agoAdd custom public IP support to the undercloud.
Robert Collins [Fri, 30 May 2014 19:57:00 +0000 (07:57 +1200)]
Add custom public IP support to the undercloud.

Now we're trying to automate VLAN deployed underclouds, this
suddenly becomes relevant.

Change-Id: I800a0ceab7443d685551d7a919724f6cf45fd891

10 years agoAdd passthrough configuration glue.
Nicholas Randon [Fri, 2 May 2014 15:52:18 +0000 (16:52 +0100)]
Add passthrough configuration glue.

This provides a means for users to pass configuration through to the
machines they are deploying without us modelling that.

Change-Id: Ia8d1564bd0f3e7b988497a84e00831619047cd94

10 years agoMove to software-config for the undercloud.
Nicholas Randon [Fri, 2 May 2014 15:52:18 +0000 (16:52 +0100)]
Move to software-config for the undercloud.

Change the undercloud deployment to use software-config similar to
that used by the overcloud.

Change-Id: I81bced2062e461fe10301969d856d709c0b573c3

10 years agoMerge "Sequence deploys - compute after control plane."
Jenkins [Tue, 3 Jun 2014 11:22:36 +0000 (11:22 +0000)]
Merge "Sequence deploys - compute after control plane."

10 years agoMove bootstrap-host out from bootstack
Gregory Haynes [Mon, 2 Jun 2014 17:15:20 +0000 (10:15 -0700)]
Move bootstrap-host out from bootstack

We have had a change of opinion and are moving bootstrap_host properties
out of bootstack in order to prevent mysql / rabbit from depending on
boot-stack.

Change-Id: I85399019c5fc448e98362ef832988abc8d9d459d

10 years agoMerge "ssl: Add support for a CA Certificate"
Jenkins [Fri, 30 May 2014 16:50:50 +0000 (16:50 +0000)]
Merge "ssl: Add support for a CA Certificate"

10 years agoExport new bootstack keys for cluster init.
Robert Collins [Wed, 28 May 2014 04:26:21 +0000 (16:26 +1200)]
Export new bootstack keys for cluster init.

These provide a single consistent interface for checking whether
a given node is the bootstrap node, or not the bootstrap node
for database initialisation etc.

Change-Id: I7c5a09cb3477b61c4050e4a47a680ffc9aee97d8

10 years agoAdd Controller scale param to merge.py
Gregory Haynes [Wed, 16 Apr 2014 21:14:47 +0000 (14:14 -0700)]
Add Controller scale param to merge.py

We need a paremeter to attempt scaling of the Controller resources in
merge.py.

Change-Id: I4a79059e72850da4a5a3fe30dbb9df92a9dca212

10 years agoFixes to swift-storage-source.yaml
Eamonn O'Toole [Wed, 7 May 2014 16:03:48 +0000 (17:03 +0100)]
Fixes to swift-storage-source.yaml

We've found a couple of bugs in swift-storage-source.yaml which
were exposed when we tried to use the template to build a second
Swift storage node.  These errors are:
a. Error in swift-devices metadata description - indentation
   wasn't correct and a "-" was missing
b. Keystone config data required by the swift-proxy element
   weren't defined
c. The signal_transport property wasn't defined and set to
   NO_SIGNAL for SwiftStorage0Deploy (this meant that the
   completion condition for the resource was never satisfied)
d. The user_data_format property for the SwiftStorage0
   resource was not defined and set to SOFTWARE_CONFIG, which
   meant that the SwiftStorage servers never got their config data
We've fixed the above errors.  We've added an
OS::Heat::StructuredConfig and corresponding
OS::Heat::StructuredDeployment for the Keystone config data.

Change-Id: I858ebf9eea4ed33987143277f4c986b4934555d1

10 years agoMerge "Use vip address where controller0 was used for endpoints"
Jenkins [Wed, 21 May 2014 18:53:56 +0000 (18:53 +0000)]
Merge "Use vip address where controller0 was used for endpoints"

10 years agoMerge "Adding Swift proxy-server memcache metadata"
Jenkins [Wed, 21 May 2014 13:06:42 +0000 (13:06 +0000)]
Merge "Adding Swift proxy-server memcache metadata"

10 years agoAdd parameters for setting up keystone keys/certs
Jan Provaznik [Wed, 21 May 2014 06:06:24 +0000 (02:06 -0400)]
Add parameters for setting up keystone keys/certs

This will allow us distribute identical keys/certs to all
control nodes in HA mode.

Change-Id: Ie84f3897717c02e196a405746865996c0a929977

10 years agoUse vip address where controller0 was used for endpoints
Dima Shulyak [Mon, 19 May 2014 09:24:21 +0000 (12:24 +0300)]
Use vip address where controller0 was used for endpoints

This change is required to resolve scaling issue for
OVERCLOUD_CONTROLSCALE > 1

Basicly change affected all the places where endpoints
were configured to use controller0 ctlplane ip address

Change-Id: I76eb9d2b81d3ef5e9fae408f2432515f4de13e12

10 years agoMerge "Configure NTP for overcloud compute"
Jenkins [Tue, 20 May 2014 16:30:17 +0000 (16:30 +0000)]
Merge "Configure NTP for overcloud compute"

10 years agossl: Add support for a CA Certificate
Stuart McLaren [Thu, 3 Apr 2014 16:30:24 +0000 (16:30 +0000)]
ssl: Add support for a CA Certificate

Add SSLCACertificate to the overcloud yaml.

This allows a CA certificate to be specified in cases where the Cert
does not come from a CA in the system bundle.

Partially implements: blueprint tripleo-ssl-overcloud

Full set of blueprint changes:

https://review.openstack.org/#/c/85098
https://review.openstack.org/#/c/85099
https://review.openstack.org/#/c/85100

Change-Id: I67d7c1362df323762023be5c74fbe75b1583570c

10 years agoMerge "Specify group os-apply-config for config resources"
Jenkins [Tue, 20 May 2014 15:56:07 +0000 (15:56 +0000)]
Merge "Specify group os-apply-config for config resources"