b8e22b10cd0f713d1d454983498f5271816a7c34
[apex-tripleo-heat-templates.git] / puppet / services / ironic-base.yaml
1 heat_template_version: 2016-04-08
2
3 description: >
4   OpenStack Ironic services 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   Debug:
19     default: ''
20     description: Set to True to enable debugging on all services.
21     type: string
22   IronicPassword:
23     description: The password for the Ironic service and db account, used by the Ironic services
24     type: string
25     hidden: true
26   RabbitUserName:
27     default: guest
28     description: The username for RabbitMQ
29     type: string
30   RabbitPassword:
31     description: The password for RabbitMQ
32     type: string
33     hidden: true
34   RabbitClientPort:
35     default: 5672
36     description: Set rabbit subscriber port, change this if using SSL
37     type: number
38   RabbitClientUseSSL:
39     default: false
40     description: >
41         Rabbit client subscriber parameter to specify
42         an SSL connection to the RabbitMQ host.
43     type: string
44
45 outputs:
46   role_data:
47     description: Role data for the Ironic role.
48     value:
49       service_name: ironic_base
50       config_settings:
51         ironic::database_connection:
52           list_join:
53             - ''
54             - - {get_param: [EndpointMap, MysqlInternal, protocol]}
55               - '://ironic:'
56               - {get_param: IronicPassword}
57               - '@'
58               - {get_param: [EndpointMap, MysqlInternal, host]}
59               - '/ironic'
60         ironic::debug: {get_param: Debug}
61         ironic::rabbit_userid: {get_param: RabbitUserName}
62         ironic::rabbit_password: {get_param: RabbitPassword}
63         ironic::rabbit_port: {get_param: RabbitClientPort}
64         ironic::rabbit_use_ssl: {get_param: RabbitClientUseSSL}
65         ironic::db::mysql::password: {get_param: IronicPassword}
66         ironic::db::mysql::user: ironic
67         ironic::db::mysql::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]}
68         ironic::db::mysql::dbname: ironic
69         ironic::db::mysql::allowed_hosts:
70           - '%'
71           - "%{hiera('mysql_bind_host')}"
72       step_config: |
73         include ::tripleo::profile::base::ironic