Commit Graph

149 Commits

Author SHA1 Message Date
Zuul
58f6604f47 Merge "Remove unused tls-cert-inject.yaml template" 2018-10-17 11:56:50 +00:00
Steven Hardy
b278f6c476 Remove unused tls-cert-inject.yaml template
This is no longer handled as the TLS handling tasks were converted
to ansible, and in the context of this series we need to remove it
because it references bootstrap_nodeid

Partial-Bug: #1792613
Change-Id: Ib32177b116f148f007574847320566e32240cf96
2018-10-12 11:12:25 +01:00
Juan Antonio Osorio Robles
cb3c72f37d Remove references to logging_source
This has been unused for a while, and even deprecation was scheduled
(although the patch never merged [1]). So, in order to stop folks
getting confused with this, it's being removed.

[1] https://review.openstack.org/#/c/543871/

Change-Id: Iada64874432146ef311682f26af5990469790ed2
2018-10-08 13:43:47 +03:00
Juan Antonio Osorio Robles
90234f4f2a Remove references to logging_group
This has been unused for a while, and even deprecation was scheduled
(although the patch never merged [1]). So, in order to stop folks
getting confused with this, it's being removed.

[1] https://review.openstack.org/#/c/543871/

Change-Id: Icc6b51044ccc826f5b629eb1abd3342813ed84c0
2018-08-29 13:43:30 +03:00
Zuul
5100f950ef Merge "Fix logic around heat output exclusions handling" 2018-08-20 19:26:42 +00:00
Zuul
5fadfd093f Merge "Add host routes to subnets" 2018-08-14 19:40:21 +00:00
James Slagle
5710f5b35f Fix logic around heat output exclusions handling
The logic in the validation was incorrect in that it would actually
error (return 1) if args.quiet >= 2, even though the file was excluded.

This commit fixes that bug, as well as improves the message around
excluded files, which should not be a warning, only informative.

Change-Id: I2cd8cd84a7ebb952e3c39f99a460177b9be9c2e1
2018-08-13 14:15:07 -04:00
Jiri Stransky
6364f2286c Update and upgrade tasks for services deployed via external deploy tasks
Composable service templates can now define external_update_tasks and
external_upgrade_tasks. They are meant for update/upgrade logic of
services deployed via external_deploy_tasks. The external update
playbook first executes external_update_tasks and then
external_deploy_tasks, the procedure for upgrades works
analogously. All happens within a single playbook, so variables or
fact overrides exported from the update/upgrade tasks will be
available to the deploy tasks during the update/upgrade procedure.

Partial-Bug: #1783949
Change-Id: Ib2474e8f69711cd6610a78884d5032ffd19ad249
2018-08-02 15:04:15 +02:00
Martin Mágr
b76d7623ac QDR for metrics collection purposes
This patch adds composable new service (QDR) for containerized deployments.
Metrics QDR will run on each overcloud node in 'edge' mode. This basically
means that there is a possibility that there will be two QDRs running
on controllers in case that oslo messaging is deployed. This is a reason why
we need separate composable service for this use case.

Depends-On: If9e3658d304c3071f53ecb1c42796d2603875fcd
Depends-On: I68f39b6bda02ba3920f2ab1cf2df0bd54ad7453f
Depends-On: I73f988d05840eca44949f13f248f86d094a57c46
Change-Id: I1353020f874b348afd98e7ed3832033f85a5267f
2018-07-31 21:55:45 +00:00
Harald Jensås
4e44547533 Add host routes to subnets
This change adds a new routes field to the network
definition in network_data.yaml. This field contains
a list of network routes in JSON, e.g.
  [{'destination':'10.0.0.0/16','nexthop':'10.0.0.1'}].

This list is used to set the ``host_routes`` property
of each networks subnet.

Co-Authored-By: Dan Sneddon <dsneddon@redhat.com>
Partial: blueprint tripleo-routed-networks-templates
Depends-On: Ifc5aad7a154c33488a7613c8ee038c92ee6cb1a7
Change-Id: I33b34f1445f4203fbf25edeb093b37c7494c664f
2018-07-30 09:42:19 +02:00
Cédric Jeanneret
d37308d63c Fix python3 support in yaml-validate script.
Python3 drops the "iteritems" method for dict in favor to
"items".

