36 Commits

Author SHA1 Message Date
Steven Hardy
8fe71c0888 Correct AllNodesDeploySteps depends_on
This is wrong atm, it should loop to create a list for the depends_on
not multiple depends_on statements.

Note this was first corrected in https://review.openstack.org/#/c/330659/
but we need it as a standalone patch that can be backported.

Change-Id: I4d1d6346f2147e573fc0900038f1ad1d782e75ee
Closes-Bug: #1642069
2016-11-16 09:06:55 +01:00
Jenkins
64a277323c Merge "Removes deprecated overcloud VIP outputs" 2016-11-10 18:36:33 +00:00
Steven Hardy
390292e59e Select bootstrap node by list index not name
Modify the syntax used to access the ResourceGroup attributes so we
always select the first node from the group, e.g even if the node
named "0" in the ResourceGroup nested stack has been removed due to
the removal policy.

Change-Id: I8b1c9538976a1518b220187a0034ad41a738d5a6
Closes-Bug: #1640449
2016-11-10 10:28:31 +00:00
Tim Rozet
5ba02aa54b Removes deprecated overcloud VIP outputs
These VIPs were previously used to create endpoints, but are no longer
used.  The one exception is KeystoneAdminVip, which is used by the
python-client.

Closes-Bug: 1639956

Change-Id: Iafdf37b6ee91806d683592a99e025a8de4c0ff20
Signed-off-by: Tim Rozet <trozet@redhat.com>
2016-11-07 16:48:35 -05:00
Steven Hardy
d297e02c03 Move per role Services defaults into environment file
For parameter merge strategies to work we need to merge multiple environment
files, which doesn't consider the defaults defined in the heat template.

Moving where we define these defaults will enable the merge strategies
applied when appending services to roles in environment files to work.

Change-Id: I1ef1ad685c8a15308d051665c576a98b277f2496
Closes-Bug: #1635409
2016-11-07 15:08:26 +01:00
Jenkins
d106161466 Merge "Add Barbican to the overcloud" 2016-11-01 17:27:20 +00:00
Brad P. Crochet
9dfc243202 Composable Mistral services
Adds new puppet specific services for Mistral
API and Mistral Engine.

This submission enables the mistral service by default in the
overcloud, a following submission will disable it and make it
optional by enabling it on demand based in an environment file.

Depends-On: Iae42ffa37c4c9b1e070b7c3753e04c45bb97703f
Depends-On: I942d419be951651e305d01460f394870c30a9878
Depends-On: I6cb2cbf4a2abf494668d24b8c36b0d525643f0af
Implements: blueprint composable-services-within-roles
Co-Authored-By: Carlos Camacho <ccamacho@redhat.com>

Change-Id: Id5ff9cb498b5a47af38413d211ff0ed6ccd0015b
2016-10-21 08:07:08 -04:00
Ade Lee
5f2f5422d7 Add Barbican to the overcloud
Co-Authored-By: Juan Antonio Osorio Robles <jaosorior@redhat.com>
Depends-On: If2804b469eb3ee08f3f194c7dd3290d23a245a7a
Depends-On: I091ecfbcb2e38fe77203244ac7a597aedcb558fb
Change-Id: Iacc504fc4fa2d06893917024ce2340d3fb80b626
2016-10-19 06:40:08 +00:00
Dan Prince
ccc3a56983 Ensure all HostsDeployments finish before puppet
This makes sure that the Host settings for all deployments are finished
before starting the AllNodesDeployments which execute puppet.

Change-Id: Ibe604472255ce905ca2c1dca2a9b07a6f8f40e47
Related-bug: #1633565
2016-10-14 13:39:01 -04:00
Dan Prince
9f8944111c Split out hosts config deployment
This patch moves the hosts configuration into its own deployment.
It will continue to use os-apply-config as something that is
required early on in the bootstrapping (it needs to be
configured before puppet runs for example).

The motivation here is so we can refactor all-nodes-config.yaml to use a
new hiera hook that that avoids os-apply-config entirely.

Change-Id: Ib3e4380f205358b27d22a1102b663cf300b1ed86
Partial-bug: #1596373
2016-10-13 14:15:54 -04:00
Jenkins
0fb8e3bddb Merge "Add cloud names to hosts output" 2016-10-07 19:49:46 +00:00
Juan Antonio Osorio Robles
a6d6acd645 Add cloud names to hosts output
Closes-Bug: #1631277
Change-Id: I126b3ed2afdf03ffabb7e57f8792b9f7ecc06a09
2016-10-07 14:03:44 +03:00
Steven Hardy
c70af3e3c3 Serialize AllNodesDeployment and UpdateWorkflow
Otherwise there may be a race between updating the hiera
and running the UpdateWorkflow

