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
143 description: Keystone region for endpoint
146 description: Whether to manage IPtables rules.
150 description: Enable IPv6 features in Memcached.
154 description: Whether IPtables rules should be purged before setting up the new ones.
156 MysqlClusterUniquePart:
157 description: A unique identifier of the MySQL cluster the controller is in.
159 default: 'unset' # Has to be here because of the ignored empty value bug
160 # Drop the validation: https://bugs.launchpad.net/tripleo/+bug/1405446
162 # - length: {min: 4, max: 10}
163 MysqlInnodbBufferPoolSize:
165 Specifies the size of the buffer pool in megabytes. Setting to
166 zero should be interpreted as "no value" and will defer to the
171 description: Configures MySQL max_connections config setting
174 MysqlClustercheckPassword:
180 default: '' # Has to be here because of the ignored empty value bug
181 NeutronMetadataProxySharedSecret:
182 description: Shared secret to prevent spoofing
186 description: The password for the neutron service and db account, used by neutron agents.
189 NeutronPublicInterface:
191 description: What interface to bridge onto br-ex for network nodes.
196 Whether to create cron job for purging soft deleted rows in Nova database.
200 description: Enable IPv6 features in Nova
203 description: The password for the nova service and db account, used by nova-api.
208 description: The password for the 'pcsd' user.
210 PublicVirtualInterface:
213 Specifies the interface where the public-facing virtual ip will be assigned.
214 This should be int_public when a VLAN is being used.
218 default: '' # Has to be here because of the ignored empty value bug
221 description: The password for RabbitMQ
226 description: The username for RabbitMQ
231 Rabbit client subscriber parameter to specify
232 an SSL connection to the RabbitMQ host.
236 description: Set rabbit subscriber port, change this if using SSL
239 description: The password for Redis
244 default: '' # Has to be here because of the ignored empty value bug
247 default: '' # Has to be here because of the ignored empty value bug
248 description: An IP address which is wrapped in brackets in case of IPv6
250 description: A random string to be used as a salt when hashing to determine mappings
254 UpgradeLevelNovaCompute:
256 description: Nova Compute upgrade level
261 EnablePackageInstall:
263 description: Set to true to enable package installation via Puppet
267 description: Mapping of service_name -> network name. Typically set
268 via parameter_defaults in the resource registry.
272 description: Mapping of service endpoint -> protocol. Typically set
273 via parameter_defaults in the resource registry.
279 Setting to a previously unused value during stack-update will trigger
280 package update on all nodes
283 default: '' # Defaults to Heat created hostname
287 description: Optional mapping to override hostnames
288 NetworkDeploymentActions:
289 type: comma_delimited_list
291 Heat action when to apply network configuration changes
296 SoftwareConfigTransport:
297 default: POLL_SERVER_CFN
299 How the server should receive the metadata required for software configuration.
302 - allowed_values: [POLL_SERVER_CFN, POLL_SERVER_HEAT, POLL_TEMP_URL, ZAQAR_MESSAGE]
306 The DNS domain used for the hosts. This should match the dhcp_domain
307 configured in the Undercloud neutron. Defaults to localdomain.
311 Extra properties or metadata passed to Nova for the created nodes in
312 the overcloud. It's accessible via the Nova metadata API.
314 ControllerSchedulerHints:
316 description: Optional scheduler hints to pass to nova
318 ServiceConfigSettings:
322 type: comma_delimited_list
326 description: Command which will be run whenever configuration data changes
327 default: os-refresh-config --timeout 14400
331 description: Do not use deprecated params, they will be removed.
333 - controllerExtraConfig
338 type: OS::TripleO::Server
341 command: {get_param: ConfigCommand}
343 image: {get_param: controllerImage}
344 image_update_policy: {get_param: ImageUpdatePolicy}
345 flavor: {get_param: OvercloudControlFlavor}
346 key_name: {get_param: KeyName}
349 user_data_format: SOFTWARE_CONFIG
350 user_data: {get_resource: UserData}
353 template: {get_param: Hostname}
354 params: {get_param: HostnameMap}
355 software_config_transport: {get_param: SoftwareConfigTransport}
356 metadata: {get_param: ServerMetadata}
357 scheduler_hints: {get_param: ControllerSchedulerHints}
359 # Combine the NodeAdminUserData and NodeUserData mime archives
361 type: OS::Heat::MultipartMime
364 - config: {get_resource: NodeAdminUserData}
366 - config: {get_resource: NodeUserData}
369 # Creates the "heat-admin" user if configured via the environment
370 # Should return a OS::Heat::MultipartMime reference via OS::stack_id
372 type: OS::TripleO::NodeAdminUserData
374 # For optional operator additional userdata
375 # Should return a OS::Heat::MultipartMime reference via OS::stack_id
377 type: OS::TripleO::NodeUserData
380 type: OS::TripleO::Controller::Ports::ExternalPort
382 IPPool: {get_param: ControllerIPs}
383 NodeIndex: {get_param: NodeIndex}
384 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
387 type: OS::TripleO::Controller::Ports::InternalApiPort
389 IPPool: {get_param: ControllerIPs}
390 NodeIndex: {get_param: NodeIndex}
391 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
394 type: OS::TripleO::Controller::Ports::StoragePort
396 IPPool: {get_param: ControllerIPs}
397 NodeIndex: {get_param: NodeIndex}
398 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
401 type: OS::TripleO::Controller::Ports::StorageMgmtPort
403 IPPool: {get_param: ControllerIPs}
404 NodeIndex: {get_param: NodeIndex}
405 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
408 type: OS::TripleO::Controller::Ports::TenantPort
410 IPPool: {get_param: ControllerIPs}
411 NodeIndex: {get_param: NodeIndex}
412 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
415 type: OS::TripleO::Controller::Ports::ManagementPort
417 IPPool: {get_param: ControllerIPs}
418 NodeIndex: {get_param: NodeIndex}
419 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
422 type: OS::TripleO::Network::Ports::NetIpMap
424 ControlPlaneIp: {get_attr: [Controller, networks, ctlplane, 0]}
425 ExternalIp: {get_attr: [ExternalPort, ip_address]}
426 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
427 ExternalIpUri: {get_attr: [ExternalPort, ip_address_uri]}
428 InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
429 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
430 InternalApiIpUri: {get_attr: [InternalApiPort, ip_address_uri]}
431 StorageIp: {get_attr: [StoragePort, ip_address]}
432 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
433 StorageIpUri: {get_attr: [StoragePort, ip_address_uri]}
434 StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}
435 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
436 StorageMgmtIpUri: {get_attr: [StorageMgmtPort, ip_address_uri]}
437 TenantIp: {get_attr: [TenantPort, ip_address]}
438 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
439 TenantIpUri: {get_attr: [TenantPort, ip_address_uri]}
440 ManagementIp: {get_attr: [ManagementPort, ip_address]}
441 ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
442 ManagementIpUri: {get_attr: [ManagementPort, ip_address_uri]}
445 type: OS::TripleO::Controller::Net::SoftwareConfig
447 ControlPlaneIp: {get_attr: [Controller, networks, ctlplane, 0]}
448 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
449 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
450 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
451 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
452 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
453 ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
456 type: OS::TripleO::SoftwareDeployment
458 name: NetworkDeployment
459 config: {get_resource: NetworkConfig}
460 server: {get_resource: Controller}
461 actions: {get_param: NetworkDeploymentActions}
464 interface_name: {get_param: NeutronPublicInterface}
466 # Resource for site-specific injection of root certificate
468 depends_on: NetworkDeployment
469 type: OS::TripleO::NodeTLSCAData
471 server: {get_resource: Controller}
473 # Resource for site-specific passing of private keys/certificates
475 depends_on: NodeTLSCAData
476 type: OS::TripleO::NodeTLSData
478 server: {get_resource: Controller}
479 NodeIndex: {get_param: NodeIndex}
482 ControllerDeployment:
483 type: OS::TripleO::SoftwareDeployment
484 depends_on: NetworkDeployment
486 name: ControllerDeployment
487 config: {get_resource: ControllerConfig}
488 server: {get_resource: Controller}
490 bootstack_nodeid: {get_attr: [Controller, name]}
491 haproxy_log_address: {get_param: HAProxySyslogAddress}
492 haproxy_stats_password: {get_param: HAProxyStatsPassword}
493 haproxy_stats_user: {get_param: HAProxyStatsUser}
494 heat_auth_encryption_key: {get_param: HeatAuthEncryptionKey}
495 horizon_secret: {get_param: HorizonSecret}
496 admin_password: {get_param: AdminPassword}
497 debug: {get_param: Debug}
498 keystone_identity_uri: { get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix] }
499 keystone_auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri] }
500 keystone_ec2_uri: { get_param: [EndpointMap, KeystoneEC2, uri] }
501 enable_fencing: {get_param: EnableFencing}
502 enable_galera: {get_param: EnableGalera}
503 enable_load_balancer: {get_param: EnableLoadBalancer}
504 manage_firewall: {get_param: ManageFirewall}
505 purge_firewall_rules: {get_param: PurgeFirewallRules}
506 mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
507 mysql_max_connections: {get_param: MysqlMaxConnections}
508 mysql_root_password: {get_param: MysqlRootPassword}
509 mysql_clustercheck_password: {get_param: MysqlClustercheckPassword}
512 template: tripleo-CLUSTER
514 CLUSTER: {get_param: MysqlClusterUniquePart}
515 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
516 aodh_internal_url: { get_param: [ EndpointMap, AodhInternal, uri ] }
517 aodh_public_url: { get_param: [ EndpointMap, AodhPublic, uri ] }
518 aodh_admin_url: { get_param: [ EndpointMap, AodhAdmin, uri ] }
519 ceilometer_coordination_url:
523 - {get_param: RedisPassword}
525 - {get_param: RedisVirtualIPUri}
527 gnocchi_internal_url: {get_param: [EndpointMap, GnocchiInternal, uri]}
528 gnocchi_public_url: { get_param: [ EndpointMap, GnocchiPublic, uri ] }
529 gnocchi_admin_url: { get_param: [ EndpointMap, GnocchiAdmin, uri ] }
530 nova_enable_db_purge: {get_param: NovaEnableDBPurge}
531 nova_ipv6: {get_param: NovaIPv6}
532 corosync_ipv6: {get_param: CorosyncIPv6}
533 memcached_ipv6: {get_param: MemcachedIPv6}
534 nova_password: {get_param: NovaPassword}
535 upgrade_level_nova_compute: {get_param: UpgradeLevelNovaCompute}
536 instance_name_template: {get_param: InstanceNameTemplate}
537 fencing_config: {get_param: FencingConfig}
538 pcsd_password: {get_param: PcsdPassword}
539 rabbit_username: {get_param: RabbitUserName}
540 rabbit_password: {get_param: RabbitPassword}
541 rabbit_cookie: {get_param: RabbitCookie}
542 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
543 rabbit_client_port: {get_param: RabbitClientPort}
544 control_virtual_interface: {get_param: ControlVirtualInterface}
545 public_virtual_interface: {get_param: PublicVirtualInterface}
546 swift_hash_suffix: {get_param: SwiftHashSuffix}
547 enable_package_install: {get_param: EnablePackageInstall}
548 enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]}
549 swift_proxy_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
550 swift_management_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftMgmtNetwork]}]}
551 cinder_iscsi_network:
555 IP: {get_attr: [NetIpMap, net_ip_uri_map, {get_param: [ServiceNetMap, CinderIscsiNetwork]}]}
556 cinder_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
557 glance_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
558 glance_registry_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
559 glance_api_servers: { get_param: [EndpointMap, GlanceInternal, uri]}
560 heat_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
561 keystone_public_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
562 keystone_admin_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
563 keystone_region: {get_param: KeystoneRegion}
564 manila_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ManilaApiNetwork]}]}
565 mongo_db_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MongoDbNetwork]}]}
566 neutron_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
567 neutron_local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronTenantNetwork]}]}
568 ceilometer_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
569 aodh_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
570 gnocchi_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
571 nova_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
572 nova_metadata_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
573 horizon_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
576 template: "['SUBNET']"
578 SUBNET: {get_attr: [NetIpMap, net_ip_subnet_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
579 rabbitmq_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
580 redis_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, RedisNetwork]}]}
581 redis_vip: {get_param: RedisVirtualIP}
582 sahara_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
583 memcached_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
584 mysql_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
585 mysql_virtual_ip: {get_param: MysqlVirtualIP}
586 ceph_cluster_network: {get_attr: [NetIpMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephClusterNetwork]}]}
587 ceph_public_network: {get_attr: [NetIpMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
588 ceph_public_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
589 ironic_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
591 # Map heat metadata into hiera datafiles
593 type: OS::Heat::StructuredConfig
595 group: os-apply-config
600 - heat_config_%{::deploy_config_name}
601 - controller_extraconfig
606 - swift_devices_and_proxy # provided by SwiftDevicesAndProxyConfig
607 - ceph_cluster # provided by CephClusterConfig
609 - bootstrap_node # provided by BootstrapNodeConfig
610 - all_nodes # provided by allNodesConfig
611 - vip_data # provided by vip-config
614 - cinder_dellsc_data # Optionally provided by ControllerExtraConfigPre
615 - cinder_netapp_data # Optionally provided by ControllerExtraConfigPre
616 - cinder_eqlx_data # Optionally provided by ControllerExtraConfigPre
617 - neutron_bigswitch_data # Optionally provided by ControllerExtraConfigPre
618 - neutron_cisco_data # Optionally provided by ControllerExtraConfigPre
619 - cisco_n1kv_data # Optionally provided by ControllerExtraConfigPre
620 - midonet_data #Optionally provided by AllNodesExtraConfig
621 merge_behavior: deeper
625 service_names: {get_param: ServiceNames}
629 - {get_param: ServiceConfigSettings}
630 - values: {get_attr: [NetIpMap, net_ip_map]}
631 controller_extraconfig:
634 - {get_param: controllerExtraConfig}
635 - {get_param: ControllerExtraConfig}
637 mapped_data: {get_param: ExtraConfig}
640 net_ip_map: {get_attr: [NetIpMap, net_ip_map]}
641 net_ip_subnet_map: {get_attr: [NetIpMap, net_ip_subnet_map]}
642 net_ip_uri_map: {get_attr: [NetIpMap, net_ip_uri_map]}
645 ceph::profile::params::cluster_network: {get_input: ceph_cluster_network}
646 ceph::profile::params::public_network: {get_input: ceph_public_network}
647 ceph::profile::params::public_addr: {get_input: ceph_public_ip}
649 mapped_data: # data supplied directly to this deployment configuration, etc
650 bootstack_nodeid: {get_input: bootstack_nodeid}
653 enable_fencing: {get_input: enable_fencing}
654 enable_load_balancer: {get_input: enable_load_balancer}
655 hacluster_pwd: {get_input: pcsd_password}
656 corosync_ipv6: {get_input: corosync_ipv6}
657 tripleo::fencing::config: {get_input: fencing_config}
660 # FIXME: need to move proxy_local_net_ip into swift-proxy.yaml
661 swift::proxy::proxy_local_net_ip: {get_input: swift_proxy_network}
662 swift::storage::all::storage_local_net_ip: {get_input: swift_management_network}
663 swift::swift_hash_path_suffix: {get_input: swift_hash_suffix}
666 tripleo::profile::base::cinder::volume::iscsi::cinder_iscsi_address: {get_input: cinder_iscsi_network}
667 cinder::api::bind_host: {get_input: cinder_api_network}
670 glance::api::bind_host: {get_input: glance_api_network}
671 glance::registry::bind_host: {get_input: glance_registry_network}
674 heat::api::bind_host: {get_input: heat_api_network}
675 heat::api_cloudwatch::bind_host: {get_input: heat_api_network}
676 heat::api_cfn::bind_host: {get_input: heat_api_network}
677 heat::engine::auth_encryption_key: {get_input: heat_auth_encryption_key}
680 keystone::admin_bind_host: {get_input: keystone_admin_api_network}
681 keystone::public_bind_host: {get_input: keystone_public_api_network}
682 keystone::wsgi::apache::bind_host: {get_input: keystone_public_api_network}
683 keystone::wsgi::apache::admin_bind_host: {get_input: keystone_admin_api_network}
686 manila::api::bind_host: {get_input: manila_api_network}
689 mongodb::server::bind_ip: {get_input: mongo_db_network}
692 admin_password: {get_input: admin_password}
693 enable_galera: {get_input: enable_galera}
694 mysql_innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
695 mysql_max_connections: {get_input: mysql_max_connections}
696 mysql::server::root_password: {get_input: mysql_root_password}
697 mysql_clustercheck_password: {get_input: mysql_clustercheck_password}
698 mysql_cluster_name: {get_input: mysql_cluster_name}
699 mysql_bind_host: {get_input: mysql_network}
700 mysql_virtual_ip: {get_input: mysql_virtual_ip}
703 neutron::bind_host: {get_input: neutron_api_network}
704 neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip}
705 neutron::agents::metadata::metadata_ip: {get_input: neutron_api_network}
708 aodh::api::host: {get_input: aodh_api_network}
709 aodh::wsgi::apache::bind_host: {get_input: aodh_api_network}
712 ceilometer::api::host: {get_input: ceilometer_api_network}
713 snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
714 snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
717 gnocchi::wsgi::apache::bind_host: {get_input: gnocchi_api_network}
718 gnocchi::api::host: {get_input: gnocchi_api_network}
719 gnocchi::api::keystone_auth_uri: {get_input: keystone_auth_uri}
720 gnocchi::api::keystone_identity_uri: {get_input: keystone_identity_uri}
721 gnocchi::storage::swift::swift_authurl: {get_input: keystone_auth_uri}
722 gnocchi::keystone::auth::public_url: {get_input: gnocchi_public_url }
723 gnocchi::keystone::auth::internal_url: {get_input: gnocchi_internal_url }
724 gnocchi::keystone::auth::admin_url: {get_input: gnocchi_admin_url }
725 gnocchi::keystone::auth::region: {get_input: keystone_region}
728 nova::upgrade_level_compute: {get_input: upgrade_level_nova_compute}
729 nova::use_ipv6: {get_input: nova_ipv6}
730 nova::api::auth_uri: {get_input: keystone_auth_uri}
731 nova::api::identity_uri: {get_input: keystone_identity_uri}
732 nova::api::api_bind_address: {get_input: nova_api_network}
733 nova::api::metadata_listen: {get_input: nova_metadata_network}
734 nova::api::admin_password: {get_input: nova_password}
735 nova::glance_api_servers: {get_input: glance_api_servers}
736 nova::api::neutron_metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
737 nova::api::instance_name_template: {get_input: instance_name_template}
738 nova::vncproxy::host: {get_input: nova_api_network}
739 nova_enable_db_purge: {get_input: nova_enable_db_purge}
742 apache::mod::remoteip::proxy_ips: {get_input: horizon_subnet}
743 apache::ip: {get_input: horizon_network}
744 horizon::django_debug: {get_input: debug}
745 horizon::secret_key: {get_input: horizon_secret}
746 horizon::bind_address: {get_input: horizon_network}
747 horizon::keystone_url: {get_input: keystone_auth_uri}
750 sahara::host: {get_input: sahara_api_network}
753 rabbitmq::node_ip_address: {get_input: rabbitmq_network}
754 rabbitmq::erlang_cookie: {get_input: rabbit_cookie}
756 redis::bind: {get_input: redis_network}
757 redis_vip: {get_input: redis_vip}
759 tripleo::firewall::manage_firewall: {get_input: manage_firewall}
760 tripleo::firewall::purge_firewall_rules: {get_input: purge_firewall_rules}
762 memcached_ipv6: {get_input: memcached_ipv6}
763 memcached::listen_ip: {get_input: memcached_network}
764 control_virtual_interface: {get_input: control_virtual_interface}
765 public_virtual_interface: {get_input: public_virtual_interface}
766 tripleo::keepalived::control_virtual_interface: {get_input: control_virtual_interface}
767 tripleo::keepalived::public_virtual_interface: {get_input: public_virtual_interface}
768 tripleo::haproxy::control_virtual_interface: {get_input: control_virtual_interface}
769 tripleo::haproxy::public_virtual_interface: {get_input: public_virtual_interface}
770 tripleo::haproxy::haproxy_log_address: {get_input: haproxy_log_address}
771 tripleo::haproxy::service_certificate: {get_attr: [NodeTLSData, deployed_ssl_certificate_path]}
772 tripleo::haproxy::haproxy_stats_user: {get_input: haproxy_stats_user}
773 tripleo::haproxy::haproxy_stats_password: {get_input: haproxy_stats_password}
774 tripleo::haproxy::redis_password: {get_input: redis_password}
775 tripleo::packages::enable_install: {get_input: enable_package_install}
776 tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
778 # Hook for site-specific additional pre-deployment config, e.g extra hieradata
779 ControllerExtraConfigPre:
780 depends_on: ControllerDeployment
781 type: OS::TripleO::ControllerExtraConfigPre
783 server: {get_resource: Controller}
785 # Hook for site-specific additional pre-deployment config,
786 # applying to all nodes, e.g node registration/unregistration
788 depends_on: [ControllerExtraConfigPre, NodeTLSData]
789 type: OS::TripleO::NodeExtraConfig
791 server: {get_resource: Controller}
794 type: OS::TripleO::Tasks::PackageUpdate
797 type: OS::Heat::SoftwareDeployment
799 name: UpdateDeployment
800 config: {get_resource: UpdateConfig}
801 server: {get_resource: Controller}
804 get_param: UpdateIdentifier
808 description: IP address of the server in the ctlplane network
809 value: {get_attr: [Controller, networks, ctlplane, 0]}
811 description: IP address of the server in the external network
812 value: {get_attr: [ExternalPort, ip_address]}
813 internal_api_ip_address:
814 description: IP address of the server in the internal_api network
815 value: {get_attr: [InternalApiPort, ip_address]}
817 description: IP address of the server in the storage network
818 value: {get_attr: [StoragePort, ip_address]}
819 storage_mgmt_ip_address:
820 description: IP address of the server in the storage_mgmt network
821 value: {get_attr: [StorageMgmtPort, ip_address]}
823 description: IP address of the server in the tenant network
824 value: {get_attr: [TenantPort, ip_address]}
825 management_ip_address:
826 description: IP address of the server in the management network
827 value: {get_attr: [ManagementPort, ip_address]}
829 description: Hostname of the server
830 value: {get_attr: [Controller, name]}
833 Server's IP address and hostname in the /etc/hosts format
837 PRIMARYIP PRIMARYHOST.DOMAIN PRIMARYHOST
838 EXTERNALIP EXTERNALHOST.DOMAIN EXTERNALHOST
839 INTERNAL_APIIP INTERNAL_APIHOST.DOMAIN INTERNAL_APIHOST
840 STORAGEIP STORAGEHOST.DOMAIN STORAGEHOST
841 STORAGE_MGMTIP STORAGE_MGMTHOST.DOMAIN STORAGE_MGMTHOST
842 TENANTIP TENANTHOST.DOMAIN TENANTHOST
843 MANAGEMENTIP MANAGEMENTHOST.DOMAIN MANAGEMENTHOST
845 PRIMARYIP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ControllerHostnameResolveNetwork]}]}
846 DOMAIN: {get_param: CloudDomain}
847 PRIMARYHOST: {get_attr: [Controller, name]}
848 EXTERNALIP: {get_attr: [ExternalPort, ip_address]}
852 - - {get_attr: [Controller, name]}
854 INTERNAL_APIIP: {get_attr: [InternalApiPort, ip_address]}
858 - - {get_attr: [Controller, name]}
860 STORAGEIP: {get_attr: [StoragePort, ip_address]}
864 - - {get_attr: [Controller, name]}
866 STORAGE_MGMTIP: {get_attr: [StorageMgmtPort, ip_address]}
870 - - {get_attr: [Controller, name]}
872 TENANTIP: {get_attr: [TenantPort, ip_address]}
876 - - {get_attr: [Controller, name]}
878 MANAGEMENTIP: {get_attr: [ManagementPort, ip_address]}
882 - - {get_attr: [Controller, name]}
884 nova_server_resource:
885 description: Heat resource handle for the Nova compute server
887 {get_resource: Controller}
889 description: Swift device formatted for swift-ring-builder
892 template: 'r1z1-IP:%PORT%/d1'
894 IP: {get_attr: [NetIpMap, net_ip_uri_map, {get_param: [ServiceNetMap, SwiftMgmtNetwork]}]}
895 swift_proxy_memcache:
896 description: Swift proxy-memcache value
901 IP: {get_attr: [NetIpMap, net_ip_uri_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
903 description: MD5 checksum of the TLS Key Modulus
904 value: {get_attr: [NodeTLSData, key_modulus_md5]}
905 tls_cert_modulus_md5:
906 description: MD5 checksum of the TLS Certificate Modulus
907 value: {get_attr: [NodeTLSData, cert_modulus_md5]}