Merge "Remove hard-coded roles in EnabledServices output"
[apex-tripleo-heat-templates.git] / puppet / services / glance-api.yaml
1 heat_template_version: 2016-04-08
2
3 description: >
4   OpenStack Glance API service configured with Puppet
5
6 parameters:
7   ServiceNetMap:
8     default: {}
9     description: Mapping of service_name -> network name. Typically set
10                  via parameter_defaults in the resource registry.  This
11                  mapping overrides those in ServiceNetMapDefaults.
12     type: json
13   DefaultPasswords:
14     default: {}
15     type: json
16   EndpointMap:
17     default: {}
18     description: Mapping of service endpoint -> protocol. Typically set
19                  via parameter_defaults in the resource registry.
20     type: json
21   CephClientUserName:
22     default: openstack
23     type: string
24   Debug:
25     default: ''
26     description: Set to True to enable debugging on all services.
27     type: string
28   GlanceNotifierStrategy:
29     description: Strategy to use for Glance notification queue
30     type: string
31     default: noop
32   GlanceLogFile:
33     description: The filepath of the file to use for logging messages from Glance.
34     type: string
35     default: ''
36   GlancePassword:
37     description: The password for the glance service and db account, used by the glance services.
38     type: string
39     hidden: true
40   GlanceBackend:
41     default: swift
42     description: The short name of the Glance backend to use. Should be one
43       of swift, rbd, or file
44     type: string
45     constraints:
46     - allowed_values: ['swift', 'file', 'rbd']
47   GlanceWorkers:
48     default: ''
49     description: |
50       Number of API worker processes for Glance. If left unset (empty string), the
51       default value will result in the configuration being left unset and a
52       system-dependent default value will be chosen (e.g.: number of
53       processors). Please note that this will create a large number of
54       processes on systems with a large number of CPUs resulting in excess
55       memory consumption. It is recommended that a suitable non-default value
56       be selected on such systems.
57     type: string
58   GlanceRbdPoolName:
59     default: images
60     type: string
61   RabbitPassword:
62     description: The password for RabbitMQ
63     type: string
64     hidden: true
65   RabbitUserName:
66     default: guest
67     description: The username for RabbitMQ
68     type: string
69   RabbitClientPort:
70     default: 5672
71     description: Set rabbit subscriber port, change this if using SSL
72     type: number
73   RabbitClientUseSSL:
74     default: false
75     description: >
76         Rabbit client subscriber parameter to specify
77         an SSL connection to the RabbitMQ host.
78     type: string
79   KeystoneRegion:
80     type: string
81     default: 'regionOne'
82     description: Keystone region for endpoint
83   MonitoringSubscriptionGlanceApi:
84     default: 'overcloud-glance-api'
85     type: string
86   GlanceApiLoggingSource:
87     type: json
88     default:
89       tag: openstack.glance.api
90       path: /var/log/glance/api.log
91
92 outputs:
93   role_data:
94     description: Role data for the Glance API role.
95     value:
96       service_name: glance_api
97       monitoring_subscription: {get_param: MonitoringSubscriptionGlanceApi}
98       logging_source: {get_param: GlanceApiLoggingSource}
99       logging_groups:
100         - glance
101       config_settings:
102         glance::api::database_connection:
103           list_join:
104             - ''
105             - - {get_param: [EndpointMap, MysqlInternal, protocol]}
106               - '://glance:'
107               - {get_param: GlancePassword}
108               - '@'
109               - {get_param: [EndpointMap, MysqlInternal, host]}
110               - '/glance'
111         glance::api::bind_port: {get_param: [EndpointMap, GlanceInternal, port]}
112         glance::api::authtoken::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri] }
113         glance::api::authtoken::auth_url: { get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix] }
114         glance::api::registry_host:
115           str_replace:
116             template: "'REGISTRY_HOST'"
117             params:
118               REGISTRY_HOST: {get_param: [EndpointMap, GlanceRegistryInternal, host]}
119         glance::api::registry_client_protocol: {get_param: [EndpointMap, GlanceRegistryInternal, protocol] }
120         glance::api::authtoken::password: {get_param: GlancePassword}
121         glance::api::enable_proxy_headers_parsing: true
122         glance::api::debug: {get_param: Debug}
123         glance::api::workers: {get_param: GlanceWorkers}
124         glance_notifier_strategy: {get_param: GlanceNotifierStrategy}
125         glance_log_file: {get_param: GlanceLogFile}
126         glance::backend::swift::swift_store_auth_address: {get_param: [EndpointMap, KeystoneInternal, uri] }
127         glance::backend::swift::swift_store_user: service:glance
128         glance::backend::swift::swift_store_key: {get_param: GlancePassword}
129         glance::backend::swift::swift_store_create_container_on_put: true
130         glance::backend::rbd::rbd_store_pool: {get_param: GlanceRbdPoolName}
131         glance::backend::rbd::rbd_store_user: {get_param: CephClientUserName}
132         glance_backend: {get_param: GlanceBackend}
133         glance::db::mysql::password: {get_param: GlancePassword}
134         glance::notify::rabbitmq::rabbit_userid: {get_param: RabbitUserName}
135         glance::notify::rabbitmq::rabbit_port: {get_param: RabbitClientPort}
136         glance::notify::rabbitmq::rabbit_password: {get_param: RabbitPassword}
137         glance::notify::rabbitmq::rabbit_use_ssl: {get_param: RabbitClientUseSSL}
138         glance::registry::db::database_db_max_retries: -1
139         glance::registry::db::database_max_retries: -1
140         tripleo.glance_api.firewall_rules:
141           '112 glance_api':
142             dport:
143               - 9292
144               - 13292
145         glance::api::authtoken::project_name: 'service'
146         glance::api::pipeline: 'keystone'
147         glance::api::show_image_direct_url: true
148         # NOTE: bind IP is found in Heat replacing the network name with the
149         # local node IP for the given network; replacement examples
150         # (eg. for internal_api):
151         # internal_api -> IP
152         # internal_api_uri -> [IP]
153         # internal_api_subnet - > IP/CIDR
154         glance::api::bind_host: {get_param: [ServiceNetMap, GlanceApiNetwork]}
155       step_config: |
156         include ::tripleo::profile::base::glance::api
157       service_config_settings:
158         keystone:
159           glance::keystone::auth::public_url: {get_param: [EndpointMap, GlancePublic, uri]}
160           glance::keystone::auth::internal_url: {get_param: [EndpointMap, GlanceInternal, uri]}
161           glance::keystone::auth::admin_url: {get_param: [EndpointMap, GlanceAdmin, uri]}
162           glance::keystone::auth::password: {get_param: GlancePassword }
163           glance::keystone::auth::region: {get_param: KeystoneRegion}
164           glance::keystone::auth::tenant: 'service'