X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=tools%2Fyaml-validate.py;h=c3229621929d9325a0f1e05814ba274f7f959bfa;hb=bbf25a19c808d2f6b0a5e1c4809c17d0c87fd827;hp=682cb8dfda59b65897a05e5d7fbf40d149c02621;hpb=f20b25c29832d9ce97c1ba60533cb2bcd0b1c227;p=apex-tripleo-heat-templates.git diff --git a/tools/yaml-validate.py b/tools/yaml-validate.py index 682cb8df..c3229621 100755 --- a/tools/yaml-validate.py +++ b/tools/yaml-validate.py @@ -31,12 +31,14 @@ envs_containing_endpoint_map = ['tls-endpoints-public-dns.yaml', 'tls-endpoints-public-ip.yaml', 'tls-everywhere-endpoints-dns.yaml'] ENDPOINT_MAP_FILE = 'endpoint_map.yaml' -OPTIONAL_SECTIONS = ['service_workflow_tasks'] +OPTIONAL_SECTIONS = ['workflow_tasks'] REQUIRED_DOCKER_SECTIONS = ['service_name', 'docker_config', 'puppet_config', 'config_settings', 'step_config'] OPTIONAL_DOCKER_SECTIONS = ['docker_puppet_tasks', 'upgrade_tasks', - 'service_config_settings', 'host_prep_tasks', - 'metadata_settings', 'kolla_config'] + 'post_upgrade_tasks', 'update_tasks', + 'service_config_settings', + 'host_prep_tasks', 'metadata_settings', + 'kolla_config', 'logging_source', 'logging_groups'] REQUIRED_DOCKER_PUPPET_CONFIG_SECTIONS = ['config_volume', 'step_config', 'config_image'] OPTIONAL_DOCKER_PUPPET_CONFIG_SECTIONS = [ 'puppet_tags', 'volumes' ] @@ -87,6 +89,8 @@ PARAMETER_DEFINITION_EXCLUSIONS = {'ManagementNetCidr': ['default'], 'OVNSouthboundServerPort': ['description'], 'ExternalInterfaceDefaultRoute': ['description', 'default'], + 'ManagementInterfaceDefaultRoute': + ['description', 'default'], 'IPPool': ['description'], 'SSLCertificate': ['description', 'default', @@ -113,6 +117,22 @@ PREFERRED_CAMEL_CASE = { 'haproxy': 'HAProxy', } +# Overrides for docker/puppet validation +# : True explicitly enables validation +# : False explicitly disables validation +# +# If a filename is not found in the overrides then the top level directory is +# used to determine which validation method to use. +VALIDATE_PUPPET_OVERRIDE = { + # docker/service/sshd.yaml is a variation of the puppet sshd service + './docker/services/sshd.yaml': True, + # qdr aliases rabbitmq service to provide alternative messaging backend + './puppet/services/qdr.yaml': False, +} +VALIDATE_DOCKER_OVERRIDE = { + # docker/service/sshd.yaml is a variation of the puppet sshd service + './docker/services/sshd.yaml': False, +} def exit_usage(): print('Usage %s ' % sys.argv[0]) @@ -433,12 +453,14 @@ def validate(filename, param_map): % filename) return 1 - # qdr aliases rabbitmq service to provide alternative messaging backend - if (filename.startswith('./puppet/services/') and - filename not in ['./puppet/services/qdr.yaml']): + if VALIDATE_PUPPET_OVERRIDE.get(filename, False) or ( + filename.startswith('./puppet/services/') and + VALIDATE_PUPPET_OVERRIDE.get(filename, True)): retval = validate_service(filename, tpl) - if filename.startswith('./docker/services/'): + if VALIDATE_DOCKER_OVERRIDE.get(filename, False) or ( + filename.startswith('./docker/services/') and + VALIDATE_DOCKER_OVERRIDE.get(filename, True)): retval = validate_docker_service(filename, tpl) if filename.endswith('hyperconverged-ceph.yaml'):