Change-Id: I22cd893e0db3df6d39504fbd61d7d9024cebb1c5
Related-Bug: 1631297
2016-10-07 11:39:20 +03:00
Jenkins
f9c3481c3e Merge "restore missing fluentd client functionality" 2016-10-06 12:34:31 +00:00
Lars Kellogg-Stedman
dd162f42c7 restore missing fluentd client functionality
in the great rebase following the JINJA ALL THE THINGS changes we lost
critical functionality in the fluentd client service.  This review
restores the missing features.

Change-Id: I7c23f16f81e75f3da6a24587b2eb8385b3e920a4
Closes-bug: 1630692
2016-10-05 13:39:06 -04:00
Steven Hardy
6a408ff27e Select per-network hostnames for service_node_names
Co-Authored-By: Juan Antonio Osorio Robles <jaosorior@redhat.com>
Depends-On: Ic6fec1057439ed9122d44ef294be890d3ff8a8ee
Change-Id: I754c4a41d8a294a4c7c18bd282ae014efd4b9b16
Closes-Bug: #1628521
2016-10-05 16:24:54 +03:00
Steven Hardy
c947008d9e Make keystone api network hiera composable
These hard-coded references to the Controller role mean that
things won't work if the keystone service is moved to any other
role, so we need to generate the lists dynamically based on the
enabled services for each role.

Change-Id: I5f1250a8a1a38cb3909feeb7d4c1000fd0fabd14
Closes-Bug: #1629096
2016-09-30 16:41:27 +01:00
Ben Nemec
3d05733dd3 Fix predictable placement indexing
As noted in the bug, predictable placement is broken right now
because the %index% in the scheduler hint isn't being interpolated.
This is because the parameter was moved from overcloud.yaml to the
service-specific files, which doesn't provide the index value.

Because the Compute role's parameter is named NovaCompute... we also
have to include some backwards compatibility logic to handle the
mismatch.

Change-Id: Ibee2949fe4c6c707203d7250e2ce169c769b1dcd
Closes-Bug: 1627858
2016-09-26 16:40:20 -05:00
Jenkins
5d49b75b6e Merge "Remove hard-coded roles in EnabledServices output" 2016-09-23 17:45:24 +00:00
Dan Prince
9d67d7b3b1 Move keystone::auth into service_config_settings
This patch moves the keystone::auth settings for all
services into the new service_config_settings section. This
is important because we execute the keystone commands via
puppet only on the role containing the keystone service
and without these settings it will fail.

Note that yaql merging/filtering is used here to ensure that
service_config_settings is optional in service templates,
and also that we'll only deploy hieradata for a given
service on a node running the service (the key in
the service_config_settings map must match the service_name
in the service template for this to work).

e.g the following will result in only deploying keystone: 123
in hiera on the role running the "keystone" service,
regardless of which service template defines it.

  service_config_settings:
    keystone:
      keystone: 123

Co-Authored-By: Steven Hardy <shardy@redhat.com>
Change-Id: I0c2fce037a1a38772f998d582a816b4b703f8265
Closes-bug: 1620829
2016-09-23 07:43:21 -04:00
Steven Hardy
d5a25f96d2 Remove hard-coded roles in EnabledServices output
This was missed during custom-roles work, and will mean deployments
break if any of the existing roles are removed from roles_data.yaml

Change-Id: Ia737b48a0dd272f8d706b7458764201fa47cb0bb
Closes-Bug: #1625755
2016-09-23 10:15:27 +01:00
Steven Hardy
1e72333702 Make defaults from roles_data.yaml more robust
The previous logic left out the default Count completely when it was
zero, which breaks nested validation and it's likely similar problems
would exist with the other optional defaults, so rework it so the
defaulting happens in the jinja2 logic, and document the interfaces
better in roles_data.yaml

Change-Id: I7f2eb4a3a0b43c5d2cd0d001ed3c73f783c95c74
Closes-Bug: #1625760
2016-09-21 12:42:31 +01:00
Jenkins
dc9c4c2ad9 Merge "Add fluentd client service" 2016-09-17 18:50:51 +00:00
Lars Kellogg-Stedman
0d9298bb8f Add fluentd client service
This implements support for installing fluentd agents as a composable
service on the overcloud.

Depends-On: I2e1abe4d8c8359e56ff626255ee50c9cacca1940

