diff options
321 files changed, 2279 insertions, 1448 deletions
diff --git a/ci/environments/multinode-containers.yaml b/ci/environments/multinode-containers.yaml index 10a2c8c2..d2550365 100644 --- a/ci/environments/multinode-containers.yaml +++ b/ci/environments/multinode-containers.yaml @@ -71,3 +71,4 @@ parameter_defaults: ceph::profile::params::osd_max_object_namespace_len: 64 SwiftCeilometerPipelineEnabled: False Debug: True + NotificationDriver: 'noop' diff --git a/ci/environments/multinode-core.yaml b/ci/environments/multinode-core.yaml index b5316f1b..0dd59e96 100644 --- a/ci/environments/multinode-core.yaml +++ b/ci/environments/multinode-core.yaml @@ -21,6 +21,7 @@ parameters: Debug: type: string default: '' + description: Set to True to enable debugging on all services. resources: diff --git a/ci/environments/multinode.yaml b/ci/environments/multinode.yaml index 1752a2f6..72b1bc41 100644 --- a/ci/environments/multinode.yaml +++ b/ci/environments/multinode.yaml @@ -69,3 +69,4 @@ parameter_defaults: ceph::profile::params::osd_max_object_namespace_len: 64 SwiftCeilometerPipelineEnabled: False Debug: True + NotificationDriver: 'noop' diff --git a/ci/environments/multinode_major_upgrade.yaml b/ci/environments/multinode_major_upgrade.yaml index 609e06ff..ba5e3335 100644 --- a/ci/environments/multinode_major_upgrade.yaml +++ b/ci/environments/multinode_major_upgrade.yaml @@ -65,3 +65,4 @@ parameter_defaults: heat::rpc_response_timeout: 600 SwiftCeilometerPipelineEnabled: False Debug: True + NotificationDriver: 'noop' diff --git a/ci/environments/scenario002-multinode-containers.yaml b/ci/environments/scenario002-multinode-containers.yaml index 07088633..b795535a 100644 --- a/ci/environments/scenario002-multinode-containers.yaml +++ b/ci/environments/scenario002-multinode-containers.yaml @@ -72,3 +72,4 @@ parameter_defaults: nova::compute::libvirt::libvirt_virt_type: qemu Debug: true SwiftCeilometerPipelineEnabled: false + NotificationDriver: 'noop' diff --git a/ci/environments/scenario002-multinode.yaml b/ci/environments/scenario002-multinode.yaml index 79b74af1..220979b9 100644 --- a/ci/environments/scenario002-multinode.yaml +++ b/ci/environments/scenario002-multinode.yaml @@ -71,3 +71,4 @@ parameter_defaults: nova::compute::libvirt::libvirt_virt_type: qemu Debug: true SwiftCeilometerPipelineEnabled: false + NotificationDriver: 'noop' diff --git a/ci/environments/scenario003-multinode-containers.yaml b/ci/environments/scenario003-multinode-containers.yaml index 8e1b3a05..71daf8ec 100644 --- a/ci/environments/scenario003-multinode-containers.yaml +++ b/ci/environments/scenario003-multinode-containers.yaml @@ -70,3 +70,4 @@ parameter_defaults: GlanceBackend: 'file' KeystoneTokenProvider: 'fernet' SwiftCeilometerPipelineEnabled: false + NotificationDriver: 'noop' diff --git a/ci/environments/scenario003-multinode.yaml b/ci/environments/scenario003-multinode.yaml index 2cce1680..7a72562c 100644 --- a/ci/environments/scenario003-multinode.yaml +++ b/ci/environments/scenario003-multinode.yaml @@ -67,3 +67,4 @@ parameter_defaults: GlanceBackend: 'file' KeystoneTokenProvider: 'fernet' SwiftCeilometerPipelineEnabled: false + NotificationDriver: 'noop' diff --git a/ci/environments/scenario004-multinode-containers.yaml b/ci/environments/scenario004-multinode-containers.yaml index ba530162..c2a2331c 100644 --- a/ci/environments/scenario004-multinode-containers.yaml +++ b/ci/environments/scenario004-multinode-containers.yaml @@ -96,3 +96,4 @@ parameter_defaults: SwiftCeilometerPipelineEnabled: false NeutronServicePlugins: 'router, networking_bgpvpn.neutron.services.plugin.BGPVPNPlugin' BgpvpnServiceProvider: 'BGPVPN:Dummy:networking_bgpvpn.neutron.services.service_drivers.driver_api.BGPVPNDriver:default' + NotificationDriver: 'noop' diff --git a/ci/environments/scenario004-multinode.yaml b/ci/environments/scenario004-multinode.yaml index 8bf805df..a15db896 100644 --- a/ci/environments/scenario004-multinode.yaml +++ b/ci/environments/scenario004-multinode.yaml @@ -98,3 +98,4 @@ parameter_defaults: NeutronServicePlugins: 'router, networking_bgpvpn.neutron.services.plugin.BGPVPNPlugin, networking_l2gw.services.l2gateway.plugin.L2GatewayPlugin' BgpvpnServiceProvider: 'BGPVPN:Dummy:networking_bgpvpn.neutron.services.service_drivers.driver_api.BGPVPNDriver:default' L2gwServiceProvider: ['L2GW:l2gw:networking_l2gw.services.l2gateway.service_drivers.L2gwDriver:default'] + NotificationDriver: 'noop' diff --git a/ci/environments/scenario006-multinode-containers.yaml b/ci/environments/scenario006-multinode-containers.yaml index 97db897b..4715e339 100644 --- a/ci/environments/scenario006-multinode-containers.yaml +++ b/ci/environments/scenario006-multinode-containers.yaml @@ -58,3 +58,4 @@ parameter_defaults: # we don't deploy Swift so we switch to file backend. GlanceBackend: 'file' IronicCleaningDiskErase: 'metadata' + NotificationDriver: 'noop' diff --git a/common/services.yaml b/common/services.yaml index 4d3ca8d1..e415f4b9 100644 --- a/common/services.yaml +++ b/common/services.yaml @@ -1,4 +1,3 @@ -#FIXME move into common when specfile adds it heat_template_version: pike description: > @@ -11,6 +10,10 @@ parameters: description: | List nested stack service templates. type: comma_delimited_list + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -44,6 +47,7 @@ resources: resources: {get_param: Services} concurrent: true resource_properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} EndpointMap: {get_param: EndpointMap} DefaultPasswords: {get_param: DefaultPasswords} @@ -58,6 +62,33 @@ resources: properties: RoleData: {get_attr: [ServiceChain, role_data]} + PuppetStepConfig: + type: OS::Heat::Value + properties: + type: string + value: + yaql: + expression: + # select 'step_config' only from services that do not have a docker_config + coalesce($.data.service_names, []).zip(coalesce($.data.step_config, []), coalesce($.data.docker_config, [])).where($[2] = null).where($[1] != null).select($[1]).join("\n") + data: + service_names: {get_attr: [ServiceChain, role_data, service_name]} + step_config: {get_attr: [ServiceChain, role_data, step_config]} + docker_config: {get_attr: [ServiceChain, role_data, docker_config]} + + DockerConfig: + type: OS::Heat::Value + properties: + type: json + value: + yaql: + expression: + # select 'docker_config' only from services that have it + coalesce($.data.service_names, []).zip(coalesce($.data.docker_config, [])).where($[1] != null).select($[1]).reduce($1.mergeWith($2), {}) + data: + service_names: {get_attr: [ServiceChain, role_data, service_names]} + docker_config: {get_attr: [ServiceChain, role_data, docker_config]} + outputs: role_data: description: Combined Role data for this set of services. @@ -120,7 +151,7 @@ outputs: yaql: expression: $.data.role_data.where($ != null).select($.get('service_workflow_tasks')).where($ != null).reduce($1.mergeWith($2), {}) data: {role_data: {get_attr: [ServiceChain, role_data]}} - step_config: {get_attr: [ServiceChain, role_data, step_config]} + step_config: {get_attr: [PuppetStepConfig, value]} upgrade_tasks: yaql: # Note we use distinct() here to filter any identical tasks, e.g yum update for all services @@ -138,7 +169,7 @@ outputs: kolla_config: map_merge: {get_attr: [ServiceChain, role_data, kolla_config]} docker_config: - {get_attr: [ServiceChain, role_data, docker_config]} + {get_attr: [DockerConfig, value]} docker_puppet_tasks: {get_attr: [ServiceChain, role_data, docker_puppet_tasks]} host_prep_tasks: diff --git a/docker/deploy-steps-playbook.yaml b/docker/deploy-steps-playbook.yaml index 87587a4b..446c73a6 100644 --- a/docker/deploy-steps-playbook.yaml +++ b/docker/deploy-steps-playbook.yaml @@ -7,9 +7,19 @@ - name: Write the config_step hieradata copy: content="{{dict(step=step|int)|to_json}}" dest=/etc/puppet/hieradata/config_step.json force=true - name: Run puppet host configuration for step {{step}} - # FIXME: modulepath requires ansible 2.4, our builds currently only have 2.3 - # puppet: manifest=/var/lib/tripleo-config/puppet_step_config.pp modulepath=/etc/puppet/modules:/opt/stack/puppet-modules:/usr/share/openstack-puppet/modules - puppet: manifest=/var/lib/tripleo-config/puppet_step_config.pp + command: >- + puppet apply + --modulepath=/etc/puppet/modules:/opt/stack/puppet-modules:/usr/share/openstack-puppet/modules + --logdest syslog --color=false + /var/lib/tripleo-config/puppet_step_config.pp + changed_when: false + check_mode: no + register: outputs + failed_when: false + no_log: true + - debug: var=(outputs.stderr|default('')).split('\n')|union(outputs.stdout_lines|default([])) + when: outputs is defined + failed_when: outputs|failed ###################################### # Generate config via docker-puppet.py ###################################### @@ -21,6 +31,12 @@ when: step == "1" changed_when: false check_mode: no + register: outputs + failed_when: false + no_log: true + - debug: var=(outputs.stderr|default('')).split('\n')|union(outputs.stdout_lines|default([])) + when: outputs is defined + failed_when: outputs|failed ################################################## # Per step starting of the containers using paunch ################################################## @@ -32,10 +48,19 @@ # the *step_n.json with a hash of the generated external config added # This acts as a salt to enable restarting the container if config changes - name: Start containers for step {{step}} - command: paunch --debug apply --file /var/lib/tripleo-config/hashed-docker-container-startup-config-step_{{step}}.json --config-id tripleo_step{{step}} --managed-by tripleo-{{role_name}} + command: >- + paunch --debug apply + --file /var/lib/tripleo-config/hashed-docker-container-startup-config-step_{{step}}.json + --config-id tripleo_step{{step}} --managed-by tripleo-{{role_name}} when: docker_config_json.stat.exists changed_when: false check_mode: no + register: outputs + failed_when: false + no_log: true + - debug: var=(outputs.stderr|default('')).split('\n')|union(outputs.stdout_lines|default([])) + when: outputs is defined + failed_when: outputs|failed ######################################################## # Bootstrap tasks, only performed on bootstrap_server_id ######################################################## @@ -49,3 +74,9 @@ when: deploy_server_id == bootstrap_server_id changed_when: false check_mode: no + register: outputs + failed_when: false + no_log: true + - debug: var=(outputs.stderr|default('')).split('\n')|union(outputs.stdout_lines|default([])) + when: outputs is defined + failed_when: outputs|failed diff --git a/docker/docker-puppet.py b/docker/docker-puppet.py index 01acde03..9780054b 100755 --- a/docker/docker-puppet.py +++ b/docker/docker-puppet.py @@ -28,17 +28,25 @@ import sys import tempfile import multiprocessing -log = logging.getLogger() -ch = logging.StreamHandler(sys.stdout) -if os.environ.get('DEBUG', False): - log.setLevel(logging.DEBUG) - ch.setLevel(logging.DEBUG) -else: - log.setLevel(logging.INFO) - ch.setLevel(logging.INFO) -formatter = logging.Formatter('%(asctime)s %(levelname)s: %(message)s') -ch.setFormatter(formatter) -log.addHandler(ch) +logger = None + +def get_logger(): + global logger + if logger is None: + logger = logging.getLogger() + ch = logging.StreamHandler(sys.stdout) + if os.environ.get('DEBUG', False): + logger.setLevel(logging.DEBUG) + ch.setLevel(logging.DEBUG) + else: + logger.setLevel(logging.INFO) + ch.setLevel(logging.INFO) + formatter = logging.Formatter('%(asctime)s %(levelname)s: ' + '%(process)s -- %(message)s') + ch.setFormatter(formatter) + logger.addHandler(ch) + return logger + # this is to match what we do in deployed-server def short_hostname(): @@ -109,7 +117,7 @@ def rm_container(name): process_count = int(os.environ.get('PROCESS_COUNT', multiprocessing.cpu_count())) - +log = get_logger() log.info('Running docker-puppet') config_file = os.environ.get('CONFIG', '/var/lib/docker-puppet/docker-puppet.json') log.debug('CONFIG: %s' % config_file) @@ -174,7 +182,8 @@ for service in (json_data or []): log.info('Service compilation completed.') def mp_puppet_config((config_volume, puppet_tags, manifest, config_image, volumes)): - + log = get_logger() + log.info('Started processing puppet configs') log.debug('config_volume %s' % config_volume) log.debug('puppet_tags %s' % puppet_tags) log.debug('manifest %s' % manifest) @@ -201,7 +210,8 @@ def mp_puppet_config((config_volume, puppet_tags, manifest, config_image, volume touch /tmp/the_origin_of_time sync - FACTER_hostname=$HOSTNAME FACTER_uuid=docker /usr/bin/puppet apply --verbose $TAGS /etc/config.pp + FACTER_hostname=$HOSTNAME FACTER_uuid=docker /usr/bin/puppet apply \ + --color=false --logdest syslog $TAGS /etc/config.pp # Disables archiving if [ -z "$NO_ARCHIVE" ]; then @@ -248,6 +258,8 @@ def mp_puppet_config((config_volume, puppet_tags, manifest, config_image, volume '--volume', '/usr/share/openstack-puppet/modules/:/usr/share/openstack-puppet/modules/:ro', '--volume', '/var/lib/config-data/:/var/lib/config-data/:rw', '--volume', 'tripleo_logs:/var/log/tripleo/', + # Syslog socket for puppet logs + '--volume', '/dev/log:/dev/log', # OpenSSL trusted CA injection '--volume', '/etc/pki/ca-trust/extracted:/etc/pki/ca-trust/extracted:ro', '--volume', '/etc/pki/tls/certs/ca-bundle.crt:/etc/pki/tls/certs/ca-bundle.crt:ro', @@ -291,6 +303,8 @@ def mp_puppet_config((config_volume, puppet_tags, manifest, config_image, volume log.debug(cmd_stderr) # only delete successful runs, for debugging rm_container('docker-puppet-%s' % config_volume) + + log.info('Finished processing puppet configs') return subproc.returncode # Holds all the information for each process to consume. diff --git a/docker/docker-steps.j2 b/docker/docker-steps.j2 index 73a3cb78..68ab02fe 100644 --- a/docker/docker-steps.j2 +++ b/docker/docker-steps.j2 @@ -49,13 +49,13 @@ conditions: {% for step in range(1, deploy_steps_max) %} WorkflowTasks_Step{{step}}_Enabled: or: - {% for role in roles %} + {%- for role in roles %} - not: equals: - get_param: [role_data, {{role.name}}, service_workflow_tasks, step{{step}}] - '' - False - {% endfor %} + {%- endfor %} {% endfor %} resources: @@ -97,16 +97,16 @@ resources: type: OS::Mistral::Workflow condition: WorkflowTasks_Step{{step}}_Enabled depends_on: - {% if step == 1 %} - {% for dep in roles %} + {%- if step == 1 %} + {%- for dep in roles %} - {{dep.name}}PreConfig - {{dep.name}}ArtifactsDeploy - {% endfor %} - {% else %} - {% for dep in roles %} + {%- endfor %} + {%- else %} + {%- for dep in roles %} - {{dep.name}}Deployment_Step{{step -1}} - {% endfor %} - {% endif %} + {%- endfor %} + {%- endif %} properties: name: {list_join: [".", ["tripleo", {get_param: stack_name}, "workflowtasks", "step{{step}}"]]} type: direct @@ -114,9 +114,9 @@ resources: yaql: expression: $.data.where($ != '').select($.get('step{{step}}')).where($ != null).flatten() data: - {% for role in roles %} + {%- for role in roles %} - get_param: [role_data, {{role.name}}, service_workflow_tasks] - {% endfor %} + {%- endfor %} WorkflowTasks_Step{{step}}_Execution: type: OS::Mistral::ExternalResource @@ -129,11 +129,21 @@ resources: params: env: service_ips: { get_param: ctlplane_service_ips } + role_merged_configs: + {%- for r in roles %} + {{r.name}}: {get_param: [role_data, {{r.name}}, merged_config_settings]} + {%- endfor %} + evaluate_env: false UPDATE: workflow: { get_resource: WorkflowTasks_Step{{step}} } params: env: service_ips: { get_param: ctlplane_service_ips } + role_merged_configs: + {%- for r in roles %} + {{r.name}}: {get_param: [role_data, {{r.name}}, merged_config_settings]} + {%- endfor %} + evaluate_env: false always_update: true # END service_workflow_tasks handling {% endfor %} @@ -168,10 +178,10 @@ resources: puppet_config: {get_param: [role_data, {{role.name}}, puppet_config]} docker_puppet_script: {get_file: docker-puppet.py} docker_puppet_tasks: {get_attr: [{{primary_role_name}}DockerPuppetTasks, value]} - docker_startup_configs: {get_attr: [{{role.name}}DockerConfig, value]} + docker_startup_configs: {get_param: [role_data, {{role.name}}, docker_config]} kolla_config: {get_param: [role_data, {{role.name}}, kolla_config]} bootstrap_server_id: {get_param: [servers, {{primary_role_name}}, '0']} - puppet_step_config: {get_attr: [{{role.name}}PuppetStepConfig, value]} + puppet_step_config: {get_param: [role_data, {{role.name}}, step_config]} tasks: # Join host_prep_tasks with the other per-host configuration yaql: @@ -224,33 +234,6 @@ resources: servers: {get_param: [servers, {{role.name}}]} config: {get_resource: {{role.name}}HostPrepConfig} - {{role.name}}PuppetStepConfig: - type: OS::Heat::Value - properties: - type: string - value: - yaql: - expression: - # select 'step_config' only from services that do not have a docker_config - $.data.service_names.zip($.data.step_config, $.data.docker_config).where($[2] = null).where($[1] != null).select($[1]).join("\n") - data: - service_names: {get_param: [role_data, {{role.name}}, service_names]} - step_config: {get_param: [role_data, {{role.name}}, step_config]} - docker_config: {get_param: [role_data, {{role.name}}, docker_config]} - - {{role.name}}DockerConfig: - type: OS::Heat::Value - properties: - type: json - value: - yaql: - expression: - # select 'docker_config' only from services that have it - $.data.service_names.zip($.data.docker_config).where($[1] != null).select($[1]).reduce($1.mergeWith($2), {}) - data: - service_names: {get_param: [role_data, {{role.name}}, service_names]} - docker_config: {get_param: [role_data, {{role.name}}, docker_config]} - # BEGIN CONFIG STEPS {{role.name}}PreConfig: @@ -262,7 +245,6 @@ resources: update_identifier: {get_param: DeployIdentifier} {% for step in range(1, deploy_steps_max) %} - {{role.name}}Deployment_Step{{step}}: type: OS::Heat::StructuredDeploymentGroup depends_on: @@ -272,16 +254,16 @@ resources: # WorkflowTasks_StepX resource and can be remove # if https://bugs.launchpad.net/heat/+bug/1700569 # is fixed. - {% if step == 1 %} - {% for dep in roles %} + {%- if step == 1 %} + {%- for dep in roles %} - {{dep.name}}PreConfig - {{dep.name}}ArtifactsDeploy - {% endfor %} - {% else %} - {% for dep in roles %} + {%- endfor %} + {%- else %} + {%- for dep in roles %} - {{dep.name}}Deployment_Step{{step -1}} - {% endfor %} - {% endif %} + {%- endfor %} + {%- endif %} properties: name: {{role.name}}Deployment_Step{{step}} servers: {get_param: [servers, {{role.name}}]} @@ -292,7 +274,6 @@ resources: update_identifier: {get_param: DeployIdentifier} bootstrap_server_id: {get_param: [servers, {{primary_role_name}}, '0']} docker_puppet_debug: {get_param: DockerPuppetDebug} - {% endfor %} # END CONFIG STEPS @@ -301,9 +282,9 @@ resources: # after all the previous deployment steps. {{role.name}}ExtraConfigPost: depends_on: - {% for dep in roles %} + {%- for dep in roles %} - {{dep.name}}Deployment_Step5 - {% endfor %} + {%- endfor %} type: OS::TripleO::NodeExtraConfigPost properties: servers: {get_param: [servers, {{role.name}}]} @@ -314,9 +295,9 @@ resources: {{role.name}}PostConfig: type: OS::TripleO::Tasks::{{role.name}}PostConfig depends_on: - {% for dep in roles %} + {%- for dep in roles %} - {{dep.name}}ExtraConfigPost - {% endfor %} + {%- endfor %} properties: servers: {get_param: servers} input_values: diff --git a/docker/firstboot/setup_docker_host.yaml b/docker/firstboot/setup_docker_host.yaml index 41b036da..ddfa8802 100644 --- a/docker/firstboot/setup_docker_host.yaml +++ b/docker/firstboot/setup_docker_host.yaml @@ -1,14 +1,5 @@ heat_template_version: pike -parameters: - DockerNamespace: - type: string - default: tripleoupstream - description: namespace - DockerNamespaceIsRegistry: - type: boolean - default: false - resources: userdata: @@ -21,12 +12,7 @@ resources: type: OS::Heat::SoftwareConfig properties: group: script - config: - str_replace: - params: - $docker_registry: {get_param: DockerNamespace} - $docker_namespace_is_registry: {get_param: DockerNamespaceIsRegistry} - template: {get_file: ./setup_docker_host.sh} + config: {get_file: ./setup_docker_host.sh} outputs: OS::stack_id: diff --git a/docker/services/aodh-api.yaml b/docker/services/aodh-api.yaml index fc1c3168..70b43eb1 100644 --- a/docker/services/aodh-api.yaml +++ b/docker/services/aodh-api.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized aodh service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerAodhApiImage: description: image - default: 'centos-binary-aodh-api:latest' type: string DockerAodhConfigImage: description: The container image to use for the aodh config_volume - default: 'centos-binary-aodh-api:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -77,10 +75,7 @@ outputs: config_volume: aodh puppet_tags: aodh_api_paste_ini,aodh_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerAodhConfigImage} ] + config_image: {get_param: DockerAodhConfigImage} kolla_config: /var/lib/kolla/config_files/aodh_api.json: command: /usr/sbin/httpd -DFOREGROUND @@ -97,10 +92,7 @@ outputs: # db sync runs before permissions set by kolla_config step_2: aodh_init_log: - image: &aodh_api_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerAodhApiImage} ] + image: &aodh_api_image {get_param: DockerAodhApiImage} user: root volumes: - /var/log/containers/aodh:/var/log/aodh diff --git a/docker/services/aodh-evaluator.yaml b/docker/services/aodh-evaluator.yaml index 2398baab..f75c57b3 100644 --- a/docker/services/aodh-evaluator.yaml +++ b/docker/services/aodh-evaluator.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Aodh Evaluator service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerAodhEvaluatorImage: description: image - default: 'centos-binary-aodh-evaluator:latest' type: string DockerAodhConfigImage: description: The container image to use for the aodh config_volume - default: 'centos-binary-aodh-api:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -48,6 +46,7 @@ resources: type: ../../puppet/services/aodh-evaluator.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -69,10 +68,7 @@ outputs: config_volume: aodh puppet_tags: aodh_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerAodhConfigImage} ] + config_image: {get_param: DockerAodhConfigImage} kolla_config: /var/lib/kolla/config_files/aodh_evaluator.json: command: /usr/bin/aodh-evaluator @@ -88,10 +84,7 @@ outputs: docker_config: step_4: aodh_evaluator: - image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerAodhEvaluatorImage} ] + image: {get_param: DockerAodhEvaluatorImage} net: host privileged: false restart: always diff --git a/docker/services/aodh-listener.yaml b/docker/services/aodh-listener.yaml index 9e89385d..9db2ffbe 100644 --- a/docker/services/aodh-listener.yaml +++ b/docker/services/aodh-listener.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Aodh Listener service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerAodhListenerImage: description: image - default: 'centos-binary-aodh-listener:latest' type: string DockerAodhConfigImage: description: The container image to use for the aodh config_volume - default: 'centos-binary-aodh-api:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -48,6 +46,7 @@ resources: type: ../../puppet/services/aodh-listener.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -69,10 +68,7 @@ outputs: config_volume: aodh puppet_tags: aodh_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerAodhConfigImage} ] + config_image: {get_param: DockerAodhConfigImage} kolla_config: /var/lib/kolla/config_files/aodh_listener.json: command: /usr/bin/aodh-listener @@ -88,10 +84,7 @@ outputs: docker_config: step_4: aodh_listener: - image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerAodhListenerImage} ] + image: {get_param: DockerAodhListenerImage} net: host privileged: false restart: always diff --git a/docker/services/aodh-notifier.yaml b/docker/services/aodh-notifier.yaml index 0fc65fff..c16c0161 100644 --- a/docker/services/aodh-notifier.yaml +++ b/docker/services/aodh-notifier.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Aodh Notifier service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerAodhNotifierImage: description: image - default: 'centos-binary-aodh-notifier:latest' type: string DockerAodhConfigImage: description: The container image to use for the aodh config_volume - default: 'centos-binary-aodh-api:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -48,6 +46,7 @@ resources: type: ../../puppet/services/aodh-notifier.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -69,10 +68,7 @@ outputs: config_volume: aodh puppet_tags: aodh_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerAodhConfigImage} ] + config_image: {get_param: DockerAodhConfigImage} kolla_config: /var/lib/kolla/config_files/aodh_notifier.json: command: /usr/bin/aodh-notifier @@ -88,10 +84,7 @@ outputs: docker_config: step_4: aodh_notifier: - image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerAodhNotifierImage} ] + image: {get_param: DockerAodhNotifierImage} net: host privileged: false restart: always diff --git a/docker/services/ceilometer-agent-central.yaml b/docker/services/ceilometer-agent-central.yaml index cef7b88d..6caffd15 100644 --- a/docker/services/ceilometer-agent-central.yaml +++ b/docker/services/ceilometer-agent-central.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Ceilometer Agent Central service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerCeilometerCentralImage: description: image - default: 'centos-binary-ceilometer-central:latest' type: string DockerCeilometerConfigImage: description: The container image to use for the ceilometer config_volume - default: 'centos-binary-ceilometer-central:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -48,6 +46,7 @@ resources: type: ../../puppet/services/ceilometer-agent-central.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -67,10 +66,7 @@ outputs: config_volume: ceilometer puppet_tags: ceilometer_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerCeilometerConfigImage} ] + config_image: {get_param: DockerCeilometerConfigImage} kolla_config: /var/lib/kolla/config_files/ceilometer_agent_central.json: command: /usr/bin/ceilometer-polling --polling-namespaces central @@ -83,10 +79,7 @@ outputs: step_3: ceilometer_init_log: start_order: 0 - image: &ceilometer_agent_central_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerCeilometerCentralImage} ] + image: &ceilometer_agent_central_image {get_param: DockerCeilometerCentralImage} user: root command: ['/bin/bash', '-c', 'chown -R ceilometer:ceilometer /var/log/ceilometer'] volumes: @@ -112,13 +105,17 @@ outputs: net: host detach: false privileged: false + user: root volumes: list_concat: - {get_attr: [ContainersCommon, volumes]} - - /var/lib/config-data/ceilometer/etc/ceilometer/:/etc/ceilometer/:ro - /var/log/containers/ceilometer:/var/log/ceilometer - command: ["/usr/bin/ceilometer-upgrade", "--skip-metering-database"] + command: + - '/usr/bin/bootstrap_host_exec' + - 'ceilometer_agent_central' + - "su ceilometer -s /bin/bash -c '/usr/bin/ceilometer-upgrade --skip-metering-database'" upgrade_tasks: - name: Stop and disable ceilometer agent central service tags: step2 diff --git a/docker/services/ceilometer-agent-compute.yaml b/docker/services/ceilometer-agent-compute.yaml index ecb8e899..09677c64 100644 --- a/docker/services/ceilometer-agent-compute.yaml +++ b/docker/services/ceilometer-agent-compute.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Ceilometer Agent Compute service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerCeilometerComputeImage: description: image - default: 'centos-binary-ceilometer-compute:latest' type: string DockerCeilometerConfigImage: description: The container image to use for the ceilometer config_volume - default: 'centos-binary-ceilometer-central:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -48,6 +46,7 @@ resources: type: ../../puppet/services/ceilometer-agent-compute.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -67,10 +66,7 @@ outputs: config_volume: ceilometer puppet_tags: ceilometer_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerCeilometerConfigImage} ] + config_image: {get_param: DockerCeilometerConfigImage} kolla_config: /var/lib/kolla/config_files/ceilometer_agent_compute.json: command: /usr/bin/ceilometer-polling --polling-namespaces compute @@ -82,10 +78,7 @@ outputs: docker_config: step_4: ceilometer_agent_compute: - image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerCeilometerComputeImage} ] + image: {get_param: DockerCeilometerComputeImage} net: host privileged: false restart: always diff --git a/docker/services/ceilometer-agent-ipmi.yaml b/docker/services/ceilometer-agent-ipmi.yaml index 4bf75153..82d55be2 100644 --- a/docker/services/ceilometer-agent-ipmi.yaml +++ b/docker/services/ceilometer-agent-ipmi.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Ceilometer Agent Ipmi service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerCeilometerIpmiImage: description: image - default: 'centos-binary-ceilometer-ipmi:latest' type: string DockerCeilometerConfigImage: description: The container image to use for the ceilometer config_volume - default: 'centos-binary-ceilometer-central:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -48,6 +46,7 @@ resources: type: ../../puppet/services/ceilometer-agent-ipmi.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -67,10 +66,7 @@ outputs: config_volume: ceilometer puppet_tags: ceilometer_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerCeilometerConfigImage} ] + config_image: {get_param: DockerCeilometerConfigImage} kolla_config: /var/lib/kolla/config_files/ceilometer-agent-ipmi.json: command: /usr/bin/ceilometer-polling --polling-namespaces ipmi @@ -83,10 +79,7 @@ outputs: step_3: ceilometer_init_log: start_order: 0 - image: &ceilometer_agent_ipmi_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerCeilometerIpmiImage} ] + image: &ceilometer_agent_ipmi_image {get_param: DockerCeilometerIpmiImage} user: root command: ['/bin/bash', '-c', 'chown -R ceilometer:ceilometer /var/log/ceilometer'] volumes: diff --git a/docker/services/ceilometer-agent-notification.yaml b/docker/services/ceilometer-agent-notification.yaml index a1579cc5..7f1d442a 100644 --- a/docker/services/ceilometer-agent-notification.yaml +++ b/docker/services/ceilometer-agent-notification.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Ceilometer Agent Notification service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerCeilometerNotificationImage: description: image - default: 'centos-binary-ceilometer-notification:latest' type: string DockerCeilometerConfigImage: description: The container image to use for the ceilometer config_volume - default: 'centos-binary-ceilometer-central:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -48,6 +46,7 @@ resources: type: ../../puppet/services/ceilometer-agent-notification.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -67,10 +66,7 @@ outputs: config_volume: ceilometer puppet_tags: ceilometer_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerCeilometerConfigImage} ] + config_image: {get_param: DockerCeilometerConfigImage} kolla_config: /var/lib/kolla/config_files/ceilometer_agent_notification.json: command: /usr/bin/ceilometer-agent-notification @@ -83,10 +79,7 @@ outputs: step_3: ceilometer_init_log: start_order: 0 - image: &ceilometer_agent_notification_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerCeilometerNotificationImage} ] + image: &ceilometer_agent_notification_image {get_param: DockerCeilometerNotificationImage} user: root command: ['/bin/bash', '-c', 'chown -R ceilometer:ceilometer /var/log/ceilometer'] volumes: diff --git a/docker/services/cinder-api.yaml b/docker/services/cinder-api.yaml index 07315e7e..0cd1dd7b 100644 --- a/docker/services/cinder-api.yaml +++ b/docker/services/cinder-api.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Cinder API service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerCinderApiImage: description: image - default: 'centos-binary-cinder-api:latest' type: string DockerCinderConfigImage: description: The container image to use for the cinder config_volume - default: 'centos-binary-cinder-api:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -55,6 +53,7 @@ resources: type: ../../puppet/services/cinder-api.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -74,10 +73,7 @@ outputs: config_volume: cinder puppet_tags: cinder_config,file,concat,file_line step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerCinderConfigImage} ] + config_image: {get_param: DockerCinderConfigImage} kolla_config: /var/lib/kolla/config_files/cinder_api.json: command: /usr/sbin/httpd -DFOREGROUND @@ -93,10 +89,7 @@ outputs: docker_config: step_2: cinder_api_init_logs: - image: &cinder_api_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerCinderApiImage} ] + image: &cinder_api_image {get_param: DockerCinderApiImage} privileged: false user: root volumes: diff --git a/docker/services/cinder-backup.yaml b/docker/services/cinder-backup.yaml index 8de1201f..46dbea1d 100644 --- a/docker/services/cinder-backup.yaml +++ b/docker/services/cinder-backup.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Cinder Backup service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerCinderBackupImage: description: image - default: 'centos-binary-cinder-backup:latest' type: string DockerCinderConfigImage: description: The container image to use for the cinder config_volume - default: 'centos-binary-cinder-api:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -49,6 +47,7 @@ resources: type: ../../puppet/services/cinder-backup.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -68,10 +67,7 @@ outputs: config_volume: cinder puppet_tags: cinder_config,file,concat,file_line step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerCinderConfigImage} ] + config_image: {get_param: DockerCinderConfigImage} kolla_config: /var/lib/kolla/config_files/cinder_backup.json: command: /usr/bin/cinder-backup --config-file /usr/share/cinder/cinder-dist.conf --config-file /etc/cinder/cinder.conf @@ -99,10 +95,7 @@ outputs: step_3: cinder_backup_init_logs: start_order: 0 - image: &cinder_backup_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerCinderBackupImage} ] + image: &cinder_backup_image {get_param: DockerCinderBackupImage} privileged: false user: root volumes: diff --git a/docker/services/cinder-scheduler.yaml b/docker/services/cinder-scheduler.yaml index 82813856..1bae005c 100644 --- a/docker/services/cinder-scheduler.yaml +++ b/docker/services/cinder-scheduler.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Cinder Scheduler service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerCinderSchedulerImage: description: image - default: 'centos-binary-cinder-scheduler:latest' type: string DockerCinderConfigImage: description: The container image to use for the cinder config_volume - default: 'centos-binary-cinder-api:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -49,6 +47,7 @@ resources: type: ../../puppet/services/cinder-scheduler.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -68,10 +67,7 @@ outputs: config_volume: cinder puppet_tags: cinder_config,file,concat,file_line step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerCinderConfigImage} ] + config_image: {get_param: DockerCinderConfigImage} kolla_config: /var/lib/kolla/config_files/cinder_scheduler.json: command: /usr/bin/cinder-scheduler --config-file /usr/share/cinder/cinder-dist.conf --config-file /etc/cinder/cinder.conf @@ -87,10 +83,7 @@ outputs: docker_config: step_2: cinder_scheduler_init_logs: - image: &cinder_scheduler_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerCinderSchedulerImage} ] + image: &cinder_scheduler_image {get_param: DockerCinderSchedulerImage} privileged: false user: root volumes: diff --git a/docker/services/cinder-volume.yaml b/docker/services/cinder-volume.yaml index 0ce098a3..2ecc7adc 100644 --- a/docker/services/cinder-volume.yaml +++ b/docker/services/cinder-volume.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Cinder Volume service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerCinderVolumeImage: description: image - default: 'centos-binary-cinder-volume:latest' type: string DockerCinderConfigImage: description: The container image to use for the cinder config_volume - default: 'centos-binary-cinder-api:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -57,6 +55,7 @@ resources: type: ../../puppet/services/cinder-volume.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -67,19 +66,22 @@ outputs: description: Role data for the Cinder Volume role. value: service_name: {get_attr: [CinderBase, role_data, service_name]} - config_settings: {get_attr: [CinderBase, role_data, config_settings]} + config_settings: + map_merge: + - get_attr: [CinderBase, role_data, config_settings] + - tripleo::profile::base::lvm::enable_udev: false step_config: &step_config - get_attr: [CinderBase, role_data, step_config] + list_join: + - "\n" + - - "include ::tripleo::profile::base::lvm" + - get_attr: [CinderBase, role_data, step_config] service_config_settings: {get_attr: [CinderBase, role_data, service_config_settings]} # BEGIN DOCKER SETTINGS puppet_config: config_volume: cinder puppet_tags: cinder_config,file,concat,file_line step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerCinderConfigImage} ] + config_image: {get_param: DockerCinderConfigImage} kolla_config: /var/lib/kolla/config_files/cinder_volume.json: command: /usr/bin/cinder-volume --config-file /usr/share/cinder/cinder-dist.conf --config-file /etc/cinder/cinder.conf @@ -104,10 +106,7 @@ outputs: step_3: cinder_volume_init_logs: start_order: 0 - image: &cinder_volume_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerCinderVolumeImage} ] + image: &cinder_volume_image {get_param: DockerCinderVolumeImage} privileged: false user: root volumes: @@ -127,6 +126,7 @@ outputs: - /var/lib/config-data/puppet-generated/cinder/:/var/lib/kolla/config_files/src:ro # FIXME: we need to generate a ceph.conf with puppet for this - /var/lib/config-data/puppet-generated/ceph/:/var/lib/kolla/config_files/src-ceph:ro + - /lib/modules:/lib/modules:ro - /dev/:/dev/ - /run/:/run/ - /sys:/sys diff --git a/docker/services/collectd.yaml b/docker/services/collectd.yaml index 0593e412..2989729c 100644 --- a/docker/services/collectd.yaml +++ b/docker/services/collectd.yaml @@ -4,23 +4,21 @@ description: > Containerized collectd service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerCollectdImage: description: image - default: 'centos-binary-collectd:latest' type: string DockerCollectdConfigImage: description: The container image to use for the collectd config_volume - default: 'centos-binary-collectd:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -49,6 +47,7 @@ resources: type: ../../puppet/services/metrics/collectd.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -72,10 +71,7 @@ outputs: config_volume: collectd puppet_tags: collectd_client_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerCollectdConfigImage} ] + config_image: {get_param: DockerCollectdConfigImage} kolla_config: /var/lib/kolla/config_files/collectd.json: command: /usr/sbin/collectd -f @@ -91,10 +87,7 @@ outputs: docker_config: step_3: collectd: - image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerCollectdImage} ] + image: {get_param: DockerCollectdImage} net: host privileged: true restart: always diff --git a/docker/services/congress.yaml b/docker/services/congress.yaml index 1d3ea0d8..e49682f9 100644 --- a/docker/services/congress.yaml +++ b/docker/services/congress.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Congress API service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerCongressApiImage: description: image - default: 'centos-binary-congress-api:latest' type: string DockerCongressConfigImage: description: The container image to use for the congress config_volume - default: 'centos-binary-congress-api:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -48,6 +46,7 @@ resources: type: ../../puppet/services/congress.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -69,10 +68,7 @@ outputs: config_volume: congress puppet_tags: congress_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerCongressConfigImage} ] + config_image: {get_param: DockerCongressConfigImage} kolla_config: /var/lib/kolla/config_files/congress_api.json: command: /usr/bin/congress-server --config-file=/etc/congress/congress.conf --log-file=/var/log/congress/api.log @@ -89,10 +85,7 @@ outputs: # db sync runs before permissions set by kolla_config step_2: congress_init_logs: - image: &congress_api_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerCongressApiImage} ] + image: &congress_api_image {get_param: DockerCongressApiImage} privileged: false user: root volumes: diff --git a/docker/services/containers-common.yaml b/docker/services/containers-common.yaml index d104853f..71ea8d1f 100644 --- a/docker/services/containers-common.yaml +++ b/docker/services/containers-common.yaml @@ -11,6 +11,10 @@ parameters: description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/docker/services/database/mongodb.yaml b/docker/services/database/mongodb.yaml index b5e7deab..5ba79b31 100644 --- a/docker/services/database/mongodb.yaml +++ b/docker/services/database/mongodb.yaml @@ -4,23 +4,21 @@ description: > MongoDB service deployment using puppet and docker parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerMongodbImage: description: image - default: 'centos-binary-mongodb:latest' type: string DockerMongodbConfigImage: description: The container image to use for the mongodb config_volume - default: 'centos-binary-mongodb:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -45,6 +43,7 @@ resources: type: ../../../puppet/services/database/mongodb.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -69,10 +68,7 @@ outputs: config_volume: mongodb puppet_tags: file # set this even though file is the default step_config: *step_config - config_image: &mongodb_config_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerMongodbConfigImage} ] + config_image: &mongodb_config_image {get_param: DockerMongodbConfigImage} kolla_config: /var/lib/kolla/config_files/mongodb.json: command: /usr/bin/mongod --unixSocketPrefix=/var/run/mongodb --config /etc/mongod.conf run @@ -91,10 +87,7 @@ outputs: docker_config: step_2: mongodb: - image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerMongodbImage} ] + image: {get_param: DockerMongodbImage} net: host privileged: false volumes: &mongodb_volumes diff --git a/docker/services/database/mysql-client.yaml b/docker/services/database/mysql-client.yaml index 38a31e24..d45d58e1 100644 --- a/docker/services/database/mysql-client.yaml +++ b/docker/services/database/mysql-client.yaml @@ -4,14 +4,13 @@ description: > Configuration for containerized MySQL clients parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerMysqlClientConfigImage: description: The container image to use for the mysql_client config_volume - default: 'centos-binary-mariadb:latest' type: string + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -58,9 +57,6 @@ outputs: config_volume: mysql_client puppet_tags: file # set this even though file is the default step_config: "include ::tripleo::profile::base::database::mysql::client" - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerMysqlClientConfigImage} ] + config_image: {get_param: DockerMysqlClientConfigImage} # no need for a docker config, this service only generates configuration files docker_config: {} diff --git a/docker/services/database/mysql.yaml b/docker/services/database/mysql.yaml index 61565357..54331415 100644 --- a/docker/services/database/mysql.yaml +++ b/docker/services/database/mysql.yaml @@ -4,23 +4,21 @@ description: > MySQL service deployment using puppet parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerMysqlImage: description: image - default: 'centos-binary-mariadb:latest' type: string DockerMysqlConfigImage: description: The container image to use for the mysql config_volume - default: 'centos-binary-mariadb:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -49,6 +47,7 @@ resources: type: ../../../puppet/services/database/mysql.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -78,10 +77,7 @@ outputs: config_volume: mysql puppet_tags: file # set this even though file is the default step_config: *step_config - config_image: &mysql_config_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerMysqlConfigImage} ] + config_image: &mysql_config_image {get_param: DockerMysqlConfigImage} kolla_config: /var/lib/kolla/config_files/mysql.json: command: /usr/bin/mysqld_safe @@ -98,10 +94,7 @@ outputs: # Kolla_bootstrap runs before permissions set by kolla_config step_1: mysql_init_logs: - image: &mysql_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerMysqlImage} ] + image: &mysql_image {get_param: DockerMysqlImage} privileged: false user: root volumes: diff --git a/docker/services/database/redis.yaml b/docker/services/database/redis.yaml index 494fe61b..980a8c6d 100644 --- a/docker/services/database/redis.yaml +++ b/docker/services/database/redis.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Redis services parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerRedisImage: description: image - default: 'centos-binary-redis:latest' type: string DockerRedisConfigImage: description: The container image to use for the redis config_volume - default: 'centos-binary-redis:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -45,6 +43,7 @@ resources: type: ../../../puppet/services/database/redis.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} @@ -68,10 +67,7 @@ outputs: # https://github.com/arioch/puppet-redis/commit/1c004143223e660cbd433422ff8194508aab9763 puppet_tags: 'exec' step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerRedisConfigImage} ] + config_image: {get_param: DockerRedisConfigImage} kolla_config: /var/lib/kolla/config_files/redis.json: command: /usr/bin/redis-server /etc/redis.conf @@ -89,10 +85,7 @@ outputs: redis_init_logs: start_order: 0 detach: false - image: &redis_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerRedisImage} ] + image: &redis_image {get_param: DockerRedisImage} privileged: false user: root volumes: diff --git a/docker/services/ec2-api.yaml b/docker/services/ec2-api.yaml index e02a1469..9f1ecbc1 100644 --- a/docker/services/ec2-api.yaml +++ b/docker/services/ec2-api.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized EC2 API service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerEc2ApiImage: description: image - default: 'centos-binary-ec2-api:latest' type: string DockerEc2ApiConfigImage: description: The container image to use for the ec2_api config_volume - default: 'centos-binary-ec2-api:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -67,10 +65,7 @@ outputs: config_volume: ec2_api puppet_tags: ec2api_api_paste_ini,ec2api_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerEc2ApiConfigImage} ] + config_image: {get_param: DockerEc2ApiConfigImage} kolla_config: /var/lib/kolla/config_files/ec2_api.json: command: /usr/bin/ec2-api @@ -98,10 +93,7 @@ outputs: # db sync runs before permissions set by kolla_config step_2: ec2_api_init_logs: - image: &ec2_api_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerEc2ApiImage} ] + image: &ec2_api_image {get_param: DockerEc2ApiImage} privileged: false user: root volumes: diff --git a/docker/services/etcd.yaml b/docker/services/etcd.yaml index eb661af8..42c9f2d3 100644 --- a/docker/services/etcd.yaml +++ b/docker/services/etcd.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized etcd services parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerEtcdImage: description: image - default: 'centos-binary-etcd:latest' type: string DockerEtcdConfigImage: description: The container image to use for the etcd config_volume - default: 'centos-binary-etcd:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -49,6 +47,7 @@ resources: type: ../../puppet/services/etcd.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EtcdInitialClusterToken: {get_param: EtcdInitialClusterToken} @@ -71,10 +70,7 @@ outputs: puppet_config: config_volume: etcd step_config: *step_config - config_image: &etcd_config_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerEtcdConfigImage} ] + config_image: &etcd_config_image {get_param: DockerEtcdConfigImage} kolla_config: /var/lib/kolla/config_files/etcd.json: command: /usr/bin/etcd --config-file /etc/etcd/etcd.yml @@ -90,10 +86,7 @@ outputs: docker_config: step_2: etcd: - image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerEtcdImage} ] + image: {get_param: DockerEtcdImage} net: host privileged: false restart: always diff --git a/docker/services/glance-api.yaml b/docker/services/glance-api.yaml index 17d91107..d88c64b5 100644 --- a/docker/services/glance-api.yaml +++ b/docker/services/glance-api.yaml @@ -4,23 +4,21 @@ description: > OpenStack Glance service configured with Puppet parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerGlanceApiImage: description: image - default: 'centos-binary-glance-api:latest' type: string DockerGlanceApiConfigImage: description: The container image to use for the glance_api config_volume - default: 'centos-binary-glance-api:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -56,6 +54,7 @@ resources: type: ../../puppet/services/glance-api.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -78,10 +77,7 @@ outputs: config_volume: glance_api puppet_tags: glance_api_config,glance_api_paste_ini,glance_swift_config,glance_cache_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerGlanceApiConfigImage} ] + config_image: {get_param: DockerGlanceApiConfigImage} kolla_config: /var/lib/kolla/config_files/glance_api.json: command: /usr/bin/glance-api --config-file /usr/share/glance/glance-api-dist.conf --config-file /etc/glance/glance-api.conf @@ -101,10 +97,7 @@ outputs: # Kolla_bootstrap/db_sync runs before permissions set by kolla_config step_2: glance_init_logs: - image: &glance_api_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerGlanceApiImage} ] + image: &glance_api_image {get_param: DockerGlanceApiImage} privileged: false user: root volumes: diff --git a/docker/services/gnocchi-api.yaml b/docker/services/gnocchi-api.yaml index 140e93df..5129b89f 100644 --- a/docker/services/gnocchi-api.yaml +++ b/docker/services/gnocchi-api.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized gnocchi service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerGnocchiApiImage: description: image - default: 'centos-binary-gnocchi-api:latest' type: string DockerGnocchiConfigImage: description: The container image to use for the gnocchi config_volume - default: 'centos-binary-gnocchi-api:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -77,10 +75,7 @@ outputs: config_volume: gnocchi puppet_tags: gnocchi_api_paste_ini,gnocchi_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerGnocchiConfigImage} ] + config_image: {get_param: DockerGnocchiConfigImage} kolla_config: /var/lib/kolla/config_files/gnocchi_api.json: command: /usr/sbin/httpd -DFOREGROUND @@ -97,10 +92,7 @@ outputs: # db sync runs before permissions set by kolla_config step_2: gnocchi_init_log: - image: &gnocchi_api_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerGnocchiApiImage} ] + image: &gnocchi_api_image {get_param: DockerGnocchiApiImage} user: root volumes: - /var/log/containers/gnocchi:/var/log/gnocchi diff --git a/docker/services/gnocchi-metricd.yaml b/docker/services/gnocchi-metricd.yaml index e7ebb3c1..1a0a1ddb 100644 --- a/docker/services/gnocchi-metricd.yaml +++ b/docker/services/gnocchi-metricd.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Gnocchi Metricd service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerGnocchiMetricdImage: description: image - default: 'centos-binary-gnocchi-metricd:latest' type: string DockerGnocchiConfigImage: description: The container image to use for the gnocchi config_volume - default: 'centos-binary-gnocchi-api:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -48,6 +46,7 @@ resources: type: ../../puppet/services/gnocchi-metricd.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -67,10 +66,7 @@ outputs: config_volume: gnocchi puppet_tags: gnocchi_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerGnocchiConfigImage} ] + config_image: {get_param: DockerGnocchiConfigImage} kolla_config: /var/lib/kolla/config_files/gnocchi_metricd.json: command: /usr/bin/gnocchi-metricd @@ -86,10 +82,7 @@ outputs: docker_config: step_4: gnocchi_metricd: - image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerGnocchiMetricdImage} ] + image: {get_param: DockerGnocchiMetricdImage} net: host privileged: false restart: always diff --git a/docker/services/gnocchi-statsd.yaml b/docker/services/gnocchi-statsd.yaml index e3461821..00d218d2 100644 --- a/docker/services/gnocchi-statsd.yaml +++ b/docker/services/gnocchi-statsd.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Gnocchi Statsd service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerGnocchiStatsdImage: description: image - default: 'centos-binary-gnocchi-statsd:latest' type: string DockerGnocchiConfigImage: description: The container image to use for the gnocchi config_volume - default: 'centos-binary-gnocchi-api:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -48,6 +46,7 @@ resources: type: ../../puppet/services/gnocchi-statsd.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -67,10 +66,7 @@ outputs: config_volume: gnocchi puppet_tags: gnocchi_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerGnocchiConfigImage} ] + config_image: {get_param: DockerGnocchiConfigImage} kolla_config: /var/lib/kolla/config_files/gnocchi_statsd.json: command: /usr/bin/gnocchi-statsd @@ -86,10 +82,7 @@ outputs: docker_config: step_4: gnocchi_statsd: - image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerGnocchiStatsdImage} ] + image: {get_param: DockerGnocchiStatsdImage} net: host privileged: false restart: always diff --git a/docker/services/haproxy.yaml b/docker/services/haproxy.yaml index c24e1071..21baf5c6 100644 --- a/docker/services/haproxy.yaml +++ b/docker/services/haproxy.yaml @@ -4,18 +4,16 @@ description: > OpenStack containerized HAproxy service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerHAProxyImage: description: image - default: 'centos-binary-haproxy:latest' type: string DockerHAProxyConfigImage: description: The container image to use for the haproxy config_volume - default: 'centos-binary-haproxy:latest' type: string + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -72,6 +70,7 @@ resources: type: ../../puppet/services/haproxy.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -94,10 +93,7 @@ outputs: config_volume: haproxy puppet_tags: haproxy_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerHAProxyConfigImage} ] + config_image: {get_param: DockerHAProxyConfigImage} volumes: &deployed_cert_mount - list_join: - ':' @@ -115,10 +111,7 @@ outputs: docker_config: step_1: haproxy: - image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerHAProxyImage} ] + image: {get_param: DockerHAProxyImage} net: host privileged: false restart: always diff --git a/docker/services/heat-api-cfn.yaml b/docker/services/heat-api-cfn.yaml index 8dee5103..aff0f1a1 100644 --- a/docker/services/heat-api-cfn.yaml +++ b/docker/services/heat-api-cfn.yaml @@ -4,24 +4,22 @@ description: > OpenStack containerized Heat API CFN service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerHeatApiCfnImage: description: image - default: 'centos-binary-heat-api-cfn:latest' type: string # puppet needs the heat-wsgi-api-cfn binary from centos-binary-heat-api-cfn DockerHeatApiCfnConfigImage: description: The container image to use for the heat_api_cfn config_volume - default: 'centos-binary-heat-api-cfn:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -56,6 +54,7 @@ resources: type: ../../puppet/services/heat-api-cfn.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -78,10 +77,7 @@ outputs: config_volume: heat_api_cfn puppet_tags: heat_config,file,concat,file_line step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerHeatApiCfnConfigImage} ] + config_image: {get_param: DockerHeatApiCfnConfigImage} kolla_config: /var/lib/kolla/config_files/heat_api_cfn.json: command: /usr/sbin/httpd -DFOREGROUND @@ -97,10 +93,7 @@ outputs: docker_config: step_4: heat_api_cfn: - image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerHeatApiCfnImage} ] + image: {get_param: DockerHeatApiCfnImage} net: host privileged: false restart: always diff --git a/docker/services/heat-api.yaml b/docker/services/heat-api.yaml index adaf9997..d09230fe 100644 --- a/docker/services/heat-api.yaml +++ b/docker/services/heat-api.yaml @@ -4,24 +4,22 @@ description: > OpenStack containerized Heat API service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerHeatApiImage: description: image - default: 'centos-binary-heat-api:latest' type: string # puppet needs the heat-wsgi-api binary from centos-binary-heat-api DockerHeatApiConfigImage: description: The container image to use for the heat_api config_volume - default: 'centos-binary-heat-api:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -56,6 +54,7 @@ resources: type: ../../puppet/services/heat-api.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -78,10 +77,7 @@ outputs: config_volume: heat_api puppet_tags: heat_config,file,concat,file_line step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerHeatApiConfigImage} ] + config_image: {get_param: DockerHeatApiConfigImage} kolla_config: /var/lib/kolla/config_files/heat_api.json: command: /usr/sbin/httpd -DFOREGROUND @@ -97,10 +93,7 @@ outputs: docker_config: step_4: heat_api: - image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerHeatApiImage} ] + image: {get_param: DockerHeatApiImage} net: host privileged: false restart: always diff --git a/docker/services/heat-engine.yaml b/docker/services/heat-engine.yaml index 14e9027b..789f3f9d 100644 --- a/docker/services/heat-engine.yaml +++ b/docker/services/heat-engine.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Heat Engine service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerHeatEngineImage: description: image - default: 'centos-binary-heat-engine:latest' type: string DockerHeatConfigImage: description: The container image to use for the heat config_volume - default: 'centos-binary-heat-api:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -49,6 +47,7 @@ resources: type: ../../puppet/services/heat-engine.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -71,10 +70,7 @@ outputs: config_volume: heat puppet_tags: heat_config,file,concat,file_line step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerHeatConfigImage} ] + config_image: {get_param: DockerHeatConfigImage} kolla_config: /var/lib/kolla/config_files/heat_engine.json: command: /usr/bin/heat-engine --config-file /usr/share/heat/heat-dist.conf --config-file /etc/heat/heat.conf @@ -91,10 +87,7 @@ outputs: # db sync runs before permissions set by kolla_config step_2: heat_init_log: - image: &heat_engine_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerHeatEngineImage} ] + image: &heat_engine_image {get_param: DockerHeatEngineImage} user: root volumes: - /var/log/containers/heat:/var/log/heat diff --git a/docker/services/horizon.yaml b/docker/services/horizon.yaml index c5123277..3d3bc7c3 100644 --- a/docker/services/horizon.yaml +++ b/docker/services/horizon.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Horizon service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerHorizonImage: description: image - default: 'centos-binary-horizon:latest' type: string DockerHorizonConfigImage: description: The container image to use for the horizon config_volume - default: 'centos-binary-horizon:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -48,6 +46,7 @@ resources: type: ../../puppet/services/horizon.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -74,10 +73,7 @@ outputs: config_volume: horizon puppet_tags: horizon_config step_config: {get_attr: [HorizonBase, role_data, step_config]} - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerHorizonConfigImage} ] + config_image: {get_param: DockerHorizonConfigImage} kolla_config: /var/lib/kolla/config_files/horizon.json: command: /usr/sbin/httpd -DFOREGROUND @@ -97,10 +93,7 @@ outputs: docker_config: step_2: horizon_fix_perms: - image: &horizon_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerHorizonImage} ] + image: &horizon_image {get_param: DockerHorizonImage} user: root # NOTE Set ownership for /var/log/horizon/horizon.log file here, # otherwise it's created by root when generating django cache. diff --git a/docker/services/ironic-api.yaml b/docker/services/ironic-api.yaml index d18221db..90978f3e 100644 --- a/docker/services/ironic-api.yaml +++ b/docker/services/ironic-api.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Ironic API service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerIronicApiImage: description: image - default: 'centos-binary-ironic-api:latest' type: string DockerIronicApiConfigImage: description: The container image to use for the ironic_api config_volume - default: 'centos-binary-ironic-api:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -48,6 +46,7 @@ resources: type: ../../puppet/services/ironic-api.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -70,10 +69,7 @@ outputs: config_volume: ironic_api puppet_tags: ironic_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerIronicApiConfigImage} ] + config_image: {get_param: DockerIronicApiConfigImage} kolla_config: /var/lib/kolla/config_files/ironic_api.json: command: /usr/sbin/httpd -DFOREGROUND @@ -90,10 +86,7 @@ outputs: # db sync runs before permissions set by kolla_config step_2: ironic_init_logs: - image: &ironic_api_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerIronicApiImage} ] + image: &ironic_api_image {get_param: DockerIronicApiImage} privileged: false user: root volumes: diff --git a/docker/services/ironic-conductor.yaml b/docker/services/ironic-conductor.yaml index bf239b66..6368bd23 100644 --- a/docker/services/ironic-conductor.yaml +++ b/docker/services/ironic-conductor.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Ironic Conductor service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerIronicConductorImage: description: image - default: 'centos-binary-ironic-conductor:latest' type: string DockerIronicConfigImage: description: The container image to use for the ironic config_volume - default: 'centos-binary-ironic-pxe:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -48,6 +46,7 @@ resources: type: ../../puppet/services/ironic-conductor.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -77,10 +76,7 @@ outputs: config_volume: ironic puppet_tags: ironic_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerIronicConfigImage} ] + config_image: {get_param: DockerIronicConfigImage} kolla_config: /var/lib/kolla/config_files/ironic_conductor.json: command: /usr/bin/ironic-conductor @@ -100,10 +96,7 @@ outputs: step_4: ironic_conductor: start_order: 80 - image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerIronicConductorImage} ] + image: {get_param: DockerIronicConductorImage} net: host privileged: true restart: always diff --git a/docker/services/ironic-pxe.yaml b/docker/services/ironic-pxe.yaml index a82a3af9..48d2e1ee 100644 --- a/docker/services/ironic-pxe.yaml +++ b/docker/services/ironic-pxe.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Ironic PXE service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerIronicPxeImage: description: image - default: 'centos-binary-ironic-pxe:latest' type: string DockerIronicConfigImage: description: The container image to use for the ironic config_volume - default: 'centos-binary-ironic-pxe:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -57,10 +55,7 @@ outputs: config_volume: ironic puppet_tags: ironic_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerIronicConfigImage} ] + config_image: {get_param: DockerIronicConfigImage} kolla_config: /var/lib/kolla/config_files/ironic_pxe_http.json: command: /usr/sbin/httpd -DFOREGROUND @@ -84,10 +79,7 @@ outputs: step_4: ironic_pxe_tftp: start_order: 90 - image: &ironic_pxe_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerIronicPxeImage} ] + image: &ironic_pxe_image {get_param: DockerIronicPxeImage} net: host privileged: false restart: always diff --git a/docker/services/iscsid.yaml b/docker/services/iscsid.yaml index c98a921d..b39b72e2 100644 --- a/docker/services/iscsid.yaml +++ b/docker/services/iscsid.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Iscsid service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerIscsidImage: description: image - default: 'centos-binary-iscsid:latest' type: string DockerIscsidConfigImage: description: The container image to use for the iscsid config_volume - default: 'centos-binary-iscsid:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -57,10 +55,7 @@ outputs: config_volume: iscsid #puppet_tags: file step_config: '' - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerIscsidConfigImage} ] + config_image: {get_param: DockerIscsidConfigImage} kolla_config: /var/lib/kolla/config_files/iscsid.json: command: /usr/sbin/iscsid -f @@ -68,10 +63,7 @@ outputs: step_3: iscsid: start_order: 2 - image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerIscsidImage} ] + image: {get_param: DockerIscsidImage} net: host privileged: true restart: always diff --git a/docker/services/keystone.yaml b/docker/services/keystone.yaml index a3f08617..da04682e 100644 --- a/docker/services/keystone.yaml +++ b/docker/services/keystone.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Keystone service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerKeystoneImage: description: image - default: 'centos-binary-keystone:latest' type: string DockerKeystoneConfigImage: description: The container image to use for the keystone config_volume - default: 'centos-binary-keystone:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -61,6 +59,7 @@ resources: type: ../../puppet/services/keystone.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -90,10 +89,7 @@ outputs: config_volume: keystone puppet_tags: keystone_config step_config: *step_config - config_image: &keystone_config_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerKeystoneConfigImage} ] + config_image: &keystone_config_image {get_param: DockerKeystoneConfigImage} kolla_config: /var/lib/kolla/config_files/keystone.json: command: /usr/sbin/httpd -DFOREGROUND @@ -106,10 +102,7 @@ outputs: # Kolla_bootstrap/db sync runs before permissions set by kolla_config step_2: keystone_init_log: - image: &keystone_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerKeystoneImage} ] + image: &keystone_image {get_param: DockerKeystoneImage} user: root command: ['/bin/bash', '-c', 'mkdir -p /var/log/httpd; chown -R keystone:keystone /var/log/keystone'] volumes: diff --git a/docker/services/manila-api.yaml b/docker/services/manila-api.yaml index f47743c0..c33f4094 100644 --- a/docker/services/manila-api.yaml +++ b/docker/services/manila-api.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Manila API service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerManilaApiImage: description: image - default: 'centos-binary-manila-api:latest' type: string DockerManilaConfigImage: description: The container image to use for the manila config_volume - default: 'centos-binary-manila-api:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -48,6 +46,7 @@ resources: type: ../../puppet/services/manila-api.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} @@ -65,10 +64,7 @@ outputs: config_volume: manila puppet_tags: manila_config,manila_api_paste_ini step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerManilaConfigImage} ] + config_image: {get_param: DockerManilaConfigImage} kolla_config: /var/lib/kolla/config_files/manila_api.json: command: /usr/bin/manila-api --config-file /usr/share/manila/manila-dist.conf --config-file /etc/manila/manila.conf @@ -84,10 +80,7 @@ outputs: docker_config: step_2: manila_init_logs: - image: &manila_api_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerManilaApiImage} ] + image: &manila_api_image {get_param: DockerManilaApiImage} user: root volumes: - /var/log/containers/manila:/var/log/manila diff --git a/docker/services/manila-scheduler.yaml b/docker/services/manila-scheduler.yaml index a319a033..730d33f6 100644 --- a/docker/services/manila-scheduler.yaml +++ b/docker/services/manila-scheduler.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Manila Scheduler service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerManilaSchedulerImage: description: image - default: 'centos-binary-manila-scheduler:latest' type: string DockerManilaConfigImage: description: The container image to use for the manila config_volume - default: 'centos-binary-manila-api:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -48,6 +46,7 @@ resources: type: ../../puppet/services/manila-scheduler.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} @@ -65,10 +64,7 @@ outputs: config_volume: manila puppet_tags: manila_config,manila_scheduler_paste_ini step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerManilaConfigImage} ] + config_image: {get_param: DockerManilaConfigImage} kolla_config: /var/lib/kolla/config_files/manila_scheduler.json: command: /usr/bin/manila-scheduler --config-file /usr/share/manila/manila-dist.conf --config-file /etc/manila/manila.conf @@ -84,10 +80,7 @@ outputs: docker_config: step_4: manila_scheduler: - image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerManilaSchedulerImage} ] + image: {get_param: DockerManilaSchedulerImage} net: host restart: always volumes: diff --git a/docker/services/manila-share.yaml b/docker/services/manila-share.yaml index 227f28fe..09d1a574 100644 --- a/docker/services/manila-share.yaml +++ b/docker/services/manila-share.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Manila Share service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerManilaShareImage: description: image - default: 'centos-binary-manila-share:latest' type: string DockerManilaConfigImage: description: image - default: 'centos-binary-manila-base:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -48,6 +46,7 @@ resources: type: ../../puppet/services/manila-share.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -67,10 +66,7 @@ outputs: config_volume: manila puppet_tags: manila_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerManilaConfigImage} ] + config_image: {get_param: DockerManilaConfigImage} kolla_config: /var/lib/kolla/config_files/manila_share.json: command: /usr/bin/manila-share --config-file /usr/share/manila/manila-dist.conf --config-file /etc/manila/manila.conf @@ -91,10 +87,7 @@ outputs: docker_config: step_4: manila_share: - image: &manila_share_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerManilaShareImage} ] + image: &manila_share_image {get_param: DockerManilaShareImage} net: host restart: always volumes: diff --git a/docker/services/memcached.yaml b/docker/services/memcached.yaml index ef4a7ab0..7e28bdc1 100644 --- a/docker/services/memcached.yaml +++ b/docker/services/memcached.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Memcached services parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerMemcachedImage: description: image - default: 'centos-binary-memcached:latest' type: string DockerMemcachedConfigImage: description: The container image to use for the memcached config_volume - default: 'centos-binary-memcached:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -48,6 +46,7 @@ resources: type: ../../puppet/services/memcached.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -67,20 +66,14 @@ outputs: config_volume: 'memcached' puppet_tags: 'file' step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerMemcachedConfigImage} ] + config_image: {get_param: DockerMemcachedConfigImage} kolla_config: {} docker_config: step_1: memcached_init_logs: start_order: 0 detach: false - image: &memcached_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerMemcachedImage} ] + image: &memcached_image {get_param: DockerMemcachedImage} privileged: false user: root volumes: diff --git a/docker/services/mistral-api.yaml b/docker/services/mistral-api.yaml index 4b2c1028..73db3742 100644 --- a/docker/services/mistral-api.yaml +++ b/docker/services/mistral-api.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Mistral API service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerMistralApiImage: description: image - default: 'centos-binary-mistral-api:latest' type: string DockerMistralConfigImage: description: The container image to use for the mistral config_volume - default: 'centos-binary-mistral-api:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -48,6 +46,7 @@ resources: type: ../../puppet/services/mistral-api.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -69,10 +68,7 @@ outputs: config_volume: mistral puppet_tags: mistral_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerMistralConfigImage} ] + config_image: {get_param: DockerMistralConfigImage} kolla_config: /var/lib/kolla/config_files/mistral_api.json: command: /usr/bin/mistral-server --config-file=/etc/mistral/mistral.conf --log-file=/var/log/mistral/api.log --server=api @@ -89,10 +85,7 @@ outputs: # db sync runs before permissions set by kolla_config step_2: mistral_init_logs: - image: &mistral_api_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerMistralApiImage} ] + image: &mistral_api_image {get_param: DockerMistralApiImage} privileged: false user: root volumes: diff --git a/docker/services/mistral-engine.yaml b/docker/services/mistral-engine.yaml index 8b8e32b6..4c6b300d 100644 --- a/docker/services/mistral-engine.yaml +++ b/docker/services/mistral-engine.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Mistral Engine service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerMistralEngineImage: description: image - default: 'centos-binary-mistral-engine:latest' type: string DockerMistralConfigImage: description: The container image to use for the mistral config_volume - default: 'centos-binary-mistral-api:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -49,6 +47,7 @@ resources: type: ../../puppet/services/mistral-engine.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -70,10 +69,7 @@ outputs: config_volume: mistral puppet_tags: mistral_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerMistralConfigImage} ] + config_image: {get_param: DockerMistralConfigImage} kolla_config: /var/lib/kolla/config_files/mistral_engine.json: command: /usr/bin/mistral-server --config-file=/etc/mistral/mistral.conf --log-file=/var/log/mistral/engine.log --server=engine @@ -89,10 +85,7 @@ outputs: docker_config: step_4: mistral_engine: - image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerMistralEngineImage} ] + image: {get_param: DockerMistralEngineImage} net: host privileged: false restart: always diff --git a/docker/services/mistral-executor.yaml b/docker/services/mistral-executor.yaml index 9ae07213..ea54c574 100644 --- a/docker/services/mistral-executor.yaml +++ b/docker/services/mistral-executor.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Mistral Executor service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerMistralExecutorImage: description: image - default: 'centos-binary-mistral-executor:latest' type: string DockerMistralConfigImage: description: The container image to use for the mistral config_volume - default: 'centos-binary-mistral-api:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -49,6 +47,7 @@ resources: type: ../../puppet/services/mistral-executor.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -70,10 +69,7 @@ outputs: config_volume: mistral puppet_tags: mistral_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerMistralConfigImage} ] + config_image: {get_param: DockerMistralConfigImage} kolla_config: /var/lib/kolla/config_files/mistral_executor.json: command: /usr/bin/mistral-server --config-file=/etc/mistral/mistral.conf --log-file=/var/log/mistral/executor.log --server=executor @@ -89,10 +85,7 @@ outputs: docker_config: step_4: mistral_executor: - image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerMistralExecutorImage} ] + image: {get_param: DockerMistralExecutorImage} net: host privileged: false restart: always @@ -116,6 +109,18 @@ outputs: path: /var/log/containers/mistral state: directory upgrade_tasks: + - name: Check if mistral executor is deployed + command: systemctl is-enabled openstack-mistral-executor + tags: common + ignore_errors: True + register: mistral_executor_enabled + - name: "PreUpgrade step0,validation: Check if openstack-mistral-executor is running" + shell: > + /usr/bin/systemctl show 'openstack-mistral-executor' --property ActiveState | + grep '\bactive\b' + when: mistral_executor_enabled.rc == 0 + tags: step0,validation - name: Stop and disable mistral_executor service tags: step2 + when: mistral_executor_enabled.rc == 0 service: name=openstack-mistral-executor state=stopped enabled=no diff --git a/docker/services/multipathd.yaml b/docker/services/multipathd.yaml index 61b05571..51b93029 100644 --- a/docker/services/multipathd.yaml +++ b/docker/services/multipathd.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Multipathd service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerMultipathdImage: description: image - default: 'centos-binary-multipathd:latest' type: string DockerMultipathdConfigImage: description: The container image to use for the multipathd config_volume - default: 'centos-binary-multipathd:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -57,10 +55,7 @@ outputs: config_volume: multipathd #puppet_tags: file step_config: '' - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerMultipathdConfigImage} ] + config_image: {get_param: DockerMultipathdConfigImage} kolla_config: /var/lib/kolla/config_files/multipathd.json: command: /usr/sbin/multipathd -d @@ -68,10 +63,7 @@ outputs: step_3: multipathd: start_order: 1 - image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerMultipathdImage} ] + image: {get_param: DockerMultipathdImage} net: host privileged: true restart: always diff --git a/docker/services/neutron-api.yaml b/docker/services/neutron-api.yaml index a2e5e174..a9125c8c 100644 --- a/docker/services/neutron-api.yaml +++ b/docker/services/neutron-api.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Neutron API service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerNeutronApiImage: description: image - default: 'centos-binary-neutron-server:latest' type: string DockerNeutronConfigImage: description: The container image to use for the neutron config_volume - default: 'centos-binary-neutron-server:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -55,6 +53,7 @@ resources: type: ../../puppet/services/neutron-api.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -76,10 +75,7 @@ outputs: config_volume: neutron puppet_tags: neutron_config,neutron_api_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerNeutronConfigImage} ] + config_image: {get_param: DockerNeutronConfigImage} kolla_config: /var/lib/kolla/config_files/neutron_api.json: command: /usr/bin/neutron-server --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/neutron-server @@ -103,10 +99,7 @@ outputs: # db sync runs before permissions set by kolla_config step_2: neutron_init_logs: - image: &neutron_api_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerNeutronApiImage} ] + image: &neutron_api_image {get_param: DockerNeutronApiImage} privileged: false user: root volumes: @@ -170,8 +163,18 @@ outputs: path: /var/log/containers/neutron state: directory upgrade_tasks: + - name: Check if neutron_server is deployed + command: systemctl is-enabled neutron-server + tags: common + ignore_errors: True + register: neutron_server_enabled + - name: "PreUpgrade step0,validation: Check service neutron-server is running" + shell: /usr/bin/systemctl show 'neutron-server' --property ActiveState | grep '\bactive\b' + when: neutron_server_enabled.rc == 0 + tags: step0,validation - name: Stop and disable neutron_api service tags: step2 + when: neutron_server_enabled.rc == 0 service: name=neutron-server state=stopped enabled=no metadata_settings: get_attr: [NeutronBase, role_data, metadata_settings] diff --git a/docker/services/neutron-dhcp.yaml b/docker/services/neutron-dhcp.yaml index 93401b95..eed8a1c0 100644 --- a/docker/services/neutron-dhcp.yaml +++ b/docker/services/neutron-dhcp.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Neutron DHCP service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerNeutronDHCPImage: description: image - default: 'centos-binary-neutron-dhcp-agent:latest' type: string DockerNeutronConfigImage: description: The container image to use for the neutron config_volume - default: 'centos-binary-neutron-server:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -48,6 +46,7 @@ resources: type: ../../puppet/services/neutron-dhcp.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -69,10 +68,7 @@ outputs: config_volume: neutron puppet_tags: neutron_config,neutron_dhcp_agent_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerNeutronConfigImage} ] + config_image: {get_param: DockerNeutronConfigImage} kolla_config: /var/lib/kolla/config_files/neutron_dhcp.json: command: /usr/bin/neutron-dhcp-agent --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/dhcp_agent.ini --log-file /var/log/neutron/dhcp-agent.log --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/neutron-dhcp-agent @@ -88,10 +84,7 @@ outputs: docker_config: step_4: neutron_dhcp: - image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerNeutronDHCPImage} ] + image: {get_param: DockerNeutronDHCPImage} net: host pid: host privileged: true @@ -113,6 +106,16 @@ outputs: path: /var/log/containers/neutron state: directory upgrade_tasks: + - name: Check if neutron_dhcp_agent is deployed + command: systemctl is-enabled neutron-dhcp-agent + tags: common + ignore_errors: True + register: neutron_dhcp_agent_enabled + - name: "PreUpgrade step0,validation: Check service neutron-dhcp-agent is running" + shell: /usr/bin/systemctl show 'neutron-dhcp-agent' --property ActiveState | grep '\bactive\b' + when: neutron_dhcp_agent_enabled.rc == 0 + tags: step0,validation - name: Stop and disable neutron_dhcp service tags: step2 + when: neutron_dhcp_agent_enabled.rc == 0 service: name=neutron-dhcp-agent state=stopped enabled=no diff --git a/docker/services/neutron-l3.yaml b/docker/services/neutron-l3.yaml index 1db48b3b..c3a4d27f 100644 --- a/docker/services/neutron-l3.yaml +++ b/docker/services/neutron-l3.yaml @@ -4,18 +4,16 @@ description: > OpenStack containerized Neutron L3 agent parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerNeutronL3AgentImage: description: image - default: 'centos-binary-neutron-l3-agent:latest' type: string DockerNeutronConfigImage: description: The container image to use for the neutron config_volume - default: 'centos-binary-neutron-server:latest' type: string + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -48,6 +46,7 @@ resources: type: ../../puppet/services/neutron-l3.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -65,10 +64,7 @@ outputs: puppet_tags: neutron_config,neutron_l3_agent_config config_volume: neutron step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerNeutronConfigImage} ] + config_image: {get_param: DockerNeutronConfigImage} kolla_config: /var/lib/kolla/config_files/neutron_l3_agent.json: command: /usr/bin/neutron-l3-agent --config-file /usr/share/neutron/neutron-dist.conf --config-dir /usr/share/neutron/l3_agent --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/l3_agent.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/neutron-l3-agent @@ -84,10 +80,7 @@ outputs: docker_config: step_4: neutron_l3_agent: - image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerNeutronL3AgentImage} ] + image: {get_param: DockerNeutronL3AgentImage} net: host pid: host privileged: true diff --git a/docker/services/neutron-metadata.yaml b/docker/services/neutron-metadata.yaml index d03ea9a6..582b7754 100644 --- a/docker/services/neutron-metadata.yaml +++ b/docker/services/neutron-metadata.yaml @@ -4,18 +4,16 @@ description: > OpenStack containerized Neutron Metadata agent parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerNeutronMetadataImage: description: image - default: 'centos-binary-neutron-metadata-agent:latest' type: string DockerNeutronConfigImage: description: The container image to use for the neutron config_volume - default: 'centos-binary-neutron-server:latest' type: string + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -48,6 +46,7 @@ resources: type: ../../puppet/services/neutron-metadata.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -65,10 +64,7 @@ outputs: puppet_tags: neutron_config,neutron_metadata_agent_config config_volume: neutron step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerNeutronConfigImage} ] + config_image: {get_param: DockerNeutronConfigImage} kolla_config: /var/lib/kolla/config_files/neutron_metadata_agent.json: command: /usr/bin/neutron-metadata-agent --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/metadata_agent.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/neutron-metadata-agent @@ -84,10 +80,7 @@ outputs: docker_config: step_4: neutron_metadata_agent: - image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerNeutronMetadataImage} ] + image: {get_param: DockerNeutronMetadataImage} net: host pid: host privileged: true @@ -109,6 +102,16 @@ outputs: path: /var/log/containers/neutron state: directory upgrade_tasks: + - name: Check if neutron_metadata_agent is deployed + command: systemctl is-enabled neutron-metadata-agent + tags: common + ignore_errors: True + register: neutron_metadata_agent_enabled + - name: "PreUpgrade step0,validation: Check service neutron-metadata-agent is running" + shell: /usr/bin/systemctl show 'neutron-metadata-agent' --property ActiveState | grep '\bactive\b' + when: neutron_metadata_agent_enabled.rc == 0 + tags: step0,validation - name: Stop and disable neutron_metadata service tags: step2 + when: neutron_metadata_agent_enabled.rc == 0 service: name=neutron-metadata-agent state=stopped enabled=no diff --git a/docker/services/neutron-ovs-agent.yaml b/docker/services/neutron-ovs-agent.yaml index de7115bf..4cce23d9 100644 --- a/docker/services/neutron-ovs-agent.yaml +++ b/docker/services/neutron-ovs-agent.yaml @@ -4,18 +4,16 @@ description: > OpenStack Neutron openvswitch service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerOpenvswitchImage: description: image - default: 'centos-binary-neutron-openvswitch-agent:latest' type: string DockerNeutronConfigImage: description: The container image to use for the neutron config_volume - default: 'centos-binary-neutron-server:latest' type: string + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -48,6 +46,7 @@ resources: type: ../../puppet/services/neutron-ovs-agent.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -65,10 +64,7 @@ outputs: config_volume: neutron puppet_tags: neutron_config,neutron_agent_ovs,neutron_plugin_ml2 step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerNeutronConfigImage} ] + config_image: {get_param: DockerNeutronConfigImage} kolla_config: /var/lib/kolla/config_files/neutron_ovs_agent.json: command: /usr/bin/neutron-openvswitch-agent --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/openvswitch_agent.ini --config-file /etc/neutron/plugins/ml2/ml2_conf.ini --config-dir /etc/neutron/conf.d/common @@ -84,10 +80,7 @@ outputs: docker_config: step_4: neutron_ovs_agent: - image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerOpenvswitchImage} ] + image: {get_param: DockerOpenvswitchImage} net: host pid: host privileged: true diff --git a/docker/services/neutron-plugin-ml2.yaml b/docker/services/neutron-plugin-ml2.yaml index aa62bded..8d12e0de 100644 --- a/docker/services/neutron-plugin-ml2.yaml +++ b/docker/services/neutron-plugin-ml2.yaml @@ -9,22 +9,20 @@ parameters: description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set via parameter_defaults in the resource registry. This mapping overrides those in ServiceNetMapDefaults. type: json - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerNeutronConfigImage: description: The container image to use for the neutron config_volume - default: 'centos-binary-neutron-server:latest' type: string DefaultPasswords: - default: {} type: json RoleName: default: '' @@ -41,6 +39,7 @@ resources: type: OS::TripleO::Docker::NeutronMl2PluginBase properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -62,9 +61,6 @@ outputs: config_volume: 'neutron' puppet_tags: neutron_plugin_ml2 step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerNeutronConfigImage} ] + config_image: {get_param: DockerNeutronConfigImage} kolla_config: {} docker_config: {} diff --git a/docker/services/nova-api.yaml b/docker/services/nova-api.yaml index 9282c934..1d73a538 100644 --- a/docker/services/nova-api.yaml +++ b/docker/services/nova-api.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Nova API service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerNovaApiImage: description: image - default: 'centos-binary-nova-api:latest' type: string DockerNovaConfigImage: description: The container image to use for the nova config_volume - default: 'centos-binary-nova-base:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -48,6 +46,7 @@ resources: type: ../../puppet/services/nova-api.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -76,10 +75,7 @@ outputs: config_volume: nova puppet_tags: nova_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerNovaConfigImage} ] + config_image: {get_param: DockerNovaConfigImage} kolla_config: /var/lib/kolla/config_files/nova_api.json: command: /usr/bin/nova-api @@ -96,10 +92,7 @@ outputs: # db sync runs before permissions set by kolla_config step_2: nova_init_logs: - image: &nova_api_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerNovaApiImage} ] + image: &nova_api_image {get_param: DockerNovaApiImage} privileged: false user: root volumes: diff --git a/docker/services/nova-compute.yaml b/docker/services/nova-compute.yaml index 101934ff..d8e76925 100644 --- a/docker/services/nova-compute.yaml +++ b/docker/services/nova-compute.yaml @@ -4,18 +4,16 @@ description: > OpenStack containerized Nova Compute service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerNovaComputeImage: description: image - default: 'centos-binary-nova-compute:latest' type: string DockerNovaLibvirtConfigImage: description: The container image to use for the nova_libvirt config_volume - default: 'centos-binary-nova-compute:latest' type: string + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -48,6 +46,7 @@ resources: type: ../../puppet/services/nova-compute.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -73,10 +72,7 @@ outputs: config_volume: nova_libvirt puppet_tags: nova_config,nova_paste_api_ini step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerNovaLibvirtConfigImage} ] + config_image: {get_param: DockerNovaLibvirtConfigImage} kolla_config: /var/lib/kolla/config_files/nova_compute.json: command: /usr/bin/nova-compute --config-file /etc/nova/nova.conf --config-file /etc/nova/rootwrap.conf @@ -96,10 +92,7 @@ outputs: # FIXME: run discover hosts here step_4: nova_compute: - image: &nova_compute_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerNovaComputeImage} ] + image: &nova_compute_image {get_param: DockerNovaComputeImage} net: host privileged: true user: nova diff --git a/docker/services/nova-conductor.yaml b/docker/services/nova-conductor.yaml index 35c361fd..9f666577 100644 --- a/docker/services/nova-conductor.yaml +++ b/docker/services/nova-conductor.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Nova Conductor service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerNovaConductorImage: description: image - default: 'centos-binary-nova-conductor:latest' type: string DockerNovaConfigImage: description: The container image to use for the nova config_volume - default: 'centos-binary-nova-base:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -49,6 +47,7 @@ resources: type: ../../puppet/services/nova-conductor.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -68,10 +67,7 @@ outputs: config_volume: nova puppet_tags: nova_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerNovaConfigImage} ] + config_image: {get_param: DockerNovaConfigImage} kolla_config: /var/lib/kolla/config_files/nova_conductor.json: command: /usr/bin/nova-conductor @@ -87,10 +83,7 @@ outputs: docker_config: step_4: nova_conductor: - image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerNovaConductorImage} ] + image: {get_param: DockerNovaConductorImage} net: host privileged: false restart: always diff --git a/docker/services/nova-consoleauth.yaml b/docker/services/nova-consoleauth.yaml index 0939bba3..0d3d1ec9 100644 --- a/docker/services/nova-consoleauth.yaml +++ b/docker/services/nova-consoleauth.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Nova Consoleauth service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerNovaConsoleauthImage: description: image - default: 'centos-binary-nova-consoleauth:latest' type: string DockerNovaConfigImage: description: The container image to use for the nova config_volume - default: 'centos-binary-nova-base:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -48,6 +46,7 @@ resources: type: ../../puppet/services/nova-consoleauth.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -67,10 +66,7 @@ outputs: config_volume: nova puppet_tags: nova_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerNovaConfigImage} ] + config_image: {get_param: DockerNovaConfigImage} kolla_config: /var/lib/kolla/config_files/nova_consoleauth.json: command: /usr/bin/nova-consoleauth @@ -86,10 +82,7 @@ outputs: docker_config: step_4: nova_consoleauth: - image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerNovaConsoleauthImage} ] + image: {get_param: DockerNovaConsoleauthImage} net: host privileged: false restart: always diff --git a/docker/services/nova-ironic.yaml b/docker/services/nova-ironic.yaml index 294293fd..89ef95ea 100644 --- a/docker/services/nova-ironic.yaml +++ b/docker/services/nova-ironic.yaml @@ -4,18 +4,16 @@ description: > OpenStack containerized Nova Ironic Compute service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerNovaComputeIronicImage: description: image - default: 'centos-binary-nova-compute-ironic:latest' type: string DockerNovaConfigImage: description: The container image to use for the nova config_volume - default: 'centos-binary-nova-base:latest' type: string + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -47,6 +45,7 @@ resources: NovaIronicBase: type: ../../puppet/services/nova-ironic.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} @@ -65,10 +64,7 @@ outputs: config_volume: nova puppet_tags: nova_config,nova_paste_api_ini step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerNovaConfigImage} ] + config_image: {get_param: DockerNovaConfigImage} kolla_config: /var/lib/kolla/config_files/nova_ironic.json: command: /usr/bin/nova-compute --config-file /etc/nova/nova.conf --config-file /etc/nova/rootwrap.conf @@ -87,10 +83,7 @@ outputs: docker_config: step_5: nova_compute: - image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerNovaComputeIronicImage} ] + image: {get_param: DockerNovaComputeIronicImage} net: host privileged: true user: root diff --git a/docker/services/nova-libvirt.yaml b/docker/services/nova-libvirt.yaml index d5d80189..e1ddca81 100644 --- a/docker/services/nova-libvirt.yaml +++ b/docker/services/nova-libvirt.yaml @@ -4,24 +4,22 @@ description: > OpenStack Libvirt Service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerNovaLibvirtImage: description: image - default: 'centos-binary-nova-libvirt:latest' type: string # we configure libvirt via the nova-compute container due to coupling # in the puppet modules DockerNovaLibvirtConfigImage: description: The container image to use for the nova_libvirt config_volume - default: 'centos-binary-nova-compute:latest' type: string EnablePackageInstall: default: 'false' - description: Set to true to enable package installation + description: Set to true to enable package installation at deploy time type: boolean + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -74,6 +72,7 @@ resources: type: ../../puppet/services/nova-libvirt.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -97,12 +96,9 @@ outputs: get_attr: [NovaLibvirtBase, role_data, step_config] puppet_config: config_volume: nova_libvirt - puppet_tags: nova_config + puppet_tags: nova_config,file,exec step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerNovaLibvirtConfigImage} ] + config_image: {get_param: DockerNovaLibvirtConfigImage} kolla_config: /var/lib/kolla/config_files/nova_libvirt.json: command: @@ -122,10 +118,7 @@ outputs: docker_config: step_3: nova_libvirt: - image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerNovaLibvirtImage} ] + image: {get_param: DockerNovaLibvirtImage} net: host pid: host privileged: true @@ -141,6 +134,7 @@ outputs: - /run:/run - /sys/fs/cgroup:/sys/fs/cgroup - /var/lib/nova:/var/lib/nova + - /etc/libvirt/secrets:/etc/libvirt/secrets # Needed to use host's virtlogd - /var/run/libvirt:/var/run/libvirt - /var/lib/libvirt:/var/lib/libvirt @@ -155,6 +149,7 @@ outputs: path: "{{ item }}" state: directory with_items: + - /etc/libvirt/secrets - /etc/libvirt/qemu - /var/lib/libvirt - /var/log/containers/nova diff --git a/docker/services/nova-metadata.yaml b/docker/services/nova-metadata.yaml index e158d3bc..0a8a74cd 100644 --- a/docker/services/nova-metadata.yaml +++ b/docker/services/nova-metadata.yaml @@ -9,6 +9,10 @@ parameters: description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -33,6 +37,7 @@ resources: type: ../../puppet/services/nova-metadata.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} diff --git a/docker/services/nova-placement.yaml b/docker/services/nova-placement.yaml index 464dfe70..7350db20 100644 --- a/docker/services/nova-placement.yaml +++ b/docker/services/nova-placement.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Nova Placement API service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerNovaPlacementImage: description: image - default: 'centos-binary-nova-placement-api:latest' type: string DockerNovaPlacementConfigImage: description: The container image to use for the nova_placement config_volume - default: 'centos-binary-nova-placement-api:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -48,6 +46,7 @@ resources: type: ../../puppet/services/nova-placement.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -70,10 +69,7 @@ outputs: config_volume: nova_placement puppet_tags: nova_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerNovaPlacementConfigImage} ] + config_image: {get_param: DockerNovaPlacementConfigImage} kolla_config: /var/lib/kolla/config_files/nova_placement.json: command: /usr/sbin/httpd -DFOREGROUND @@ -91,10 +87,7 @@ outputs: step_3: nova_placement: start_order: 1 - image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerNovaPlacementImage} ] + image: {get_param: DockerNovaPlacementImage} net: host user: root restart: always diff --git a/docker/services/nova-scheduler.yaml b/docker/services/nova-scheduler.yaml index a2b27342..5c1aa308 100644 --- a/docker/services/nova-scheduler.yaml +++ b/docker/services/nova-scheduler.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Nova Scheduler service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerNovaSchedulerImage: description: image - default: 'centos-binary-nova-scheduler:latest' type: string DockerNovaConfigImage: description: The container image to use for the nova config_volume - default: 'centos-binary-nova-base:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -48,6 +46,7 @@ resources: type: ../../puppet/services/nova-scheduler.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -67,10 +66,7 @@ outputs: config_volume: nova puppet_tags: nova_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerNovaConfigImage} ] + config_image: {get_param: DockerNovaConfigImage} kolla_config: /var/lib/kolla/config_files/nova_scheduler.json: command: /usr/bin/nova-scheduler @@ -86,10 +82,7 @@ outputs: docker_config: step_4: nova_scheduler: - image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerNovaSchedulerImage} ] + image: {get_param: DockerNovaSchedulerImage} net: host privileged: false restart: always diff --git a/docker/services/nova-vnc-proxy.yaml b/docker/services/nova-vnc-proxy.yaml index 35e69494..37831ff7 100644 --- a/docker/services/nova-vnc-proxy.yaml +++ b/docker/services/nova-vnc-proxy.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Nova Vncproxy service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerNovaVncProxyImage: description: image - default: 'centos-binary-nova-novncproxy:latest' type: string DockerNovaConfigImage: description: The container image to use for the nova config_volume - default: 'centos-binary-nova-base:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -48,6 +46,7 @@ resources: type: ../../puppet/services/nova-vnc-proxy.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -67,10 +66,7 @@ outputs: config_volume: nova puppet_tags: nova_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerNovaConfigImage} ] + config_image: {get_param: DockerNovaConfigImage} kolla_config: /var/lib/kolla/config_files/nova_vnc_proxy.json: command: /usr/bin/nova-novncproxy --web /usr/share/novnc/ @@ -86,10 +82,7 @@ outputs: docker_config: step_4: nova_vnc_proxy: - image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerNovaVncProxyImage} ] + image: {get_param: DockerNovaVncProxyImage} net: host privileged: false restart: always diff --git a/docker/services/octavia-api.yaml b/docker/services/octavia-api.yaml index 075e4913..f5b4baec 100644 --- a/docker/services/octavia-api.yaml +++ b/docker/services/octavia-api.yaml @@ -4,23 +4,21 @@ description: > OpenStack Octavia service configured with Puppet parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerOctaviaApiImage: description: image - default: 'centos-binary-octavia-api:latest' type: string DockerOctaviaConfigImage: description: The container image to use for the octavia config_volume - default: 'centos-binary-octavia-api:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -56,6 +54,7 @@ resources: type: ../../puppet/services/octavia-api.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -75,10 +74,7 @@ outputs: config_volume: octavia puppet_tags: octavia_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerOctaviaConfigImage} ] + config_image: {get_param: DockerOctaviaConfigImage} kolla_config: /var/lib/kolla/config_files/octavia_api.json: command: /usr/bin/octavia-api --config-file /usr/share/octavia/octavia-dist.conf --config-file /etc/octavia/octavia.conf --log-file /var/log/octavia/api.log --config-dir /etc/octavia/conf.d/common --config-dir /etc/octavia/conf.d/octavia-api @@ -99,10 +95,7 @@ outputs: step_2: octavia_api_init_dirs: start_order: 0 - image: &octavia_api_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerOctaviaApiImage} ] + image: &octavia_api_image {get_param: DockerOctaviaApiImage} user: root volumes: # NOTE(mandre) we need extra dir for the service in /etc/octavia/conf.d diff --git a/docker/services/octavia-health-manager.yaml b/docker/services/octavia-health-manager.yaml index 0e493294..f5e1eda5 100644 --- a/docker/services/octavia-health-manager.yaml +++ b/docker/services/octavia-health-manager.yaml @@ -4,23 +4,21 @@ description: > OpenStack Octavia health-manager service configured with Puppet parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerOctaviaHealthManagerImage: description: image - default: 'centos-binary-octavia-health-manager:latest' type: string DockerOctaviaConfigImage: description: The container image to use for the octavia config_volume - default: 'centos-binary-octavia-api:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -49,6 +47,7 @@ resources: type: ../../puppet/services/octavia-health-manager.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -68,10 +67,7 @@ outputs: config_volume: octavia puppet_tags: octavia_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerOctaviaConfigImage} ] + config_image: {get_param: DockerOctaviaConfigImage} kolla_config: /var/lib/kolla/config_files/octavia_health_manager.json: command: /usr/bin/octavia-health-manager --config-file /usr/share/octavia/octavia-dist.conf --config-file /etc/octavia/octavia.conf --log-file /var/log/octavia/health-manager.log --config-dir /etc/octavia/conf.d/common --config-dir /etc/octavia/conf.d/octavia-health-manager @@ -84,10 +80,7 @@ outputs: step_2: octavia_health_manager_init_dirs: start_order: 0 - image: &octavia_health_manager_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerOctaviaHealthManagerImage} ] + image: &octavia_health_manager_image {get_param: DockerOctaviaHealthManagerImage} user: root volumes: # NOTE(mandre) we need extra dir for the service in /etc/octavia/conf.d diff --git a/docker/services/octavia-housekeeping.yaml b/docker/services/octavia-housekeeping.yaml index be2c445d..1dc0db37 100644 --- a/docker/services/octavia-housekeeping.yaml +++ b/docker/services/octavia-housekeeping.yaml @@ -4,23 +4,21 @@ description: > OpenStack Octavia service configured with Puppet parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerOctaviaHousekeepingImage: description: image - default: 'centos-binary-octavia-housekeeping:latest' type: string DockerOctaviaConfigImage: description: The container image to use for the octavia config_volume - default: 'centos-binary-octavia-api:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -49,6 +47,7 @@ resources: type: ../../puppet/services/octavia-housekeeping.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -68,10 +67,7 @@ outputs: config_volume: octavia puppet_tags: octavia_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerOctaviaConfigImage} ] + config_image: {get_param: DockerOctaviaConfigImage} kolla_config: /var/lib/kolla/config_files/octavia_housekeeping.json: command: /usr/bin/octavia-housekeeping --config-file /usr/share/octavia/octavia-dist.conf --config-file /etc/octavia/octavia.conf --log-file /var/log/octavia/housekeeping.log --config-dir /etc/octavia/conf.d/common --config-dir /etc/octavia/conf.d/octavia-housekeeping @@ -84,10 +80,7 @@ outputs: step_2: octavia_housekeeping_init_dirs: start_order: 0 - image: &octavia_housekeeping_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerOctaviaHousekeepingImage} ] + image: &octavia_housekeeping_image {get_param: DockerOctaviaHousekeepingImage} user: root volumes: # NOTE(mandre) we need extra dir for the service in /etc/octavia/conf.d diff --git a/docker/services/octavia-worker.yaml b/docker/services/octavia-worker.yaml index 9becb259..d29e1a3a 100644 --- a/docker/services/octavia-worker.yaml +++ b/docker/services/octavia-worker.yaml @@ -4,23 +4,21 @@ description: > OpenStack Octavia worker service configured with Puppet parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerOctaviaWorkerImage: description: image - default: 'centos-binary-octavia-worker:latest' type: string DockerOctaviaConfigImage: description: The container image to use for the octavia config_volume - default: 'centos-binary-octavia-api:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -49,6 +47,7 @@ resources: type: ../../puppet/services/octavia-worker.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -68,10 +67,7 @@ outputs: config_volume: octavia puppet_tags: octavia_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerOctaviaConfigImage} ] + config_image: {get_param: DockerOctaviaConfigImage} kolla_config: /var/lib/kolla/config_files/octavia_worker.json: command: /usr/bin/octavia-worker --config-file /usr/share/octavia/octavia-dist.conf --config-file /etc/octavia/octavia.conf --log-file /var/log/octavia/worker.log --config-dir /etc/octavia/conf.d/common --config-dir /etc/octavia/conf.d/octavia-worker @@ -84,10 +80,7 @@ outputs: step_2: octavia_worker_init_dirs: start_order: 0 - image: &octavia_worker_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerOctaviaWorkerImage} ] + image: &octavia_worker_image {get_param: DockerOctaviaWorkerImage} user: root volumes: # NOTE(mandre) we need extra dir for the service in /etc/octavia/conf.d diff --git a/docker/services/opendaylight-api.yaml b/docker/services/opendaylight-api.yaml index 5610d1ba..80ca822b 100644 --- a/docker/services/opendaylight-api.yaml +++ b/docker/services/opendaylight-api.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized OpenDaylight API service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerOpendaylightApiImage: description: image - default: 'centos-binary-opendaylight:latest' type: string DockerOpendaylightConfigImage: description: image - default: 'centos-binary-opendaylight:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -48,6 +46,7 @@ resources: type: ../../puppet/services/opendaylight-api.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -72,10 +71,7 @@ outputs: # 'file,concat,file_line,augeas' are included by default puppet_tags: odl_user,tripleo::profile::base::neutron::opendaylight::configure_cluster step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerOpendaylightConfigImage} ] + config_image: {get_param: DockerOpendaylightConfigImage} kolla_config: /var/lib/kolla/config_files/opendaylight_api.json: command: /opt/opendaylight/bin/karaf @@ -92,10 +88,7 @@ outputs: step_1: opendaylight_api: start_order: 0 - image: &odl_api_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerOpendaylightApiImage} ] + image: &odl_api_image {get_param: DockerOpendaylightApiImage} privileged: false net: host detach: true diff --git a/docker/services/pacemaker/cinder-backup.yaml b/docker/services/pacemaker/cinder-backup.yaml index d15c920e..ee8ee124 100644 --- a/docker/services/pacemaker/cinder-backup.yaml +++ b/docker/services/pacemaker/cinder-backup.yaml @@ -4,17 +4,11 @@ description: > OpenStack containerized Cinder Backup service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerCinderBackupImage: description: image - default: 'centos-binary-cinder-backup:latest' type: string DockerCinderConfigImage: description: The container image to use for the cinder config_volume - default: 'centos-binary-cinder-api:latest' type: string CinderBackupBackend: default: swift @@ -33,6 +27,10 @@ parameters: description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -58,6 +56,7 @@ resources: type: ../../../puppet/services/cinder-backup.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -74,10 +73,7 @@ outputs: config_settings: map_merge: - get_attr: [CinderBackupBase, role_data, config_settings] - - tripleo::profile::pacemaker::cinder::backup_bundle::cinder_backup_docker_image: &cinder_backup_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerCinderBackupImage} ] + - tripleo::profile::pacemaker::cinder::backup_bundle::cinder_backup_docker_image: &cinder_backup_image {get_param: DockerCinderBackupImage} cinder::backup::manage_service: false cinder::backup::enabled: false step_config: "" @@ -87,10 +83,7 @@ outputs: config_volume: cinder puppet_tags: cinder_config,file,concat,file_line step_config: {get_attr: [CinderBackupBase, role_data, step_config]} - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerCinderConfigImage} ] + config_image: {get_param: DockerCinderConfigImage} kolla_config: /var/lib/kolla/config_files/cinder_backup.json: command: /usr/bin/cinder-backup --config-file /usr/share/cinder/cinder-dist.conf --config-file /etc/cinder/cinder.conf diff --git a/docker/services/pacemaker/cinder-volume.yaml b/docker/services/pacemaker/cinder-volume.yaml index 07e5fc2e..d016cf83 100644 --- a/docker/services/pacemaker/cinder-volume.yaml +++ b/docker/services/pacemaker/cinder-volume.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Cinder Volume service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerCinderVolumeImage: description: image - default: 'centos-binary-cinder-volume:latest' type: string DockerCinderConfigImage: description: The container image to use for the cinder config_volume - default: 'centos-binary-cinder-api:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -54,6 +52,7 @@ resources: type: ../../../puppet/services/cinder-volume.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -67,10 +66,7 @@ outputs: config_settings: map_merge: - get_attr: [CinderBase, role_data, config_settings] - - tripleo::profile::pacemaker::cinder::volume_bundle::cinder_volume_docker_image: &cinder_volume_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerCinderVolumeImage} ] + - tripleo::profile::pacemaker::cinder::volume_bundle::cinder_volume_docker_image: &cinder_volume_image {get_param: DockerCinderVolumeImage} cinder::volume::manage_service: false cinder::volume::enabled: false cinder::host: hostgroup @@ -81,10 +77,7 @@ outputs: config_volume: cinder puppet_tags: cinder_config,file,concat,file_line step_config: {get_attr: [CinderBase, role_data, step_config]} - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerCinderConfigImage} ] + config_image: {get_param: DockerCinderConfigImage} kolla_config: /var/lib/kolla/config_files/cinder_volume.json: command: /usr/bin/cinder-volume --config-file /usr/share/cinder/cinder-dist.conf --config-file /etc/cinder/cinder.conf diff --git a/docker/services/pacemaker/clustercheck.yaml b/docker/services/pacemaker/clustercheck.yaml index 007aa9c9..c7c316a4 100644 --- a/docker/services/pacemaker/clustercheck.yaml +++ b/docker/services/pacemaker/clustercheck.yaml @@ -6,23 +6,21 @@ description: > the local galera node is synced parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerClustercheckImage: description: image - default: 'centos-binary-mariadb:latest' type: string DockerClustercheckConfigImage: description: The container image to use for the clustercheck config_volume - default: 'centos-binary-mariadb:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -50,6 +48,7 @@ resources: type: ../../../puppet/services/pacemaker/database/mysql.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -67,10 +66,7 @@ outputs: config_volume: clustercheck puppet_tags: file # set this even though file is the default step_config: "include ::tripleo::profile::pacemaker::clustercheck" - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerClustercheckConfigImage} ] + config_image: {get_param: DockerClustercheckConfigImage} kolla_config: /var/lib/kolla/config_files/clustercheck.json: command: /usr/sbin/xinetd -dontfork @@ -83,10 +79,7 @@ outputs: step_2: clustercheck: start_order: 1 - image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerClustercheckImage} ] + image: {get_param: DockerClustercheckImage} restart: always net: host volumes: diff --git a/docker/services/pacemaker/database/mysql.yaml b/docker/services/pacemaker/database/mysql.yaml index 3d996f7f..f38cccfc 100644 --- a/docker/services/pacemaker/database/mysql.yaml +++ b/docker/services/pacemaker/database/mysql.yaml @@ -4,23 +4,21 @@ description: > MySQL service deployment with pacemaker bundle parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerMysqlImage: description: image - default: 'centos-binary-mariadb:latest' type: string DockerMysqlConfigImage: description: The container image to use for the mysql config_volume - default: 'centos-binary-mariadb:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -52,6 +50,7 @@ resources: type: ../../../../puppet/services/pacemaker/database/mysql.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -65,11 +64,7 @@ outputs: config_settings: map_merge: - {get_attr: [MysqlPuppetBase, role_data, config_settings]} - - tripleo::profile::pacemaker::database::mysql_bundle::mysql_docker_image: &mysql_image - list_join: - - '/' - - - {get_param: DockerNamespace} - - {get_param: DockerMysqlImage} + - tripleo::profile::pacemaker::database::mysql_bundle::mysql_docker_image: &mysql_image {get_param: DockerMysqlImage} step_config: "" # BEGIN DOCKER SETTINGS # puppet_config: @@ -81,10 +76,7 @@ outputs: - - "['Mysql_datadir', 'Mysql_user', 'Mysql_database', 'Mysql_grant', 'Mysql_plugin'].each |String $val| { noop_resource($val) }" - "exec {'wait-for-settle': command => '/bin/true' }" - "include ::tripleo::profile::pacemaker::database::mysql_bundle" - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerMysqlConfigImage} ] + config_image: {get_param: DockerMysqlConfigImage} kolla_config: /var/lib/kolla/config_files/mysql.json: command: /usr/sbin/pacemaker_remoted diff --git a/docker/services/pacemaker/database/redis.yaml b/docker/services/pacemaker/database/redis.yaml index ff6de15d..e124b045 100644 --- a/docker/services/pacemaker/database/redis.yaml +++ b/docker/services/pacemaker/database/redis.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Redis services parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerRedisImage: description: image - default: 'centos-binary-redis:latest' type: string DockerRedisConfigImage: description: The container image to use for the redis config_volume - default: 'centos-binary-redis:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -45,6 +43,7 @@ resources: type: ../../../../puppet/services/database/redis.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -61,11 +60,7 @@ outputs: - redis::service_manage: false redis::notify_service: false redis::managed_by_cluster_manager: true - tripleo::profile::pacemaker::database::redis_bundle::redis_docker_image: &redis_image - list_join: - - '/' - - - {get_param: DockerNamespace} - - {get_param: DockerRedisImage} + tripleo::profile::pacemaker::database::redis_bundle::redis_docker_image: &redis_image {get_param: DockerRedisImage} step_config: "" service_config_settings: {get_attr: [RedisBase, role_data, service_config_settings]} @@ -78,10 +73,7 @@ outputs: puppet_tags: 'exec' step_config: get_attr: [RedisBase, role_data, step_config] - config_image: &redis_config_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerRedisConfigImage} ] + config_image: &redis_config_image {get_param: DockerRedisConfigImage} kolla_config: /var/lib/kolla/config_files/redis.json: command: /usr/sbin/pacemaker_remoted diff --git a/docker/services/pacemaker/haproxy.yaml b/docker/services/pacemaker/haproxy.yaml index 1b104a23..86c460fa 100644 --- a/docker/services/pacemaker/haproxy.yaml +++ b/docker/services/pacemaker/haproxy.yaml @@ -4,18 +4,16 @@ description: > OpenStack containerized HAproxy service for pacemaker parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerHAProxyImage: description: image - default: 'centos-binary-haproxy:latest' type: string DockerHAProxyConfigImage: description: The container image to use for the haproxy config_volume - default: 'centos-binary-haproxy:latest' type: string + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -50,6 +48,7 @@ resources: type: ../../../puppet/services/pacemaker/haproxy.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -65,10 +64,7 @@ outputs: - get_attr: [HAProxyBase, role_data, config_settings] - tripleo::haproxy::haproxy_daemon: false haproxy_docker: true - tripleo::profile::pacemaker::haproxy_bundle::haproxy_docker_image: &haproxy_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerHAProxyImage} ] + tripleo::profile::pacemaker::haproxy_bundle::haproxy_docker_image: &haproxy_image {get_param: DockerHAProxyImage} step_config: "" service_config_settings: {get_attr: [HAProxyBase, role_data, service_config_settings]} # BEGIN DOCKER SETTINGS @@ -82,10 +78,7 @@ outputs: - "class tripleo::firewall(){}; define tripleo::firewall::rule( $port = undef, $dport = undef, $sport = undef, $proto = undef, $action = undef, $state = undef, $source = undef, $iniface = undef, $chain = undef, $destination = undef, $extras = undef){}" - "['pcmk_bundle', 'pcmk_resource', 'pcmk_property', 'pcmk_constraint', 'pcmk_resource_default'].each |String $val| { noop_resource($val) }" - 'include ::tripleo::profile::pacemaker::haproxy_bundle' - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerHAProxyConfigImage} ] + config_image: {get_param: DockerHAProxyConfigImage} volumes: &deployed_cert_mount - list_join: - ':' diff --git a/docker/services/pacemaker/rabbitmq.yaml b/docker/services/pacemaker/rabbitmq.yaml index b8ff6bfd..19af94b2 100644 --- a/docker/services/pacemaker/rabbitmq.yaml +++ b/docker/services/pacemaker/rabbitmq.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Rabbitmq service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerRabbitmqImage: description: image - default: 'centos-binary-rabbitmq:latest' type: string DockerRabbitmqConfigImage: description: The container image to use for the rabbitmq config_volume - default: 'centos-binary-rabbitmq:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -49,6 +47,7 @@ resources: type: ../../../puppet/services/rabbitmq.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -63,11 +62,7 @@ outputs: map_merge: - {get_attr: [RabbitmqBase, role_data, config_settings]} - rabbitmq::service_manage: false - tripleo::profile::pacemaker::rabbitmq_bundle::rabbitmq_docker_image: &rabbitmq_image - list_join: - - '/' - - - {get_param: DockerNamespace} - - {get_param: DockerRabbitmqImage} + tripleo::profile::pacemaker::rabbitmq_bundle::rabbitmq_docker_image: &rabbitmq_image {get_param: DockerRabbitmqImage} step_config: &step_config get_attr: [RabbitmqBase, role_data, step_config] service_config_settings: {get_attr: [RabbitmqBase, role_data, service_config_settings]} @@ -76,10 +71,7 @@ outputs: config_volume: rabbitmq puppet_tags: file step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerRabbitmqConfigImage} ] + config_image: {get_param: DockerRabbitmqConfigImage} kolla_config: /var/lib/kolla/config_files/rabbitmq.json: command: /usr/sbin/pacemaker_remoted diff --git a/docker/services/panko-api.yaml b/docker/services/panko-api.yaml index fa1a7076..ad2fa0f6 100644 --- a/docker/services/panko-api.yaml +++ b/docker/services/panko-api.yaml @@ -6,23 +6,21 @@ description: > will be disabled in future releases. parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerPankoApiImage: description: image - default: 'centos-binary-panko-api:latest' type: string DockerPankoConfigImage: description: The container image to use for the panko config_volume - default: 'centos-binary-panko-api:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -57,6 +55,7 @@ resources: type: ../../puppet/services/panko-api.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -79,10 +78,7 @@ outputs: config_volume: panko puppet_tags: panko_api_paste_ini,panko_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerPankoConfigImage} ] + config_image: {get_param: DockerPankoConfigImage} kolla_config: /var/lib/kolla/config_files/panko_api.json: command: /usr/sbin/httpd -DFOREGROUND @@ -98,10 +94,7 @@ outputs: docker_config: step_2: panko_init_log: - image: &panko_api_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerPankoApiImage} ] + image: &panko_api_image {get_param: DockerPankoApiImage} user: root volumes: - /var/log/containers/panko:/var/log/panko diff --git a/docker/services/rabbitmq.yaml b/docker/services/rabbitmq.yaml index dd7c26a3..418c60d2 100644 --- a/docker/services/rabbitmq.yaml +++ b/docker/services/rabbitmq.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Rabbitmq service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerRabbitmqImage: description: image - default: 'centos-binary-rabbitmq:latest' type: string DockerRabbitmqConfigImage: description: The container image to use for the rabbitmq config_volume - default: 'centos-binary-rabbitmq:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -52,6 +50,7 @@ resources: type: ../../puppet/services/rabbitmq.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -77,10 +76,7 @@ outputs: puppet_config: config_volume: rabbitmq step_config: *step_config - config_image: &rabbitmq_config_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerRabbitmqConfigImage} ] + config_image: &rabbitmq_config_image {get_param: DockerRabbitmqConfigImage} kolla_config: /var/lib/kolla/config_files/rabbitmq.json: command: /usr/lib/rabbitmq/bin/rabbitmq-server @@ -99,10 +95,7 @@ outputs: rabbitmq_init_logs: start_order: 0 detach: false - image: &rabbitmq_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerRabbitmqImage} ] + image: &rabbitmq_image {get_param: DockerRabbitmqImage} privileged: false user: root volumes: diff --git a/docker/services/sahara-api.yaml b/docker/services/sahara-api.yaml index 8d101657..bff2fdac 100644 --- a/docker/services/sahara-api.yaml +++ b/docker/services/sahara-api.yaml @@ -4,23 +4,21 @@ description: > OpenStack Sahara service configured with Puppet parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerSaharaApiImage: description: image - default: 'centos-binary-sahara-api:latest' type: string DockerSaharaConfigImage: description: The container image to use for the sahara config_volume - default: 'centos-binary-sahara-api:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -48,6 +46,7 @@ resources: type: ../../puppet/services/sahara-api.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} @@ -68,10 +67,7 @@ outputs: config_volume: sahara puppet_tags: sahara_api_paste_ini,sahara_cluster_template,sahara_config,sahara_node_group_template step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerSaharaConfigImage} ] + config_image: {get_param: DockerSaharaConfigImage} kolla_config: /var/lib/kolla/config_files/sahara-api.json: command: /usr/bin/sahara-api --config-file /etc/sahara/sahara.conf @@ -90,10 +86,7 @@ outputs: docker_config: step_3: sahara_db_sync: - image: &sahara_api_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerSaharaApiImage} ] + image: &sahara_api_image {get_param: DockerSaharaApiImage} net: host privileged: false detach: false diff --git a/docker/services/sahara-engine.yaml b/docker/services/sahara-engine.yaml index 1b11ab7d..01d4bb9c 100644 --- a/docker/services/sahara-engine.yaml +++ b/docker/services/sahara-engine.yaml @@ -4,23 +4,21 @@ description: > OpenStack Sahara service configured with Puppet parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerSaharaEngineImage: description: image - default: 'centos-binary-sahara-engine:latest' type: string DockerSaharaConfigImage: description: The container image to use for the sahara config_volume - default: 'centos-binary-sahara-api:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -48,6 +46,7 @@ resources: type: ../../puppet/services/sahara-engine.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} @@ -68,10 +67,7 @@ outputs: config_volume: sahara puppet_tags: sahara_engine_paste_ini,sahara_cluster_template,sahara_config,sahara_node_group_template step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerSaharaConfigImage} ] + config_image: {get_param: DockerSaharaConfigImage} kolla_config: /var/lib/kolla/config_files/sahara-engine.json: command: /usr/bin/sahara-engine --config-file /etc/sahara/sahara.conf @@ -90,10 +86,7 @@ outputs: docker_config: step_4: sahara_engine: - image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerSaharaEngineImage} ] + image: {get_param: DockerSaharaEngineImage} net: host privileged: false restart: always diff --git a/docker/services/sensu-client.yaml b/docker/services/sensu-client.yaml index 1d1eae3d..b64231cd 100644 --- a/docker/services/sensu-client.yaml +++ b/docker/services/sensu-client.yaml @@ -4,23 +4,21 @@ description: > Containerized Sensu client service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerSensuClientImage: description: image - default: 'centos-binary-sensu-client:latest' type: string DockerSensuConfigImage: description: The container image to use for the sensu config_volume - default: 'centos-binary-sensu-client:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -75,6 +73,7 @@ resources: type: ../../puppet/services/monitoring/sensu-client.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} @@ -102,10 +101,7 @@ outputs: config_volume: sensu puppet_tags: sensu_rabbitmq_config,sensu_client_config,sensu_check_config,sensu_check step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerSensuConfigImage} ] + config_image: {get_param: DockerSensuConfigImage} kolla_config: /var/lib/kolla/config_files/sensu-client.json: command: /usr/bin/sensu-client -d /etc/sensu/conf.d/ -l /var/log/sensu/sensu-client.log @@ -121,10 +117,7 @@ outputs: docker_config: step_3: sensu_client: - image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerSensuClientImage} ] + image: {get_param: DockerSensuClientImage} net: host privileged: true # NOTE(mmagr) kolla image changes the user to 'sensu', we need it diff --git a/docker/services/swift-proxy.yaml b/docker/services/swift-proxy.yaml index 77538969..374db250 100644 --- a/docker/services/swift-proxy.yaml +++ b/docker/services/swift-proxy.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized swift proxy service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerSwiftProxyImage: description: image - default: 'centos-binary-swift-proxy-server:latest' type: string DockerSwiftConfigImage: description: The container image to use for the swift config_volume - default: 'centos-binary-swift-proxy-server:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -55,6 +53,7 @@ resources: type: ../../puppet/services/swift-proxy.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -74,10 +73,7 @@ outputs: config_volume: swift puppet_tags: swift_proxy_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerSwiftConfigImage} ] + config_image: {get_param: DockerSwiftConfigImage} kolla_config: /var/lib/kolla/config_files/swift_proxy.json: command: /usr/bin/swift-proxy-server /etc/swift/proxy-server.conf @@ -101,10 +97,7 @@ outputs: step_4: map_merge: - swift_proxy: - image: &swift_proxy_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerSwiftProxyImage} ] + image: &swift_proxy_image {get_param: DockerSwiftProxyImage} net: host user: swift restart: always diff --git a/docker/services/swift-ringbuilder.yaml b/docker/services/swift-ringbuilder.yaml index 00a772d6..e4e2c7d2 100644 --- a/docker/services/swift-ringbuilder.yaml +++ b/docker/services/swift-ringbuilder.yaml @@ -4,14 +4,13 @@ description: > OpenStack Swift Ringbuilder parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerSwiftConfigImage: description: The container image to use for the swift config_volume - default: 'centos-binary-swift-proxy-server:latest' type: string + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -73,6 +72,7 @@ resources: type: ../../puppet/services/swift-ringbuilder.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -95,9 +95,6 @@ outputs: config_volume: 'swift' puppet_tags: exec,fetch_swift_ring_tarball,extract_swift_ring_tarball,ring_object_device,swift::ringbuilder::create,tripleo::profile::base::swift::add_devices,swift::ringbuilder::rebalance,create_swift_ring_tarball,upload_swift_ring_tarball step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerSwiftConfigImage} ] + config_image: {get_param: DockerSwiftConfigImage} kolla_config: {} docker_config: {} diff --git a/docker/services/swift-storage.yaml b/docker/services/swift-storage.yaml index a07c92ae..04e58b4a 100644 --- a/docker/services/swift-storage.yaml +++ b/docker/services/swift-storage.yaml @@ -4,25 +4,17 @@ description: > OpenStack containerized Swift Storage services. parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerSwiftProxyImage: description: image - default: 'centos-binary-swift-proxy-server:latest' type: string DockerSwiftAccountImage: description: image - default: 'centos-binary-swift-account:latest' type: string DockerSwiftContainerImage: description: image - default: 'centos-binary-swift-container:latest' type: string DockerSwiftObjectImage: description: image - default: 'centos-binary-swift-object:latest' type: string DockerSwiftConfigImage: description: The container image to use for the swift config_volume @@ -44,6 +36,10 @@ parameters: default: {} description: Parameters specific to the role type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -65,6 +61,7 @@ resources: type: ../../puppet/services/swift-storage.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -88,10 +85,7 @@ outputs: config_volume: swift puppet_tags: swift_config,swift_container_config,swift_container_sync_realms_config,swift_account_config,swift_object_config,swift_object_expirer_config,rsync::server step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerSwiftConfigImage} ] + config_image: {get_param: DockerSwiftConfigImage} kolla_config: /var/lib/kolla/config_files/swift_account_auditor.json: command: /usr/bin/swift-account-auditor /etc/swift/account-server.conf @@ -201,10 +195,7 @@ outputs: # volume during the configuration stage. We just need to create this # directory and make sure it's owned by swift. swift_setup_srv: - image: &swift_account_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerSwiftAccountImage} ] + image: &swift_account_image {get_param: DockerSwiftAccountImage} user: root command: ['chown', '-R', 'swift:', '/srv/node'] volumes: @@ -276,10 +267,7 @@ outputs: - /var/log/containers/swift:/var/log/swift environment: *kolla_env swift_container_auditor: - image: &swift_container_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerSwiftContainerImage} ] + image: &swift_container_image {get_param: DockerSwiftContainerImage} net: host user: swift restart: always @@ -343,10 +331,7 @@ outputs: - /var/log/containers/swift:/var/log/swift environment: *kolla_env swift_object_auditor: - image: &swift_object_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerSwiftObjectImage} ] + image: &swift_object_image {get_param: DockerSwiftObjectImage} net: host user: swift restart: always @@ -362,10 +347,7 @@ outputs: - /var/log/containers/swift:/var/log/swift environment: *kolla_env swift_object_expirer: - image: &swift_proxy_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerSwiftProxyImage} ] + image: &swift_proxy_image {get_param: DockerSwiftProxyImage} net: host user: swift restart: always diff --git a/docker/services/tacker.yaml b/docker/services/tacker.yaml index 793a1743..cdcb4d2a 100644 --- a/docker/services/tacker.yaml +++ b/docker/services/tacker.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Tacker service parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerTackerImage: description: image - default: 'centos-binary-tacker:latest' type: string DockerTackerConfigImage: description: The container image to use for the tacker config_volume - default: 'centos-binary-tacker:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -48,6 +46,7 @@ resources: type: ../../puppet/services/tacker.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -69,10 +68,7 @@ outputs: config_volume: tacker puppet_tags: tacker_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerTackerConfigImage} ] + config_image: {get_param: DockerTackerConfigImage} kolla_config: /var/lib/kolla/config_files/tacker_api.json: command: /usr/bin/tacker-server --config-file=/etc/tacker/tacker.conf --log-file=/var/log/tacker/api.log @@ -89,10 +85,7 @@ outputs: # db sync runs before permissions set by kolla_config step_2: tacker_init_logs: - image: &tacker_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerTackerImage} ] + image: &tacker_image {get_param: DockerTackerImage} privileged: false user: root volumes: diff --git a/docker/services/zaqar.yaml b/docker/services/zaqar.yaml index ea1fd768..85a84550 100644 --- a/docker/services/zaqar.yaml +++ b/docker/services/zaqar.yaml @@ -4,23 +4,21 @@ description: > OpenStack containerized Zaqar services parameters: - DockerNamespace: - description: namespace - default: 'tripleoupstream' - type: string DockerZaqarImage: description: image - default: 'centos-binary-zaqar:latest' type: string DockerZaqarConfigImage: description: The container image to use for the zaqar config_volume - default: 'centos-binary-zaqar:latest' type: string EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -48,6 +46,7 @@ resources: type: ../../puppet/services/zaqar.yaml properties: EndpointMap: {get_param: EndpointMap} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} RoleName: {get_param: RoleName} @@ -67,10 +66,7 @@ outputs: config_volume: zaqar puppet_tags: zaqar_config step_config: *step_config - config_image: - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerZaqarConfigImage} ] + config_image: {get_param: DockerZaqarConfigImage} kolla_config: /var/lib/kolla/config_files/zaqar.json: command: /usr/sbin/httpd -DFOREGROUND @@ -93,10 +89,7 @@ outputs: docker_config: step_4: zaqar: - image: &zaqar_image - list_join: - - '/' - - [ {get_param: DockerNamespace}, {get_param: DockerZaqarImage} ] + image: &zaqar_image {get_param: DockerZaqarImage} net: host privileged: false restart: always diff --git a/environments/docker-centos-tripleoupstream.yaml b/environments/docker-centos-tripleoupstream.yaml index 9eb45363..47f8e528 100644 --- a/environments/docker-centos-tripleoupstream.yaml +++ b/environments/docker-centos-tripleoupstream.yaml @@ -1,116 +1,125 @@ -parameter_defaults: - # FIXME: Remove this when we uncomment at least one parameter in this file. - # It seems an environment file with empty parameter_defaults section has the - # potential to confuse Heat in a way that it doesn't deploy a single service - # on the overcloud in the multinode job. - # https://bugs.launchpad.net/tripleo/+bug/1703599 - PlaceholderParameter: can be removed when we add a different param to this env file +# Generated with the following on 2017-07-12T11:40:50.219622 +# +# overcloud container image prepare --env-file environments/docker-centos-tripleoupstream.yaml +# - #DockerAodhApiImage: 'tripleoupstream/centos-binary-aodh-api:latest' - #DockerAodhConfigImage: 'tripleoupstream/centos-binary-aodh-api:latest' - #DockerAodhEvaluatorImage: 'tripleoupstream/centos-binary-aodh-evaluator:latest' - #DockerAodhListenerImage: 'tripleoupstream/centos-binary-aodh-listener:latest' - #DockerAodhNotifierImage: 'tripleoupstream/centos-binary-aodh-notifier:latest' - #DockerCeilometerCentralImage: 'tripleoupstream/centos-binary-ceilometer-central:latest' - #DockerCeilometerComputeImage: 'tripleoupstream/centos-binary-ceilometer-compute:latest' - #DockerCeilometerConfigImage: 'tripleoupstream/centos-binary-ceilometer-central:latest' - #DockerCeilometerIpmiImage: 'tripleoupstream/centos-binary-ceilometer-ipmi:latest' - #DockerCeilometerNotificationImage: 'tripleoupstream/centos-binary-ceilometer-notification:latest' - #DockerCinderApiImage: 'tripleoupstream/centos-binary-cinder-api:latest' - #DockerCinderBackupImage: 'tripleoupstream/centos-binary-cinder-backup:latest' - #DockerCinderConfigImage: 'tripleoupstream/centos-binary-cinder-api:latest' - #DockerCinderSchedulerImage: 'tripleoupstream/centos-binary-cinder-scheduler:latest' - #DockerCinderVolumeImage: 'tripleoupstream/centos-binary-cinder-volume:latest' - #DockerClustercheckConfigImage: 'tripleoupstream/centos-binary-mariadb:latest' - #DockerClustercheckImage: 'tripleoupstream/centos-binary-mariadb:latest' - #DockerCollectdConfigImage: 'tripleoupstream/centos-binary-collectd:latest' - #DockerCollectdImage: 'tripleoupstream/centos-binary-collectd:latest' - #DockerCongressApiImage: 'tripleoupstream/centos-binary-congress-api:latest' - #DockerCongressConfigImage: 'tripleoupstream/centos-binary-congress-api:latest' - #DockerEc2ApiConfigImage: 'tripleoupstream/centos-binary-ec2-api:latest' - #DockerEc2ApiImage: 'tripleoupstream/centos-binary-ec2-api:latest' - #DockerEtcdConfigImage: 'tripleoupstream/centos-binary-etcd:latest' - #DockerEtcdImage: 'tripleoupstream/centos-binary-etcd:latest' - #DockerGlanceApiConfigImage: 'tripleoupstream/centos-binary-glance-api:latest' - #DockerGlanceApiImage: 'tripleoupstream/centos-binary-glance-api:latest' - #DockerGnocchiApiImage: 'tripleoupstream/centos-binary-gnocchi-api:latest' - #DockerGnocchiConfigImage: 'tripleoupstream/centos-binary-gnocchi-api:latest' - #DockerGnocchiMetricdImage: 'tripleoupstream/centos-binary-gnocchi-metricd:latest' - #DockerGnocchiStatsdImage: 'tripleoupstream/centos-binary-gnocchi-statsd:latest' - #DockerHAProxyConfigImage: 'tripleoupstream/centos-binary-haproxy:latest' - #DockerHAProxyImage: 'tripleoupstream/centos-binary-haproxy:latest' - #DockerHeatApiCfnConfigImage: 'tripleoupstream/centos-binary-heat-api-cfn:latest' - #DockerHeatApiCfnImage: 'tripleoupstream/centos-binary-heat-api-cfn:latest' - #DockerHeatApiConfigImage: 'tripleoupstream/centos-binary-heat-api:latest' - #DockerHeatApiImage: 'tripleoupstream/centos-binary-heat-api:latest' - #DockerHeatConfigImage: 'tripleoupstream/centos-binary-heat-api:latest' - #DockerHeatEngineImage: 'tripleoupstream/centos-binary-heat-engine:latest' - #DockerHorizonConfigImage: 'tripleoupstream/centos-binary-horizon:latest' - #DockerHorizonImage: 'tripleoupstream/centos-binary-horizon:latest' - #DockerIronicApiImage: 'tripleoupstream/centos-binary-ironic-api:latest' - #DockerIronicConductorImage: 'tripleoupstream/centos-binary-ironic-conductor:latest' - #DockerIronicConfigImage: 'tripleoupstream/centos-binary-ironic-pxe:latest' - #DockerIronicPxeImage: 'tripleoupstream/centos-binary-ironic-pxe:latest' - #DockerIscsidConfigImage: 'tripleoupstream/centos-binary-iscsid:latest' - #DockerIscsidImage: 'tripleoupstream/centos-binary-iscsid:latest' - #DockerKeystoneConfigImage: 'tripleoupstream/centos-binary-keystone:latest' - #DockerKeystoneImage: 'tripleoupstream/centos-binary-keystone:latest' - #DockerManilaApiImage: 'tripleoupstream/centos-binary-manila-api:latest' - #DockerManilaConfigImage: 'tripleoupstream/centos-binary-manila-api:latest' - #DockerManilaSchedulerImage: 'tripleoupstream/centos-binary-manila-scheduler:latest' - #DockerMemcachedConfigImage: 'tripleoupstream/centos-binary-memcached:latest' - #DockerMemcachedImage: 'tripleoupstream/centos-binary-memcached:latest' - #DockerMistralApiImage: 'tripleoupstream/centos-binary-mistral-api:latest' - #DockerMistralConfigImage: 'tripleoupstream/centos-binary-mistral-api:latest' - #DockerMistralEngineImage: 'tripleoupstream/centos-binary-mistral-engine:latest' - #DockerMistralExecutorImage: 'tripleoupstream/centos-binary-mistral-executor:latest' - #DockerMongodbConfigImage: 'tripleoupstream/centos-binary-mongodb:latest' - #DockerMongodbImage: 'tripleoupstream/centos-binary-mongodb:latest' - #DockerMultipathdConfigImage: 'tripleoupstream/centos-binary-multipathd:latest' - #DockerMultipathdImage: 'tripleoupstream/centos-binary-multipathd:latest' - #DockerMysqlClientConfigImage: 'tripleoupstream/centos-binary-mariadb:latest' - #DockerMysqlConfigImage: 'tripleoupstream/centos-binary-mariadb:latest' - #DockerMysqlImage: 'tripleoupstream/centos-binary-mariadb:latest' - #DockerNeutronApiImage: 'tripleoupstream/centos-binary-neutron-server:latest' - #DockerNeutronConfigImage: 'tripleoupstream/centos-binary-neutron-server:latest' - #DockerNeutronDHCPImage: 'tripleoupstream/centos-binary-neutron-dhcp-agent:latest' - #DockerNeutronL3AgentImage: 'tripleoupstream/centos-binary-neutron-l3-agent:latest' - #DockerNeutronMetadataImage: 'tripleoupstream/centos-binary-neutron-metadata-agent:latest' - #DockerNovaApiImage: 'tripleoupstream/centos-binary-nova-api:latest' - #DockerNovaComputeImage: 'tripleoupstream/centos-binary-nova-compute:latest' - #DockerNovaComputeIronicImage: 'tripleoupstream/centos-binary-nova-compute-ironic:latest' - #DockerNovaConductorImage: 'tripleoupstream/centos-binary-nova-conductor:latest' - #DockerNovaConfigImage: 'tripleoupstream/centos-binary-nova-base:latest' - #DockerNovaConsoleauthImage: 'tripleoupstream/centos-binary-nova-consoleauth:latest' - #DockerNovaLibvirtConfigImage: 'tripleoupstream/centos-binary-nova-compute:latest' - #DockerNovaLibvirtImage: 'tripleoupstream/centos-binary-nova-libvirt:latest' - #DockerNovaPlacementConfigImage: 'tripleoupstream/centos-binary-nova-placement-api:latest' - #DockerNovaPlacementImage: 'tripleoupstream/centos-binary-nova-placement-api:latest' - #DockerNovaSchedulerImage: 'tripleoupstream/centos-binary-nova-scheduler:latest' - #DockerNovaVncProxyImage: 'tripleoupstream/centos-binary-nova-novncproxy:latest' - #DockerOctaviaApiImage: 'tripleoupstream/centos-binary-octavia-api:latest' - #DockerOctaviaConfigImage: 'tripleoupstream/centos-binary-octavia-api:latest' - #DockerOctaviaHealthManagerImage: 'tripleoupstream/centos-binary-octavia-health-manager:latest' - #DockerOctaviaHousekeepingImage: 'tripleoupstream/centos-binary-octavia-housekeeping:latest' - #DockerOctaviaWorkerImage: 'tripleoupstream/centos-binary-octavia-worker:latest' - #DockerOpenvswitchImage: 'tripleoupstream/centos-binary-neutron-openvswitch-agent:latest' - #DockerPankoApiImage: 'tripleoupstream/centos-binary-panko-api:latest' - #DockerPankoConfigImage: 'tripleoupstream/centos-binary-panko-api:latest' - #DockerRabbitmqConfigImage: 'tripleoupstream/centos-binary-rabbitmq:latest' - #DockerRabbitmqImage: 'tripleoupstream/centos-binary-rabbitmq:latest' - #DockerRedisConfigImage: 'tripleoupstream/centos-binary-redis:latest' - #DockerRedisImage: 'tripleoupstream/centos-binary-redis:latest' - #DockerSaharaApiImage: 'tripleoupstream/centos-binary-sahara-api:latest' - #DockerSaharaConfigImage: 'tripleoupstream/centos-binary-sahara-api:latest' - #DockerSaharaEngineImage: 'tripleoupstream/centos-binary-sahara-engine:latest' - #DockerSensuClientImage: 'tripleoupstream/centos-binary-sensu-client:latest' - #DockerSensuConfigImage: 'tripleoupstream/centos-binary-sensu-client:latest' - #DockerSwiftAccountImage: 'tripleoupstream/centos-binary-swift-account:latest' - #DockerSwiftConfigImage: 'tripleoupstream/centos-binary-swift-proxy-server:latest' - #DockerSwiftContainerImage: 'tripleoupstream/centos-binary-swift-container:latest' - #DockerSwiftObjectImage: 'tripleoupstream/centos-binary-swift-object:latest' - #DockerSwiftProxyImage: 'tripleoupstream/centos-binary-swift-proxy-server:latest' - #DockerTackerConfigImage: 'tripleoupstream/centos-binary-tacker:latest' - #DockerTackerImage: 'tripleoupstream/centos-binary-tacker:latest' - #DockerZaqarConfigImage: 'tripleoupstream/centos-binary-zaqar:latest' - #DockerZaqarImage: 'tripleoupstream/centos-binary-zaqar:latest' +parameter_defaults: + DockerAodhApiImage: tripleoupstream/centos-binary-aodh-api:latest + DockerAodhConfigImage: tripleoupstream/centos-binary-aodh-api:latest + DockerAodhEvaluatorImage: tripleoupstream/centos-binary-aodh-evaluator:latest + DockerAodhListenerImage: tripleoupstream/centos-binary-aodh-listener:latest + DockerAodhNotifierImage: tripleoupstream/centos-binary-aodh-notifier:latest + DockerCeilometerCentralImage: tripleoupstream/centos-binary-ceilometer-central:latest + DockerCeilometerComputeImage: tripleoupstream/centos-binary-ceilometer-compute:latest + DockerCeilometerConfigImage: tripleoupstream/centos-binary-ceilometer-central:latest + DockerCeilometerIpmiImage: tripleoupstream/centos-binary-ceilometer-ipmi:latest + DockerCeilometerNotificationImage: tripleoupstream/centos-binary-ceilometer-notification:latest + DockerCinderApiImage: tripleoupstream/centos-binary-cinder-api:latest + DockerCinderBackupImage: tripleoupstream/centos-binary-cinder-backup:latest + DockerCinderConfigImage: tripleoupstream/centos-binary-cinder-api:latest + DockerCinderSchedulerImage: tripleoupstream/centos-binary-cinder-scheduler:latest + DockerCinderVolumeImage: tripleoupstream/centos-binary-cinder-volume:latest + DockerClustercheckConfigImage: tripleoupstream/centos-binary-mariadb:latest + DockerClustercheckImage: tripleoupstream/centos-binary-mariadb:latest + DockerCollectdConfigImage: tripleoupstream/centos-binary-collectd:latest + DockerCollectdImage: tripleoupstream/centos-binary-collectd:latest + DockerCongressApiImage: tripleoupstream/centos-binary-congress-api:latest + DockerCongressConfigImage: tripleoupstream/centos-binary-congress-api:latest + DockerEc2ApiConfigImage: tripleoupstream/centos-binary-ec2-api:latest + DockerEc2ApiImage: tripleoupstream/centos-binary-ec2-api:latest + DockerEtcdConfigImage: tripleoupstream/centos-binary-etcd:latest + DockerEtcdImage: tripleoupstream/centos-binary-etcd:latest + DockerGlanceApiConfigImage: tripleoupstream/centos-binary-glance-api:latest + DockerGlanceApiImage: tripleoupstream/centos-binary-glance-api:latest + DockerGnocchiApiImage: tripleoupstream/centos-binary-gnocchi-api:latest + DockerGnocchiConfigImage: tripleoupstream/centos-binary-gnocchi-api:latest + DockerGnocchiMetricdImage: tripleoupstream/centos-binary-gnocchi-metricd:latest + DockerGnocchiStatsdImage: tripleoupstream/centos-binary-gnocchi-statsd:latest + DockerHAProxyConfigImage: tripleoupstream/centos-binary-haproxy:latest + DockerHAProxyImage: tripleoupstream/centos-binary-haproxy:latest + DockerHeatApiCfnConfigImage: tripleoupstream/centos-binary-heat-api-cfn:latest + DockerHeatApiCfnImage: tripleoupstream/centos-binary-heat-api-cfn:latest + DockerHeatApiConfigImage: tripleoupstream/centos-binary-heat-api:latest + DockerHeatApiImage: tripleoupstream/centos-binary-heat-api:latest + DockerHeatConfigImage: tripleoupstream/centos-binary-heat-api:latest + DockerHeatEngineImage: tripleoupstream/centos-binary-heat-engine:latest + DockerHorizonConfigImage: tripleoupstream/centos-binary-horizon:latest + DockerHorizonImage: tripleoupstream/centos-binary-horizon:latest + DockerIronicApiImage: tripleoupstream/centos-binary-ironic-api:latest + DockerIronicApiConfigImage: tripleoupstream/centos-binary-ironic-api:latest + DockerIronicConductorImage: tripleoupstream/centos-binary-ironic-conductor:latest + DockerIronicConfigImage: tripleoupstream/centos-binary-ironic-pxe:latest + DockerIronicInspectorConfigImage: tripleoupstream/centos-binary-ironic-inspector:latest + DockerIronicInspectorImage: tripleoupstream/centos-binary-ironic-inspector:latest + DockerIronicPxeImage: tripleoupstream/centos-binary-ironic-pxe:latest + DockerIscsidConfigImage: tripleoupstream/centos-binary-iscsid:latest + DockerIscsidImage: tripleoupstream/centos-binary-iscsid:latest + DockerKeystoneConfigImage: tripleoupstream/centos-binary-keystone:latest + DockerKeystoneImage: tripleoupstream/centos-binary-keystone:latest + DockerManilaApiImage: tripleoupstream/centos-binary-manila-api:latest + DockerManilaConfigImage: tripleoupstream/centos-binary-manila-api:latest + DockerManilaSchedulerImage: tripleoupstream/centos-binary-manila-scheduler:latest + DockerManilaShareImage: tripleoupstream/centos-binary-manila-share:latest + DockerMemcachedConfigImage: tripleoupstream/centos-binary-memcached:latest + DockerMemcachedImage: tripleoupstream/centos-binary-memcached:latest + DockerMistralApiImage: tripleoupstream/centos-binary-mistral-api:latest + DockerMistralConfigImage: tripleoupstream/centos-binary-mistral-api:latest + DockerMistralEngineImage: tripleoupstream/centos-binary-mistral-engine:latest + DockerMistralExecutorImage: tripleoupstream/centos-binary-mistral-executor:latest + DockerMongodbConfigImage: tripleoupstream/centos-binary-mongodb:latest + DockerMongodbImage: tripleoupstream/centos-binary-mongodb:latest + DockerMultipathdConfigImage: tripleoupstream/centos-binary-multipathd:latest + DockerMultipathdImage: tripleoupstream/centos-binary-multipathd:latest + DockerMysqlClientConfigImage: tripleoupstream/centos-binary-mariadb:latest + DockerMysqlConfigImage: tripleoupstream/centos-binary-mariadb:latest + DockerMysqlImage: tripleoupstream/centos-binary-mariadb:latest + DockerNeutronApiImage: tripleoupstream/centos-binary-neutron-server:latest + DockerNeutronConfigImage: tripleoupstream/centos-binary-neutron-server:latest + DockerNeutronDHCPImage: tripleoupstream/centos-binary-neutron-dhcp-agent:latest + DockerNeutronL3AgentImage: tripleoupstream/centos-binary-neutron-l3-agent:latest + DockerNeutronMetadataImage: tripleoupstream/centos-binary-neutron-metadata-agent:latest + DockerNovaApiImage: tripleoupstream/centos-binary-nova-api:latest + DockerNovaComputeImage: tripleoupstream/centos-binary-nova-compute:latest + DockerNovaComputeIronicImage: tripleoupstream/centos-binary-nova-compute-ironic:latest + DockerNovaConductorImage: tripleoupstream/centos-binary-nova-conductor:latest + DockerNovaConfigImage: tripleoupstream/centos-binary-nova-base:latest + DockerNovaConsoleauthImage: tripleoupstream/centos-binary-nova-consoleauth:latest + DockerNovaLibvirtConfigImage: tripleoupstream/centos-binary-nova-compute:latest + DockerNovaLibvirtImage: tripleoupstream/centos-binary-nova-libvirt:latest + DockerNovaPlacementConfigImage: tripleoupstream/centos-binary-nova-placement-api:latest + DockerNovaPlacementImage: tripleoupstream/centos-binary-nova-placement-api:latest + DockerNovaSchedulerImage: tripleoupstream/centos-binary-nova-scheduler:latest + DockerNovaVncProxyImage: tripleoupstream/centos-binary-nova-novncproxy:latest + DockerOVNControllerConfigImage: tripleoupstream/centos-binary-ovn-controller:latest + DockerOVNControllerImage: tripleoupstream/centos-binary-ovn-controller:latest + DockerOVNNbDbImage: tripleoupstream/centos-binary-ovn-nb-db-server:latest + DockerOVNNorthdImage: tripleoupstream/centos-binary-ovn-northd:latest + DockerOVNSbDbImage: tripleoupstream/centos-binary-ovn-sb-db-server:latest + DockerOctaviaApiImage: tripleoupstream/centos-binary-octavia-api:latest + DockerOctaviaConfigImage: tripleoupstream/centos-binary-octavia-api:latest + DockerOctaviaHealthManagerImage: tripleoupstream/centos-binary-octavia-health-manager:latest + DockerOctaviaHousekeepingImage: tripleoupstream/centos-binary-octavia-housekeeping:latest + DockerOctaviaWorkerImage: tripleoupstream/centos-binary-octavia-worker:latest + DockerOpendaylightApiImage: tripleoupstream/centos-binary-opendaylight:latest + DockerOpendaylightConfigImage: tripleoupstream/centos-binary-opendaylight:latest + DockerOpenvswitchImage: tripleoupstream/centos-binary-neutron-openvswitch-agent:latest + DockerPankoApiImage: tripleoupstream/centos-binary-panko-api:latest + DockerPankoConfigImage: tripleoupstream/centos-binary-panko-api:latest + DockerRabbitmqConfigImage: tripleoupstream/centos-binary-rabbitmq:latest + DockerRabbitmqImage: tripleoupstream/centos-binary-rabbitmq:latest + DockerRedisConfigImage: tripleoupstream/centos-binary-redis:latest + DockerRedisImage: tripleoupstream/centos-binary-redis:latest + DockerSaharaApiImage: tripleoupstream/centos-binary-sahara-api:latest + DockerSaharaConfigImage: tripleoupstream/centos-binary-sahara-api:latest + DockerSaharaEngineImage: tripleoupstream/centos-binary-sahara-engine:latest + DockerSensuClientImage: tripleoupstream/centos-binary-sensu-client:latest + DockerSensuConfigImage: tripleoupstream/centos-binary-sensu-client:latest + DockerSwiftAccountImage: tripleoupstream/centos-binary-swift-account:latest + DockerSwiftConfigImage: tripleoupstream/centos-binary-swift-proxy-server:latest + DockerSwiftContainerImage: tripleoupstream/centos-binary-swift-container:latest + DockerSwiftObjectImage: tripleoupstream/centos-binary-swift-object:latest + DockerSwiftProxyImage: tripleoupstream/centos-binary-swift-proxy-server:latest + DockerTackerConfigImage: tripleoupstream/centos-binary-tacker:latest + DockerTackerImage: tripleoupstream/centos-binary-tacker:latest + DockerZaqarConfigImage: tripleoupstream/centos-binary-zaqar:latest + DockerZaqarImage: tripleoupstream/centos-binary-zaqar:latest diff --git a/environments/host-config-and-reboot.j2.yaml b/environments/host-config-and-reboot.j2.yaml index d5f69ec5..c16627db 100644 --- a/environments/host-config-and-reboot.j2.yaml +++ b/environments/host-config-and-reboot.j2.yaml @@ -11,8 +11,8 @@ resource_registry: #ComputeParameters: #KernelArgs: "" #TunedProfileName: "" - #HostIsolatedCoreList: "" + #IsolCpusList: "" #ComputeOvsDpdkParameters: - #KernelArgs: "" - #TunedProfileName: "" - #HostIsolatedCoreList: "" + #KernelArgs: "intel_iommu=on iommu=pt default_hugepagesz=1GB hugepagesz=1G hugepages=60" + #TunedProfileName: "cpu-partitioning" + #IsolCpusList: "" diff --git a/environments/neutron-opendaylight-dpdk.yaml b/environments/neutron-opendaylight-dpdk.yaml index 9ee4eb7e..d675252d 100644 --- a/environments/neutron-opendaylight-dpdk.yaml +++ b/environments/neutron-opendaylight-dpdk.yaml @@ -12,15 +12,23 @@ parameter_defaults: NeutronMechanismDrivers: 'opendaylight_v2' NeutronServicePlugins: 'odl-router_v2' NovaSchedulerDefaultFilters: "RamFilter,ComputeFilter,AvailabilityZoneFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,NUMATopologyFilter" - ## Deploying DPDK requires enabling hugepages for the overcloud compute nodes. - ## It also requires enabling IOMMU when using the VFIO (vfio-pci) OvsDpdkDriverType. - ## This can be done using ComputeKernelArgs as shown below. - ComputeParameters: - #ComputeKernelArgs: "intel_iommu=on default_hugepagesz=2MB hugepagesz=2MB hugepages=2048" + + ComputeOvsDpdkParameters: + OvsEnableDpdk: True + + ## Host configuration Parameters + #TunedProfileName: "cpu-partitioning" + #IsolCpusList: "" # Logical CPUs list to be isolated from the host process (applied via cpu-partitioning tuned). + # It is mandatory to provide isolated cpus for tuned to achive optimal performance. + # Example: "3-8,12-15,18" + #KernelArgs: "" # Space separated kernel args to configure hugepage and IOMMU. + # Deploying DPDK requires enabling hugepages for the overcloud compute nodes. + # It also requires enabling IOMMU when using the VFIO (vfio-pci) OvsDpdkDriverType. + # This should be done by configuring parameters via host-config-and-reboot.yaml environment file. + ## Attempting to deploy DPDK without appropriate values for the below parameters may lead to unstable deployments ## due to CPU contention of DPDK PMD threads. - OvsEnableDpdk: True - ## It is highly recommended to to enable isolcpus (via ComputeKernelArgs) on compute overcloud nodes and set the following parameters: + ## It is highly recommended to to enable isolcpus (via KernelArgs) on compute overcloud nodes and set the following parameters: #OvsDpdkSocketMemory: "" # Sets the amount of hugepage memory to assign per NUMA node. # It is recommended to use the socket closest to the PCIe slot used for the # desired DPDK NIC. Format should be comma separated per socket string such as: diff --git a/environments/neutron-ovs-dpdk.yaml b/environments/neutron-ovs-dpdk.yaml index ecfd0fea..029a198e 100644 --- a/environments/neutron-ovs-dpdk.yaml +++ b/environments/neutron-ovs-dpdk.yaml @@ -1,25 +1,32 @@ # A Heat environment that can be used to deploy DPDK with OVS # Deploying DPDK requires enabling hugepages for the overcloud nodes resource_registry: - OS::TripleO::Services::ComputeNeutronOvsAgent: ../puppet/services/neutron-ovs-dpdk-agent.yaml + OS::TripleO::Services::ComputeNeutronOvsDpdk: ../puppet/services/neutron-ovs-dpdk-agent.yaml parameter_defaults: NeutronDatapathType: "netdev" NeutronVhostuserSocketDir: "/var/lib/vhost_sockets" NovaSchedulerDefaultFilters: "RamFilter,ComputeFilter,AvailabilityZoneFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,NUMATopologyFilter" - ## Deploying DPDK requires enabling hugepages for the overcloud compute nodes. - ## It also requires enabling IOMMU when using the VFIO (vfio-pci) OvsDpdkDriverType. - ## This can be done using ComputeKernelArgs as shown below. - #ComputeParameters: - #ComputeKernelArgs: "intel_iommu=on default_hugepagesz=2MB hugepagesz=2MB hugepages=2048" + OvsDpdkDriverType: "vfio-pci" + + #ComputeOvsDpdkParameters: + ## Host configuration Parameters + #TunedProfileName: "cpu-partitioning" + #IsolCpusList: "" # Logical CPUs list to be isolated from the host process (applied via cpu-partitioning tuned). + # It is mandatory to provide isolated cpus for tuned to achive optimal performance. + # Example: "3-8,12-15,18" + #KernelArgs: "" # Space separated kernel args to configure hugepage and IOMMU. + # Deploying DPDK requires enabling hugepages for the overcloud compute nodes. + # It also requires enabling IOMMU when using the VFIO (vfio-pci) OvsDpdkDriverType. + # This should be done by configuring parameters via host-config-and-reboot.yaml environment file. + ## Attempting to deploy DPDK without appropriate values for the below parameters may lead to unstable deployments ## due to CPU contention of DPDK PMD threads. - ## It is highly recommended to to enable isolcpus (via ComputeKernelArgs) on compute overcloud nodes and set the following parameters: + ## It is highly recommended to to enable isolcpus (via KernelArgs) on compute overcloud nodes and set the following parameters: #OvsDpdkSocketMemory: "" # Sets the amount of hugepage memory to assign per NUMA node. # It is recommended to use the socket closest to the PCIe slot used for the # desired DPDK NIC. Format should be comma separated per socket string such as: # "<socket 0 mem MB>,<socket 1 mem MB>", for example: "1024,0". - #OvsDpdkDriverType: "vfio-pci" # Ensure the Overcloud NIC to be used for DPDK supports this UIO/PMD driver. #OvsPmdCoreList: "" # List or range of CPU cores for PMD threads to be pinned to. Note, NIC # location to cores on socket, number of hyper-threaded logical cores, and # desired number of PMD threads can all play a role in configuring this setting. diff --git a/environments/services/neutron-lbaasv2.yaml b/environments/services/neutron-lbaasv2.yaml index 9dee74ea..385bb2fe 100644 --- a/environments/services/neutron-lbaasv2.yaml +++ b/environments/services/neutron-lbaasv2.yaml @@ -8,10 +8,11 @@ # - OVS: neutron.agent.linux.interface.OVSInterfaceDriver # - LinuxBridges: neutron.agent.linux.interface.BridgeInterfaceDriver resource_registry: - OS::TripleO::Services::NeutronLbaas: ../puppet/services/neutron-lbaas.yaml + OS::TripleO::Services::NeutronLbaasv2Agent: ../puppet/services/neutron-lbaas.yaml parameter_defaults: NeutronLbaasInterfaceDriver: "neutron.agent.linux.interface.OVSInterfaceDriver" - NeutronLbaasDeviceDriver: "neutron.services.loadbalancer.drivers.haproxy.namespace_driver.HaproxyNSDriver" + NeutronLbaasDeviceDriver: "neutron_lbaas.drivers.haproxy.namespace_driver.HaproxyNSDriver" NeutronServiceProviders: ['LOADBALANCERV2:Haproxy:neutron_lbaas.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default'] + NeutronServicePlugins: "qos,router,trunk,lbaasv2" diff --git a/extraconfig/post_deploy/example_run_on_update.yaml b/extraconfig/post_deploy/example_run_on_update.yaml index 346a1d77..4e378b14 100644 --- a/extraconfig/post_deploy/example_run_on_update.yaml +++ b/extraconfig/post_deploy/example_run_on_update.yaml @@ -14,6 +14,9 @@ parameters: # otherwise unchanged DeployIdentifier: type: string + default: '' + description: > + Setting this to a unique value will re-run any deployment tasks which perform configuration on a Heat stack-update. resources: diff --git a/extraconfig/pre_network/host_config_and_reboot.yaml b/extraconfig/pre_network/host_config_and_reboot.yaml index 31d0c1e0..2f5fcdf7 100644 --- a/extraconfig/pre_network/host_config_and_reboot.yaml +++ b/extraconfig/pre_network/host_config_and_reboot.yaml @@ -14,12 +14,6 @@ parameters: ServiceNames: type: comma_delimited_list default: [] - IsolCpusList: - default: "0" - description: List of cores to be isolated by tuned - type: string - constraints: - - allowed_pattern: "[0-9,-]+" OvsEnableDpdk: default: false description: Whether or not to configure enable DPDK in OVS @@ -47,12 +41,6 @@ parameters: mem>, <socket n mem>", where the value is specified in MB. For example: "1024,0". type: string - OvsDpdkDriverType: - default: "vfio-pci" - description: > - DPDK Driver type. Ensure the Overcloud NIC to be used for DPDK supports - this UIO/PMD driver. - type: string OvsPmdCoreList: description: > A list or range of CPU cores for PMD threads to be pinned to. Note, NIC @@ -91,10 +79,6 @@ parameters: default: '' description: Memory allocated for each socket type: string - NeutronDpdkDriverType: - default: "vfio-pci" - description: DPDK Driver type - type: string deployment_actions: default: ['CREATE', 'UPDATE'] type: comma_delimited_list @@ -105,15 +89,13 @@ parameters: conditions: is_host_config_required: {not: {equals: [{get_param: [RoleParameters, KernelArgs]}, ""]}} - # YAQL is enabled in conditions with https://review.openstack.org/#/c/467506/ is_dpdk_config_required: or: - yaql: - expression: $.data.service_names.contains('neutron_ovs_dpdk_agent') - data: - service_names: {get_param: ServiceNames} - - {get_param: OvsEnableDpdk} - - {get_param: [RoleParameters, OvsEnableDpdk]} + expression: $.data.service_names.contains('neutron_ovs_dpdk_agent') + data: + service_names: {get_param: ServiceNames} + - {equals: [{get_param: [RoleParameters, OvsEnableDpdk]}, true]} is_reboot_config_required: or: - is_host_config_required @@ -122,8 +104,6 @@ conditions: pmd_cores_empty: {equals: [{get_param: OvsPmdCoreList}, '']} mem_channels_empty: {equals: [{get_param: OvsDpdkMemoryChannels}, '']} socket_mem_empty: {equals: [{get_param: OvsDpdkSocketMemory}, '']} - driver_not_set: {equals: [{get_param: OvsDpdkDriverType}, 'vfio-pci']} - isol_cpus_empty: {equals: [{get_param: IsolCpusList}, '0']} deployment_actions_empty: equals: - {get_param: deployment_actions} @@ -137,19 +117,15 @@ resources: value: map_replace: - map_replace: - - IsolCpusList: IsolCpusList - OvsDpdkCoreList: OvsDpdkCoreList + - OvsDpdkCoreList: OvsDpdkCoreList OvsDpdkMemoryChannels: OvsDpdkMemoryChannels OvsDpdkSocketMemory: OvsDpdkSocketMemory - OvsDpdkDriverType: OvsDpdkDriverType - OvsPmdCoreList: OvsDpdkCoreList + OvsPmdCoreList: OvsPmdCoreList - values: {get_param: [RoleParameters]} - values: - IsolCpusList: {if: [isol_cpus_empty, {get_param: HostCpusList}, {get_param: IsolCpusList}]} OvsDpdkCoreList: {if: [l_cores_empty, {get_param: HostCpusList}, {get_param: OvsDpdkCoreList}]} OvsDpdkMemoryChannels: {if: [mem_channels_empty, {get_param: NeutronDpdkMemoryChannels}, {get_param: OvsDpdkMemoryChannels}]} OvsDpdkSocketMemory: {if: [socket_mem_empty, {get_param: NeutronDpdkSocketMemory}, {get_param: OvsDpdkSocketMemory}]} - OvsDpdkDriverType: {if: [driver_not_set, {get_param: NeutronDpdkDriverType}, {get_param: OvsDpdkDriverType}]} OvsPmdCoreList: {if: [pmd_cores_empty, {get_param: NeutronDpdkCoreList}, {get_param: OvsPmdCoreList}]} HostParametersConfig: @@ -243,7 +219,11 @@ resources: name: EnableDpdkDeployment server: {get_param: server} config: {get_resource: EnableDpdkConfig} - actions: ['CREATE'] # Only do this on CREATE + actions: + if: + - deployment_actions_empty + - [] + - ['CREATE'] # Only do this on CREATE RebootConfig: type: OS::Heat::SoftwareConfig diff --git a/extraconfig/tasks/yum_update.sh b/extraconfig/tasks/yum_update.sh index 8f804583..a2a04e8e 100755 --- a/extraconfig/tasks/yum_update.sh +++ b/extraconfig/tasks/yum_update.sh @@ -64,6 +64,9 @@ fi command_arguments=${command_arguments:-} +# Always ensure yum has full cache +yum makecache || echo "Yum makecache failed. This can cause failure later on." + # yum check-update exits 100 if updates are available set +e check_update=$(yum check-update 2>&1) diff --git a/network/external.yaml b/network/external.yaml index 5b1023d7..8dbe3e20 100644 --- a/network/external.yaml +++ b/network/external.yaml @@ -65,3 +65,5 @@ outputs: OS::stack_id: description: Neutron external network value: {get_resource: ExternalNetwork} + subnet_cidr: + value: {get_attr: ExternalSubnet, cidr} diff --git a/network/external_v6.yaml b/network/external_v6.yaml index 29930bbb..3266932a 100644 --- a/network/external_v6.yaml +++ b/network/external_v6.yaml @@ -72,3 +72,5 @@ outputs: OS::stack_id: description: Neutron external network value: {get_resource: ExternalNetwork} + subnet_cidr: + value: {get_attr: ExternalSubnet, cidr} diff --git a/network/internal_api.yaml b/network/internal_api.yaml index 554b900e..7ff0dafd 100644 --- a/network/internal_api.yaml +++ b/network/internal_api.yaml @@ -61,3 +61,5 @@ outputs: OS::stack_id: description: Neutron internal network value: {get_resource: InternalApiNetwork} + subnet_cidr: + value: {get_attr: InternalApiSubnet, cidr} diff --git a/network/internal_api_v6.yaml b/network/internal_api_v6.yaml index a089aa79..0688f138 100644 --- a/network/internal_api_v6.yaml +++ b/network/internal_api_v6.yaml @@ -68,3 +68,5 @@ outputs: OS::stack_id: description: Neutron internal network value: {get_resource: InternalApiNetwork} + subnet_cidr: + value: {get_attr: InternalApiSubnet, cidr} diff --git a/network/management.yaml b/network/management.yaml index 41ede5cd..f54794c3 100644 --- a/network/management.yaml +++ b/network/management.yaml @@ -66,4 +66,5 @@ outputs: OS::stack_id: description: Neutron management network value: {get_resource: ManagementNetwork} - + subnet_cidr: + value: {get_attr: ManagementSubnet, cidr} diff --git a/network/management_v6.yaml b/network/management_v6.yaml index e2527c42..bf715513 100644 --- a/network/management_v6.yaml +++ b/network/management_v6.yaml @@ -67,3 +67,5 @@ outputs: OS::stack_id: description: Neutron management network value: {get_resource: ManagementNetwork} + subnet_cidr: + value: {get_attr: ManagementSubnet, cidr} diff --git a/network/networks.j2.yaml b/network/networks.j2.yaml index f19e2c09..5aec597a 100644 --- a/network/networks.j2.yaml +++ b/network/networks.j2.yaml @@ -15,3 +15,23 @@ resources: NetworkExtraConfig: type: OS::TripleO::Network::ExtraConfig + + +outputs: + net_cidr_map: + value: + # NOTE(gfidente): we need to replace the null value with a + # string to work around https://bugs.launchpad.net/heat/+bug/1700025 + {%- for network in networks %} + {%- if network.name != 'InternalApi' %} + {{network.name_lower}}: + yaql: + data: {get_attr: [{{network.name}}Network, subnet_cidr]} + expression: str($.data).replace('null', 'disabled') + {%- else %} + {{network.name_lower}}: + yaql: + data: {get_attr: [InternalNetwork, subnet_cidr]} + expression: str($.data).replace('null', 'disabled') + {%- endif %} + {%- endfor %} diff --git a/network/storage.yaml b/network/storage.yaml index 5c68c4c7..00316c51 100644 --- a/network/storage.yaml +++ b/network/storage.yaml @@ -61,3 +61,5 @@ outputs: OS::stack_id: description: Neutron storage network value: {get_resource: StorageNetwork} + subnet_cidr: + value: {get_attr: StorageSubnet, cidr} diff --git a/network/storage_mgmt.yaml b/network/storage_mgmt.yaml index 23c5b4b7..bc4347c2 100644 --- a/network/storage_mgmt.yaml +++ b/network/storage_mgmt.yaml @@ -61,3 +61,5 @@ outputs: OS::stack_id: description: Neutron storage management network value: {get_resource: StorageMgmtNetwork} + subnet_cidr: + value: {get_attr: StorageMgmtSubnet, cidr} diff --git a/network/storage_mgmt_v6.yaml b/network/storage_mgmt_v6.yaml index ea60b5e7..0d6614f9 100644 --- a/network/storage_mgmt_v6.yaml +++ b/network/storage_mgmt_v6.yaml @@ -68,3 +68,5 @@ outputs: OS::stack_id: description: Neutron storage management network value: {get_resource: StorageMgmtNetwork} + subnet_cidr: + value: {get_attr: StorageMgmtSubnet, cidr} diff --git a/network/storage_v6.yaml b/network/storage_v6.yaml index 52bd42a4..bf796b2b 100644 --- a/network/storage_v6.yaml +++ b/network/storage_v6.yaml @@ -68,3 +68,5 @@ outputs: OS::stack_id: description: Neutron storage network value: {get_resource: StorageNetwork} + subnet_cidr: + value: {get_attr: StorageSubnet, cidr} diff --git a/network/tenant.yaml b/network/tenant.yaml index c50dca27..2104f0bd 100644 --- a/network/tenant.yaml +++ b/network/tenant.yaml @@ -61,3 +61,5 @@ outputs: OS::stack_id: description: Neutron tenant network value: {get_resource: TenantNetwork} + subnet_cidr: + value: {get_attr: TenantSubnet, cidr} diff --git a/network/tenant_v6.yaml b/network/tenant_v6.yaml index c77c2cbe..9993eec9 100644 --- a/network/tenant_v6.yaml +++ b/network/tenant_v6.yaml @@ -68,3 +68,5 @@ outputs: OS::stack_id: description: Neutron tenant network value: {get_resource: TenantNetwork} + subnet_cidr: + value: {get_attr: TenantSubnet, cidr} diff --git a/network_data.yaml b/network_data.yaml index 6d62605b..23c231f9 100644 --- a/network_data.yaml +++ b/network_data.yaml @@ -14,17 +14,21 @@ # - name: External vip: true + name_lower: external - name: InternalApi name_lower: internal_api vip: true - name: Storage vip: true + name_lower: storage - name: StorageMgmt name_lower: storage_mgmt vip: true - name: Tenant vip: false # Tenant network does not use VIPs + name_lower: tenant - name: Management # Management network is disabled by default enabled: false vip: false # Management network does not use VIPs + name_lower: management diff --git a/overcloud-resource-registry-puppet.j2.yaml b/overcloud-resource-registry-puppet.j2.yaml index 0f4a9985..dad8a0b0 100644 --- a/overcloud-resource-registry-puppet.j2.yaml +++ b/overcloud-resource-registry-puppet.j2.yaml @@ -161,6 +161,7 @@ resource_registry: OS::TripleO::Services::NeutronOvsAgent: puppet/services/neutron-ovs-agent.yaml OS::TripleO::Services::NeutronLinuxbridgeAgent: OS::Heat::None OS::TripleO::Services::ComputeNeutronOvsAgent: puppet/services/neutron-ovs-agent.yaml + OS::TripleO::Services::ComputeNeutronOvsDpdk: OS::Heat::None OS::TripleO::Services::Pacemaker: OS::Heat::None OS::TripleO::Services::PacemakerRemote: OS::Heat::None OS::TripleO::Services::NeutronSriovAgent: OS::Heat::None diff --git a/overcloud.j2.yaml b/overcloud.j2.yaml index 0fc410d6..ddf2701a 100644 --- a/overcloud.j2.yaml +++ b/overcloud.j2.yaml @@ -55,6 +55,28 @@ parameters: Control the IP allocation for the ControlVirtualIP port. E.g. [{'ip_address':'1.2.3.4'}] type: json + ExtraConfig: + default: {} + description: | + Additional hiera configuration to inject into the cluster. + type: json +{%- for role in roles %} + {{role.name}}ExtraConfig: + default: {} + description: | + Role specific additional hiera configuration to inject into the cluster. + type: json +{%- endfor %} + controllerExtraConfig: + default: {} + description: | + DEPRECATED use ControllerExtraConfig instead + type: json + NovaComputeExtraConfig: + default: {} + description: | + DEPRECATED use ComputeExtraConfig instead + type: json InternalApiVirtualFixedIPs: default: [] description: > @@ -154,7 +176,6 @@ parameters: {% else %} default: "%stackname%-{{role.name.lower()}}-%index%" {% endif %} - {{role.name}}RemovalPolicies: default: [] type: json @@ -203,6 +224,13 @@ parameters: description: > List of server hostnames to blacklist from any triggered deployments. +parameter_groups: +- label: deprecated + description: Do not use deprecated params, they will be removed. + parameters: + - controllerExtraConfig + - NovaComputeExtraConfig + conditions: add_vips_to_etc_hosts: {equals : [{get_param: AddVipsToEtcHosts}, True]} @@ -254,6 +282,20 @@ resources: properties: length: 10 + NetCidrMapValue: + type: OS::Heat::Value + properties: + type: json + value: + map_replace: + - map_merge: + - {get_attr: [Networks, net_cidr_map]} + - ctlplane: {get_attr: [ControlVirtualIP, subnets, 0, cidr]} + - keys: + ctlplane: {get_param: NeutronControlPlaneID} + values: + disabled: {get_attr: [ControlVirtualIP, subnets, 0, cidr]} + ServiceNetMap: type: OS::TripleO::ServiceNetMap @@ -294,6 +336,8 @@ resources: Services: get_param: {{role.name}}Services ServiceNetMap: {get_attr: [ServiceNetMap, service_net_map]} + ServiceData: + net_cidr_map: {get_attr: [NetCidrMapValue, value]} EndpointMap: {get_attr: [EndpointMap, endpoint_map]} DefaultPasswords: {get_attr: [DefaultPasswords, passwords]} RoleName: {{role.name}} @@ -307,6 +351,56 @@ resources: type: json value: {get_attr: [{{role.name}}ServiceChain, role_data]} + {{role.name}}ServiceConfigSettings: + type: OS::Heat::Value + properties: + type: json + value: + map_merge: + - get_attr: [{{role.name}}ServiceChainRoleData, value, config_settings] + {% for r in roles %} + - get_attr: [{{r.name}}ServiceChainRoleData, value, global_config_settings] + {% endfor %} + # This next step combines two yaql passes: + # - The inner one does a deep merge on the service_config_settings for all roles + # - The outer one filters the map based on the services enabled for the role + # then merges the result into one map. + - yaql: + expression: let(root => $) -> $.data.map.items().where($[0] in coalesce($root.data.services, [])).select($[1]).reduce($1.mergeWith($2), {}) + data: + map: + yaql: + expression: $.data.where($ != null).reduce($1.mergeWith($2), {}) + data: + {% for r in roles %} + - get_attr: [{{r.name}}ServiceChainRoleData, value, service_config_settings] + {% endfor %} + services: {get_attr: [{{role.name}}ServiceNames, value]} + + {{role.name}}MergedConfigSettings: + type: OS::Heat::Value + properties: + type: json + value: + config_settings: {} + global_config_settings: {} + service_config_settings: {} + merged_config_settings: + map_merge: + - get_attr: [{{role.name}}ServiceConfigSettings, value] + - get_param: ExtraConfig + {%- if role.name == 'Controller' %} + - map_merge: + - get_param: controllerExtraConfig + - get_param: {{role.name}}ExtraConfig + {%- elif role.name == 'Compute' %} + - map_merge: + - get_param: NovaComputeExtraConfig + - get_param: {{role.name}}ExtraConfig + {%- else %} + - get_param: {{role.name}}ExtraConfig + {%- endif %} + # Filter any null/None service_names which may be present due to mapping # of services to OS::Heat::None {{role.name}}ServiceNames: @@ -421,27 +515,7 @@ resources: {% else %} NovaComputeSchedulerHints: {get_param: NovaComputeSchedulerHints} {% endif %} - ServiceConfigSettings: - map_merge: - - get_attr: [{{role.name}}ServiceChainRoleData, value, config_settings] - {% for r in roles %} - - get_attr: [{{r.name}}ServiceChain, role_data, global_config_settings] - {% endfor %} - # This next step combines two yaql passes: - # - The inner one does a deep merge on the service_config_settings for all roles - # - The outer one filters the map based on the services enabled for the role - # then merges the result into one map. - - yaql: - expression: let(root => $) -> $.data.map.items().where($[0] in coalesce($root.data.services, [])).select($[1]).reduce($1.mergeWith($2), {}) - data: - map: - yaql: - expression: $.data.where($ != null).reduce($1.mergeWith($2), {}) - data: - {% for r in roles %} - - get_attr: [{{r.name}}ServiceChain, role_data, service_config_settings] - {% endfor %} - services: {get_attr: [{{role.name}}ServiceNames, value]} + ServiceConfigSettings: {get_attr: [{{role.name}}ServiceConfigSettings, value]} ServiceNames: {get_attr: [{{role.name}}ServiceNames, value]} MonitoringSubscriptions: {get_attr: [{{role.name}}ServiceChainRoleData, value, monitoring_subscriptions]} ServiceMetadataSettings: {get_attr: [{{role.name}}ServiceChainRoleData, value, service_metadata_settings]} @@ -768,7 +842,10 @@ resources: {% endfor %} role_data: {% for role in roles %} - {{role.name}}: {get_attr: [{{role.name}}ServiceChainRoleData, value]} + {{role.name}}: + map_merge: + - {get_attr: [{{role.name}}ServiceChainRoleData, value]} + - {get_attr: [{{role.name}}MergedConfigSettings, value]} {% endfor %} ServerOsCollectConfigData: @@ -853,7 +930,10 @@ outputs: description: The configuration data associated with each role value: {% for role in roles %} - {{role.name}}: {get_attr: [{{role.name}}ServiceChainRoleData, value]} + {{role.name}}: + map_merge: + - {get_attr: [{{role.name}}ServiceChainRoleData, value]} + - {get_attr: [{{role.name}}MergedConfigSettings, value]} {% endfor %} RoleNetIpMap: description: Mapping of each network to a list of IPs for each role diff --git a/plan-samples/README.rst b/plan-samples/README.rst index 44b9d0cd..b3c2d1df 100644 --- a/plan-samples/README.rst +++ b/plan-samples/README.rst @@ -15,8 +15,8 @@ commands. The sample format to provide the workflow specific parameters:: workflow_parameters: tripleo.derive_params.v1.derive_parameters: # DPDK Parameters - number_of_pmd_cpu_threads_per_numa_node: 2 + num_phy_cores_per_numa_node_for_pmd: 2 All the parameters specified under the workflow name will be passed as -``user_input`` to the workflow, while invoking from the tripleoclient.
\ No newline at end of file +``user_input`` to the workflow, while invoking from the tripleoclient. diff --git a/plan-samples/plan-environment-derived-params.yaml b/plan-samples/plan-environment-derived-params.yaml index 964e57d2..8f250716 100644 --- a/plan-samples/plan-environment-derived-params.yaml +++ b/plan-samples/plan-environment-derived-params.yaml @@ -9,11 +9,11 @@ environments: workflow_parameters: tripleo.derive_params.v1.derive_parameters: ######### DPDK Parameters ######### - # Specifices the minimum number of CPU threads to be allocated for DPDK + # Specifices the minimum number of CPU physical cores to be allocated for DPDK # PMD threads. The actual allocation will be based on network config, if # the a DPDK port is associated with a numa node, then this configuration - # will be used, else 0. - number_of_pmd_cpu_threads_per_numa_node: 4 + # will be used, else 1. + num_phy_cores_per_numa_node_for_pmd: 2 # Amount of memory to be configured as huge pages in percentage. Ouf the # total available memory (excluding the NovaReservedHostMemory), the # specified percentage of the remaining is configured as huge pages. diff --git a/puppet/all-nodes-config.yaml b/puppet/all-nodes-config.yaml index b29a8a98..24aa1525 100644 --- a/puppet/all-nodes-config.yaml +++ b/puppet/all-nodes-config.yaml @@ -45,6 +45,7 @@ parameters: perform configuration on a Heat stack-update. UpdateIdentifier: type: string + default: '' description: > Setting to a previously unused value during stack-update will trigger package update on all nodes diff --git a/puppet/major_upgrade_steps.j2.yaml b/puppet/major_upgrade_steps.j2.yaml index 574c41b0..625ff4d9 100644 --- a/puppet/major_upgrade_steps.j2.yaml +++ b/puppet/major_upgrade_steps.j2.yaml @@ -18,6 +18,7 @@ parameters: type: json UpdateIdentifier: type: string + default: '' description: > Setting to a previously unused value during stack-update will trigger the Upgrade resources to re-run on all roles. diff --git a/puppet/puppet-steps.j2 b/puppet/puppet-steps.j2 index 82c6171e..542af42c 100644 --- a/puppet/puppet-steps.j2 +++ b/puppet/puppet-steps.j2 @@ -1,16 +1,15 @@ {% set deploy_steps_max = 6 %} - conditions: {% for step in range(1, deploy_steps_max) %} WorkflowTasks_Step{{step}}_Enabled: or: - {% for role in roles %} + {%- for role in roles %} - not: equals: - get_param: [role_data, {{role.name}}, service_workflow_tasks, step{{step}}] - '' - False - {% endfor %} + {%- endfor %} {% endfor %} resources: @@ -37,7 +36,7 @@ resources: {{role.name}}Config: type: OS::TripleO::{{role.name}}Config properties: - StepConfig: {list_join: ["\n", {get_param: [role_data, {{role.name}}, step_config]}]} + StepConfig: {get_param: [role_data, {{role.name}}, step_config]} # Step through a series of configuration steps {% for step in range(1, deploy_steps_max) %} @@ -50,16 +49,16 @@ resources: # WorkflowTasks_StepX resource and can be remove # if https://bugs.launchpad.net/heat/+bug/1700569 # is fixed. - {% if step == 1 %} - {% for dep in roles %} + {%- if step == 1 %} + {%- for dep in roles %} - {{dep.name}}PreConfig - {{dep.name}}ArtifactsDeploy - {% endfor %} - {% else %} - {% for dep in roles %} + {%- endfor %} + {%- else %} + {%- for dep in roles %} - {{dep.name}}Deployment_Step{{step -1}} - {% endfor %} - {% endif %} + {%- endfor %} + {%- endif %} properties: name: {{role.name}}Deployment_Step{{step}} servers: {get_param: [servers, {{role.name}}]} @@ -74,9 +73,9 @@ resources: # after all the previous deployment steps. {{role.name}}ExtraConfigPost: depends_on: - {% for dep in roles %} + {%- for dep in roles %} - {{dep.name}}Deployment_Step5 - {% endfor %} + {%- endfor %} type: OS::TripleO::NodeExtraConfigPost properties: servers: {get_param: [servers, {{role.name}}]} @@ -87,9 +86,9 @@ resources: {{role.name}}PostConfig: type: OS::TripleO::Tasks::{{role.name}}PostConfig depends_on: - {% for dep in roles %} + {%- for dep in roles %} - {{dep.name}}ExtraConfigPost - {% endfor %} + {%- endfor %} properties: servers: {get_param: servers} input_values: @@ -104,16 +103,16 @@ resources: type: OS::Mistral::Workflow condition: WorkflowTasks_Step{{step}}_Enabled depends_on: - {% if step == 1 %} - {% for dep in roles %} + {%- if step == 1 %} + {%- for dep in roles %} - {{dep.name}}PreConfig - {{dep.name}}ArtifactsDeploy - {% endfor %} - {% else %} - {% for dep in roles %} + {%- endfor %} + {%- else %} + {%- for dep in roles %} - {{dep.name}}Deployment_Step{{step -1}} - {% endfor %} - {% endif %} + {%- endfor %} + {%- endif %} properties: name: {list_join: [".", ["tripleo", {get_param: stack_name}, "workflowtasks", "step{{step}}"]]} type: direct @@ -121,9 +120,9 @@ resources: yaql: expression: $.data.where($ != '').select($.get('step{{step}}')).where($ != null).flatten() data: - {% for role in roles %} + {%- for role in roles %} - get_param: [role_data, {{role.name}}, service_workflow_tasks] - {% endfor %} + {%- endfor %} WorkflowTasks_Step{{step}}_Execution: type: OS::Mistral::ExternalResource @@ -136,11 +135,21 @@ resources: params: env: service_ips: { get_param: ctlplane_service_ips } + role_merged_configs: + {%- for r in roles %} + {{r.name}}: {get_param: [role_data, {{r.name}}, merged_config_settings]} + {%- endfor %} + evaluate_env: false UPDATE: workflow: { get_resource: WorkflowTasks_Step{{step}} } params: env: service_ips: { get_param: ctlplane_service_ips } + role_merged_configs: + {%- for r in roles %} + {{r.name}}: {get_param: [role_data, {{r.name}}, merged_config_settings]} + {%- endfor %} + evaluate_env: false always_update: true {% endfor %} # END service_workflow_tasks handling diff --git a/puppet/role.role.j2.yaml b/puppet/role.role.j2.yaml index 039bd6ba..85520fc0 100644 --- a/puppet/role.role.j2.yaml +++ b/puppet/role.role.j2.yaml @@ -1,3 +1,9 @@ +{# ## Some variables are set to enable rendering backwards compatible templates #} +{# ## where a few parameter/resource names don't match the expected pattern #} +{# ## FIXME: we need some way to deprecate the old inconsistent parameters #} +{%- if role.name == 'Controller' -%} + {%- set deprecated_extraconfig_param = 'controllerExtraConfig' -%} +{% endif %} heat_template_version: pike description: 'OpenStack {{role.name}} node configured by Puppet' parameters: @@ -70,6 +76,13 @@ parameters: description: | Role specific additional hiera configuration to inject into the cluster. type: json +{%- if deprecated_extraconfig_param is defined %} + {{deprecated_extraconfig_param}}: + default: {} + description: | + DEPRECATED use {{role.name}}ExtraConfig instead + type: json +{%- endif %} {{role.name}}IPs: default: {} type: json @@ -189,6 +202,14 @@ parameters: object: 0 default: {} +{% if deprecated_extraconfig_param is defined %} +parameter_groups: +- label: deprecated + description: Do not use deprecated params, they will be removed. + parameters: + - {{deprecated_extraconfig_param}} +{%- endif %} + conditions: server_not_blacklisted: not: @@ -474,7 +495,12 @@ resources: map_replace: - {get_param: ServiceConfigSettings} - values: {get_attr: [NetIpMap, net_ip_map]} - {{role.name.lower()}}_extraconfig: {get_param: {{role.name}}ExtraConfig} + {{role.name.lower()}}_extraconfig: + map_merge: +{%- if deprecated_extraconfig_param is defined %} + - {get_param: {{deprecated_extraconfig_param}}} +{%- endif %} + - {get_param: {{role.name}}ExtraConfig} extraconfig: {get_param: ExtraConfig} {{role.name.lower()}}: tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade} diff --git a/puppet/services/aodh-api.yaml b/puppet/services/aodh-api.yaml index 561b48cb..d9b61ccd 100644 --- a/puppet/services/aodh-api.yaml +++ b/puppet/services/aodh-api.yaml @@ -4,6 +4,10 @@ description: > OpenStack Aodh API service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -43,6 +47,7 @@ resources: AodhBase: type: ./aodh-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} @@ -52,6 +57,7 @@ resources: ApacheServiceBase: type: ./apache.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/aodh-base.yaml b/puppet/services/aodh-base.yaml index c6a8f880..9e970475 100644 --- a/puppet/services/aodh-base.yaml +++ b/puppet/services/aodh-base.yaml @@ -4,6 +4,10 @@ description: > OpenStack Aodh service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/aodh-evaluator.yaml b/puppet/services/aodh-evaluator.yaml index 669c11dd..eedb291f 100644 --- a/puppet/services/aodh-evaluator.yaml +++ b/puppet/services/aodh-evaluator.yaml @@ -4,6 +4,10 @@ description: > OpenStack Aodh Evaluator service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -34,6 +38,7 @@ resources: AodhBase: type: ./aodh-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/aodh-listener.yaml b/puppet/services/aodh-listener.yaml index 17710ecb..631a3dc1 100644 --- a/puppet/services/aodh-listener.yaml +++ b/puppet/services/aodh-listener.yaml @@ -4,6 +4,10 @@ description: > OpenStack Aodh Listener service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -34,6 +38,7 @@ resources: AodhBase: type: ./aodh-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/aodh-notifier.yaml b/puppet/services/aodh-notifier.yaml index 2eed1b75..1bc5e4df 100644 --- a/puppet/services/aodh-notifier.yaml +++ b/puppet/services/aodh-notifier.yaml @@ -4,6 +4,10 @@ description: > OpenStack Aodh Notifier service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -34,6 +38,7 @@ resources: AodhBase: type: ./aodh-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/apache.yaml b/puppet/services/apache.yaml index 23fcab90..6c55fde3 100644 --- a/puppet/services/apache.yaml +++ b/puppet/services/apache.yaml @@ -13,6 +13,10 @@ parameters: default: 256 description: Maximum number of Apache processes. type: number + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/auditd.yaml b/puppet/services/auditd.yaml index 3eff534b..3a676ddf 100644 --- a/puppet/services/auditd.yaml +++ b/puppet/services/auditd.yaml @@ -4,6 +4,10 @@ description: > AuditD configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/barbican-api.yaml b/puppet/services/barbican-api.yaml index 65c26d40..a894dbdf 100644 --- a/puppet/services/barbican-api.yaml +++ b/puppet/services/barbican-api.yaml @@ -4,6 +4,10 @@ description: > OpenStack Barbican API service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -85,6 +89,7 @@ resources: ApacheServiceBase: type: ./apache.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/ca-certs.yaml b/puppet/services/ca-certs.yaml index 6249c1ab..46446f14 100644 --- a/puppet/services/ca-certs.yaml +++ b/puppet/services/ca-certs.yaml @@ -4,6 +4,10 @@ description: > HAproxy service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/ceilometer-agent-central.yaml b/puppet/services/ceilometer-agent-central.yaml index 2dbaf554..2d3c91a9 100644 --- a/puppet/services/ceilometer-agent-central.yaml +++ b/puppet/services/ceilometer-agent-central.yaml @@ -4,6 +4,10 @@ description: > OpenStack Ceilometer Central Agent service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -43,6 +47,7 @@ resources: CeilometerServiceBase: type: ./ceilometer-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/ceilometer-agent-compute.yaml b/puppet/services/ceilometer-agent-compute.yaml index c453a43d..3cf51519 100644 --- a/puppet/services/ceilometer-agent-compute.yaml +++ b/puppet/services/ceilometer-agent-compute.yaml @@ -4,6 +4,10 @@ description: > OpenStack Ceilometer Compute Agent service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -40,6 +44,7 @@ resources: CeilometerServiceBase: type: ./ceilometer-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/ceilometer-agent-ipmi.yaml b/puppet/services/ceilometer-agent-ipmi.yaml index 7dd1e78d..f61f9083 100644 --- a/puppet/services/ceilometer-agent-ipmi.yaml +++ b/puppet/services/ceilometer-agent-ipmi.yaml @@ -4,6 +4,10 @@ description: > OpenStack Ceilometer Ipmi Agent service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -43,6 +47,7 @@ resources: CeilometerServiceBase: type: ./ceilometer-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/ceilometer-agent-notification.yaml b/puppet/services/ceilometer-agent-notification.yaml index 6e893564..d6e98ae8 100644 --- a/puppet/services/ceilometer-agent-notification.yaml +++ b/puppet/services/ceilometer-agent-notification.yaml @@ -4,6 +4,10 @@ description: > OpenStack Ceilometer Notification Agent service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -40,6 +44,7 @@ resources: CeilometerServiceBase: type: ./ceilometer-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/ceilometer-api.yaml b/puppet/services/ceilometer-api.yaml index 74b0c3d2..aba303fb 100644 --- a/puppet/services/ceilometer-api.yaml +++ b/puppet/services/ceilometer-api.yaml @@ -4,6 +4,10 @@ description: > OpenStack Ceilometer API service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -48,6 +52,7 @@ resources: CeilometerServiceBase: type: ./ceilometer-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} @@ -57,6 +62,7 @@ resources: ApacheServiceBase: type: ./apache.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/ceilometer-base.yaml b/puppet/services/ceilometer-base.yaml index 0cd9a6dd..9fc1530a 100644 --- a/puppet/services/ceilometer-base.yaml +++ b/puppet/services/ceilometer-base.yaml @@ -4,6 +4,10 @@ description: > OpenStack Ceilometer service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/ceilometer-collector.yaml b/puppet/services/ceilometer-collector.yaml index 3ec18420..918a8839 100644 --- a/puppet/services/ceilometer-collector.yaml +++ b/puppet/services/ceilometer-collector.yaml @@ -5,6 +5,10 @@ description: > This service is deprecated and will be removed in future releases. parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -73,6 +77,7 @@ resources: CeilometerServiceBase: type: ./ceilometer-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} @@ -82,6 +87,7 @@ resources: MongoDbBase: type: ./database/mongodb-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/ceilometer-expirer.yaml b/puppet/services/ceilometer-expirer.yaml index 775e921a..40c41ba4 100644 --- a/puppet/services/ceilometer-expirer.yaml +++ b/puppet/services/ceilometer-expirer.yaml @@ -6,6 +6,10 @@ description: > future releases. parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -36,6 +40,7 @@ resources: CeilometerServiceBase: type: ./ceilometer-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/ceph-base.yaml b/puppet/services/ceph-base.yaml index 48d95993..ce9f9b9d 100644 --- a/puppet/services/ceph-base.yaml +++ b/puppet/services/ceph-base.yaml @@ -35,6 +35,10 @@ parameters: NovaRbdPoolName: default: vms type: string + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/ceph-client.yaml b/puppet/services/ceph-client.yaml index ec34fcae..0bee5fcd 100644 --- a/puppet/services/ceph-client.yaml +++ b/puppet/services/ceph-client.yaml @@ -4,6 +4,10 @@ description: > Ceph Client service. parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -34,6 +38,7 @@ resources: CephBase: type: ./ceph-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/ceph-external.yaml b/puppet/services/ceph-external.yaml index 65e6ea80..97e44159 100644 --- a/puppet/services/ceph-external.yaml +++ b/puppet/services/ceph-external.yaml @@ -33,6 +33,10 @@ parameters: NovaRbdPoolName: default: vms type: string + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/ceph-mds.yaml b/puppet/services/ceph-mds.yaml index 270d3a26..c561ea0e 100644 --- a/puppet/services/ceph-mds.yaml +++ b/puppet/services/ceph-mds.yaml @@ -4,6 +4,10 @@ description: > Ceph MDS service. parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -36,6 +40,7 @@ resources: CephBase: type: ./ceph-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/ceph-mon.yaml b/puppet/services/ceph-mon.yaml index cbeef6c5..4fe6e908 100644 --- a/puppet/services/ceph-mon.yaml +++ b/puppet/services/ceph-mon.yaml @@ -4,6 +4,10 @@ description: > Ceph Monitor service. parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -87,6 +91,7 @@ resources: CephBase: type: ./ceph-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/ceph-osd.yaml b/puppet/services/ceph-osd.yaml index 24b2886a..8f43b08a 100644 --- a/puppet/services/ceph-osd.yaml +++ b/puppet/services/ceph-osd.yaml @@ -4,6 +4,10 @@ description: > Ceph OSD service. parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -52,6 +56,7 @@ resources: CephBase: type: ./ceph-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/ceph-rgw.yaml b/puppet/services/ceph-rgw.yaml index ad91b4ec..aa025684 100644 --- a/puppet/services/ceph-rgw.yaml +++ b/puppet/services/ceph-rgw.yaml @@ -4,6 +4,10 @@ description: > Ceph RadosGW service. parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -48,6 +52,7 @@ resources: CephBase: type: ./ceph-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/certmonger-user.yaml b/puppet/services/certmonger-user.yaml index 0508c557..216c7ad3 100644 --- a/puppet/services/certmonger-user.yaml +++ b/puppet/services/certmonger-user.yaml @@ -4,6 +4,10 @@ description: > Requests certificates using certmonger through Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/cinder-api.yaml b/puppet/services/cinder-api.yaml index 47715a7e..fbfe532a 100644 --- a/puppet/services/cinder-api.yaml +++ b/puppet/services/cinder-api.yaml @@ -13,6 +13,10 @@ parameters: description: The password for the cinder service account, used by cinder-api. type: string hidden: true + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -75,6 +79,7 @@ resources: ApacheServiceBase: type: ./apache.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} @@ -85,6 +90,7 @@ resources: CinderBase: type: ./cinder-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/cinder-backend-dellps.yaml b/puppet/services/cinder-backend-dellps.yaml index d0382534..caa2f2f7 100644 --- a/puppet/services/cinder-backend-dellps.yaml +++ b/puppet/services/cinder-backend-dellps.yaml @@ -49,6 +49,10 @@ parameters: CinderDellPsUseChap: type: boolean default: false + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/cinder-backend-dellsc.yaml b/puppet/services/cinder-backend-dellsc.yaml index c0bffb18..136852a6 100644 --- a/puppet/services/cinder-backend-dellsc.yaml +++ b/puppet/services/cinder-backend-dellsc.yaml @@ -64,6 +64,10 @@ parameters: CinderDellScExcludedDomainIp: type: string default: '' + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/cinder-backend-netapp.yaml b/puppet/services/cinder-backend-netapp.yaml index fbde4c0a..9cbac246 100644 --- a/puppet/services/cinder-backend-netapp.yaml +++ b/puppet/services/cinder-backend-netapp.yaml @@ -3,6 +3,10 @@ heat_template_version: pike description: Openstack Cinder Netapp backend parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/cinder-backend-pure.yaml b/puppet/services/cinder-backend-pure.yaml index 576896a4..6f4de25b 100644 --- a/puppet/services/cinder-backend-pure.yaml +++ b/puppet/services/cinder-backend-pure.yaml @@ -17,6 +17,10 @@ description: > Openstack Cinder Pure Storage FlashArray backend parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/cinder-backend-scaleio.yaml b/puppet/services/cinder-backend-scaleio.yaml index 832cc099..97bac05d 100644 --- a/puppet/services/cinder-backend-scaleio.yaml +++ b/puppet/services/cinder-backend-scaleio.yaml @@ -69,6 +69,10 @@ parameters: CinderScaleIOSanThinProvision: type: boolean default: true + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/cinder-backup.yaml b/puppet/services/cinder-backup.yaml index 629a0f5b..7ac4321b 100644 --- a/puppet/services/cinder-backup.yaml +++ b/puppet/services/cinder-backup.yaml @@ -16,6 +16,10 @@ parameters: CephClientUserName: default: openstack type: string + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -47,6 +51,7 @@ resources: CinderBase: type: ./cinder-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/cinder-base.yaml b/puppet/services/cinder-base.yaml index f7dfe5e1..5b2a2582 100644 --- a/puppet/services/cinder-base.yaml +++ b/puppet/services/cinder-base.yaml @@ -16,6 +16,10 @@ parameters: default: '' description: Set to True to enable debugging on Cinder services. type: string + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/cinder-hpelefthand-iscsi.yaml b/puppet/services/cinder-hpelefthand-iscsi.yaml index 3ea0fd87..8f443cc8 100644 --- a/puppet/services/cinder-hpelefthand-iscsi.yaml +++ b/puppet/services/cinder-hpelefthand-iscsi.yaml @@ -23,6 +23,10 @@ parameters: CinderHPELeftHandDebug: type: boolean default: false + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/cinder-scheduler.yaml b/puppet/services/cinder-scheduler.yaml index 806f9bb4..540a3523 100644 --- a/puppet/services/cinder-scheduler.yaml +++ b/puppet/services/cinder-scheduler.yaml @@ -4,6 +4,10 @@ description: > OpenStack Cinder Scheduler service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -40,6 +44,7 @@ resources: CinderBase: type: ./cinder-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/cinder-volume.yaml b/puppet/services/cinder-volume.yaml index 1f8c345d..d95370d7 100644 --- a/puppet/services/cinder-volume.yaml +++ b/puppet/services/cinder-volume.yaml @@ -60,6 +60,10 @@ parameters: CephClientUserName: default: openstack type: string + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -96,6 +100,7 @@ resources: CinderBase: type: ./cinder-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/congress.yaml b/puppet/services/congress.yaml index f30f1139..f5d38b60 100644 --- a/puppet/services/congress.yaml +++ b/puppet/services/congress.yaml @@ -4,6 +4,10 @@ description: > OpenStack Congress service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -33,6 +37,7 @@ parameters: Debug: type: string default: '' + description: Set to True to enable debugging on all services. CongressDebug: default: '' description: Set to True to enable debugging Glance service. diff --git a/puppet/services/database/mongodb-base.yaml b/puppet/services/database/mongodb-base.yaml index b1ec248f..2881a5c6 100644 --- a/puppet/services/database/mongodb-base.yaml +++ b/puppet/services/database/mongodb-base.yaml @@ -15,6 +15,10 @@ parameters: MongoDbReplset: type: string default: "tripleo" + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/database/mongodb.yaml b/puppet/services/database/mongodb.yaml index 968d4355..04f34e24 100644 --- a/puppet/services/database/mongodb.yaml +++ b/puppet/services/database/mongodb.yaml @@ -5,6 +5,10 @@ description: > parameters: #Parameters not used EndpointMap + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -52,6 +56,7 @@ resources: MongoDbBase: type: ./mongodb-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/database/mysql-client.yaml b/puppet/services/database/mysql-client.yaml index 19d732dd..2eb20789 100644 --- a/puppet/services/database/mysql-client.yaml +++ b/puppet/services/database/mysql-client.yaml @@ -4,6 +4,10 @@ description: > Mysql client settings parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/database/mysql.yaml b/puppet/services/database/mysql.yaml index 919b66c1..9b8386c1 100644 --- a/puppet/services/database/mysql.yaml +++ b/puppet/services/database/mysql.yaml @@ -5,6 +5,10 @@ description: > parameters: #Parameters not used EndpointMap + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/database/redis-base.yaml b/puppet/services/database/redis-base.yaml index 89fa8065..d15b30cb 100644 --- a/puppet/services/database/redis-base.yaml +++ b/puppet/services/database/redis-base.yaml @@ -12,6 +12,10 @@ parameters: description: Configure Redis FD limit type: string default: 10240 + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/database/redis.yaml b/puppet/services/database/redis.yaml index 9567a73f..bd96823b 100644 --- a/puppet/services/database/redis.yaml +++ b/puppet/services/database/redis.yaml @@ -4,6 +4,10 @@ description: > OpenStack Redis service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -31,6 +35,7 @@ resources: RedisBase: type: ./redis-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/disabled/ceilometer-api-disabled.yaml b/puppet/services/disabled/ceilometer-api-disabled.yaml index 6dce61e3..a4fb91db 100644 --- a/puppet/services/disabled/ceilometer-api-disabled.yaml +++ b/puppet/services/disabled/ceilometer-api-disabled.yaml @@ -4,6 +4,10 @@ description: > OpenStack Ceilometer API service, disabled since pike parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/disabled/ceilometer-collector-disabled.yaml b/puppet/services/disabled/ceilometer-collector-disabled.yaml index 18092a8f..f6170c8f 100644 --- a/puppet/services/disabled/ceilometer-collector-disabled.yaml +++ b/puppet/services/disabled/ceilometer-collector-disabled.yaml @@ -4,6 +4,10 @@ description: > OpenStack Ceilometer Collector service, disabled since pike parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/disabled/ceilometer-expirer-disabled.yaml b/puppet/services/disabled/ceilometer-expirer-disabled.yaml index 7110afaa..7c680c61 100644 --- a/puppet/services/disabled/ceilometer-expirer-disabled.yaml +++ b/puppet/services/disabled/ceilometer-expirer-disabled.yaml @@ -4,6 +4,10 @@ description: > OpenStack Ceilometer Expirer service, disabled since pike parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/disabled/glance-registry-disabled.yaml b/puppet/services/disabled/glance-registry-disabled.yaml index 85a5c5ef..238e7395 100644 --- a/puppet/services/disabled/glance-registry-disabled.yaml +++ b/puppet/services/disabled/glance-registry-disabled.yaml @@ -4,6 +4,10 @@ description: > OpenStack Glance Registry service, disabled since ocata parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/disabled/mongodb-disabled.yaml b/puppet/services/disabled/mongodb-disabled.yaml index fa3fe9a8..9e58103c 100644 --- a/puppet/services/disabled/mongodb-disabled.yaml +++ b/puppet/services/disabled/mongodb-disabled.yaml @@ -4,6 +4,10 @@ description: > Mongodb service, disabled by default since pike parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/docker.yaml b/puppet/services/docker.yaml index 2be21122..d11ef66a 100644 --- a/puppet/services/docker.yaml +++ b/puppet/services/docker.yaml @@ -4,18 +4,20 @@ description: > Configures docker on the host parameters: - DockerNamespace: - description: namespace - default: tripleoupstream + DockerInsecureRegistryAddress: + description: Optional. The IP Address and Port of an insecure docker + namespace that will be configured in /etc/sysconfig/docker. type: string - DockerNamespaceIsRegistry: - type: boolean - default: false + default: '' EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -34,14 +36,19 @@ parameters: description: Parameters specific to the role type: json +conditions: + insecure_registry_is_empty: {equals : [{get_param: DockerInsecureRegistryAddress}, '']} + outputs: role_data: description: Role data for the docker service value: service_name: docker config_settings: - tripleo::profile::base::docker::docker_namespace: {get_param: DockerNamespace} - tripleo::profile::base::docker::insecure_registry: {get_param: DockerNamespaceIsRegistry} + if: + - insecure_registry_is_empty + - {} + - tripleo::profile::base::docker::insecure_registry_address: {get_param: DockerInsecureRegistryAddress} step_config: | include ::tripleo::profile::base::docker upgrade_tasks: diff --git a/puppet/services/ec2-api.yaml b/puppet/services/ec2-api.yaml index aa878a91..85fdb369 100644 --- a/puppet/services/ec2-api.yaml +++ b/puppet/services/ec2-api.yaml @@ -4,6 +4,10 @@ description: > OpenStack EC2-API service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -57,7 +61,7 @@ parameters: path: /var/log/ec2api/ec2api.log EnablePackageInstall: default: 'false' - description: Set to true to enable package installation via Puppet + description: Set to true to enable package installation at deploy time type: boolean Ec2ApiPolicies: description: | diff --git a/puppet/services/etcd.yaml b/puppet/services/etcd.yaml index 2e87764d..4828fcb9 100644 --- a/puppet/services/etcd.yaml +++ b/puppet/services/etcd.yaml @@ -4,6 +4,10 @@ description: > Etcd service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/external-swift-proxy.yaml b/puppet/services/external-swift-proxy.yaml index 206536d7..a4a25d9e 100644 --- a/puppet/services/external-swift-proxy.yaml +++ b/puppet/services/external-swift-proxy.yaml @@ -4,6 +4,10 @@ description: > External Swift Proxy endpoint configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/glance-api.yaml b/puppet/services/glance-api.yaml index 53cde963..8ec3546f 100644 --- a/puppet/services/glance-api.yaml +++ b/puppet/services/glance-api.yaml @@ -4,6 +4,10 @@ description: > OpenStack Glance API service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -153,6 +157,7 @@ resources: TLSProxyBase: type: OS::TripleO::Services::TLSProxyBase properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} @@ -206,6 +211,7 @@ outputs: glance::api::pipeline: 'keystone' glance::api::show_image_direct_url: true glance::api::show_multiple_locations: {if: [glance_multiple_locations, true, false]} + glance::api::os_region_name: {get_param: KeystoneRegion} # NOTE: bind IP is found in Heat replacing the network name with the # local node IP for the given network; replacement examples # (eg. for internal_api): diff --git a/puppet/services/gnocchi-api.yaml b/puppet/services/gnocchi-api.yaml index 2411d42d..cd7ab692 100644 --- a/puppet/services/gnocchi-api.yaml +++ b/puppet/services/gnocchi-api.yaml @@ -4,6 +4,10 @@ description: > Gnocchi service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -64,6 +68,7 @@ resources: GnocchiServiceBase: type: ./gnocchi-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} @@ -73,6 +78,7 @@ resources: ApacheServiceBase: type: ./apache.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/gnocchi-base.yaml b/puppet/services/gnocchi-base.yaml index b4af7e85..7f64e97b 100644 --- a/puppet/services/gnocchi-base.yaml +++ b/puppet/services/gnocchi-base.yaml @@ -4,6 +4,10 @@ description: > Gnocchi service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/gnocchi-metricd.yaml b/puppet/services/gnocchi-metricd.yaml index 5ada99fa..d45d140a 100644 --- a/puppet/services/gnocchi-metricd.yaml +++ b/puppet/services/gnocchi-metricd.yaml @@ -4,6 +4,10 @@ description: > Gnocchi service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -38,6 +42,7 @@ resources: GnocchiServiceBase: type: ./gnocchi-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/gnocchi-statsd.yaml b/puppet/services/gnocchi-statsd.yaml index 5ba1dfc7..85eba5d4 100644 --- a/puppet/services/gnocchi-statsd.yaml +++ b/puppet/services/gnocchi-statsd.yaml @@ -4,6 +4,10 @@ description: > Gnocchi service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -34,6 +38,7 @@ resources: GnocchiServiceBase: type: ./gnocchi-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/haproxy-internal-tls-certmonger.yaml b/puppet/services/haproxy-internal-tls-certmonger.yaml index 1866bb97..b6b4f270 100644 --- a/puppet/services/haproxy-internal-tls-certmonger.yaml +++ b/puppet/services/haproxy-internal-tls-certmonger.yaml @@ -4,6 +4,10 @@ description: > HAProxy deployment with TLS enabled, powered by certmonger parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/haproxy-public-tls-certmonger.yaml b/puppet/services/haproxy-public-tls-certmonger.yaml index 7ebacdbc..e79d2aec 100644 --- a/puppet/services/haproxy-public-tls-certmonger.yaml +++ b/puppet/services/haproxy-public-tls-certmonger.yaml @@ -4,6 +4,10 @@ description: > HAProxy deployment with TLS enabled, powered by certmonger parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/haproxy.yaml b/puppet/services/haproxy.yaml index 35dcc196..0af132e7 100644 --- a/puppet/services/haproxy.yaml +++ b/puppet/services/haproxy.yaml @@ -4,6 +4,10 @@ description: > HAproxy service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -69,6 +73,7 @@ resources: HAProxyPublicTLS: type: OS::TripleO::Services::HAProxyPublicTLS properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} @@ -78,6 +83,7 @@ resources: HAProxyInternalTLS: type: OS::TripleO::Services::HAProxyInternalTLS properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/heat-api-cfn.yaml b/puppet/services/heat-api-cfn.yaml index 92d73cfb..2c13cb30 100644 --- a/puppet/services/heat-api-cfn.yaml +++ b/puppet/services/heat-api-cfn.yaml @@ -4,6 +4,10 @@ description: > Openstack Heat CloudFormation API service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -58,6 +62,7 @@ resources: ApacheServiceBase: type: ./apache.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} @@ -68,6 +73,7 @@ resources: HeatBase: type: ./heat-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/heat-api-cloudwatch.yaml b/puppet/services/heat-api-cloudwatch.yaml index a740d201..b23dc895 100644 --- a/puppet/services/heat-api-cloudwatch.yaml +++ b/puppet/services/heat-api-cloudwatch.yaml @@ -4,6 +4,10 @@ description: > Openstack Heat CloudWatch API service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -50,6 +54,7 @@ resources: ApacheServiceBase: type: ./apache.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} @@ -60,6 +65,7 @@ resources: HeatBase: type: ./heat-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/heat-api.yaml b/puppet/services/heat-api.yaml index ced7f0c4..3349271c 100644 --- a/puppet/services/heat-api.yaml +++ b/puppet/services/heat-api.yaml @@ -4,6 +4,10 @@ description: > Openstack Heat API service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -64,6 +68,7 @@ resources: ApacheServiceBase: type: ./apache.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} @@ -74,6 +79,7 @@ resources: HeatBase: type: ./heat-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/heat-base.yaml b/puppet/services/heat-base.yaml index d305edb5..269fa0c2 100644 --- a/puppet/services/heat-base.yaml +++ b/puppet/services/heat-base.yaml @@ -30,6 +30,10 @@ parameters: default: 5672 description: Set rabbit subscriber port, change this if using SSL type: number + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/heat-engine.yaml b/puppet/services/heat-engine.yaml index 1d5f054b..855af6f1 100644 --- a/puppet/services/heat-engine.yaml +++ b/puppet/services/heat-engine.yaml @@ -4,6 +4,10 @@ description: > Openstack Heat Engine service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -70,6 +74,7 @@ resources: HeatBase: type: ./heat-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/horizon.yaml b/puppet/services/horizon.yaml index 1f97b8ba..63ab92eb 100644 --- a/puppet/services/horizon.yaml +++ b/puppet/services/horizon.yaml @@ -4,6 +4,10 @@ description: > Horizon service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/ironic-api.yaml b/puppet/services/ironic-api.yaml index 0e8eacf1..f003be72 100644 --- a/puppet/services/ironic-api.yaml +++ b/puppet/services/ironic-api.yaml @@ -4,6 +4,10 @@ description: > OpenStack Ironic API configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -51,6 +55,7 @@ resources: ApacheServiceBase: type: ./apache.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} @@ -61,6 +66,7 @@ resources: IronicBase: type: ./ironic-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/ironic-base.yaml b/puppet/services/ironic-base.yaml index 41d6cedc..f49141df 100644 --- a/puppet/services/ironic-base.yaml +++ b/puppet/services/ironic-base.yaml @@ -4,6 +4,10 @@ description: > OpenStack Ironic services configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/ironic-conductor.yaml b/puppet/services/ironic-conductor.yaml index 0e8c8e12..1ed1ee7c 100644 --- a/puppet/services/ironic-conductor.yaml +++ b/puppet/services/ironic-conductor.yaml @@ -4,6 +4,10 @@ description: > OpenStack Ironic conductor configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -103,6 +107,7 @@ resources: IronicBase: type: ./ironic-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/ironic-inspector.yaml b/puppet/services/ironic-inspector.yaml index e8537a29..a7627927 100644 --- a/puppet/services/ironic-inspector.yaml +++ b/puppet/services/ironic-inspector.yaml @@ -4,6 +4,10 @@ description: > OpenStack Ironic Inspector configured with Puppet (EXPERIMENTAL) parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/keepalived.yaml b/puppet/services/keepalived.yaml index 44e6b248..a258ee41 100644 --- a/puppet/services/keepalived.yaml +++ b/puppet/services/keepalived.yaml @@ -4,6 +4,10 @@ description: > Keepalived service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/kernel.yaml b/puppet/services/kernel.yaml index c142b475..011ec037 100644 --- a/puppet/services/kernel.yaml +++ b/puppet/services/kernel.yaml @@ -4,6 +4,10 @@ description: > Load kernel modules with kmod and configure kernel options with sysctl. parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/keystone.yaml b/puppet/services/keystone.yaml index 9535682a..8796209b 100644 --- a/puppet/services/keystone.yaml +++ b/puppet/services/keystone.yaml @@ -38,6 +38,10 @@ parameters: default: 'fernet' constraints: - allowed_values: ['uuid', 'fernet'] + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -63,6 +67,7 @@ parameters: Debug: type: string default: '' + description: Set to True to enable debugging on all services. KeystoneDebug: default: '' description: Set to True to enable debugging Keystone service. @@ -227,6 +232,7 @@ resources: ApacheServiceBase: type: ./apache.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/logging/fluentd-base.yaml b/puppet/services/logging/fluentd-base.yaml index 21049a9e..0ab157c7 100644 --- a/puppet/services/logging/fluentd-base.yaml +++ b/puppet/services/logging/fluentd-base.yaml @@ -3,6 +3,10 @@ heat_template_version: pike description: Fluentd base service parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/logging/fluentd-client.yaml b/puppet/services/logging/fluentd-client.yaml index e34f31fa..958306f8 100644 --- a/puppet/services/logging/fluentd-client.yaml +++ b/puppet/services/logging/fluentd-client.yaml @@ -3,6 +3,10 @@ heat_template_version: pike description: Fluentd client configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -34,6 +38,7 @@ resources: EndpointMap: {get_param: EndpointMap} RoleName: {get_param: RoleName} RoleParameters: {get_param: RoleParameters} + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} diff --git a/puppet/services/logging/fluentd-config.yaml b/puppet/services/logging/fluentd-config.yaml index 9ade6419..a2390545 100644 --- a/puppet/services/logging/fluentd-config.yaml +++ b/puppet/services/logging/fluentd-config.yaml @@ -3,6 +3,10 @@ heat_template_version: pike description: Fluentd logging configuration parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/manila-api.yaml b/puppet/services/manila-api.yaml index 2710d789..9fc76bf6 100644 --- a/puppet/services/manila-api.yaml +++ b/puppet/services/manila-api.yaml @@ -4,6 +4,10 @@ description: > Manila-api service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -42,6 +46,7 @@ resources: ManilaBase: type: ./manila-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/manila-backend-cephfs.yaml b/puppet/services/manila-backend-cephfs.yaml index f4c7a074..9d6b508b 100644 --- a/puppet/services/manila-backend-cephfs.yaml +++ b/puppet/services/manila-backend-cephfs.yaml @@ -4,6 +4,10 @@ description: > Openstack Manila Cephfs backend parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/manila-backend-generic.yaml b/puppet/services/manila-backend-generic.yaml index 7be92399..44f4a642 100644 --- a/puppet/services/manila-backend-generic.yaml +++ b/puppet/services/manila-backend-generic.yaml @@ -49,6 +49,10 @@ parameters: ManilaServiceNetworkCidr: type: string default: '172.16.0.0/16' + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/manila-backend-netapp.yaml b/puppet/services/manila-backend-netapp.yaml index b1068488..d4caedf0 100644 --- a/puppet/services/manila-backend-netapp.yaml +++ b/puppet/services/manila-backend-netapp.yaml @@ -64,6 +64,10 @@ parameters: ManilaNetappSnapmirrorQuiesceTimeout: type: number default: 3600 + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/manila-base.yaml b/puppet/services/manila-base.yaml index 54f416bb..3c825473 100644 --- a/puppet/services/manila-base.yaml +++ b/puppet/services/manila-base.yaml @@ -4,6 +4,10 @@ description: > Openstack Manila base service. Shared by manila-api/scheduler/share services parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/manila-scheduler.yaml b/puppet/services/manila-scheduler.yaml index b3d1ffa2..160b4e4a 100644 --- a/puppet/services/manila-scheduler.yaml +++ b/puppet/services/manila-scheduler.yaml @@ -4,6 +4,10 @@ description: > Manila-scheduler service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -46,6 +50,7 @@ resources: ManilaBase: type: ./manila-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/manila-share.yaml b/puppet/services/manila-share.yaml index 50d7f7c6..08c36483 100644 --- a/puppet/services/manila-share.yaml +++ b/puppet/services/manila-share.yaml @@ -4,6 +4,10 @@ description: > Manila-share service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -38,6 +42,7 @@ resources: ManilaBase: type: ./manila-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/memcached.yaml b/puppet/services/memcached.yaml index 5b98e02b..2bc08fde 100644 --- a/puppet/services/memcached.yaml +++ b/puppet/services/memcached.yaml @@ -4,6 +4,10 @@ description: > Memcached service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/metrics/collectd.yaml b/puppet/services/metrics/collectd.yaml index da77ef0e..7fd301b2 100644 --- a/puppet/services/metrics/collectd.yaml +++ b/puppet/services/metrics/collectd.yaml @@ -3,6 +3,10 @@ heat_template_version: pike description: Collectd client service parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/mistral-api.yaml b/puppet/services/mistral-api.yaml index b865ec1f..10de99a9 100644 --- a/puppet/services/mistral-api.yaml +++ b/puppet/services/mistral-api.yaml @@ -4,6 +4,10 @@ description: > Openstack Mistral API service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -47,6 +51,7 @@ resources: ApacheServiceBase: type: ./apache.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} @@ -54,6 +59,7 @@ resources: MistralBase: type: ./mistral-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/mistral-base.yaml b/puppet/services/mistral-base.yaml index a0d203ce..dbcc3f79 100644 --- a/puppet/services/mistral-base.yaml +++ b/puppet/services/mistral-base.yaml @@ -4,6 +4,10 @@ description: > Openstack Mistral base service. Shared for all Mistral services. parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/mistral-engine.yaml b/puppet/services/mistral-engine.yaml index 6a0fed1a..879c74aa 100644 --- a/puppet/services/mistral-engine.yaml +++ b/puppet/services/mistral-engine.yaml @@ -4,6 +4,10 @@ description: > Openstack Mistral Engine service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -31,6 +35,7 @@ resources: MistralBase: type: ./mistral-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/mistral-executor.yaml b/puppet/services/mistral-executor.yaml index 57f29dd4..9e8e6c5d 100644 --- a/puppet/services/mistral-executor.yaml +++ b/puppet/services/mistral-executor.yaml @@ -4,6 +4,10 @@ description: > Openstack Mistral API service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -31,6 +35,7 @@ resources: MistralBase: type: ./mistral-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/monitoring/sensu-base.yaml b/puppet/services/monitoring/sensu-base.yaml index 5e7e9940..0f0fe957 100644 --- a/puppet/services/monitoring/sensu-base.yaml +++ b/puppet/services/monitoring/sensu-base.yaml @@ -3,6 +3,10 @@ heat_template_version: pike description: Sensu base service parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -40,7 +44,7 @@ parameters: to the RabbitMQ host. Set MonitoringRabbitUseSSL to true without specifying a private key or cert chain to use SSL transport, but not cert auth. - type: string + type: boolean MonitoringRabbitSSLPrivateKey: default: '' description: Private key to be used by Sensu to connect to RabbitMQ host. diff --git a/puppet/services/monitoring/sensu-client.yaml b/puppet/services/monitoring/sensu-client.yaml index 25e2b947..f2b062e0 100644 --- a/puppet/services/monitoring/sensu-client.yaml +++ b/puppet/services/monitoring/sensu-client.yaml @@ -3,6 +3,10 @@ heat_template_version: pike description: Sensu client configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -43,6 +47,7 @@ resources: SensuBase: type: ./sensu-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/network/contrail-analytics-database.yaml b/puppet/services/network/contrail-analytics-database.yaml index 9b78437b..414a69cc 100644 --- a/puppet/services/network/contrail-analytics-database.yaml +++ b/puppet/services/network/contrail-analytics-database.yaml @@ -7,6 +7,10 @@ description: > and configures Contrail Analytics Database. parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -34,6 +38,7 @@ resources: ContrailBase: type: ./contrail-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/network/contrail-analytics.yaml b/puppet/services/network/contrail-analytics.yaml index f85ba7cc..51ecbf29 100644 --- a/puppet/services/network/contrail-analytics.yaml +++ b/puppet/services/network/contrail-analytics.yaml @@ -7,6 +7,10 @@ description: > and configures Contrail Analytics. parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -34,6 +38,7 @@ resources: ContrailBase: type: ./contrail-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/network/contrail-base.yaml b/puppet/services/network/contrail-base.yaml index bdcdbb86..9ee8a651 100644 --- a/puppet/services/network/contrail-base.yaml +++ b/puppet/services/network/contrail-base.yaml @@ -4,6 +4,10 @@ description: > Base parameters for all Contrail Services. parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/network/contrail-config.yaml b/puppet/services/network/contrail-config.yaml index feda5854..d11cf6d0 100644 --- a/puppet/services/network/contrail-config.yaml +++ b/puppet/services/network/contrail-config.yaml @@ -7,6 +7,10 @@ description: > and configures Contrail Config. parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -42,6 +46,7 @@ resources: ContrailBase: type: ./contrail-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/network/contrail-control.yaml b/puppet/services/network/contrail-control.yaml index f1108547..529160ee 100644 --- a/puppet/services/network/contrail-control.yaml +++ b/puppet/services/network/contrail-control.yaml @@ -7,6 +7,10 @@ description: > and configures Contrail Control. parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -42,6 +46,7 @@ resources: ContrailBase: type: ./contrail-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/network/contrail-database.yaml b/puppet/services/network/contrail-database.yaml index 5ce25a2e..d6c1192d 100644 --- a/puppet/services/network/contrail-database.yaml +++ b/puppet/services/network/contrail-database.yaml @@ -7,6 +7,10 @@ description: > and configures Contrail Database. parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -34,6 +38,7 @@ resources: ContrailBase: type: ./contrail-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/network/contrail-heat.yaml b/puppet/services/network/contrail-heat.yaml index da86714e..81a8d86b 100644 --- a/puppet/services/network/contrail-heat.yaml +++ b/puppet/services/network/contrail-heat.yaml @@ -5,6 +5,10 @@ description: > to orchestrate Contrail parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -32,6 +36,7 @@ resources: ContrailBase: type: ./contrail-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/network/contrail-neutron-plugin.yaml b/puppet/services/network/contrail-neutron-plugin.yaml index 0c5e2a86..95951fd5 100644 --- a/puppet/services/network/contrail-neutron-plugin.yaml +++ b/puppet/services/network/contrail-neutron-plugin.yaml @@ -4,6 +4,10 @@ description: > OpenStack Neutron Opencontrail plugin parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -35,6 +39,7 @@ resources: ContrailBase: type: ./contrail-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/network/contrail-provision.yaml b/puppet/services/network/contrail-provision.yaml index 8918f6da..f3a43224 100644 --- a/puppet/services/network/contrail-provision.yaml +++ b/puppet/services/network/contrail-provision.yaml @@ -4,6 +4,10 @@ description: > Provision Contrail services after deployment parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -31,6 +35,7 @@ resources: ContrailBase: type: ./contrail-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/network/contrail-tsn.yaml b/puppet/services/network/contrail-tsn.yaml index 9d48e0e6..469e18cc 100644 --- a/puppet/services/network/contrail-tsn.yaml +++ b/puppet/services/network/contrail-tsn.yaml @@ -4,6 +4,10 @@ description: > Contrail TSN Service parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -46,6 +50,7 @@ resources: ContrailBase: type: ./contrail-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/network/contrail-vrouter.yaml b/puppet/services/network/contrail-vrouter.yaml index f03ed9c6..d36a5651 100644 --- a/puppet/services/network/contrail-vrouter.yaml +++ b/puppet/services/network/contrail-vrouter.yaml @@ -4,6 +4,10 @@ description: > OpenStack Neutron Compute OpenContrail plugin parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -47,6 +51,7 @@ resources: ContrailBase: type: ./contrail-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/network/contrail-webui.yaml b/puppet/services/network/contrail-webui.yaml index f723e6a8..aa73fb94 100644 --- a/puppet/services/network/contrail-webui.yaml +++ b/puppet/services/network/contrail-webui.yaml @@ -7,6 +7,10 @@ description: > and configures Contrail WebUI. parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -34,6 +38,7 @@ resources: ContrailBase: type: ./contrail-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/neutron-api.yaml b/puppet/services/neutron-api.yaml index 8e1e0b80..d650b11f 100644 --- a/puppet/services/neutron-api.yaml +++ b/puppet/services/neutron-api.yaml @@ -4,6 +4,10 @@ description: > OpenStack Neutron Server configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -107,6 +111,7 @@ resources: TLSProxyBase: type: OS::TripleO::Services::TLSProxyBase properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} @@ -117,6 +122,7 @@ resources: NeutronBase: type: ./neutron-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/neutron-base.yaml b/puppet/services/neutron-base.yaml index da7ad199..b9556890 100644 --- a/puppet/services/neutron-base.yaml +++ b/puppet/services/neutron-base.yaml @@ -69,6 +69,10 @@ parameters: networks, neutron uses this value without modification. For overlay networks such as VXLAN, neutron automatically subtracts the overlay protocol overhead from this value. + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/neutron-bgpvpn-api.yaml b/puppet/services/neutron-bgpvpn-api.yaml index a70337d1..8279eb26 100644 --- a/puppet/services/neutron-bgpvpn-api.yaml +++ b/puppet/services/neutron-bgpvpn-api.yaml @@ -4,6 +4,10 @@ description: > BGPVPN API service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/neutron-bigswitch-agent.yaml b/puppet/services/neutron-bigswitch-agent.yaml index 3faf7887..029d2e02 100644 --- a/puppet/services/neutron-bigswitch-agent.yaml +++ b/puppet/services/neutron-bigswitch-agent.yaml @@ -4,6 +4,10 @@ description: > Installs bigswitch agent and enables the services parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/neutron-compute-plugin-midonet.yaml b/puppet/services/neutron-compute-plugin-midonet.yaml index 75b03044..3f0b84ee 100644 --- a/puppet/services/neutron-compute-plugin-midonet.yaml +++ b/puppet/services/neutron-compute-plugin-midonet.yaml @@ -4,6 +4,10 @@ description: > OpenStack Neutron Compute Midonet plugin parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/neutron-compute-plugin-nuage.yaml b/puppet/services/neutron-compute-plugin-nuage.yaml index a1657258..5842149f 100644 --- a/puppet/services/neutron-compute-plugin-nuage.yaml +++ b/puppet/services/neutron-compute-plugin-nuage.yaml @@ -4,6 +4,10 @@ description: > OpenStack Neutron Compute Nuage plugin parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/neutron-compute-plugin-ovn.yaml b/puppet/services/neutron-compute-plugin-ovn.yaml index b5ce790d..dfd87eda 100644 --- a/puppet/services/neutron-compute-plugin-ovn.yaml +++ b/puppet/services/neutron-compute-plugin-ovn.yaml @@ -20,6 +20,10 @@ parameters: default: {} description: Parameters specific to the role type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/neutron-compute-plugin-plumgrid.yaml b/puppet/services/neutron-compute-plugin-plumgrid.yaml index 08cecf64..c041891b 100644 --- a/puppet/services/neutron-compute-plugin-plumgrid.yaml +++ b/puppet/services/neutron-compute-plugin-plumgrid.yaml @@ -4,6 +4,10 @@ description: > OpenStack Neutron Compute Plumgrid plugin parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/neutron-dhcp.yaml b/puppet/services/neutron-dhcp.yaml index 91582db8..f6047fac 100644 --- a/puppet/services/neutron-dhcp.yaml +++ b/puppet/services/neutron-dhcp.yaml @@ -4,6 +4,10 @@ description: > OpenStack Neutron DHCP agent configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -57,6 +61,7 @@ resources: NeutronBase: type: ./neutron-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/neutron-l2gw-agent.yaml b/puppet/services/neutron-l2gw-agent.yaml index 39c443f7..7785f15b 100644 --- a/puppet/services/neutron-l2gw-agent.yaml +++ b/puppet/services/neutron-l2gw-agent.yaml @@ -3,6 +3,10 @@ heat_template_version: pike description: > L2 Gateway agent configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/neutron-l2gw-api.yaml b/puppet/services/neutron-l2gw-api.yaml index 1ad009b4..fdd65266 100644 --- a/puppet/services/neutron-l2gw-api.yaml +++ b/puppet/services/neutron-l2gw-api.yaml @@ -4,6 +4,10 @@ description: > L2 Gateway service plugin configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/neutron-l3-compute-dvr.yaml b/puppet/services/neutron-l3-compute-dvr.yaml index 1a4a4f68..a3baf710 100644 --- a/puppet/services/neutron-l3-compute-dvr.yaml +++ b/puppet/services/neutron-l3-compute-dvr.yaml @@ -5,6 +5,10 @@ description: > configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -30,6 +34,7 @@ parameters: Debug: type: string default: '' + description: Set to True to enable debugging on all services. MonitoringSubscriptionNeutronL3Dvr: default: 'overcloud-neutron-l3-dvr' type: string @@ -57,6 +62,7 @@ resources: NeutronBase: type: ./neutron-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/neutron-l3.yaml b/puppet/services/neutron-l3.yaml index 0598639c..7ccf526a 100644 --- a/puppet/services/neutron-l3.yaml +++ b/puppet/services/neutron-l3.yaml @@ -4,6 +4,10 @@ description: > OpenStack Neutron L3 agent configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -29,6 +33,7 @@ parameters: Debug: type: string default: '' + description: Set to True to enable debugging on all services. NeutronL3AgentMode: description: | Agent mode for L3 agent. Must be one of legacy or dvr_snat. @@ -65,6 +70,7 @@ resources: NeutronBase: type: ./neutron-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/neutron-lbaas.yaml b/puppet/services/neutron-lbaas.yaml index 5529db95..ec477ddc 100644 --- a/puppet/services/neutron-lbaas.yaml +++ b/puppet/services/neutron-lbaas.yaml @@ -4,6 +4,10 @@ description: > Neutron LBaaS service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -47,6 +51,7 @@ resources: NeutronBase: type: ./neutron-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/neutron-linuxbridge-agent.yaml b/puppet/services/neutron-linuxbridge-agent.yaml index f4324054..5d7b99e7 100644 --- a/puppet/services/neutron-linuxbridge-agent.yaml +++ b/puppet/services/neutron-linuxbridge-agent.yaml @@ -4,6 +4,10 @@ description: > OpenStack Neutron Linuxbridge agent configured with Puppet. parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -56,6 +60,7 @@ resources: NeutronBase: type: ./neutron-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/neutron-metadata.yaml b/puppet/services/neutron-metadata.yaml index 593fae43..81f12f01 100644 --- a/puppet/services/neutron-metadata.yaml +++ b/puppet/services/neutron-metadata.yaml @@ -4,6 +4,10 @@ description: > OpenStack Neutron Metadata agent configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -62,6 +66,7 @@ resources: NeutronBase: type: ./neutron-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/neutron-midonet.yaml b/puppet/services/neutron-midonet.yaml index 8ace3e59..f7873b9e 100644 --- a/puppet/services/neutron-midonet.yaml +++ b/puppet/services/neutron-midonet.yaml @@ -4,6 +4,10 @@ description: > OpenStack Neutron Midonet plugin and services parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/neutron-ovs-agent.yaml b/puppet/services/neutron-ovs-agent.yaml index 2c23cf55..1d4029cf 100644 --- a/puppet/services/neutron-ovs-agent.yaml +++ b/puppet/services/neutron-ovs-agent.yaml @@ -4,6 +4,10 @@ description: > OpenStack Neutron OVS agent configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -85,6 +89,7 @@ resources: NeutronBase: type: ./neutron-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/neutron-ovs-dpdk-agent.yaml b/puppet/services/neutron-ovs-dpdk-agent.yaml index da7a4d68..4f5eecca 100644 --- a/puppet/services/neutron-ovs-dpdk-agent.yaml +++ b/puppet/services/neutron-ovs-dpdk-agent.yaml @@ -4,6 +4,10 @@ description: > OpenStack Neutron OVS DPDK configured with Puppet for Compute Role parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -43,6 +47,7 @@ resources: NeutronOvsAgent: type: ./neutron-ovs-agent.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/neutron-plugin-ml2-fujitsu-cfab.yaml b/puppet/services/neutron-plugin-ml2-fujitsu-cfab.yaml index a1516955..3e7250d1 100644 --- a/puppet/services/neutron-plugin-ml2-fujitsu-cfab.yaml +++ b/puppet/services/neutron-plugin-ml2-fujitsu-cfab.yaml @@ -4,6 +4,10 @@ description: > Configure hieradata for Fujitsu C-Fabric plugin configuration parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -58,6 +62,7 @@ resources: NeutronMl2Base: type: ./neutron-plugin-ml2.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/neutron-plugin-ml2-fujitsu-fossw.yaml b/puppet/services/neutron-plugin-ml2-fujitsu-fossw.yaml index c4bf0758..cb7842e2 100644 --- a/puppet/services/neutron-plugin-ml2-fujitsu-fossw.yaml +++ b/puppet/services/neutron-plugin-ml2-fujitsu-fossw.yaml @@ -3,6 +3,10 @@ heat_template_version: pike description: Configure hieradata for Fujitsu fossw plugin configuration parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -61,6 +65,7 @@ resources: NeutronMl2Base: type: ./neutron-plugin-ml2.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/neutron-plugin-ml2-odl.yaml b/puppet/services/neutron-plugin-ml2-odl.yaml index 6424b76a..cc4cd8f4 100644 --- a/puppet/services/neutron-plugin-ml2-odl.yaml +++ b/puppet/services/neutron-plugin-ml2-odl.yaml @@ -4,6 +4,10 @@ description: > OpenStack Neutron ML2/OpenDaylight plugin configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -36,6 +40,7 @@ resources: NeutronMl2Base: type: ./neutron-plugin-ml2.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/neutron-plugin-ml2-ovn.yaml b/puppet/services/neutron-plugin-ml2-ovn.yaml index 4cda87b6..fb6900ee 100644 --- a/puppet/services/neutron-plugin-ml2-ovn.yaml +++ b/puppet/services/neutron-plugin-ml2-ovn.yaml @@ -4,6 +4,10 @@ description: > OpenStack Neutron ML2/OVN plugin configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -65,6 +69,7 @@ resources: NeutronMl2Base: type: ./neutron-plugin-ml2.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/neutron-plugin-ml2.yaml b/puppet/services/neutron-plugin-ml2.yaml index 130f889b..dd757b5d 100644 --- a/puppet/services/neutron-plugin-ml2.yaml +++ b/puppet/services/neutron-plugin-ml2.yaml @@ -4,6 +4,10 @@ description: > OpenStack Neutron ML2 Plugin configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -49,8 +53,8 @@ parameters: default: 'datacentre:1:1000' description: > The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the - Neutron documentation for permitted values. Defaults to permitting any - VLAN on the 'datacentre' physical network (See NeutronBridgeMappings). + Neutron documentation for permitted values. Defaults to permitting VLANs + 1 to 1000 on the 'datacentre' physical network (See NeutronBridgeMappings). type: comma_delimited_list NeutronTunnelIdRanges: description: | @@ -73,6 +77,7 @@ resources: NeutronBase: type: ./neutron-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/neutron-plugin-nsx.yaml b/puppet/services/neutron-plugin-nsx.yaml index c4088e6c..2774b03e 100644 --- a/puppet/services/neutron-plugin-nsx.yaml +++ b/puppet/services/neutron-plugin-nsx.yaml @@ -4,6 +4,10 @@ description: > OpenStack Neutron NSX parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/neutron-plugin-nuage.yaml b/puppet/services/neutron-plugin-nuage.yaml index 953ffeb6..135b1806 100644 --- a/puppet/services/neutron-plugin-nuage.yaml +++ b/puppet/services/neutron-plugin-nuage.yaml @@ -4,6 +4,10 @@ description: > OpenStack Neutron Nuage plugin parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -68,6 +72,7 @@ resources: NeutronBase: type: ./neutron-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/neutron-plugin-plumgrid.yaml b/puppet/services/neutron-plugin-plumgrid.yaml index a158010c..71928473 100644 --- a/puppet/services/neutron-plugin-plumgrid.yaml +++ b/puppet/services/neutron-plugin-plumgrid.yaml @@ -4,6 +4,10 @@ description: > OpenStack Neutron Plumgrid plugin parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/neutron-sriov-agent.yaml b/puppet/services/neutron-sriov-agent.yaml index 090640ed..3c18209c 100644 --- a/puppet/services/neutron-sriov-agent.yaml +++ b/puppet/services/neutron-sriov-agent.yaml @@ -4,6 +4,10 @@ description: > OpenStack Neutron SR-IOV nic agent configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: > @@ -59,6 +63,7 @@ resources: NeutronBase: type: ./neutron-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/neutron-vpp-agent.yaml b/puppet/services/neutron-vpp-agent.yaml index cb72f67b..803c041b 100644 --- a/puppet/services/neutron-vpp-agent.yaml +++ b/puppet/services/neutron-vpp-agent.yaml @@ -4,6 +4,10 @@ description: > OpenStack Neutron ML2/VPP agent configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: > @@ -39,6 +43,7 @@ resources: NeutronBase: type: ./neutron-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/nova-api.yaml b/puppet/services/nova-api.yaml index 4ce5316d..a28f4672 100644 --- a/puppet/services/nova-api.yaml +++ b/puppet/services/nova-api.yaml @@ -4,6 +4,10 @@ description: > OpenStack Nova API service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -94,6 +98,7 @@ resources: NovaBase: type: ./nova-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/nova-base.yaml b/puppet/services/nova-base.yaml index 809d3ff5..82f8bc13 100644 --- a/puppet/services/nova-base.yaml +++ b/puppet/services/nova-base.yaml @@ -4,6 +4,10 @@ description: > OpenStack Nova base service. Shared for all Nova services. parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/nova-compute.yaml b/puppet/services/nova-compute.yaml index 33b07ded..d0f8fda2 100644 --- a/puppet/services/nova-compute.yaml +++ b/puppet/services/nova-compute.yaml @@ -4,6 +4,10 @@ description: > OpenStack Nova Compute service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -106,6 +110,7 @@ resources: NovaBase: type: ./nova-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/nova-conductor.yaml b/puppet/services/nova-conductor.yaml index b83b9852..a6638be0 100644 --- a/puppet/services/nova-conductor.yaml +++ b/puppet/services/nova-conductor.yaml @@ -4,6 +4,10 @@ description: > OpenStack Nova Conductor service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -50,6 +54,7 @@ resources: NovaBase: type: ./nova-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/nova-consoleauth.yaml b/puppet/services/nova-consoleauth.yaml index fa1168aa..317dd41b 100644 --- a/puppet/services/nova-consoleauth.yaml +++ b/puppet/services/nova-consoleauth.yaml @@ -4,6 +4,10 @@ description: > OpenStack Nova Consoleauth service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -39,6 +43,7 @@ resources: NovaBase: type: ./nova-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/nova-ironic.yaml b/puppet/services/nova-ironic.yaml index 4f664329..5a9f16b3 100644 --- a/puppet/services/nova-ironic.yaml +++ b/puppet/services/nova-ironic.yaml @@ -4,6 +4,10 @@ description: > OpenStack Nova Compute service configured with Puppet and using Ironic parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -35,6 +39,7 @@ resources: NovaBase: type: ./nova-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/nova-libvirt.yaml b/puppet/services/nova-libvirt.yaml index 4e762b57..1c2958e3 100644 --- a/puppet/services/nova-libvirt.yaml +++ b/puppet/services/nova-libvirt.yaml @@ -4,6 +4,10 @@ description: > Libvirt service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -26,6 +30,20 @@ parameters: description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + CephClientUserName: + default: openstack + type: string + CephClientKey: + description: The Ceph client key. Can be created with ceph-authtool --gen-print-key. Currently only used for external Ceph deployments to create the openstack user keyring. + type: string + hidden: true + CephClusterFSID: + type: string + description: The Ceph cluster FSID. Must be a UUID. + CinderEnableRbdBackend: + default: false + description: Whether to enable or not the Rbd backend for Cinder + type: boolean NovaComputeLibvirtType: type: string default: kvm @@ -87,6 +105,7 @@ resources: NovaBase: type: ./nova-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} @@ -108,6 +127,9 @@ outputs: nova::compute::libvirt::migration_support: false tripleo::profile::base::nova::manage_migration: true tripleo::profile::base::nova::libvirt_enabled: true + nova::compute::rbd::libvirt_rbd_user: {get_param: CephClientUserName} + nova::compute::rbd::libvirt_rbd_secret_key: {get_param: CephClientKey} + nova::compute::rbd::libvirt_rbd_secret_uuid: {get_param: CephClusterFSID} nova::compute::libvirt::services::libvirt_virt_type: {get_param: NovaComputeLibvirtType} nova::compute::libvirt::libvirt_virt_type: {get_param: NovaComputeLibvirtType} nova::compute::libvirt::libvirt_enabled_perf_events: {get_param: LibvirtEnabledPerfEvents} @@ -115,6 +137,7 @@ outputs: nova::compute::libvirt::qemu::max_files: 32768 nova::compute::libvirt::qemu::max_processes: 131072 nova::compute::libvirt::vncserver_listen: {get_param: [ServiceNetMap, NovaLibvirtNetwork]} + rbd_persistent_storage: {get_param: CinderEnableRbdBackend} tripleo.nova_libvirt.firewall_rules: '200 nova_libvirt': dport: diff --git a/puppet/services/nova-metadata.yaml b/puppet/services/nova-metadata.yaml index bc7dc1b0..ca9eed09 100644 --- a/puppet/services/nova-metadata.yaml +++ b/puppet/services/nova-metadata.yaml @@ -4,6 +4,10 @@ description: > OpenStack Nova API service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/nova-placement.yaml b/puppet/services/nova-placement.yaml index aaa7ef5b..5cb4ef5c 100644 --- a/puppet/services/nova-placement.yaml +++ b/puppet/services/nova-placement.yaml @@ -4,6 +4,10 @@ description: > OpenStack Nova Placement API service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -57,6 +61,7 @@ resources: ApacheServiceBase: type: ./apache.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} @@ -67,6 +72,7 @@ resources: NovaBase: type: ./nova-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/nova-scheduler.yaml b/puppet/services/nova-scheduler.yaml index 72a1fce7..e47cb90c 100644 --- a/puppet/services/nova-scheduler.yaml +++ b/puppet/services/nova-scheduler.yaml @@ -4,6 +4,10 @@ description: > OpenStack Nova Scheduler service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -58,6 +62,7 @@ resources: NovaBase: type: ./nova-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/nova-vnc-proxy.yaml b/puppet/services/nova-vnc-proxy.yaml index 2db44d6f..6d599df7 100644 --- a/puppet/services/nova-vnc-proxy.yaml +++ b/puppet/services/nova-vnc-proxy.yaml @@ -4,6 +4,10 @@ description: > OpenStack Nova Vncproxy service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -39,6 +43,7 @@ resources: NovaBase: type: ./nova-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/octavia-api.yaml b/puppet/services/octavia-api.yaml index e64a00f5..464fc2d0 100644 --- a/puppet/services/octavia-api.yaml +++ b/puppet/services/octavia-api.yaml @@ -4,6 +4,10 @@ description: > OpenStack Octavia API service. parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -54,6 +58,7 @@ resources: OctaviaBase: type: ./octavia-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/octavia-base.yaml b/puppet/services/octavia-base.yaml index 1246813d..8f968d8d 100644 --- a/puppet/services/octavia-base.yaml +++ b/puppet/services/octavia-base.yaml @@ -4,6 +4,10 @@ description: > OpenStack Octavia base service. Shared for all Octavia services parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/octavia-health-manager.yaml b/puppet/services/octavia-health-manager.yaml index 853567d3..874e9f59 100644 --- a/puppet/services/octavia-health-manager.yaml +++ b/puppet/services/octavia-health-manager.yaml @@ -4,6 +4,10 @@ description: > OpenStack Octavia Health Manager service. parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -44,6 +48,7 @@ resources: OctaviaBase: type: ./octavia-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/octavia-housekeeping.yaml b/puppet/services/octavia-housekeeping.yaml index 6c556fa7..79e0e664 100644 --- a/puppet/services/octavia-housekeeping.yaml +++ b/puppet/services/octavia-housekeeping.yaml @@ -4,6 +4,10 @@ description: > OpenStack Octavia Housekeeping service. parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -51,6 +55,7 @@ resources: OctaviaBase: type: ./octavia-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/octavia-worker.yaml b/puppet/services/octavia-worker.yaml index 4feae415..2cc8a1e8 100644 --- a/puppet/services/octavia-worker.yaml +++ b/puppet/services/octavia-worker.yaml @@ -4,6 +4,10 @@ description: > OpenStack Octavia Worker service. parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -74,6 +78,7 @@ resources: OctaviaBase: type: ./octavia-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/opendaylight-api.yaml b/puppet/services/opendaylight-api.yaml index af85f4a3..472dbcce 100644 --- a/puppet/services/opendaylight-api.yaml +++ b/puppet/services/opendaylight-api.yaml @@ -37,6 +37,10 @@ parameters: description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -54,6 +58,10 @@ parameters: default: {} description: Parameters specific to the role type: json + OpenDaylightManageRepositories: + description: Whether to manage the OpenDaylight repository + type: boolean + default: false outputs: role_data: @@ -68,6 +76,7 @@ outputs: opendaylight::enable_dhcp: {get_param: OpenDaylightEnableDHCP} opendaylight::odl_bind_ip: {get_param: [ServiceNetMap, OpendaylightApiNetwork]} opendaylight::nb_connection_protocol: {get_param: OpenDaylightConnectionProtocol} + opendaylight::manage_repositories: {get_param: OpenDaylightManageRepositories} tripleo.opendaylight_api.firewall_rules: '137 opendaylight api': dport: diff --git a/puppet/services/opendaylight-ovs.yaml b/puppet/services/opendaylight-ovs.yaml index 1a8754a5..2027292c 100644 --- a/puppet/services/opendaylight-ovs.yaml +++ b/puppet/services/opendaylight-ovs.yaml @@ -38,6 +38,10 @@ parameters: description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -60,6 +64,7 @@ resources: Ovs: type: ./openvswitch.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} @@ -76,6 +81,8 @@ outputs: - opendaylight::odl_rest_port: {get_param: OpenDaylightPort} opendaylight::username: {get_param: OpenDaylightUsername} opendaylight::password: {get_param: OpenDaylightPassword} + neutron::plugins::ovs::opendaylight::odl_username: {get_param: OpenDaylightUsername} + neutron::plugins::ovs::opendaylight::odl_password: {get_param: OpenDaylightPassword} opendaylight_check_url: {get_param: OpenDaylightCheckURL} opendaylight::nb_connection_protocol: {get_param: OpenDaylightConnectionProtocol} neutron::agents::ml2::ovs::local_ip: {get_param: [ServiceNetMap, NeutronTenantNetwork]} diff --git a/puppet/services/openvswitch.yaml b/puppet/services/openvswitch.yaml index 36aa5db7..d8061d4b 100644 --- a/puppet/services/openvswitch.yaml +++ b/puppet/services/openvswitch.yaml @@ -4,6 +4,10 @@ description: > Open vSwitch Configuration parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -159,6 +163,8 @@ outputs: owner: root group: root mode: 0750 + - name: Make yum cache. + command: yum makecache - name: Download OVS packages. command: yumdownloader --destdir /root/OVS_UPGRADE --resolve openvswitch - name: Get rpm list for manual upgrade of OVS. diff --git a/puppet/services/ovn-dbs.yaml b/puppet/services/ovn-dbs.yaml index df234c77..f6f3e3c8 100644 --- a/puppet/services/ovn-dbs.yaml +++ b/puppet/services/ovn-dbs.yaml @@ -4,6 +4,10 @@ description: > OVN databases configured with puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/pacemaker.yaml b/puppet/services/pacemaker.yaml index 1c89011c..893e8418 100644 --- a/puppet/services/pacemaker.yaml +++ b/puppet/services/pacemaker.yaml @@ -4,6 +4,10 @@ description: > Pacemaker service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/pacemaker/ceph-rbdmirror.yaml b/puppet/services/pacemaker/ceph-rbdmirror.yaml index 7ecb64d1..caf112d1 100644 --- a/puppet/services/pacemaker/ceph-rbdmirror.yaml +++ b/puppet/services/pacemaker/ceph-rbdmirror.yaml @@ -4,6 +4,10 @@ description: > Ceph RBD mirror service. parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -34,6 +38,7 @@ resources: CephBase: type: ../ceph-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/pacemaker/cinder-backup.yaml b/puppet/services/pacemaker/cinder-backup.yaml index d888d4a4..99c78987 100644 --- a/puppet/services/pacemaker/cinder-backup.yaml +++ b/puppet/services/pacemaker/cinder-backup.yaml @@ -16,6 +16,10 @@ parameters: CephClientUserName: default: openstack type: string + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -44,6 +48,7 @@ resources: CinderBackupBase: type: ../cinder-backup.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/pacemaker/cinder-volume.yaml b/puppet/services/pacemaker/cinder-volume.yaml index 39914db5..a1134f3e 100644 --- a/puppet/services/pacemaker/cinder-volume.yaml +++ b/puppet/services/pacemaker/cinder-volume.yaml @@ -4,6 +4,10 @@ description: > OpenStack Cinder Volume service with Pacemaker configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -32,6 +36,7 @@ resources: CinderVolumeBase: type: ../cinder-volume.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/pacemaker/database/mysql.yaml b/puppet/services/pacemaker/database/mysql.yaml index 0a7659e0..27353809 100644 --- a/puppet/services/pacemaker/database/mysql.yaml +++ b/puppet/services/pacemaker/database/mysql.yaml @@ -5,6 +5,10 @@ description: > parameters: #Parameters not used EndpointMap + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -38,6 +42,7 @@ resources: MysqlBase: type: ../../database/mysql.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/pacemaker/database/redis.yaml b/puppet/services/pacemaker/database/redis.yaml index 5bc28ed4..66eb4b2a 100644 --- a/puppet/services/pacemaker/database/redis.yaml +++ b/puppet/services/pacemaker/database/redis.yaml @@ -4,6 +4,10 @@ description: > OpenStack Redis service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -31,6 +35,7 @@ resources: RedisBase: type: ../../database/redis.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/pacemaker/haproxy.yaml b/puppet/services/pacemaker/haproxy.yaml index 0fb83939..45b2a665 100644 --- a/puppet/services/pacemaker/haproxy.yaml +++ b/puppet/services/pacemaker/haproxy.yaml @@ -4,6 +4,10 @@ description: > HAproxy service with Pacemaker configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -31,6 +35,7 @@ resources: LoadbalancerServiceBase: type: ../haproxy.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/pacemaker/manila-share.yaml b/puppet/services/pacemaker/manila-share.yaml index 12f6529c..61bf4580 100644 --- a/puppet/services/pacemaker/manila-share.yaml +++ b/puppet/services/pacemaker/manila-share.yaml @@ -4,6 +4,10 @@ description: > The manila-share service with Pacemaker configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -32,6 +36,7 @@ resources: ManilaShareBase: type: ../manila-share.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/pacemaker/ovn-dbs.yaml b/puppet/services/pacemaker/ovn-dbs.yaml index 1cbb4763..38039aa5 100644 --- a/puppet/services/pacemaker/ovn-dbs.yaml +++ b/puppet/services/pacemaker/ovn-dbs.yaml @@ -4,6 +4,10 @@ description: > OVN databases configured with puppet in HA mode parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -40,6 +44,7 @@ resources: OVNDBsBase: type: ../ovn-dbs.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/pacemaker/rabbitmq.yaml b/puppet/services/pacemaker/rabbitmq.yaml index 79257201..112149c7 100644 --- a/puppet/services/pacemaker/rabbitmq.yaml +++ b/puppet/services/pacemaker/rabbitmq.yaml @@ -4,6 +4,10 @@ description: > RabbitMQ service with Pacemaker configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -31,6 +35,7 @@ resources: RabbitMQServiceBase: type: ../rabbitmq.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/pacemaker_remote.yaml b/puppet/services/pacemaker_remote.yaml index c49b0848..76511784 100644 --- a/puppet/services/pacemaker_remote.yaml +++ b/puppet/services/pacemaker_remote.yaml @@ -4,6 +4,10 @@ description: > Pacemaker remote service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/panko-api.yaml b/puppet/services/panko-api.yaml index 0289b7a7..74d3f27c 100644 --- a/puppet/services/panko-api.yaml +++ b/puppet/services/panko-api.yaml @@ -6,6 +6,10 @@ description: > be disabled in future releases. parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -45,6 +49,7 @@ resources: PankoBase: type: ./panko-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} @@ -54,6 +59,7 @@ resources: ApacheServiceBase: type: ./apache.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/panko-base.yaml b/puppet/services/panko-base.yaml index a94d4ea5..35428840 100644 --- a/puppet/services/panko-base.yaml +++ b/puppet/services/panko-base.yaml @@ -4,6 +4,10 @@ description: > OpenStack Panko service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/qdr.yaml b/puppet/services/qdr.yaml index 433556f3..4cb2df18 100644 --- a/puppet/services/qdr.yaml +++ b/puppet/services/qdr.yaml @@ -4,6 +4,10 @@ description: > Qpid dispatch router service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/rabbitmq.yaml b/puppet/services/rabbitmq.yaml index 1a42fdad..66f5c4b6 100644 --- a/puppet/services/rabbitmq.yaml +++ b/puppet/services/rabbitmq.yaml @@ -4,6 +4,10 @@ description: > RabbitMQ service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/sahara-api.yaml b/puppet/services/sahara-api.yaml index 3df4ce7c..d660fe31 100644 --- a/puppet/services/sahara-api.yaml +++ b/puppet/services/sahara-api.yaml @@ -4,6 +4,10 @@ description: > OpenStack Sahara API service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -57,6 +61,7 @@ resources: SaharaBase: type: ./sahara-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/sahara-base.yaml b/puppet/services/sahara-base.yaml index d5110617..7c122c60 100644 --- a/puppet/services/sahara-base.yaml +++ b/puppet/services/sahara-base.yaml @@ -4,6 +4,10 @@ description: > OpenStack Sahara base service. Shared for all Sahara services. parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/sahara-engine.yaml b/puppet/services/sahara-engine.yaml index b6c108ea..b58e3ec2 100644 --- a/puppet/services/sahara-engine.yaml +++ b/puppet/services/sahara-engine.yaml @@ -4,6 +4,10 @@ description: > OpenStack Sahara Engine service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -39,6 +43,7 @@ resources: SaharaBase: type: ./sahara-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/securetty.yaml b/puppet/services/securetty.yaml index 84a370f0..b070d95f 100644 --- a/puppet/services/securetty.yaml +++ b/puppet/services/securetty.yaml @@ -4,6 +4,10 @@ description: > Configure securetty values parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/snmp.yaml b/puppet/services/snmp.yaml index ffa5d317..732058b6 100644 --- a/puppet/services/snmp.yaml +++ b/puppet/services/snmp.yaml @@ -6,6 +6,10 @@ description: > monitoring. parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/sshd.yaml b/puppet/services/sshd.yaml index 30058f03..a9807014 100644 --- a/puppet/services/sshd.yaml +++ b/puppet/services/sshd.yaml @@ -4,6 +4,10 @@ description: > Configure sshd_config parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/swift-base.yaml b/puppet/services/swift-base.yaml index 3066aecd..8d74c703 100644 --- a/puppet/services/swift-base.yaml +++ b/puppet/services/swift-base.yaml @@ -4,6 +4,10 @@ description: > OpenStack Swift Proxy service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/swift-proxy.yaml b/puppet/services/swift-proxy.yaml index c707efb1..283bb3f3 100644 --- a/puppet/services/swift-proxy.yaml +++ b/puppet/services/swift-proxy.yaml @@ -4,6 +4,10 @@ description: > OpenStack Swift Proxy service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -88,6 +92,7 @@ resources: SwiftBase: type: ./swift-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} @@ -97,6 +102,7 @@ resources: TLSProxyBase: type: OS::TripleO::Services::TLSProxyBase properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/swift-ringbuilder.yaml b/puppet/services/swift-ringbuilder.yaml index 3808dbcc..dd4cebb4 100644 --- a/puppet/services/swift-ringbuilder.yaml +++ b/puppet/services/swift-ringbuilder.yaml @@ -4,6 +4,10 @@ description: > OpenStack Swift Ringbuilder parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/swift-storage.yaml b/puppet/services/swift-storage.yaml index f1a9b930..40bc1368 100644 --- a/puppet/services/swift-storage.yaml +++ b/puppet/services/swift-storage.yaml @@ -4,6 +4,10 @@ description: > OpenStack Swift Storage service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -60,6 +64,7 @@ resources: SwiftBase: type: ./swift-base.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/puppet/services/tacker.yaml b/puppet/services/tacker.yaml index 44c638bf..541a2eb6 100644 --- a/puppet/services/tacker.yaml +++ b/puppet/services/tacker.yaml @@ -4,6 +4,10 @@ description: > OpenStack Tacker service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -33,6 +37,7 @@ parameters: Debug: type: string default: '' + description: Set to True to enable debugging on all services. TackerDebug: default: '' description: Set to True to enable debugging Tacker service. diff --git a/puppet/services/time/ntp.yaml b/puppet/services/time/ntp.yaml index 92c3f9ef..4ddba6da 100644 --- a/puppet/services/time/ntp.yaml +++ b/puppet/services/time/ntp.yaml @@ -7,6 +7,10 @@ description: > and configure NTP. parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/time/timezone.yaml b/puppet/services/time/timezone.yaml index aece02cf..f991a6b0 100644 --- a/puppet/services/time/timezone.yaml +++ b/puppet/services/time/timezone.yaml @@ -4,6 +4,10 @@ description: > Composable Timezone service parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/tripleo-firewall.yaml b/puppet/services/tripleo-firewall.yaml index 9fb590ef..18835255 100644 --- a/puppet/services/tripleo-firewall.yaml +++ b/puppet/services/tripleo-firewall.yaml @@ -4,6 +4,10 @@ description: > TripleO Firewall settings parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/tripleo-packages.yaml b/puppet/services/tripleo-packages.yaml index 2b9b8834..e471c2a6 100644 --- a/puppet/services/tripleo-packages.yaml +++ b/puppet/services/tripleo-packages.yaml @@ -4,6 +4,10 @@ description: > TripleO Package installation settings parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -28,7 +32,7 @@ parameters: type: json EnablePackageInstall: default: 'false' - description: Set to true to enable package installation via Puppet + description: Set to true to enable package installation at deploy time type: boolean outputs: diff --git a/puppet/services/vpp.yaml b/puppet/services/vpp.yaml index e3e28a2f..fda92b7a 100644 --- a/puppet/services/vpp.yaml +++ b/puppet/services/vpp.yaml @@ -4,6 +4,10 @@ description: > Vpp service configured with Puppet parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set diff --git a/puppet/services/zaqar.yaml b/puppet/services/zaqar.yaml index 416d86df..debdc742 100644 --- a/puppet/services/zaqar.yaml +++ b/puppet/services/zaqar.yaml @@ -4,6 +4,10 @@ description: > Openstack Zaqar service. Shared for all Heat services. parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -65,6 +69,7 @@ resources: ApacheServiceBase: type: ./apache.yaml properties: + ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} diff --git a/releasenotes/notes/computeovsdpdk-role-67d53a405ce4174b.yaml b/releasenotes/notes/computeovsdpdk-role-67d53a405ce4174b.yaml new file mode 100644 index 00000000..ec7f40c9 --- /dev/null +++ b/releasenotes/notes/computeovsdpdk-role-67d53a405ce4174b.yaml @@ -0,0 +1,4 @@ +--- +features: + - A new role ComputeOvsDpdk has been added to enable dynamic roles_data + creation with OVS-DPDK role. diff --git a/releasenotes/notes/enable-neutron-lbaas-integration-fa999ccd548ee6b6.yaml b/releasenotes/notes/enable-neutron-lbaas-integration-fa999ccd548ee6b6.yaml new file mode 100644 index 00000000..7d6b1ecc --- /dev/null +++ b/releasenotes/notes/enable-neutron-lbaas-integration-fa999ccd548ee6b6.yaml @@ -0,0 +1,4 @@ +--- +features: + - Allows the configuration of the Neutron LBaaS + agent. diff --git a/releasenotes/notes/odl-user-a4c58ac0c3a64d90.yaml b/releasenotes/notes/odl-user-a4c58ac0c3a64d90.yaml new file mode 100644 index 00000000..d37ab12b --- /dev/null +++ b/releasenotes/notes/odl-user-a4c58ac0c3a64d90.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - Fixing an issue where a custom password for the + OpenDaylight controller caused the TripleO deployment + to fail diff --git a/releasenotes/notes/opendaylight-manage-repos-9eaf900c08e8d96f.yaml b/releasenotes/notes/opendaylight-manage-repos-9eaf900c08e8d96f.yaml new file mode 100644 index 00000000..b7497b19 --- /dev/null +++ b/releasenotes/notes/opendaylight-manage-repos-9eaf900c08e8d96f.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - | + Adding the ability to disable the OpenDaylight upstream repository. + Introducing the OpenDaylightManageRepositories parameter. diff --git a/releasenotes/notes/subnet-mapping-into-services-999a2c5a90b85709.yaml b/releasenotes/notes/subnet-mapping-into-services-999a2c5a90b85709.yaml new file mode 100644 index 00000000..1b8593a2 --- /dev/null +++ b/releasenotes/notes/subnet-mapping-into-services-999a2c5a90b85709.yaml @@ -0,0 +1,6 @@ +--- +other: + - | + Adds the ability to resolve network subnets from within + the service templates. The new ServiceData structure contains + a mapping like {network_name: cidr} in net_cidr_map.
\ No newline at end of file diff --git a/roles/ComputeHCI.yaml b/roles/ComputeHCI.yaml new file mode 100644 index 00000000..a04a12e1 --- /dev/null +++ b/roles/ComputeHCI.yaml @@ -0,0 +1,45 @@ +############################################################################### +# Role: ComputeHCI # +############################################################################### +- name: ComputeHCI + description: | + Compute Node role hosting Ceph OSD too + networks: + - InternalApi + - Tenant + - Storage + - StorageMgmt + disable_upgrade_deployment: True + ServicesDefault: + - OS::TripleO::Services::AuditD + - OS::TripleO::Services::CACerts + - OS::TripleO::Services::CephClient + - OS::TripleO::Services::CephExternal + - OS::TripleO::Services::CephOSD + - OS::TripleO::Services::CertmongerUser + - OS::TripleO::Services::Collectd + - OS::TripleO::Services::ComputeCeilometerAgent + - OS::TripleO::Services::ComputeNeutronCorePlugin + - OS::TripleO::Services::ComputeNeutronL3Agent + - OS::TripleO::Services::ComputeNeutronMetadataAgent + - OS::TripleO::Services::ComputeNeutronOvsAgent + - OS::TripleO::Services::Docker + - OS::TripleO::Services::FluentdClient + - OS::TripleO::Services::Iscsid + - OS::TripleO::Services::Kernel + - OS::TripleO::Services::MySQLClient + - OS::TripleO::Services::NeutronLinuxbridgeAgent + - OS::TripleO::Services::NeutronSriovAgent + - OS::TripleO::Services::NeutronVppAgent + - OS::TripleO::Services::NovaCompute + - OS::TripleO::Services::NovaLibvirt + - OS::TripleO::Services::Ntp + - OS::TripleO::Services::OpenDaylightOvs + - OS::TripleO::Services::Securetty + - OS::TripleO::Services::SensuClient + - OS::TripleO::Services::Snmp + - OS::TripleO::Services::Sshd + - OS::TripleO::Services::Timezone + - OS::TripleO::Services::TripleoFirewall + - OS::TripleO::Services::TripleoPackages + - OS::TripleO::Services::Vpp diff --git a/roles/ComputeOvsDpdk.yaml b/roles/ComputeOvsDpdk.yaml new file mode 100644 index 00000000..7c3cd218 --- /dev/null +++ b/roles/ComputeOvsDpdk.yaml @@ -0,0 +1,41 @@ +############################################################################### +# Role: ComputeOvsDpdk # +############################################################################### +- name: ComputeOvsDpdk + description: | + Compute OvS DPDK Role + CountDefault: 1 + networks: + - InternalApi + - Tenant + - Storage + HostnameFormatDefault: '%stackname%-computeovsdpdk-%index%' + disable_upgrade_deployment: True + ServicesDefault: + - OS::TripleO::Services::AuditD + - OS::TripleO::Services::CACerts + - OS::TripleO::Services::CephClient + - OS::TripleO::Services::CephExternal + - OS::TripleO::Services::CertmongerUser + - OS::TripleO::Services::Collectd + - OS::TripleO::Services::ComputeCeilometerAgent + - OS::TripleO::Services::ComputeNeutronCorePlugin + - OS::TripleO::Services::ComputeNeutronL3Agent + - OS::TripleO::Services::ComputeNeutronMetadataAgent + - OS::TripleO::Services::ComputeNeutronOvsDpdk + - OS::TripleO::Services::Docker + - OS::TripleO::Services::FluentdClient + - OS::TripleO::Services::Iscsid + - OS::TripleO::Services::Kernel + - OS::TripleO::Services::MySQLClient + - OS::TripleO::Services::NovaCompute + - OS::TripleO::Services::NovaLibvirt + - OS::TripleO::Services::Ntp + - OS::TripleO::Services::OpenDaylightOvs + - OS::TripleO::Services::Securetty + - OS::TripleO::Services::SensuClient + - OS::TripleO::Services::Snmp + - OS::TripleO::Services::Sshd + - OS::TripleO::Services::Timezone + - OS::TripleO::Services::TripleoFirewall + - OS::TripleO::Services::TripleoPackages diff --git a/roles/README.rst b/roles/README.rst index cd1fcb47..5ac716a4 100644 --- a/roles/README.rst +++ b/roles/README.rst @@ -95,6 +95,7 @@ Example BlockStorage CephStorage Compute + ComputeOvsDpdk Controller ControllerOpenstack Database diff --git a/test-requirements.txt b/test-requirements.txt index 9291450a..1b60459c 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1,7 +1,7 @@ # The order of packages is significant, because pip processes them in the order # of appearance. Changing the order has an impact on the overall integration # process, which may cause wedges in the gate later. -openstackdocstheme>=1.11.0 # Apache-2.0 +openstackdocstheme>=1.11.0 # Apache-2.0 PyYAML>=3.10.0 # MIT Jinja2!=2.9.0,!=2.9.1,!=2.9.2,!=2.9.3,!=2.9.4,>=2.8 # BSD License (3 clause) six>=1.9.0 # MIT diff --git a/tools/yaml-validate.py b/tools/yaml-validate.py index e9581a2d..438f196e 100755 --- a/tools/yaml-validate.py +++ b/tools/yaml-validate.py @@ -18,7 +18,7 @@ import yaml required_params = ['EndpointMap', 'ServiceNetMap', 'DefaultPasswords', - 'RoleName', 'RoleParameters'] + 'RoleName', 'RoleParameters', 'ServiceData'] # NOTE(bnemec): The duplication in this list is intentional. For the # transition to generated environments we have two copies of these files, @@ -49,8 +49,93 @@ PARAMETER_DEFINITION_EXCLUSIONS = {'ManagementNetCidr': ['default'], 'ExternalAllocationPools': ['default'], 'StorageNetCidr': ['default'], 'StorageAllocationPools': ['default'], - 'StorageMgmtNetCidr': ['default'], + 'StorageMgmtNetCidr': ['default', + # FIXME + 'description'], 'StorageMgmtAllocationPools': ['default'], + 'TenantNetCidr': ['default'], + 'TenantAllocationPools': ['default'], + 'InternalApiNetCidr': ['default'], + 'UpdateIdentifier': ['description'], + # TODO(bnemec): Address these existing + # inconsistencies. + 'NeutronMetadataProxySharedSecret': [ + 'description', 'hidden'], + 'ServiceNetMap': ['description', 'default'], + 'RedisPassword': ['description'], + 'EC2MetadataIp': ['default'], + 'network': ['default'], + 'ControlPlaneIP': ['default', + 'description'], + 'ControlPlaneIp': ['default', + 'description'], + 'NeutronBigswitchLLDPEnabled': ['default'], + 'NeutronEnableL2Pop': ['description'], + 'NeutronWorkers': ['description'], + 'TenantIpSubnet': ['description'], + 'ExternalNetName': ['description'], + 'AdminToken': ['description'], + 'ControlPlaneDefaultRoute': ['default'], + 'StorageMgmtNetName': ['description'], + 'ServerMetadata': ['description'], + 'InternalApiIpUri': ['description'], + 'UpgradeLevelNovaCompute': ['default'], + 'StorageMgmtIpUri': ['description'], + 'server': ['description'], + 'servers': ['description'], + 'FixedIPs': ['description'], + 'ExternalIpSubnet': ['description'], + 'NeutronBridgeMappings': ['description'], + 'ExtraConfig': ['description'], + 'InternalApiIpSubnet': ['description'], + 'DefaultPasswords': ['description', + 'default'], + 'BondInterfaceOvsOptions': ['description', + 'default', + 'constraints'], + 'KeyName': ['constraints'], + 'TenantNetName': ['description'], + 'StorageIpSubnet': ['description'], + 'OVNSouthboundServerPort': ['description'], + 'ExternalInterfaceDefaultRoute': + ['description', 'default'], + 'ExternalIpUri': ['description'], + 'IPPool': ['description'], + 'ControlPlaneNetwork': ['description'], + 'SSLCertificate': ['description', + 'default', + 'hidden'], + 'HostCpusList': ['default', 'constraints'], + 'InternalApiAllocationPools': ['default'], + 'NodeIndex': ['description'], + 'SwiftPassword': ['description'], + 'name': ['description', 'default'], + 'StorageNetName': ['description'], + 'ManagementNetName': ['description'], + 'NeutronPublicInterface': ['description'], + 'RoleParameters': ['description'], + 'AdminPassword': ['description', 'hidden'], + 'ManagementInterfaceDefaultRoute': + ['default'], + 'NovaPassword': ['description'], + 'image': ['description', 'default'], + 'NeutronBigswitchAgentEnabled': ['default'], + 'EndpointMap': ['description', 'default'], + 'DockerManilaConfigImage': ['description', + 'default'], + 'NetworkName': ['default', 'description'], + 'StorageIpUri': ['description'], + 'InternalApiNetName': ['description'], + 'NeutronTunnelTypes': ['description'], + 'replacement_policy': ['default'], + 'StorageMgmtIpSubnet': ['description'], + 'CloudDomain': ['description', 'default'], + 'key_name': ['default', 'description'], + 'EnableLoadBalancer': ['description'], + 'ControllerExtraConfig': ['description'], + 'NovaComputeExtraConfig': ['description'], + 'controllerExtraConfig': ['description'], + 'DockerSwiftConfigImage': ['default'], } PREFERRED_CAMEL_CASE = { @@ -98,14 +183,30 @@ def validate_hci_compute_services_default(env_filename, env_tpl): env_services_list = env_tpl['parameter_defaults']['ComputeServices'] env_services_list.remove('OS::TripleO::Services::CephOSD') roles_filename = os.path.join(os.path.dirname(env_filename), - '../roles_data.yaml') + '../roles/Compute.yaml') roles_tpl = yaml.load(open(roles_filename).read()) for role in roles_tpl: if role['name'] == 'Compute': roles_services_list = role['ServicesDefault'] if sorted(env_services_list) != sorted(roles_services_list): - print('ERROR: ComputeServices in %s is different ' - 'from ServicesDefault in roles_data.yaml' % env_filename) + print('ERROR: ComputeServices in %s is different from ' + 'ServicesDefault in roles/Compute.yaml' % env_filename) + return 1 + return 0 + + +def validate_hci_computehci_role(hci_role_filename, hci_role_tpl): + compute_role_filename = os.path.join(os.path.dirname(hci_role_filename), + './Compute.yaml') + compute_role_tpl = yaml.load(open(compute_role_filename).read()) + compute_role_services = compute_role_tpl[0]['ServicesDefault'] + for role in hci_role_tpl: + if role['name'] == 'ComputeHCI': + hci_role_services = role['ServicesDefault'] + hci_role_services.remove('OS::TripleO::Services::CephOSD') + if sorted(hci_role_services) != sorted(compute_role_services): + print('ERROR: ServicesDefault in %s is different from' + 'ServicesDefault in roles/Compute.yaml' % hci_role_filename) return 1 return 0 @@ -305,6 +406,9 @@ def validate(filename, param_map): if filename.endswith('hyperconverged-ceph.yaml'): retval = validate_hci_compute_services_default(filename, tpl) + if filename.startswith('./roles/ComputeHCI.yaml'): + retval = validate_hci_computehci_role(filename, tpl) + except Exception: print(traceback.format_exc()) return 1 @@ -403,10 +507,8 @@ for p, defs in param_map.items(): # If all items in the list are not == the first, then the check fails if check_data.count(check_data[0]) != len(check_data): mismatch_count += 1 - # TODO(bnemec): Make this a hard failure once all the templates have - # been fixed. - #exit_val |= 1 - #failed_files.extend([d['filename'] for d in defs]) + exit_val |= 1 + failed_files.extend([d['filename'] for d in defs]) print('Mismatched parameter definitions found for "%s"' % p) print('Definitions found:') for d in defs: |