Age | Commit message (Collapse) | Author | Files | Lines |
|
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
|
|
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
|
|
Inherit passthrough from nova-compute-instance.yaml, rather than
having an exact copy in overcloud-source.yaml.
Change-Id: I4f5a4a7be5835cb68755734aa72f8d9670cba0d4
|
|
Rename NovaCompute0Config to NovaCompute0Deploy as this makes
the structured deployment name match the one in
nova-compute-instance.yaml.
Change-Id: I79f66c09006aa7f7118af1f48e1f6f10b87daec6
|
|
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
|
|
|
|
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
|
|
|
|
|
|
This file is not used.
Change-Id: Ic03fb3402b3164c7c99cf02040f3a5e5abf6a9e9
|
|
|
|
Specify NO_SIGNAL for signal_transport on the BlockStorage0Deployment
resource. Otherwise, this resource remains CREATE_IN_PROGRESS forever.
Change-Id: I973d197245ed32612bde9209479e6ae3a443fc69
|
|
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
|
|
|
|
|
|
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
|
|
|
|
|
|
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
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
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
|
|
We're not using this metadata for anything.
Change-Id: I9d27c76dfa7223cbd16b9afe967696644137b8d6
|
|
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
|
|
|
|
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
|
|
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
|
|
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
|
|
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
|
|
|
|
Pacemaker will be used for managing ceilometer central agent,
we need basic metadata to setup corosync and pacemaker.
Related to: Ifa83d62c2132bcdcb40d0b7c80ce3adadc0b5587
Change-Id: I44909005d9bc653c3e7c2de1c12fe4ffecf6bede
|
|
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
|
|
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
|
|
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
|
|
|
|
|
|
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
|
|
|
|
Then feed in through separate deployments. This reduces the exponential
growth of calculating the entire list for every server.
Change-Id: Ib1187eabeb91b46e29ddcf5065056e43a69bb2a0
|
|
|
|
Adding nodes and cluster_name properties for mysql in order to enable
galera clustering.
Change-Id: I522b7324460469c59f49983ca3becd9ea914cdc0
|
|
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
|
|
Since the wrong one is a bad idea :)
Change-Id: I7ed40078f487459dee9055ef41f10a9b60a0e674
|
|
|
|
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
|
|
|