3091c356cb3352be26bb4022c513570aa1d5e363
[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   EndpointMap:
14     default: {}
15     description: Mapping of service endpoint -> protocol. Typically set
16                  via parameter_defaults in the resource registry.
17     type: json
18   CephClientUserName:
19     default: openstack
20     type: string
21   Debug:
22     default: ''
23     description: Set to True to enable debugging on all services.
24     type: string
25   GlanceNotifierStrategy:
26     description: Strategy to use for Glance notification queue
27     type: string
28     default: noop
29   GlanceLogFile:
30     description: The filepath of the file to use for logging messages from Glance.
31     type: string
32     default: ''
33   GlancePassword:
34     description: The password for the glance service and db account, used by the glance services.
35     type: string
36     hidden: true
37   GlanceBackend:
38     default: swift
39     description: The short name of the Glance backend to use. Should be one
40       of swift, rbd, or file
41     type: string
42     constraints:
43     - allowed_values: ['swift', 'file', 'rbd']
44   GlanceWorkers:
45     default: 0
46     description: Number of workers for Glance service.
47     type: number
48   GlanceRbdPoolName:
49     default: images
50     type: string
51   RabbitPassword:
52     description: The password for RabbitMQ
53     type: string
54     hidden: true
55   RabbitUserName:
56     default: guest
57     description: The username for RabbitMQ
58     type: string
59   RabbitClientPort:
60     default: 5672
61     description: Set rabbit subscriber port, change this if using SSL
62     type: number
63   RabbitClientUseSSL:
64     default: false
65     description: >
66         Rabbit client subscriber parameter to specify
67         an SSL connection to the RabbitMQ host.
68     type: string
69   KeystoneRegion:
70     type: string
71     default: 'regionOne'
72     description: Keystone region for endpoint
73
74 outputs:
75   role_data:
76     description: Role data for the Glance API role.
77     value:
78       service_name: glance_api
79       config_settings:
80         glance::api::database_connection:
81           list_join:
82             - ''
83             - - {get_param: [EndpointMap, MysqlInternal, protocol]}
84               - '://glance:'
85               - {get_param: GlancePassword}
86               - '@'
87               - {get_param: [EndpointMap, MysqlInternal, host]}
88               - '/glance'
89         glance::api::bind_port: {get_param: [EndpointMap, GlanceInternal, port]}
90         glance::api::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri] }
91         glance::api::identity_uri: { get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix] }
92         glance::api::registry_host:
93           str_replace:
94             template: "'REGISTRY_HOST'"
95             params:
96               REGISTRY_HOST: {get_param: [EndpointMap, GlanceRegistryInternal, host]}
97         glance::api::keystone_password: {get_param: GlancePassword}
98         glance::api::enable_proxy_headers_parsing: true
99         glance::api::debug: {get_param: Debug}
100         glance::api::workers: {get_param: GlanceWorkers}
101         glance_notifier_strategy: {get_param: GlanceNotifierStrategy}
102         glance_log_file: {get_param: GlanceLogFile}
103         glance::backend::swift::swift_store_auth_address: {get_param: [EndpointMap, KeystoneInternal, uri] }
104         glance::backend::swift::swift_store_user: service:glance
105         glance::backend::swift::swift_store_key: {get_param: GlancePassword}
106         glance::backend::swift::swift_store_create_container_on_put: true
107         glance::backend::rbd::rbd_store_pool: {get_param: GlanceRbdPoolName}
108         glance::backend::rbd::rbd_store_user: {get_param: CephClientUserName}
109         glance_backend: {get_param: GlanceBackend}
110         glance::db::mysql::password: {get_param: GlancePassword}
111         glance::notify::rabbitmq::rabbit_userid: {get_param: RabbitUserName}
112         glance::notify::rabbitmq::rabbit_port: {get_param: RabbitClientPort}
113         glance::notify::rabbitmq::rabbit_password: {get_param: RabbitPassword}
114         glance::notify::rabbitmq::rabbit_use_ssl: {get_param: RabbitClientUseSSL}
115         glance::keystone::auth::public_url: {get_param: [EndpointMap, GlancePublic, uri]}
116         glance::keystone::auth::internal_url: {get_param: [EndpointMap, GlanceInternal, uri]}
117         glance::keystone::auth::admin_url: {get_param: [EndpointMap, GlanceAdmin, uri]}
118         glance::keystone::auth::password: {get_param: GlancePassword }
119         glance::keystone::auth::region: {get_param: KeystoneRegion}
120         glance::registry::db::database_db_max_retries: -1
121         glance::registry::db::database_max_retries: -1
122         tripleo.glance_api.firewall_rules:
123           '112 glance_api':
124             dport:
125               - 9292
126               - 13292
127         glance::keystone::auth::tenant: 'service'
128         glance::api::keystone_tenant: 'service'
129         glance::api::pipeline: 'keystone'
130         glance::api::show_image_direct_url: true
131
132       step_config: |
133         include ::tripleo::profile::base::glance::api