Implements: tripleo-opstools-centralized-logging
Change-Id: I23b0e23881b742158fcfb6b8c145a3211d45086e
2016-09-17 01:31:12 +00:00
Steven Hardy
b738e9ca78 Convert AllNodesExtraConfig to support composable roles
This adjusts the interface to OS::TripleO::AllNodesExtraConfig so
it supports custom/composable/optional roles.

Note this does break backwards compatibility, and I can't see any way
to avoid that.  I've converted the in-tree templates, and we'll have
to document carefully and or provide a script (or automated conversion
via mistral perhaps?) to allow folks to easily adjust any out of tree
templates to the new format.

Basically you just have to:

1. Remove all the *_servers parameters, replace with one "servers"
   json parameter

2. Replace references to e.g "controller_servers" with "servers, Controller"
   which does a path-based lookup into the json map provided by overcloud.yaml

Change-Id: I5eebf853646b2f6300d6b542fcd4f43e82d3b413
Partially-Implements: blueprint custom-roles
2016-09-16 00:24:44 +00:00
Steven Hardy
3a8d20a63d Convert UpdateWorkflow to support composable roles
We need to remove the hard-coded roles from overcloud.j2.yaml
as now it's valid to e.g remove BlockStorage completely.

The previous behavior for the per-role upgrade scripts is maintained
but we'll need to rework this for newton->ocata upgrades where we
can no longer be sure the servers mapping will contain all roles.

Change-Id: I25e6c84757e3c00fba2aae834cd8206c62e44acf
Partially-Implements: blueprint custom-roles
2016-09-16 00:24:35 +00:00
Steven Hardy
da283a785b Convert deploy steps to jinja2 loop
Refactor so the post-deploy steps recently moved into
puppet/post.yaml are generated by jinja2 instead of hard-coded

Change-Id: I488e46aaa449c95571bd3d1de9513c3d0730baf3
Partially-Implements: blueprint custom-roles
2016-09-16 00:24:24 +00:00
Jenkins
89f9a3f2e0 Merge "Convert allNodesConfig properties to composable jinja2" 2016-09-14 11:32:58 +00:00
Jenkins
8fb5d99714 Merge "Add support for deploying Ceph RGW role" 2016-09-14 09:09:36 +00:00
Steven Hardy
fa6bafac53 Convert allNodesConfig properties to composable jinja2
To support custom roles we need to generate these lists of role
specific data.

Change-Id: Ide97cd57d1c07f7f7ff260ff7a6bbe2b71753bd0
Partially-Implements: blueprint custom-roles
2016-09-13 19:54:39 +00:00
Steven Hardy
e8510077ea Move role ResourceGroups inside the jinja2 loop
This moves the now nearly identical group resources inside the loop
there's a FIXME related to some deprecated compute parameters we'll
need to work around.

Change-Id: Iddd63c42754867125e65e7721ab9d9f46f4d6afb
Partially-Implements: blueprint custom-roles
2016-09-13 19:54:29 +00:00
Steven Hardy
d05a2b320b Move per-role NetIpListMap's into jinja template loop
Change-Id: I8fc855833e8c602e94d0e8b330a713de1c98f901
2016-09-11 01:46:10 +00:00
Keith Schincke
51dd6ad45a Add support for deploying Ceph RGW role
This patch add support for deploying Ceph RGW.

Co-Authored-By: Giulio Fidente <gfidente@redhat.com>
Change-Id: I88c8659a36c2435834e8646c75880b0adc52e964
2016-09-10 09:45:25 -04:00
Steven Hardy
2611582aa5 Move AllNodesValidationDeployments into jinja template loop
These are identical for all roles, so move them into the per-role
loop

Partially-Implements: blueprint custom-roles
Change-Id: Id85b830a0e225912a3ea8c8b17a11fc424f68bb0
2016-09-09 16:23:53 -04:00
Steven Hardy
d914f9c5c1 Move AllNodesDeployments into jinja template loop
These are identical for all roles, so move them into the per-role
loop

Partially-Implements: blueprint custom-roles
Change-Id: I0a9918d5a2e9a73fe3ac68a96bdee02e95799bc1
2016-09-09 16:23:53 -04:00
Steven Hardy
0a9b02b60c Convert overcloud.yaml to support jinja2 templating
The first step of generating the Service chain resources via j2,
we'll then incrementally convert other resources to be created
in a similar way.

Partially-Implements: blueprint custom-roles
Depends-On: I81239991f36ed5f6453184bf9cffe930832cb68b
Change-Id: Iafa9b2afddf18a5a9833ec472a552fb256338b38
2016-09-09 16:23:47 -04:00