c94e024610bf89074b0b8d810ea4cd9bc499e991
[apex-tripleo-heat-templates.git] / puppet / services / nova-base.yaml
1 heat_template_version: 2016-04-08
2
3 description: >
4   OpenStack Nova base service. Shared for all Nova services.
5
6 parameters:
7   EndpointMap:
8     default: {}
9     description: Mapping of service endpoint -> protocol. Typically set
10                  via parameter_defaults in the resource registry.
11     type: json
12   NovaPassword:
13     description: The password for the nova service and db account, used by nova-api.
14     type: string
15     hidden: true
16   RabbitPassword:
17     description: The password for RabbitMQ
18     type: string
19     hidden: true
20   RabbitUserName:
21     default: guest
22     description: The username for RabbitMQ
23     type: string
24   RabbitClientUseSSL:
25     default: false
26     description: >
27         Rabbit client subscriber parameter to specify
28         an SSL connection to the RabbitMQ host.
29     type: string
30   RabbitClientPort:
31     default: 5672
32     description: Set rabbit subscriber port, change this if using SSL
33     type: number
34   Debug:
35     type: string
36     default: ''
37     description: Set to True to enable debugging on all services.
38
39 outputs:
40   role_data:
41     description: Role data for the Nova base service.
42     value:
43       service_name: nova-base
44       config_settings:
45         nova::rabbit_password: {get_param: RabbitPassword}
46         nova::rabbit_user: {get_param: RabbitUserName}
47         nova::rabbit_use_ssl: {get_param: RabbitClientUseSSL}
48         nova::rabbit_port: {get_param: RabbitClientPort}
49         nova::database_connection:
50           list_join:
51             - ''
52             - - {get_param: [EndpointMap, MysqlInternal, protocol]}
53               - '://nova:'
54               - {get_param: NovaPassword}
55               - '@'
56               - {get_param: [EndpointMap, MysqlInternal, host]}
57               - '/nova'
58         nova::api_database_connection:
59           list_join:
60             - ''
61             - - {get_param: [EndpointMap, MysqlInternal, protocol]}
62               - '://nova_api:'
63               - {get_param: NovaPassword}
64               - '@'
65               - {get_param: [EndpointMap, MysqlInternal, host]}
66               - '/nova_api'
67         nova::db::mysql::password: {get_input: nova_password}
68         nova::db::mysql::user: nova
69         nova::db::mysql::host: {get_param: [EndpointMap, MysqlNoBracketsInternal, host]}
70         nova::db::mysql::dbname: nova
71         nova::db::mysql::allowed_hosts:
72           - '%'
73           - "%{hiera('mysql_bind_host')}"
74         nova::db::mysql_api::password: {get_input: nova_password}
75         nova::db::mysql_api::user: nova_api
76         nova::db::mysql_api::host: {get_param: [EndpointMap, MysqlNoBracketsInternal, host]}
77         nova::db::mysql_api::dbname: nova_api
78         nova::db::mysql_api::allowed_hosts:
79           - '%'
80           - "%{hiera('mysql_bind_host')}"
81         nova::debug: {get_param: Debug}
82         nova::host: '"%{::fqdn}"'