1 heat_template_version: 2016-10-14
4 OpenStack controller node configured by Puppet.
8 description: The password for the keystone admin account, used for monitoring, querying neutron etc.
12 description: The password for the aodh services.
15 controllerExtraConfig:
18 Deprecated. Use ControllerExtraConfig via parameter_defaults instead.
20 ControllerExtraConfig:
23 Controller specific hiera configuration data to inject into the cluster.
28 A network mapped list of IPs to assign to Controllers in the following form:
30 "internal_api": ["a.b.c.d", "e.f.g.h"],
34 ControlVirtualInterface:
36 description: Interface where virtual ip will be assigned.
40 description: Enable IPv6 in Corosync
44 description: Set to True to enable debugging on all services.
48 description: Whether to enable fencing in Pacemaker or not.
52 description: Whether to use Galera instead of regular MariaDB.
56 description: Whether to deploy a LoadBalancer on the Controller
61 Additional hieradata to inject into the cluster, note that
62 ControllerExtraConfig takes precedence over ExtraConfig.
67 Pacemaker fencing configuration. The JSON should have
68 the following structure:
72 "agent": "AGENT_NAME",
73 "host_mac": "HOST_MAC_ADDRESS",
74 "params": {"PARAM_NAME": "PARAM_VALUE"}
83 "host_mac": "52:54:00:aa:bb:cc",
85 "multicast_address": "225.0.0.12",
86 "port": "baremetal_0",
88 "manage_key_file": true,
89 "key_file": "/etc/fence_xvm.key",
90 "key_file_password": "abcdef"
96 OvercloudControlFlavor:
97 description: Flavor for control nodes to request when deploying.
101 - custom_constraint: nova.flavor
102 HAProxyStatsPassword:
103 description: Password for HAProxy stats endpoint
106 description: User for HAProxy stats endpoint
109 HAProxySyslogAddress:
111 description: Syslog address where HAproxy will send its log
113 HeatAuthEncryptionKey:
114 description: Auth encryption key for heat-engine
118 description: Secret key for Django
123 default: overcloud-full
125 - custom_constraint: glance.image
127 default: 'REBUILD_PRESERVE_EPHEMERAL'
128 description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
130 InstanceNameTemplate:
131 default: 'instance-%08x'
132 description: Template string to be used to generate instance names
136 description: Name of an existing Nova key pair to enable SSH access to the instances
139 - custom_constraint: nova.keypair
142 description: Whether to manage IPtables rules.
146 description: Enable IPv6 features in Memcached.
150 description: Whether IPtables rules should be purged before setting up the new ones.
152 MysqlClusterUniquePart:
153 description: A unique identifier of the MySQL cluster the controller is in.
155 default: 'unset' # Has to be here because of the ignored empty value bug
156 # Drop the validation: https://bugs.launchpad.net/tripleo/+bug/1405446
158 # - length: {min: 4, max: 10}
159 MysqlInnodbBufferPoolSize:
161 Specifies the size of the buffer pool in megabytes. Setting to
162 zero should be interpreted as "no value" and will defer to the
167 description: Configures MySQL max_connections config setting
170 MysqlClustercheckPassword:
176 default: '' # Has to be here because of the ignored empty value bug
177 NeutronMetadataProxySharedSecret:
178 description: Shared secret to prevent spoofing
182 description: The password for the neutron service and db account, used by neutron agents.
185 NeutronPublicInterface:
187 description: What interface to bridge onto br-ex for network nodes.
192 Whether to create cron job for purging soft deleted rows in Nova database.
196 description: Enable IPv6 features in Nova
199 description: The password for the nova service and db account, used by nova-api.
204 description: The password for the 'pcsd' user.
206 PublicVirtualInterface:
209 Specifies the interface where the public-facing virtual ip will be assigned.
210 This should be int_public when a VLAN is being used.
214 default: '' # Has to be here because of the ignored empty value bug
217 description: The password for RabbitMQ
222 description: The username for RabbitMQ
227 Rabbit client subscriber parameter to specify
228 an SSL connection to the RabbitMQ host.
232 description: Set rabbit subscriber port, change this if using SSL
235 description: The password for Redis
240 default: '' # Has to be here because of the ignored empty value bug
243 default: '' # Has to be here because of the ignored empty value bug
244 description: An IP address which is wrapped in brackets in case of IPv6
246 description: A random string to be used as a salt when hashing to determine mappings
250 UpgradeLevelNovaCompute:
252 description: Nova Compute upgrade level
259 description: Mapping of service_name -> network name. Typically set
260 via parameter_defaults in the resource registry.
264 description: Mapping of service endpoint -> protocol. Typically set
265 via parameter_defaults in the resource registry.
271 Setting to a previously unused value during stack-update will trigger
272 package update on all nodes
275 default: '' # Defaults to Heat created hostname
279 description: Optional mapping to override hostnames
280 NetworkDeploymentActions:
281 type: comma_delimited_list
283 Heat action when to apply network configuration changes
288 SoftwareConfigTransport:
289 default: POLL_SERVER_CFN
291 How the server should receive the metadata required for software configuration.
294 - allowed_values: [POLL_SERVER_CFN, POLL_SERVER_HEAT, POLL_TEMP_URL, ZAQAR_MESSAGE]
298 The DNS domain used for the hosts. This should match the dhcp_domain
299 configured in the Undercloud neutron. Defaults to localdomain.
303 Extra properties or metadata passed to Nova for the created nodes in
304 the overcloud. It's accessible via the Nova metadata API.
306 ControllerSchedulerHints:
308 description: Optional scheduler hints to pass to nova
310 ServiceConfigSettings:
314 type: comma_delimited_list
318 description: Command which will be run whenever configuration data changes
319 default: os-refresh-config --timeout 14400
323 description: Do not use deprecated params, they will be removed.
325 - controllerExtraConfig
330 type: OS::TripleO::Server
333 command: {get_param: ConfigCommand}
335 image: {get_param: controllerImage}
336 image_update_policy: {get_param: ImageUpdatePolicy}
337 flavor: {get_param: OvercloudControlFlavor}
338 key_name: {get_param: KeyName}
341 user_data_format: SOFTWARE_CONFIG
342 user_data: {get_resource: UserData}
345 template: {get_param: Hostname}
346 params: {get_param: HostnameMap}
347 software_config_transport: {get_param: SoftwareConfigTransport}
348 metadata: {get_param: ServerMetadata}
349 scheduler_hints: {get_param: ControllerSchedulerHints}
351 # Combine the NodeAdminUserData and NodeUserData mime archives
353 type: OS::Heat::MultipartMime
356 - config: {get_resource: NodeAdminUserData}
358 - config: {get_resource: NodeUserData}
361 # Creates the "heat-admin" user if configured via the environment
362 # Should return a OS::Heat::MultipartMime reference via OS::stack_id
364 type: OS::TripleO::NodeAdminUserData
366 # For optional operator additional userdata
367 # Should return a OS::Heat::MultipartMime reference via OS::stack_id
369 type: OS::TripleO::NodeUserData
372 type: OS::TripleO::Controller::Ports::ExternalPort
374 IPPool: {get_param: ControllerIPs}
375 NodeIndex: {get_param: NodeIndex}
376 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
379 type: OS::TripleO::Controller::Ports::InternalApiPort
381 IPPool: {get_param: ControllerIPs}
382 NodeIndex: {get_param: NodeIndex}
383 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
386 type: OS::TripleO::Controller::Ports::StoragePort
388 IPPool: {get_param: ControllerIPs}
389 NodeIndex: {get_param: NodeIndex}
390 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
393 type: OS::TripleO::Controller::Ports::StorageMgmtPort
395 IPPool: {get_param: ControllerIPs}
396 NodeIndex: {get_param: NodeIndex}
397 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
400 type: OS::TripleO::Controller::Ports::TenantPort
402 IPPool: {get_param: ControllerIPs}
403 NodeIndex: {get_param: NodeIndex}
404 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
407 type: OS::TripleO::Controller::Ports::ManagementPort
409 IPPool: {get_param: ControllerIPs}
410 NodeIndex: {get_param: NodeIndex}
411 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
414 type: OS::TripleO::Network::Ports::NetIpMap
416 ControlPlaneIp: {get_attr: [Controller, networks, ctlplane, 0]}
417 ExternalIp: {get_attr: [ExternalPort, ip_address]}
418 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
419 ExternalIpUri: {get_attr: [ExternalPort, ip_address_uri]}
420 InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
421 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
422 InternalApiIpUri: {get_attr: [InternalApiPort, ip_address_uri]}
423 StorageIp: {get_attr: [StoragePort, ip_address]}
424 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
425 StorageIpUri: {get_attr: [StoragePort, ip_address_uri]}
426 StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}
427 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
428 StorageMgmtIpUri: {get_attr: [StorageMgmtPort, ip_address_uri]}
429 TenantIp: {get_attr: [TenantPort, ip_address]}
430 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
431 TenantIpUri: {get_attr: [TenantPort, ip_address_uri]}
432 ManagementIp: {get_attr: [ManagementPort, ip_address]}
433 ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
434 ManagementIpUri: {get_attr: [ManagementPort, ip_address_uri]}
437 type: OS::TripleO::Controller::Net::SoftwareConfig
439 ControlPlaneIp: {get_attr: [Controller, networks, ctlplane, 0]}
440 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
441 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
442 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
443 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
444 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
445 ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
448 type: OS::TripleO::SoftwareDeployment
450 name: NetworkDeployment
451 config: {get_resource: NetworkConfig}
452 server: {get_resource: Controller}
453 actions: {get_param: NetworkDeploymentActions}
456 interface_name: {get_param: NeutronPublicInterface}
458 # Resource for site-specific injection of root certificate
460 depends_on: NetworkDeployment
461 type: OS::TripleO::NodeTLSCAData
463 server: {get_resource: Controller}
465 # Resource for site-specific passing of private keys/certificates
467 depends_on: NodeTLSCAData
468 type: OS::TripleO::NodeTLSData
470 server: {get_resource: Controller}
471 NodeIndex: {get_param: NodeIndex}
474 ControllerDeployment:
475 type: OS::TripleO::SoftwareDeployment
476 depends_on: NetworkDeployment
478 name: ControllerDeployment
479 config: {get_resource: ControllerConfig}
480 server: {get_resource: Controller}
482 bootstack_nodeid: {get_attr: [Controller, name]}
483 haproxy_log_address: {get_param: HAProxySyslogAddress}
484 haproxy_stats_password: {get_param: HAProxyStatsPassword}
485 haproxy_stats_user: {get_param: HAProxyStatsUser}
486 heat_auth_encryption_key: {get_param: HeatAuthEncryptionKey}
487 horizon_secret: {get_param: HorizonSecret}
488 admin_password: {get_param: AdminPassword}
489 debug: {get_param: Debug}
490 keystone_identity_uri: { get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix] }
491 keystone_auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri] }
492 keystone_ec2_uri: { get_param: [EndpointMap, KeystoneEC2, uri] }
493 enable_fencing: {get_param: EnableFencing}
494 enable_galera: {get_param: EnableGalera}
495 enable_load_balancer: {get_param: EnableLoadBalancer}
496 manage_firewall: {get_param: ManageFirewall}
497 purge_firewall_rules: {get_param: PurgeFirewallRules}
498 mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
499 mysql_max_connections: {get_param: MysqlMaxConnections}
500 mysql_root_password: {get_param: MysqlRootPassword}
501 mysql_clustercheck_password: {get_param: MysqlClustercheckPassword}
504 template: tripleo-CLUSTER
506 CLUSTER: {get_param: MysqlClusterUniquePart}
507 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
508 aodh_internal_url: { get_param: [ EndpointMap, AodhInternal, uri ] }
509 aodh_public_url: { get_param: [ EndpointMap, AodhPublic, uri ] }
510 aodh_admin_url: { get_param: [ EndpointMap, AodhAdmin, uri ] }
511 ceilometer_coordination_url:
515 - {get_param: RedisPassword}
517 - {get_param: RedisVirtualIPUri}
519 nova_enable_db_purge: {get_param: NovaEnableDBPurge}
520 nova_ipv6: {get_param: NovaIPv6}
521 corosync_ipv6: {get_param: CorosyncIPv6}
522 memcached_ipv6: {get_param: MemcachedIPv6}
523 nova_password: {get_param: NovaPassword}
524 upgrade_level_nova_compute: {get_param: UpgradeLevelNovaCompute}
525 instance_name_template: {get_param: InstanceNameTemplate}
526 fencing_config: {get_param: FencingConfig}
527 pcsd_password: {get_param: PcsdPassword}
528 rabbit_username: {get_param: RabbitUserName}
529 rabbit_password: {get_param: RabbitPassword}
530 rabbit_cookie: {get_param: RabbitCookie}
531 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
532 rabbit_client_port: {get_param: RabbitClientPort}
533 control_virtual_interface: {get_param: ControlVirtualInterface}
534 public_virtual_interface: {get_param: PublicVirtualInterface}
535 swift_hash_suffix: {get_param: SwiftHashSuffix}
536 enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]}
537 swift_proxy_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
538 swift_management_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftMgmtNetwork]}]}
539 cinder_iscsi_network:
548 template: "NETWORK_uri"
550 NETWORK: {get_param: [ServiceNetMap, CinderIscsiNetwork]}
551 cinder_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
552 glance_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
553 glance_registry_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
554 glance_api_servers: { get_param: [EndpointMap, GlanceInternal, uri]}
555 heat_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
556 keystone_public_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
557 keystone_admin_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
558 manila_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ManilaApiNetwork]}]}
559 mongo_db_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MongodbNetwork]}]}
560 neutron_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
561 neutron_local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronTenantNetwork]}]}
562 ceilometer_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
563 aodh_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
564 gnocchi_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
565 nova_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
566 nova_metadata_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
567 horizon_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
570 template: "['SUBNET']"
577 template: "NETWORK_subnet"
579 NETWORK: {get_param: [ServiceNetMap, HorizonNetwork]}
580 rabbitmq_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, RabbitmqNetwork]}]}
581 redis_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, RedisNetwork]}]}
582 redis_vip: {get_param: RedisVirtualIP}
583 sahara_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
584 memcached_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
585 mysql_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
586 mysql_virtual_ip: {get_param: MysqlVirtualIP}
587 ceph_cluster_network:
592 template: "NETWORK_subnet"
594 NETWORK: {get_param: [ServiceNetMap, CephClusterNetwork]}
600 template: "NETWORK_subnet"
602 NETWORK: {get_param: [ServiceNetMap, CephPublicNetwork]}
603 ceph_public_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
604 ironic_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
606 # Map heat metadata into hiera datafiles
608 type: OS::Heat::StructuredConfig
610 group: os-apply-config
615 - heat_config_%{::deploy_config_name}
616 - controller_extraconfig
621 - swift_devices_and_proxy # provided by SwiftDevicesAndProxyConfig
622 - ceph_cluster # provided by CephClusterConfig
624 - bootstrap_node # provided by BootstrapNodeConfig
625 - all_nodes # provided by allNodesConfig
626 - vip_data # provided by vip-config
628 - cinder_dellsc_data # Optionally provided by ControllerExtraConfigPre
629 - cinder_netapp_data # Optionally provided by ControllerExtraConfigPre
630 - cinder_eqlx_data # Optionally provided by ControllerExtraConfigPre
631 - neutron_bigswitch_data # Optionally provided by ControllerExtraConfigPre
632 - neutron_cisco_data # Optionally provided by ControllerExtraConfigPre
633 - cisco_n1kv_data # Optionally provided by ControllerExtraConfigPre
634 - midonet_data #Optionally provided by AllNodesExtraConfig
635 merge_behavior: deeper
639 service_names: {get_param: ServiceNames}
643 - {get_param: ServiceConfigSettings}
644 - values: {get_attr: [NetIpMap, net_ip_map]}
645 controller_extraconfig:
648 - {get_param: controllerExtraConfig}
649 - {get_param: ControllerExtraConfig}
651 mapped_data: {get_param: ExtraConfig}
654 ceph::profile::params::cluster_network: {get_input: ceph_cluster_network}
655 ceph::profile::params::public_network: {get_input: ceph_public_network}
656 ceph::profile::params::public_addr: {get_input: ceph_public_ip}
658 mapped_data: # data supplied directly to this deployment configuration, etc
659 bootstack_nodeid: {get_input: bootstack_nodeid}
662 enable_fencing: {get_input: enable_fencing}
663 enable_load_balancer: {get_input: enable_load_balancer}
664 hacluster_pwd: {get_input: pcsd_password}
665 corosync_ipv6: {get_input: corosync_ipv6}
666 tripleo::fencing::config: {get_input: fencing_config}
669 # FIXME: need to move proxy_local_net_ip into swift-proxy.yaml
670 swift::proxy::proxy_local_net_ip: {get_input: swift_proxy_network}
671 swift::storage::all::storage_local_net_ip: {get_input: swift_management_network}
672 swift::swift_hash_path_suffix: {get_input: swift_hash_suffix}
675 tripleo::profile::base::cinder::volume::iscsi::cinder_iscsi_address: {get_input: cinder_iscsi_network}
676 cinder::api::bind_host: {get_input: cinder_api_network}
679 glance::api::bind_host: {get_input: glance_api_network}
680 glance::registry::bind_host: {get_input: glance_registry_network}
683 heat::api::bind_host: {get_input: heat_api_network}
684 heat::api_cloudwatch::bind_host: {get_input: heat_api_network}
685 heat::api_cfn::bind_host: {get_input: heat_api_network}
686 heat::engine::auth_encryption_key: {get_input: heat_auth_encryption_key}
689 keystone::admin_bind_host: {get_input: keystone_admin_api_network}
690 keystone::public_bind_host: {get_input: keystone_public_api_network}
691 keystone::wsgi::apache::bind_host: {get_input: keystone_public_api_network}
692 keystone::wsgi::apache::admin_bind_host: {get_input: keystone_admin_api_network}
695 manila::api::bind_host: {get_input: manila_api_network}
698 mongodb::server::bind_ip: {get_input: mongo_db_network}
701 admin_password: {get_input: admin_password}
702 enable_galera: {get_input: enable_galera}
703 mysql_innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
704 mysql_max_connections: {get_input: mysql_max_connections}
705 mysql::server::root_password: {get_input: mysql_root_password}
706 mysql_clustercheck_password: {get_input: mysql_clustercheck_password}
707 mysql_cluster_name: {get_input: mysql_cluster_name}
708 mysql_bind_host: {get_input: mysql_network}
709 mysql_virtual_ip: {get_input: mysql_virtual_ip}
712 neutron::bind_host: {get_input: neutron_api_network}
713 neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip}
714 neutron::agents::metadata::metadata_ip: {get_input: neutron_api_network}
717 aodh::api::host: {get_input: aodh_api_network}
718 aodh::wsgi::apache::bind_host: {get_input: aodh_api_network}
721 ceilometer::api::host: {get_input: ceilometer_api_network}
722 snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
723 snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
726 gnocchi::wsgi::apache::bind_host: {get_input: gnocchi_api_network}
727 gnocchi::api::host: {get_input: gnocchi_api_network}
728 gnocchi::api::keystone_auth_uri: {get_input: keystone_auth_uri}
729 gnocchi::api::keystone_identity_uri: {get_input: keystone_identity_uri}
730 gnocchi::storage::swift::swift_authurl: {get_input: keystone_auth_uri}
733 nova::upgrade_level_compute: {get_input: upgrade_level_nova_compute}
734 nova::use_ipv6: {get_input: nova_ipv6}
735 nova::api::auth_uri: {get_input: keystone_auth_uri}
736 nova::api::identity_uri: {get_input: keystone_identity_uri}
737 nova::api::api_bind_address: {get_input: nova_api_network}
738 nova::api::metadata_listen: {get_input: nova_metadata_network}
739 nova::api::admin_password: {get_input: nova_password}
740 nova::glance_api_servers: {get_input: glance_api_servers}
741 nova::api::neutron_metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
742 nova::api::instance_name_template: {get_input: instance_name_template}
743 nova::vncproxy::host: {get_input: nova_api_network}
744 nova_enable_db_purge: {get_input: nova_enable_db_purge}
747 apache::mod::remoteip::proxy_ips: {get_input: horizon_subnet}
748 apache::ip: {get_input: horizon_network}
749 horizon::django_debug: {get_input: debug}
750 horizon::secret_key: {get_input: horizon_secret}
751 horizon::bind_address: {get_input: horizon_network}
752 horizon::keystone_url: {get_input: keystone_auth_uri}
755 sahara::host: {get_input: sahara_api_network}
758 rabbitmq::node_ip_address: {get_input: rabbitmq_network}
759 rabbitmq::erlang_cookie: {get_input: rabbit_cookie}
761 redis::bind: {get_input: redis_network}
762 redis_vip: {get_input: redis_vip}
764 tripleo::firewall::manage_firewall: {get_input: manage_firewall}
765 tripleo::firewall::purge_firewall_rules: {get_input: purge_firewall_rules}
767 memcached_ipv6: {get_input: memcached_ipv6}
768 memcached::listen_ip: {get_input: memcached_network}
769 control_virtual_interface: {get_input: control_virtual_interface}
770 public_virtual_interface: {get_input: public_virtual_interface}
771 tripleo::keepalived::control_virtual_interface: {get_input: control_virtual_interface}
772 tripleo::keepalived::public_virtual_interface: {get_input: public_virtual_interface}
773 tripleo::haproxy::control_virtual_interface: {get_input: control_virtual_interface}
774 tripleo::haproxy::public_virtual_interface: {get_input: public_virtual_interface}
775 tripleo::haproxy::haproxy_log_address: {get_input: haproxy_log_address}
776 tripleo::haproxy::service_certificate: {get_attr: [NodeTLSData, deployed_ssl_certificate_path]}
777 tripleo::haproxy::haproxy_stats_user: {get_input: haproxy_stats_user}
778 tripleo::haproxy::haproxy_stats_password: {get_input: haproxy_stats_password}
779 tripleo::haproxy::redis_password: {get_input: redis_password}
780 tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
782 # Hook for site-specific additional pre-deployment config, e.g extra hieradata
783 ControllerExtraConfigPre:
784 depends_on: ControllerDeployment
785 type: OS::TripleO::ControllerExtraConfigPre
787 server: {get_resource: Controller}
789 # Hook for site-specific additional pre-deployment config,
790 # applying to all nodes, e.g node registration/unregistration
792 depends_on: [ControllerExtraConfigPre, NodeTLSData]
793 type: OS::TripleO::NodeExtraConfig
795 server: {get_resource: Controller}
798 type: OS::TripleO::Tasks::PackageUpdate
801 type: OS::Heat::SoftwareDeployment
803 name: UpdateDeployment
804 config: {get_resource: UpdateConfig}
805 server: {get_resource: Controller}
808 get_param: UpdateIdentifier
812 description: IP address of the server in the ctlplane network
813 value: {get_attr: [Controller, networks, ctlplane, 0]}
815 description: IP address of the server in the external network
816 value: {get_attr: [ExternalPort, ip_address]}
817 internal_api_ip_address:
818 description: IP address of the server in the internal_api network
819 value: {get_attr: [InternalApiPort, ip_address]}
821 description: IP address of the server in the storage network
822 value: {get_attr: [StoragePort, ip_address]}
823 storage_mgmt_ip_address:
824 description: IP address of the server in the storage_mgmt network
825 value: {get_attr: [StorageMgmtPort, ip_address]}
827 description: IP address of the server in the tenant network
828 value: {get_attr: [TenantPort, ip_address]}
829 management_ip_address:
830 description: IP address of the server in the management network
831 value: {get_attr: [ManagementPort, ip_address]}
833 description: Hostname of the server
834 value: {get_attr: [Controller, name]}
837 Server's IP address and hostname in the /etc/hosts format
841 PRIMARYIP PRIMARYHOST.DOMAIN PRIMARYHOST
842 EXTERNALIP EXTERNALHOST.DOMAIN EXTERNALHOST
843 INTERNAL_APIIP INTERNAL_APIHOST.DOMAIN INTERNAL_APIHOST
844 STORAGEIP STORAGEHOST.DOMAIN STORAGEHOST
845 STORAGE_MGMTIP STORAGE_MGMTHOST.DOMAIN STORAGE_MGMTHOST
846 TENANTIP TENANTHOST.DOMAIN TENANTHOST
847 MANAGEMENTIP MANAGEMENTHOST.DOMAIN MANAGEMENTHOST
849 PRIMARYIP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ControllerHostnameResolveNetwork]}]}
850 DOMAIN: {get_param: CloudDomain}
851 PRIMARYHOST: {get_attr: [Controller, name]}
852 EXTERNALIP: {get_attr: [ExternalPort, ip_address]}
856 - - {get_attr: [Controller, name]}
858 INTERNAL_APIIP: {get_attr: [InternalApiPort, ip_address]}
862 - - {get_attr: [Controller, name]}
864 STORAGEIP: {get_attr: [StoragePort, ip_address]}
868 - - {get_attr: [Controller, name]}
870 STORAGE_MGMTIP: {get_attr: [StorageMgmtPort, ip_address]}
874 - - {get_attr: [Controller, name]}
876 TENANTIP: {get_attr: [TenantPort, ip_address]}
880 - - {get_attr: [Controller, name]}
882 MANAGEMENTIP: {get_attr: [ManagementPort, ip_address]}
886 - - {get_attr: [Controller, name]}
888 nova_server_resource:
889 description: Heat resource handle for the Nova compute server
891 {get_resource: Controller}
893 description: Swift device formatted for swift-ring-builder
896 template: 'r1z1-IP:%PORT%/d1'
903 template: "NETWORK_uri"
905 NETWORK: {get_param: [ServiceNetMap, SwiftMgmtNetwork]}
906 swift_proxy_memcache:
907 description: Swift proxy-memcache value
917 template: "NETWORK_uri"
919 NETWORK: {get_param: [ServiceNetMap, MemcachedNetwork]}
921 description: MD5 checksum of the TLS Key Modulus
922 value: {get_attr: [NodeTLSData, key_modulus_md5]}
923 tls_cert_modulus_md5:
924 description: MD5 checksum of the TLS Certificate Modulus
925 value: {get_attr: [NodeTLSData, cert_modulus_md5]}