Change-Id: I8d21233e917b5d36be385d59f1a7c9a0588aea2d
Closes-Bug: 1783988
2018-07-27 15:20:32 +02:00
Zuul
87c03bf6b8 Merge "Add a ComputePPC64LE role" 2018-07-23 00:33:07 +00:00
Zuul
8666a73d68 Merge "Remove the OVS-DPDK deprecated parameters" 2018-07-09 23:03:32 +00:00
Tony Breeds
40282174ea Add a ComputePPC64LE role
Create a new role for compute nodes running on ppc64le.  Ideally we
wouldn't need this but at least the overcloud image needs to differ
based on CPU architecture so having a separate role allows us to vary
other parameters.

As the intent is for the same services to run on moth Compute and
ComputePPC64LE add a validation check to ensure that the services stay
in sync.

Blueprint: multiarch-support
Change-Id: I9912139048fa11df447c0985e7d53fbcfee7e252
2018-07-08 08:49:34 +10:00
Harald Jensås
b9f185c607 yaml-validator - network_data validate show all errors
Instead of exiting on the first error, set the return
value to 1 whenever an error is found and continue
validating the file. By doing this all errors are made
visible with a single run.

Change-Id: I0ecccf3113eeb511b77c447edce0c317f7642f80
2018-07-05 00:08:24 +02:00
Saravanan KR
58b6034b24 Remove the OVS-DPDK deprecated parameters
Few of the OVS-DPDK prameteres has been deprecated in the
pike release, which are not required anymore. Removed those
parameters from the templates.

Change-Id: Iabb8002a9eb69321aa2d4aefac012dbe09dc80a6
2018-06-27 14:26:12 +05:30
James Slagle
82df65cdcc Fail yaml-validate.py on new deployments with outputs
Elevates the warning from yaml-validate.py about Heat deployment outputs
to an error now that config-download is the default. An exclusions list
is added to exclude those existing templates that use outputs, which
will be cleaned up in the Stein release.

Change-Id: I7249df36cb9391d8577432920a9bd33361a58f92
2018-06-04 16:02:38 -04:00
Zuul
161156d750 Merge "NFV: Support for config-download to deploy node with kernel args" 2018-05-29 18:52:58 +00:00
Cédric Jeanneret
3848713182 Correct log location in container environment for Fluentd
Since we moved services in containers, their logs aren't in the old location, but
in /var/log/containers/<service>. This patch fixes the generated Hiera hash used
by Fluentd for its configuration

Regarding Designate config service: some of the yaml doesn't use at all the
`service_config_settings` parameter - they will need to be updated accordingly
once it's supported

Co-Authored-By: Thomas Herve <therve@redhat.com>, Steven Hardy <shardy@redhat.com>
Change-Id: I1bc0930de4053dc1c34b50477e82d9ccdab7ae2e
Closes-Bug: 1769051
Related-Bug: 1674715
2018-05-18 10:18:43 +02:00
Saravanan KR
a3e4a90636 NFV: Support for config-download to deploy node with kernel args
For NFV deployments, specific kernel args should be applied and
the nodes should be restarted before running the NetworkDeployment.
It is supported in the heat deployment via PreNetworkConfig. In the
config-download mechanism, ansible steps need to be improved
to handle the reboot and wait for the node.

Change-Id: I43b383ad0e04b8be6c321f8c5b05e628b2520141
2018-05-15 11:01:06 +05:30
Zuul
a189f37216 Merge "yaml-validate: sets isn't python3" 2018-05-14 23:16:57 +00:00
Emilien Macchi
af7a4ab5b8 yaml-validate: sets isn't python3
Run builtin "set" instead of python2 Sets module.

Change-Id: I2f3db189b23e5578f2f02a3a7189a7aa8323acb6
2018-05-09 15:42:43 +00:00
Carlos Camacho
44ef2a3ec1 Change template names to rocky
The new master branch should point now to rocky.

So, HOT templates should specify that they might contain features
for rocky release [1]

Also, this submission updates the yaml validation to use only latest
heat_version alias. There are cases in which we will need to set
the version for specific templates i.e. mixed versions, so there
is added a variable to assign specific templates to specific heat_version
aliases, avoiding the introductions of error by bulk replacing the
the old version in new releases.

