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