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
257 EnablePackageInstall:
259 description: Set to true to enable package installation via Puppet
263 description: Mapping of service_name -> network name. Typically set
264 via parameter_defaults in the resource registry.
268 description: Mapping of service endpoint -> protocol. Typically set
269 via parameter_defaults in the resource registry.
275 Setting to a previously unused value during stack-update will trigger
276 package update on all nodes
279 default: '' # Defaults to Heat created hostname
283 description: Optional mapping to override hostnames
284 NetworkDeploymentActions:
285 type: comma_delimited_list
287 Heat action when to apply network configuration changes
292 SoftwareConfigTransport:
293 default: POLL_SERVER_CFN
295 How the server should receive the metadata required for software configuration.
298 - allowed_values: [POLL_SERVER_CFN, POLL_SERVER_HEAT, POLL_TEMP_URL, ZAQAR_MESSAGE]
302 The DNS domain used for the hosts. This should match the dhcp_domain
303 configured in the Undercloud neutron. Defaults to localdomain.
307 Extra properties or metadata passed to Nova for the created nodes in
308 the overcloud. It's accessible via the Nova metadata API.
310 ControllerSchedulerHints:
312 description: Optional scheduler hints to pass to nova
314 ServiceConfigSettings:
318 type: comma_delimited_list
322 description: Command which will be run whenever configuration data changes
323 default: os-refresh-config --timeout 14400
327 description: Do not use deprecated params, they will be removed.
329 - controllerExtraConfig
334 type: OS::TripleO::Server
337 command: {get_param: ConfigCommand}
339 image: {get_param: controllerImage}
340 image_update_policy: {get_param: ImageUpdatePolicy}
341 flavor: {get_param: OvercloudControlFlavor}
342 key_name: {get_param: KeyName}
345 user_data_format: SOFTWARE_CONFIG
346 user_data: {get_resource: UserData}
349 template: {get_param: Hostname}
350 params: {get_param: HostnameMap}
351 software_config_transport: {get_param: SoftwareConfigTransport}
352 metadata: {get_param: ServerMetadata}
353 scheduler_hints: {get_param: ControllerSchedulerHints}
355 # Combine the NodeAdminUserData and NodeUserData mime archives
357 type: OS::Heat::MultipartMime
360 - config: {get_resource: NodeAdminUserData}
362 - config: {get_resource: NodeUserData}
365 # Creates the "heat-admin" user if configured via the environment
366 # Should return a OS::Heat::MultipartMime reference via OS::stack_id
368 type: OS::TripleO::NodeAdminUserData
370 # For optional operator additional userdata
371 # Should return a OS::Heat::MultipartMime reference via OS::stack_id
373 type: OS::TripleO::NodeUserData
376 type: OS::TripleO::Controller::Ports::ExternalPort
378 IPPool: {get_param: ControllerIPs}
379 NodeIndex: {get_param: NodeIndex}
380 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
383 type: OS::TripleO::Controller::Ports::InternalApiPort
385 IPPool: {get_param: ControllerIPs}
386 NodeIndex: {get_param: NodeIndex}
387 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
390 type: OS::TripleO::Controller::Ports::StoragePort
392 IPPool: {get_param: ControllerIPs}
393 NodeIndex: {get_param: NodeIndex}
394 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
397 type: OS::TripleO::Controller::Ports::StorageMgmtPort
399 IPPool: {get_param: ControllerIPs}
400 NodeIndex: {get_param: NodeIndex}
401 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
404 type: OS::TripleO::Controller::Ports::TenantPort
406 IPPool: {get_param: ControllerIPs}
407 NodeIndex: {get_param: NodeIndex}
408 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
411 type: OS::TripleO::Controller::Ports::ManagementPort
413 IPPool: {get_param: ControllerIPs}
414 NodeIndex: {get_param: NodeIndex}
415 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
418 type: OS::TripleO::Network::Ports::NetIpMap
420 ControlPlaneIp: {get_attr: [Controller, networks, ctlplane, 0]}
421 ExternalIp: {get_attr: [ExternalPort, ip_address]}
422 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
423 ExternalIpUri: {get_attr: [ExternalPort, ip_address_uri]}
424 InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
425 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
426 InternalApiIpUri: {get_attr: [InternalApiPort, ip_address_uri]}
427 StorageIp: {get_attr: [StoragePort, ip_address]}
428 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
429 StorageIpUri: {get_attr: [StoragePort, ip_address_uri]}
430 StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}
431 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
432 StorageMgmtIpUri: {get_attr: [StorageMgmtPort, ip_address_uri]}
433 TenantIp: {get_attr: [TenantPort, ip_address]}
434 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
435 TenantIpUri: {get_attr: [TenantPort, ip_address_uri]}
436 ManagementIp: {get_attr: [ManagementPort, ip_address]}
437 ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
438 ManagementIpUri: {get_attr: [ManagementPort, ip_address_uri]}
441 type: OS::TripleO::Controller::Net::SoftwareConfig
443 ControlPlaneIp: {get_attr: [Controller, networks, ctlplane, 0]}
444 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
445 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
446 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
447 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
448 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
449 ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
452 type: OS::TripleO::SoftwareDeployment
454 name: NetworkDeployment
455 config: {get_resource: NetworkConfig}
456 server: {get_resource: Controller}
457 actions: {get_param: NetworkDeploymentActions}
460 interface_name: {get_param: NeutronPublicInterface}
462 # Resource for site-specific injection of root certificate
464 depends_on: NetworkDeployment
465 type: OS::TripleO::NodeTLSCAData
467 server: {get_resource: Controller}
469 # Resource for site-specific passing of private keys/certificates
471 depends_on: NodeTLSCAData
472 type: OS::TripleO::NodeTLSData
474 server: {get_resource: Controller}
475 NodeIndex: {get_param: NodeIndex}
478 ControllerDeployment:
479 type: OS::TripleO::SoftwareDeployment
480 depends_on: NetworkDeployment
482 name: ControllerDeployment
483 config: {get_resource: ControllerConfig}
484 server: {get_resource: Controller}
486 bootstack_nodeid: {get_attr: [Controller, name]}
487 haproxy_log_address: {get_param: HAProxySyslogAddress}
488 haproxy_stats_password: {get_param: HAProxyStatsPassword}
489 haproxy_stats_user: {get_param: HAProxyStatsUser}
490 heat_auth_encryption_key: {get_param: HeatAuthEncryptionKey}
491 horizon_secret: {get_param: HorizonSecret}
492 admin_password: {get_param: AdminPassword}
493 debug: {get_param: Debug}
494 keystone_identity_uri: { get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix] }
495 keystone_auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri] }
496 keystone_ec2_uri: { get_param: [EndpointMap, KeystoneEC2, uri] }
497 enable_fencing: {get_param: EnableFencing}
498 enable_galera: {get_param: EnableGalera}
499 enable_load_balancer: {get_param: EnableLoadBalancer}
500 manage_firewall: {get_param: ManageFirewall}
501 purge_firewall_rules: {get_param: PurgeFirewallRules}
502 mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
503 mysql_max_connections: {get_param: MysqlMaxConnections}
504 mysql_root_password: {get_param: MysqlRootPassword}
505 mysql_clustercheck_password: {get_param: MysqlClustercheckPassword}
508 template: tripleo-CLUSTER
510 CLUSTER: {get_param: MysqlClusterUniquePart}
511 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
512 aodh_internal_url: { get_param: [ EndpointMap, AodhInternal, uri ] }
513 aodh_public_url: { get_param: [ EndpointMap, AodhPublic, uri ] }
514 aodh_admin_url: { get_param: [ EndpointMap, AodhAdmin, uri ] }
515 ceilometer_coordination_url:
519 - {get_param: RedisPassword}
521 - {get_param: RedisVirtualIPUri}
523 nova_enable_db_purge: {get_param: NovaEnableDBPurge}
524 nova_ipv6: {get_param: NovaIPv6}
525 corosync_ipv6: {get_param: CorosyncIPv6}
526 memcached_ipv6: {get_param: MemcachedIPv6}
527 nova_password: {get_param: NovaPassword}
528 upgrade_level_nova_compute: {get_param: UpgradeLevelNovaCompute}
529 instance_name_template: {get_param: InstanceNameTemplate}
530 fencing_config: {get_param: FencingConfig}
531 pcsd_password: {get_param: PcsdPassword}
532 rabbit_username: {get_param: RabbitUserName}
533 rabbit_password: {get_param: RabbitPassword}
534 rabbit_cookie: {get_param: RabbitCookie}
535 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
536 rabbit_client_port: {get_param: RabbitClientPort}
537 control_virtual_interface: {get_param: ControlVirtualInterface}
538 public_virtual_interface: {get_param: PublicVirtualInterface}
539 swift_hash_suffix: {get_param: SwiftHashSuffix}
540 enable_package_install: {get_param: EnablePackageInstall}
541 enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]}
542 swift_proxy_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
543 swift_management_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftMgmtNetwork]}]}
544 cinder_iscsi_network:
548 IP: {get_attr: [NetIpMap, net_ip_uri_map, {get_param: [ServiceNetMap, CinderIscsiNetwork]}]}
549 cinder_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
550 glance_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
551 glance_registry_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
552 glance_api_servers: { get_param: [EndpointMap, GlanceInternal, uri]}
553 heat_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
554 keystone_public_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
555 keystone_admin_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
556 manila_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ManilaApiNetwork]}]}
557 mongo_db_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MongoDbNetwork]}]}
558 neutron_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
559 neutron_local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronTenantNetwork]}]}
560 ceilometer_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
561 aodh_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
562 gnocchi_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
563 nova_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
564 nova_metadata_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
565 horizon_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
568 template: "['SUBNET']"
570 SUBNET: {get_attr: [NetIpMap, net_ip_subnet_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
571 rabbitmq_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
572 redis_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, RedisNetwork]}]}
573 redis_vip: {get_param: RedisVirtualIP}
574 sahara_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
575 memcached_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
576 mysql_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
577 mysql_virtual_ip: {get_param: MysqlVirtualIP}
578 ceph_cluster_network: {get_attr: [NetIpMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephClusterNetwork]}]}
579 ceph_public_network: {get_attr: [NetIpMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
580 ceph_public_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
581 ironic_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
583 # Map heat metadata into hiera datafiles
585 type: OS::Heat::StructuredConfig
587 group: os-apply-config
592 - heat_config_%{::deploy_config_name}
593 - controller_extraconfig
598 - swift_devices_and_proxy # provided by SwiftDevicesAndProxyConfig
599 - ceph_cluster # provided by CephClusterConfig
601 - bootstrap_node # provided by BootstrapNodeConfig
602 - all_nodes # provided by allNodesConfig
603 - vip_data # provided by vip-config
606 - cinder_dellsc_data # Optionally provided by ControllerExtraConfigPre
607 - cinder_netapp_data # Optionally provided by ControllerExtraConfigPre
608 - cinder_eqlx_data # Optionally provided by ControllerExtraConfigPre
609 - neutron_bigswitch_data # Optionally provided by ControllerExtraConfigPre
610 - neutron_cisco_data # Optionally provided by ControllerExtraConfigPre
611 - cisco_n1kv_data # Optionally provided by ControllerExtraConfigPre
612 - midonet_data #Optionally provided by AllNodesExtraConfig
613 merge_behavior: deeper
617 service_names: {get_param: ServiceNames}
621 - {get_param: ServiceConfigSettings}
622 - values: {get_attr: [NetIpMap, net_ip_map]}
623 controller_extraconfig:
626 - {get_param: controllerExtraConfig}
627 - {get_param: ControllerExtraConfig}
629 mapped_data: {get_param: ExtraConfig}
632 net_ip_map: {get_attr: [NetIpMap, net_ip_map]}
633 net_ip_subnet_map: {get_attr: [NetIpMap, net_ip_subnet_map]}
634 net_ip_uri_map: {get_attr: [NetIpMap, net_ip_uri_map]}
637 ceph::profile::params::cluster_network: {get_input: ceph_cluster_network}
638 ceph::profile::params::public_network: {get_input: ceph_public_network}
639 ceph::profile::params::public_addr: {get_input: ceph_public_ip}
641 mapped_data: # data supplied directly to this deployment configuration, etc
642 bootstack_nodeid: {get_input: bootstack_nodeid}
645 enable_fencing: {get_input: enable_fencing}
646 enable_load_balancer: {get_input: enable_load_balancer}
647 hacluster_pwd: {get_input: pcsd_password}
648 corosync_ipv6: {get_input: corosync_ipv6}
649 tripleo::fencing::config: {get_input: fencing_config}
652 # FIXME: need to move proxy_local_net_ip into swift-proxy.yaml
653 swift::proxy::proxy_local_net_ip: {get_input: swift_proxy_network}
654 swift::storage::all::storage_local_net_ip: {get_input: swift_management_network}
655 swift::swift_hash_path_suffix: {get_input: swift_hash_suffix}
658 tripleo::profile::base::cinder::volume::iscsi::cinder_iscsi_address: {get_input: cinder_iscsi_network}
659 cinder::api::bind_host: {get_input: cinder_api_network}
662 glance::api::bind_host: {get_input: glance_api_network}
663 glance::registry::bind_host: {get_input: glance_registry_network}
666 heat::api::bind_host: {get_input: heat_api_network}
667 heat::api_cloudwatch::bind_host: {get_input: heat_api_network}
668 heat::api_cfn::bind_host: {get_input: heat_api_network}
669 heat::engine::auth_encryption_key: {get_input: heat_auth_encryption_key}
672 keystone::admin_bind_host: {get_input: keystone_admin_api_network}
673 keystone::public_bind_host: {get_input: keystone_public_api_network}
674 keystone::wsgi::apache::bind_host: {get_input: keystone_public_api_network}
675 keystone::wsgi::apache::admin_bind_host: {get_input: keystone_admin_api_network}
678 manila::api::bind_host: {get_input: manila_api_network}
681 mongodb::server::bind_ip: {get_input: mongo_db_network}
684 admin_password: {get_input: admin_password}
685 enable_galera: {get_input: enable_galera}
686 mysql_innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
687 mysql_max_connections: {get_input: mysql_max_connections}
688 mysql::server::root_password: {get_input: mysql_root_password}
689 mysql_clustercheck_password: {get_input: mysql_clustercheck_password}
690 mysql_cluster_name: {get_input: mysql_cluster_name}
691 mysql_bind_host: {get_input: mysql_network}
692 mysql_virtual_ip: {get_input: mysql_virtual_ip}
695 neutron::bind_host: {get_input: neutron_api_network}
696 neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip}
697 neutron::agents::metadata::metadata_ip: {get_input: neutron_api_network}
700 aodh::api::host: {get_input: aodh_api_network}
701 aodh::wsgi::apache::bind_host: {get_input: aodh_api_network}
704 ceilometer::api::host: {get_input: ceilometer_api_network}
705 snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
706 snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
709 gnocchi::wsgi::apache::bind_host: {get_input: gnocchi_api_network}
710 gnocchi::api::host: {get_input: gnocchi_api_network}
711 gnocchi::api::keystone_auth_uri: {get_input: keystone_auth_uri}
712 gnocchi::api::keystone_identity_uri: {get_input: keystone_identity_uri}
713 gnocchi::storage::swift::swift_authurl: {get_input: keystone_auth_uri}
716 nova::upgrade_level_compute: {get_input: upgrade_level_nova_compute}
717 nova::use_ipv6: {get_input: nova_ipv6}
718 nova::api::auth_uri: {get_input: keystone_auth_uri}
719 nova::api::identity_uri: {get_input: keystone_identity_uri}
720 nova::api::api_bind_address: {get_input: nova_api_network}
721 nova::api::metadata_listen: {get_input: nova_metadata_network}
722 nova::api::admin_password: {get_input: nova_password}
723 nova::glance_api_servers: {get_input: glance_api_servers}
724 nova::api::neutron_metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
725 nova::api::instance_name_template: {get_input: instance_name_template}
726 nova::vncproxy::host: {get_input: nova_api_network}
727 nova_enable_db_purge: {get_input: nova_enable_db_purge}
730 apache::mod::remoteip::proxy_ips: {get_input: horizon_subnet}
731 apache::ip: {get_input: horizon_network}
732 horizon::django_debug: {get_input: debug}
733 horizon::secret_key: {get_input: horizon_secret}
734 horizon::bind_address: {get_input: horizon_network}
735 horizon::keystone_url: {get_input: keystone_auth_uri}
738 sahara::host: {get_input: sahara_api_network}
741 rabbitmq::node_ip_address: {get_input: rabbitmq_network}
742 rabbitmq::erlang_cookie: {get_input: rabbit_cookie}
744 redis::bind: {get_input: redis_network}
745 redis_vip: {get_input: redis_vip}
747 tripleo::firewall::manage_firewall: {get_input: manage_firewall}
748 tripleo::firewall::purge_firewall_rules: {get_input: purge_firewall_rules}
750 memcached_ipv6: {get_input: memcached_ipv6}
751 memcached::listen_ip: {get_input: memcached_network}
752 control_virtual_interface: {get_input: control_virtual_interface}
753 public_virtual_interface: {get_input: public_virtual_interface}
754 tripleo::keepalived::control_virtual_interface: {get_input: control_virtual_interface}
755 tripleo::keepalived::public_virtual_interface: {get_input: public_virtual_interface}
756 tripleo::haproxy::control_virtual_interface: {get_input: control_virtual_interface}
757 tripleo::haproxy::public_virtual_interface: {get_input: public_virtual_interface}
758 tripleo::haproxy::haproxy_log_address: {get_input: haproxy_log_address}
759 tripleo::haproxy::service_certificate: {get_attr: [NodeTLSData, deployed_ssl_certificate_path]}
760 tripleo::haproxy::haproxy_stats_user: {get_input: haproxy_stats_user}
761 tripleo::haproxy::haproxy_stats_password: {get_input: haproxy_stats_password}
762 tripleo::haproxy::redis_password: {get_input: redis_password}
763 tripleo::packages::enable_install: {get_input: enable_package_install}
764 tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
766 # Hook for site-specific additional pre-deployment config, e.g extra hieradata
767 ControllerExtraConfigPre:
768 depends_on: ControllerDeployment
769 type: OS::TripleO::ControllerExtraConfigPre
771 server: {get_resource: Controller}
773 # Hook for site-specific additional pre-deployment config,
774 # applying to all nodes, e.g node registration/unregistration
776 depends_on: [ControllerExtraConfigPre, NodeTLSData]
777 type: OS::TripleO::NodeExtraConfig
779 server: {get_resource: Controller}
782 type: OS::TripleO::Tasks::PackageUpdate
785 type: OS::Heat::SoftwareDeployment
787 name: UpdateDeployment
788 config: {get_resource: UpdateConfig}
789 server: {get_resource: Controller}
792 get_param: UpdateIdentifier
796 description: IP address of the server in the ctlplane network
797 value: {get_attr: [Controller, networks, ctlplane, 0]}
799 description: IP address of the server in the external network
800 value: {get_attr: [ExternalPort, ip_address]}
801 internal_api_ip_address:
802 description: IP address of the server in the internal_api network
803 value: {get_attr: [InternalApiPort, ip_address]}
805 description: IP address of the server in the storage network
806 value: {get_attr: [StoragePort, ip_address]}
807 storage_mgmt_ip_address:
808 description: IP address of the server in the storage_mgmt network
809 value: {get_attr: [StorageMgmtPort, ip_address]}
811 description: IP address of the server in the tenant network
812 value: {get_attr: [TenantPort, ip_address]}
813 management_ip_address:
814 description: IP address of the server in the management network
815 value: {get_attr: [ManagementPort, ip_address]}
817 description: Hostname of the server
818 value: {get_attr: [Controller, name]}
821 Server's IP address and hostname in the /etc/hosts format
825 PRIMARYIP PRIMARYHOST.DOMAIN PRIMARYHOST
826 EXTERNALIP EXTERNALHOST.DOMAIN EXTERNALHOST
827 INTERNAL_APIIP INTERNAL_APIHOST.DOMAIN INTERNAL_APIHOST
828 STORAGEIP STORAGEHOST.DOMAIN STORAGEHOST
829 STORAGE_MGMTIP STORAGE_MGMTHOST.DOMAIN STORAGE_MGMTHOST
830 TENANTIP TENANTHOST.DOMAIN TENANTHOST
831 MANAGEMENTIP MANAGEMENTHOST.DOMAIN MANAGEMENTHOST
833 PRIMARYIP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ControllerHostnameResolveNetwork]}]}
834 DOMAIN: {get_param: CloudDomain}
835 PRIMARYHOST: {get_attr: [Controller, name]}
836 EXTERNALIP: {get_attr: [ExternalPort, ip_address]}
840 - - {get_attr: [Controller, name]}
842 INTERNAL_APIIP: {get_attr: [InternalApiPort, ip_address]}
846 - - {get_attr: [Controller, name]}
848 STORAGEIP: {get_attr: [StoragePort, ip_address]}
852 - - {get_attr: [Controller, name]}
854 STORAGE_MGMTIP: {get_attr: [StorageMgmtPort, ip_address]}
858 - - {get_attr: [Controller, name]}
860 TENANTIP: {get_attr: [TenantPort, ip_address]}
864 - - {get_attr: [Controller, name]}
866 MANAGEMENTIP: {get_attr: [ManagementPort, ip_address]}
870 - - {get_attr: [Controller, name]}
872 nova_server_resource:
873 description: Heat resource handle for the Nova compute server
875 {get_resource: Controller}
877 description: Swift device formatted for swift-ring-builder
880 template: 'r1z1-IP:%PORT%/d1'
882 IP: {get_attr: [NetIpMap, net_ip_uri_map, {get_param: [ServiceNetMap, SwiftMgmtNetwork]}]}
883 swift_proxy_memcache:
884 description: Swift proxy-memcache value
889 IP: {get_attr: [NetIpMap, net_ip_uri_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
891 description: MD5 checksum of the TLS Key Modulus
892 value: {get_attr: [NodeTLSData, key_modulus_md5]}
893 tls_cert_modulus_md5:
894 description: MD5 checksum of the TLS Certificate Modulus
895 value: {get_attr: [NodeTLSData, cert_modulus_md5]}