[1]: https://docs.openstack.org/heat/latest/template_guide/hot_spec.html#rocky
Change-Id: Ib17526d9cc453516d99d4659ee5fa51a5aa7fb4b
2018-05-09 08:28:42 +02:00
Zuul
e24316c4ec Merge "Ensure tasks aren't empty dicts" 2018-05-02 05:05:47 +00:00
Alex Schultz
960fc05b8a Ensure tasks aren't empty dicts
Ansible doesn't like it when tasks are empty dicts so let's make sure
we aren't passing an empty dict in to the ansible tasks. Unfortunately
since we're validating non-heat processed yaml, the list_concats end
up being dicts to the yaml validator so we can't just ensure they are
always lists.

Change-Id: I13dcc4f3d4ea2ac4c7ab62887dfea293246f6530
Related-Bug: #1768019
2018-05-01 15:52:55 -06:00
Emilien Macchi
88bfa38ae5 undercloud-upgrade: use deploy_steps_tasks for yum update
Use deploy_steps_tasks instead of external_deploy_tasks so we execute
the playbook on nodes that match "overcloud" group, which is the case of
the containerized undercloud.

Also add deploy_steps_tasks to tools/yaml-validate.py part of
OPTIONAL_DOCKER_SECTIONS.

Change-Id: Iaa6a05bf864cdb54a000ef74e6c5ab8e627ab0cf
2018-04-30 16:38:32 -07:00
Zuul
5e0775a1ca Merge "Restrict tenant network to geneve" 2018-04-28 10:23:16 +00:00
venkata anil
ae4aac8cb5 Restrict tenant network to geneve
OVN doesn't support VXLAN networks. VLAN tenant networks
have limitations and should be blocked till they are fixed.
So we restrict tenant network to geneve.

Change-Id: I4cabde39c252a605d769e137ae402f6fbc5a3041
Closes-Bug: 1767070
2018-04-27 15:40:03 +05:30
Zuul
c71ffb5740 Merge "Add validation on role names" 2018-04-26 09:58:53 +00:00
Zuul
80b12bcbe9 Merge "Move remnants of environments/services-docker" 2018-04-25 18:23:02 +00:00
Dan Prince
3b56c9e501 Add validation on role names
Also, fixes role templates that weren't passing this new validation.

Closes-bug: #1756346

Change-Id: I387386a0d7cf47fe11f24a68b9f2bb2ee2f0b7bd
2018-04-25 15:42:22 +00:00
Zuul
1bec57e977 Merge "Add validation for SoftwareConfig outputs" 2018-04-25 08:44:14 +00:00
Zuul
822bd996b3 Merge "Support separate oslo.messaging services for RPC and Notification" 2018-04-25 04:43:46 +00:00
Zuul
f9a4653f03 Merge "Fail validation on new workflow_tasks" 2018-04-24 14:41:40 +00:00
Zuul
f05507195b Merge "Suppress warnings with -qq" 2018-04-24 14:41:38 +00:00
James Slagle
87c76e8d7a Fail validation on new workflow_tasks
Adds a new validation to check role_data for workflow_tasks. If found,
the validation will fail. Existing templates with workflow_tasks are
excluded for now until they are fully migrated to external_deploy_tasks.

Depends-On: I0cf206e8ceeecfca17dd99a83b8c2eaa50e66712
Change-Id: I830a5cda660f5f73ca3a98f4a886abce6989daf0
implements: blueprint deprecate-workflow-tasks
2018-04-24 04:14:26 +00:00
James Slagle
d696030293 Suppress warnings with -qq
The quiet arg (-q) is cumulative and should suppress warnings when -qq is
specified per the help text. These warnings were previously added and
did not honor -qq.

Depends-On: I0cf206e8ceeecfca17dd99a83b8c2eaa50e66712
Change-Id: Ic9fe4d7934fa6ad9c4d689a5402f43231c245ada
2018-04-24 04:14:03 +00:00
Bogdan Dobrelya
4053399860 Move remnants of environments/services-docker
Move new files, which made it into environments/services-docker.
Ensure YAML validate will not pass for environments/services-docker
any more.

