heat_template_version: wallaby description: > OpenStack Glance service for DCN/Edge configured with Puppet parameters: 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. Use parameter_merge_strategies to merge it with the defaults. type: json RoleName: default: '' description: Role name on which the service is applied type: string RoleParameters: default: {} description: Parameters specific to the role type: json EndpointMap: default: {} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json EnableInternalTLS: type: boolean default: false GlanceEnabledImportMethods: default: 'web-download' description: > List of enabled Image Import Methods. Valid values in the list are 'glance-direct', 'web-download', or 'copy-image' type: comma_delimited_list resources: GlanceApiInternal: type: ./glance-api-internal-container-puppet.yaml properties: ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} EndpointMap: {get_param: EndpointMap} RoleName: {get_param: RoleName} RoleParameters: {get_param: RoleParameters} EnableInternalTLS: {get_param: EnableInternalTLS} outputs: glance_api_edge_uri: description: URI of the glance-api service running at the edge site. value: &glance_api_edge_uri if: - {get_param: EnableInternalTLS} - str_replace: template: "https://%{lookup('fqdn_NETWORK')}:PORT" params: NETWORK: {get_param: [ServiceNetMap, GlanceApiEdgeNetwork]} PORT: {get_param: [EndpointMap, GlanceInternal, port]} - str_replace: template: "http://%{lookup('NETWORK_uri')}:PORT" params: NETWORK: {get_param: [ServiceNetMap, GlanceApiEdgeNetwork]} PORT: {get_param: [EndpointMap, GlanceInternal, port]} role_data: description: Role data for the Glance API role for DCN/Edge. value: map_merge: - get_attr: [GlanceApiInternal, role_data] - service_name: glance_api_edge service_config_settings: map_merge: - get_attr: [GlanceApiInternal, role_data, service_config_settings] - cinder_volume: cinder::glance::glance_api_servers: *glance_api_edge_uri nova_compute: nova::glance::endpoint_override: *glance_api_edge_uri config_settings: map_merge: - get_attr: [GlanceApiInternal, role_data, config_settings] - if: - contains: ['glance-direct', {get_param: GlanceEnabledImportMethods}] - glance::api::worker_self_reference_url: *glance_api_edge_uri