Merge "Increase galera sync timeout in yum_update.sh"
[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   KeystoneWorkers:
49     default: 0
50     description: Number of workers for Keystone service.
51     type: number
52   EndpointMap:
53     default: {}
54     description: Mapping of service endpoint -> protocol. Typically set
55                  via parameter_defaults in the resource registry.
56     type: json
57   MysqlVirtualIPUri:
58     type: string
59     default: ''
60   Debug:
61     type: string
62     default: ''
63   AdminEmail:
64     default: 'admin@example.com'
65     description: The email for the keystone admin account.
66     type: string
67     hidden: true
68   AdminPassword:
69     description: The password for the keystone admin account, used for monitoring, querying neutron etc.
70     type: string
71     hidden: true
72   AdminToken:
73     description: The keystone auth secret and db password.
74     type: string
75     hidden: true
76   RabbitPassword:
77     description: The password for RabbitMQ
78     type: string
79     hidden: true
80   RabbitUserName:
81     default: guest
82     description: The username for RabbitMQ
83     type: string
84   RabbitClientUseSSL:
85     default: false
86     description: >
87         Rabbit client subscriber parameter to specify
88         an SSL connection to the RabbitMQ host.
89     type: string
90   RabbitClientPort:
91     default: 5672
92     description: Set rabbit subscriber port, change this if using SSL
93     type: number
94
95 outputs:
96   role_data:
97     description: Role data for the Keystone role.
98     value:
99       config_settings:
100         keystone_dsn: &keystone_dsn
101           list_join:
102             - ''
103             - - 'mysql+pymysql://keystone:'
104               - {get_param: AdminToken}
105               - '@'
106               - {get_param: MysqlVirtualIPUri}
107               - '/keystone'
108         keystone::database_connection: *keystone_dsn
109         keystone::admin_token: {get_param: AdminToken}
110         keystone::roles::admin::password: {get_param: AdminPassword}
111         keystone_ca_certificate: {get_param: KeystoneCACertificate}
112         keystone_signing_key: {get_param: KeystoneSigningKey}
113         keystone_signing_certificate: {get_param: KeystoneSigningCertificate}
114         keystone_ssl_certificate: {get_param: KeystoneSSLCertificate}
115         keystone_ssl_certificate_key: {get_param: KeystoneSSLCertificateKey}
116         keystone::debug: {get_param: Debug}
117         keystone::db::mysql::password: {get_param: AdminToken}
118         keystone::rabbit_userid: {get_param: RabbitUserName}
119         keystone::rabbit_password: {get_param: RabbitPassword}
120         keystone::rabbit_use_ssl: {get_param: RabbitClientUseSSL}
121         keystone::rabbit_port: {get_param: RabbitClientPort}
122         keystone::notification_driver: {get_param: KeystoneNotificationDriver}
123         keystone::notification_format: {get_param: KeystoneNotificationFormat}
124         keystone::roles::admin::email: {get_param: AdminEmail}
125         keystone::roles::admin::password: {get_param: AdminPassword}
126         keystone::endpoint::public_url: {get_param: [EndpointMap, KeystonePublic, uri_no_suffix]}
127         keystone::endpoint::internal_url: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix]}
128         keystone::endpoint::admin_url: {get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix]}
129         keystone::endpoint::region: {get_param: KeystoneRegion}
130         keystone::admin_workers: {get_param: KeystoneWorkers}
131         keystone::public_workers: {get_param: KeystoneWorkers}
132         keystone_enable_db_purge: {get_param: KeystoneEnableDBPurge}
133         keystone::public_endpoint: {get_param: [EndpointMap, KeystonePublic, uri_no_suffix]}
134       step_config: |
135         include ::tripleo::profile::base::keystone