Change-Id: If16cf6bdafa8e10480134d356a7d7787f1c0bd72
Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
2018-04-23 12:01:33 +00:00
Andrew Smith
78bc457585 Support separate oslo.messaging services for RPC and Notification
This commit introduces oslo.messaging services in place of a single
rabbitmq server. This will enable the separation of rpc and
notifications for the continued use of a single backend (e.g.
rabbitmq server) or a dual backend for the messaging communications.

This patch:
* add oslo_messaging_rpc and oslo_messaging_notify services
* add puppet services for rpc and notification
  (rabbitmq and qdrouterd servers)
* add docker services to deploy rpc (rabbitmq or qdrouterd)
  and notify (rabbitmq or shared)
* retains rabbit parameters for core services
* update resource registries, service_net_map, roles, etc.
* update ci environment container scenarios
* add environment generator for messaging
* add release note

Depends-On: Ic2c1a58526febefc1703da5fec12ff68dcc0efa0
Depends-On: I154e2fe6f66b296b9b643627d57696e5178e1815
Depends-On: I03e99d35ed043cf11bea9b7462058bd80f4d99da
Needed-By: Ie181a92731e254b7f613ad25fee6cc37e985c315
Change-Id: I934561612d26befd88a9053262836b47bdf4efb0
2018-04-22 04:33:44 +00:00
Zuul
d8b4385971 Merge "Omit hiera YAML validations for external deploys" 2018-04-21 07:10:16 +00:00
James Slagle
a134b717dd Add validation for SoftwareConfig outputs
SoftwareConfig/StructuredConfig outputs aren't supported with
config-download given that Heat doesn't know what the output values will
since Ansible is applying all configuration after the stack is complete.

This validation will report a warning whenever it finds use of outputs on
these resource types.

After config-download is the default and the Heat driven method is no
longer supported, we can switch this warning to an error.

Change-Id: I44d5ee3bab3d05ab0a59261d15ea915c75b35713
2018-04-20 13:27:22 +00:00
Bogdan Dobrelya
68c60892a1 Omit hiera YAML validations for external deploys
Closes-bug: #1765641

Change-Id: I3e98521f6396acc9e4e1a7b32faec85e988ab0fe
Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
2018-04-20 11:11:19 +02:00
Bogdan Dobrelya
b079bcc3e1 Track global failures flag for YAML validations
Closes-bug: #1764741

Change-Id: Id0313cde5e1d86103940ff4f77f09b79d0d04ec3
Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
2018-04-19 16:44:21 +02:00
Bogdan Dobrelya
0b44170e73 Add validation for hiera interpolation in services
Walk through services' templates role_data to identify
missing hiera interplolation of networks.

Use additionally provided interfaces for validations:
 * search in dicts by keys or values matching some regex,
   entering into lists as an option;
 * safe get values by the discovered paths casted as lists,
   like get_param/get_attr works for heat templates.

Add PyYAML missing to the requirements.txt.

Closes-bug: #1764315

Change-Id: Idef66ee96cbd67d23760a1cce9537ecc157c3429
Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
2018-04-18 10:11:39 +02:00
Emilien Macchi
a5e5041762 pep8: include no-tls-endpoints-public-ip.yaml in validation
no-tls-endpoints-public-ip.yaml is a new file that needs to be validated
among other TLS environments, so we can make sure that EndpointMap will
be constructed correctly with all needed endpoints.

Change-Id: I5e83b37d8fa757065a6dab87d6eeac1c345efd32
2018-04-13 14:05:13 +00:00
Zuul
dddd649ba6 Merge "remove OS::TripleO::Services::CephClient from CephAll" 2018-03-28 16:49:54 +00:00
binhong.hua
58d1e814c6 remove OS::TripleO::Services::CephClient from CephAll
CephClient should be removed from the CephAll role.
The only thing it does is the key set which is already
handled by the ceph mon profile.
if not will cause Duplicate declaration: Class[Ceph::Keys]

Change-Id: I77bbec1edd21cd6a4212a381a1a7712adc4b604f
Related-Bug: 1722633
2018-03-26 02:35:53 +00:00
Zuul
0901d8ee5f Merge "Add pre_upgrade_rolling_tasks" 2018-03-21 19:33:59 +00:00
Zuul
b8044a36b6 Merge "Fix newton compat mode for deployed server." 2018-03-21 11:52:27 +00:00
Zuul
2918341f8b Merge "Add check for old-style nic config files" 2018-03-20 08:14:09 +00:00