Merge "Fix Ironic service bind IPs"
[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   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   DefaultPasswords:
14     default: {}
15     type: json
16   EndpointMap:
17     default: {}
18     description: Mapping of service endpoint -> protocol. Typically set
19                  via parameter_defaults in the resource registry.
20     type: json
21   NovaPassword:
22     description: The password for the nova service and db account, used by nova-api.
23     type: string
24     hidden: true
25   NeutronPassword:
26     description: The password for the neutron service and db account, used by neutron agents.
27     type: string
28     hidden: true
29   NovaOVSBridge:
30     default: 'br-int'
31     description: Name of integration bridge used by Open vSwitch
32     type: string
33   RabbitPassword:
34     description: The password for RabbitMQ
35     type: string
36     hidden: true
37   RabbitUserName:
38     default: guest
39     description: The username for RabbitMQ
40     type: string
41   RabbitClientUseSSL:
42     default: false
43     description: >
44         Rabbit client subscriber parameter to specify
45         an SSL connection to the RabbitMQ host.
46     type: string
47   RabbitClientPort:
48     default: 5672
49     description: Set rabbit subscriber port, change this if using SSL
50     type: number
51   Debug:
52     type: string
53     default: ''
54     description: Set to True to enable debugging on all services.
55   EnableConfigPurge:
56     type: boolean
57     default: true
58     description: >
59         Remove configuration that is not generated by TripleO. Setting
60         to false may result in configuration remnants after updates/upgrades.
61   NovaIPv6:
62     default: false
63     description: Enable IPv6 features in Nova
64     type: boolean
65   UpgradeLevelNovaCompute:
66     type: string
67     description: Nova Compute upgrade level
68     default: ''
69
70 outputs:
71   role_data:
72     description: Role data for the Nova base service.
73     value:
74       service_name: nova_base
75       config_settings:
76         nova::rabbit_password: {get_param: RabbitPassword}
77         nova::rabbit_userid: {get_param: RabbitUserName}
78         nova::rabbit_use_ssl: {get_param: RabbitClientUseSSL}
79         nova::rabbit_port: {get_param: RabbitClientPort}
80         nova::database_connection:
81           list_join:
82             - ''
83             - - {get_param: [EndpointMap, MysqlInternal, protocol]}
84               - '://nova:'
85               - {get_param: NovaPassword}
86               - '@'
87               - {get_param: [EndpointMap, MysqlInternal, host]}
88               - '/nova'
89         nova::api_database_connection:
90           list_join:
91             - ''
92             - - {get_param: [EndpointMap, MysqlInternal, protocol]}
93               - '://nova_api:'
94               - {get_param: NovaPassword}
95               - '@'
96               - {get_param: [EndpointMap, MysqlInternal, host]}
97               - '/nova_api'
98         nova::db::mysql::password: {get_param: NovaPassword}
99         nova::db::mysql::user: nova
100         nova::db::mysql::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]}
101         nova::db::mysql::dbname: nova
102         nova::db::mysql::allowed_hosts:
103           - '%'
104           - "%{hiera('mysql_bind_host')}"
105         nova::db::mysql_api::password: {get_param: NovaPassword}
106         nova::db::mysql_api::user: nova_api
107         nova::db::mysql_api::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]}
108         nova::db::mysql_api::dbname: nova_api
109         nova::db::mysql_api::allowed_hosts:
110           - '%'
111           - "%{hiera('mysql_bind_host')}"
112         nova::debug: {get_param: Debug}
113         nova::purge_config: {get_param: EnableConfigPurge}
114         nova::network::neutron::neutron_project_name: 'service'
115         nova::network::neutron::neutron_username: 'neutron'
116         nova::network::neutron::dhcp_domain: ''
117         nova::network::neutron::neutron_password: {get_param: NeutronPassword}
118         nova::network::neutron::neutron_url: {get_param: [EndpointMap, NeutronInternal, uri]}
119         nova::network::neutron::neutron_auth_url: {get_param: [EndpointMap, KeystoneV3Admin, uri]}
120         nova::rabbit_heartbeat_timeout_threshold: 60
121         nova::cinder_catalog_info: 'volumev2:cinderv2:internalURL'
122         nova::host: '"%{::fqdn}"'    # NOTE: extra quoting is needed.
123         nova::notify_on_state_change: 'vm_and_task_state'
124         nova::notification_driver: messagingv2
125         nova::network::neutron::neutron_auth_type: 'v3password'
126         nova::db::mysql::user: nova
127         nova::db::mysql::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]}
128         nova::db::mysql::dbname: nova
129         nova::db::mysql::allowed_hosts:
130           - '%'
131           - "%{hiera('mysql_bind_host')}"
132         nova::db::mysql_api::user: nova_api
133         nova::db::mysql_api::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]}
134         nova::db::mysql_api::dbname: nova_api
135         nova::db::mysql_api::allowed_hosts:
136           - '%'
137           - "%{hiera('mysql_bind_host')}"
138         nova::db::database_db_max_retries: -1
139         nova::db::database_max_retries: -1
140         nova::glance_api_servers: {get_param: [EndpointMap, GlanceInternal, uri]}
141         nova::use_ipv6: {get_param: NovaIPv6}
142         nova::upgrade_level_compute: {get_param: UpgradeLevelNovaCompute}
143         nova::network::neutron::neutron_ovs_bridge: {get_param: NovaOVSBridge}