f572b764f1
Many of our parameters are defined in multiple templates, but currently there is no easy way of checking that all of those definitions match. It can be confusing when a parameter is defined one way in one file and another way in a different file. For example, the NovaWorkers description is: Number of workers for Nova API service. and Number of workers for Nova Placement API service. and Number of workers for Nova Conductor service. Which is it actually? All of them. That one parameter controls the workers for all of the nova services, and its description should reflect that, no matter which template you happen to look at. This change adds a check to yaml-validate.py to catch these sorts of inconsistencies and allow us to eventually prevent new ones from getting into the templates. An exclusion mechanism is included because there are some parameter definitions we probably can't/shouldn't change. In particular, this includes the network cidrs which are defaulted to ipv4 addresses in the ipv4 net-iso templates and ipv6 in the ipv6 templates. It's possible a user would be relying on one of those defaults in their configuration, so if we change it they might break. To get around that, the tool explicitly ignores the default field of those parameters, while still checking the description and type fields so we maintain some sanity. There may be other parameters where this is an issue, but those can be added later as they are found. For the moment any inconsistencies are soft-fails. A failure message will be printed, but the return value will not be affected so we can add the tool without first having to fix every divergent parameter definition in tripleo-heat-templates (and there appear to be plenty). This will allow us to gradually fix the parameters over time, and once that is done we can make this a hard-fail. Change-Id: Ib8b2cb5e610022d2bbcec9f2e2d30d9a7c2be511 Partial-Bug: 1700664 |
||
---|---|---|
ci | ||
common | ||
deployed-server | ||
docker | ||
environments | ||
extraconfig | ||
firstboot | ||
network | ||
plan-samples | ||
puppet | ||
releasenotes | ||
roles | ||
sample-env-generator | ||
scripts | ||
tools | ||
tripleo_heat_templates | ||
validation-scripts | ||
.gitignore | ||
.gitreview | ||
.testr.conf | ||
LICENSE | ||
MANIFEST.in | ||
README.rst | ||
all-nodes-validation.yaml | ||
babel.cfg | ||
bindep.txt | ||
bootstrap-config.yaml | ||
capabilities-map.yaml | ||
default_passwords.yaml | ||
hosts-config.yaml | ||
j2_excludes.yaml | ||
net-config-bond.yaml | ||
net-config-bridge.yaml | ||
net-config-linux-bridge.yaml | ||
net-config-noop.yaml | ||
net-config-static-bridge-with-external-dhcp.yaml | ||
net-config-static-bridge.yaml | ||
net-config-static.yaml | ||
net-config-undercloud.yaml | ||
network_data.yaml | ||
overcloud-resource-registry-puppet.j2.yaml | ||
overcloud.j2.yaml | ||
plan-environment.yaml | ||
requirements.txt | ||
roles_data.yaml | ||
roles_data_undercloud.yaml | ||
services.yaml | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
README.rst
Team and repository tags
tripleo-heat-templates
Heat templates to deploy OpenStack using OpenStack.
- Free software: Apache license
- Documentation: http://docs.openstack.org/developer/tripleo-docs
- Source: http://git.openstack.org/cgit/openstack/tripleo-heat-templates
- Bugs: http://bugs.launchpad.net/tripleo
Features
The ability to deploy a multi-node, role based OpenStack deployment using OpenStack Heat. Notable features include:
- Choice of deployment/configuration tooling: puppet, (soon) docker
- Role based deployment: roles for the controller, compute, ceph, swift, and cinder storage
- physical network configuration: support for isolated networks, bonding, and standard ctlplane networking
Directories
A description of the directory layout in TripleO Heat Templates.
- environments: contains heat environment files that can be used with -e
on the command like to enable features, etc.
- extraconfig: templates used to enable 'extra' functionality. Includes
functionality for distro specific registration and upgrades.
- firstboot: example first_boot scripts that can be used when initially
creating instances.
- network: heat templates to help create isolated networks and ports
- puppet: templates mostly driven by configuration with puppet. To use these
templates you can use the overcloud-resource-registry-puppet.yaml.
- validation-scripts: validation scripts useful to all deployment
configurations
- roles: example roles that can be used with the tripleoclient to generate
a roles_data.yaml for a deployment See the roles/README.rst for additional details.
Service testing matrix
The configuration for the CI scenarios will be defined in tripleo-heat-templates/ci/ and should be executed according to the following table:
- | scenario001 | scenario002 | scenario003 | scenario004 | multinode-nonha |
---|---|---|---|---|---|
keystone |
|
|
|
|
|
glance |
|
|
|
swift + rbd |
|
cinder |
|
|
|
||
heat |
|
|
|
|
|
mysql |
|
|
|
|
|
neutron |
|
|
|
|
|
neutron-bgpvpn |
|
||||
neutron-l2gw |
|
||||
rabbitmq |
|
|
|
|
|
mongodb |
|
|
|||
redis |
|
||||
haproxy |
|
|
|
|
|
keepalived |
|
|
|
|
|
memcached |
|
|
|
|
|
pacemaker |
|
|
|
|
|
nova |
|
|
|
|
|
ntp |
|
|
|
|
|
snmp |
|
|
|
|
|
timezone |
|
|
|
|
|
sahara |
|
||||
mistral |
|
||||
swift |
|
|
|||
aodh |
|
||||
ceilometer |
|
||||
gnocchi |
|
||||
panko |
|
||||
barbican |
|
||||
zaqar |
|
||||
ec2api |
|
||||
cephrgw |
|
|
|||
tacker |
|
||||
congress |
|
||||
cephmds |
|
||||
manila |
|
||||
collectd |
|
||||
fluentd |
|
||||
sensu-client |
|