Add 'service_name' to composable services
[apex-tripleo-heat-templates.git] / puppet / services / keystone.yaml
1 heat_template_version: 2016-04-08
2
3 description: >
4   OpenStack Keystone service configured with Puppet
5
6 parameters:
7   KeystoneCACertificate:
8     default: ''
9     description: Keystone self-signed certificate authority certificate.
10     type: string
11   KeystoneEnableDBPurge:
12     default: true
13     description: |
14         Whether to create cron job for purging soft deleted rows in Keystone database.
15     type: boolean
16   KeystoneSigningCertificate:
17     default: ''
18     description: Keystone certificate for verifying token validity.
19     type: string
20   KeystoneSigningKey:
21     default: ''
22     description: Keystone key for signing tokens.
23     type: string
24     hidden: true
25   KeystoneSSLCertificate:
26     default: ''
27     description: Keystone certificate for verifying token validity.
28     type: string
29   KeystoneSSLCertificateKey:
30     default: ''
31     description: Keystone key for signing tokens.
32     type: string
33     hidden: true
34   KeystoneNotificationDriver:
35     description: Comma-separated list of Oslo notification drivers used by Keystone
36     default: ['messaging']
37     type: comma_delimited_list
38   KeystoneNotificationFormat:
39     description: The Keystone notification format
40     default: 'basic'
41     type: string
42     constraints:
43       - allowed_values: [ 'basic', 'cadf' ]
44   KeystoneRegion:
45     type: string
46     default: 'regionOne'
47     description: Keystone region for endpoint
48   EndpointMap:
49     default: {}
50     description: Mapping of service endpoint -> protocol. Typically set
51                  via parameter_defaults in the resource registry.
52     type: json
53   Debug:
54     type: string
55     default: ''
56   AdminEmail:
57     default: 'admin@example.com'
58     description: The email for the keystone admin account.
59     type: string
60     hidden: true
61   AdminPassword:
62     description: The password for the keystone admin account, used for monitoring, querying neutron etc.
63     type: string
64     hidden: true
65   AdminToken:
66     description: The keystone auth secret and db password.
67     type: string
68     hidden: true
69   RabbitPassword:
70     description: The password for RabbitMQ
71     type: string
72     hidden: true
73   RabbitUserName:
74     default: guest
75     description: The username for RabbitMQ
76     type: string
77   RabbitClientUseSSL:
78     default: false
79     description: >
80         Rabbit client subscriber parameter to specify
81         an SSL connection to the RabbitMQ host.
82     type: string
83   RabbitClientPort:
84     default: 5672
85     description: Set rabbit subscriber port, change this if using SSL
86     type: number
87   KeystoneWorkers:
88     type: string
89     description: Set the number of workers for keystone::wsgi::apache
90     default: '"%{::processorcount}"'
91 outputs:
92   role_data:
93     description: Role data for the Keystone role.
94     value:
95       service_name: keystone
96       config_settings:
97         keystone::database_connection:
98           list_join:
99             - ''
100             - - {get_param: [EndpointMap, MysqlInternal, protocol]}
101               - '://keystone:'
102               - {get_param: AdminToken}
103               - '@'
104               - {get_param: [EndpointMap, MysqlInternal, host]}
105               - '/keystone'
106         keystone::admin_token: {get_param: AdminToken}
107         keystone::roles::admin::password: {get_param: AdminPassword}
108         keystone_ca_certificate: {get_param: KeystoneCACertificate}
109         keystone_signing_key: {get_param: KeystoneSigningKey}
110         keystone_signing_certificate: {get_param: KeystoneSigningCertificate}
111         keystone_ssl_certificate: {get_param: KeystoneSSLCertificate}
112         keystone_ssl_certificate_key: {get_param: KeystoneSSLCertificateKey}
113         keystone::debug: {get_param: Debug}
114         keystone::db::mysql::password: {get_param: AdminToken}
115         keystone::rabbit_userid: {get_param: RabbitUserName}
116         keystone::rabbit_password: {get_param: RabbitPassword}
117         keystone::rabbit_use_ssl: {get_param: RabbitClientUseSSL}
118         keystone::rabbit_port: {get_param: RabbitClientPort}
119         keystone::notification_driver: {get_param: KeystoneNotificationDriver}
120         keystone::notification_format: {get_param: KeystoneNotificationFormat}
121         keystone::roles::admin::email: {get_param: AdminEmail}
122         keystone::roles::admin::password: {get_param: AdminPassword}
123         keystone::endpoint::public_url: {get_param: [EndpointMap, KeystonePublic, uri_no_suffix]}
124         keystone::endpoint::internal_url: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix]}
125         keystone::endpoint::admin_url: {get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix]}
126         keystone::endpoint::region: {get_param: KeystoneRegion}
127         keystone_enable_db_purge: {get_param: KeystoneEnableDBPurge}
128         keystone::public_endpoint: {get_param: [EndpointMap, KeystonePublic, uri_no_suffix]}
129         keystone::db::mysql::user: keystone
130         keystone::db::mysql::host: {get_param: [EndpointMap, MysqlNoBracketsInternal, host]}
131         keystone::db::mysql::dbname: keystone
132         keystone::db::mysql::allowed_hosts:
133           - '%'
134           - "%{hiera('mysql_bind_host')}"
135
136         keystone::wsgi::apache::workers: {get_param: KeystoneWorkers}
137         # override via extraconfig:
138         keystone::wsgi::apache::threads: 1
139       step_config: |
140         include ::tripleo::profile::base::keystone