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
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
Currently if a blank line is followed by a comment the 'last_non_comment_spaces'
variable gets reset, which results in the comment line not being indented.
This just ignores blank lines so that 'last_non_comment_spaces' isn't reset
and the comment line is properly indented.
Closes-Bug: 1779191
Change-Id: I286da578c42df24242ba38df12d42c8a8fdd4a4f
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
Don't assume the role dict has a deprecated_nic_config_name key during
cleanup of the process templates. This isn't a required field, so we
can't assume it exists, otherwise the script will traceback with a
KeyError.
Change-Id: I50eb4831c2b413e2253cb0c3dc9aba4c719f0f14
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
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
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
This change adds the option to override the user input confirmation
to overwrite the nic template file. This is required when the script
is used inside automated jobs.
Closes-bug: 1770296
Change-Id: Ic8275bb3a944e503c73ab06c3d5140ea3563c0a6
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
I934561612d26befd88a9053262836b47bdf4efb0 renamed the rabbit ssl
parameters that we use in the same environment generate but since the
script did not fail, it made it past CI. This change fixes the
RabbitClientUseSsl parameter in the environment to match the new
RpcUseSsl flag and updates the check script to fail if this happens
again.
Change-Id: I47c63875c6934bca2903883787467fc1804ba5da
Closes-Bug: #1768358
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
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
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
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
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
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>
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
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
Sometimes it is nice to know which templates
should be rendered into which files. For example,
if we need to define additional checks in the client.
Change-Id: I10d4dffcd3802f62fc824c808728c0b5b4f1002c
Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
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>
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
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