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']"
575 template: "NETWORK_subnet"
577 NETWORK: {get_param: [ServiceNetMap, HorizonNetwork]}
578 rabbitmq_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, RabbitmqNetwork]}]}
579 redis_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, RedisNetwork]}]}
580 redis_vip: {get_param: RedisVirtualIP}
581 sahara_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
582 memcached_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
583 mysql_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
584 mysql_virtual_ip: {get_param: MysqlVirtualIP}
585 ceph_cluster_network:
590 template: "NETWORK_subnet"
592 NETWORK: {get_param: [ServiceNetMap, CephClusterNetwork]}
598 template: "NETWORK_subnet"
600 NETWORK: {get_param: [ServiceNetMap, CephPublicNetwork]}
601 ceph_public_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
602 ironic_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
604 # Map heat metadata into hiera datafiles
606 type: OS::Heat::StructuredConfig
608 group: os-apply-config
613 - heat_config_%{::deploy_config_name}
614 - controller_extraconfig
619 - swift_devices_and_proxy # provided by SwiftDevicesAndProxyConfig
620 - ceph_cluster # provided by CephClusterConfig
622 - bootstrap_node # provided by BootstrapNodeConfig
623 - all_nodes # provided by allNodesConfig
624 - vip_data # provided by vip-config
627 - cinder_dellsc_data # Optionally provided by ControllerExtraConfigPre
628 - cinder_netapp_data # Optionally provided by ControllerExtraConfigPre
629 - cinder_eqlx_data # Optionally provided by ControllerExtraConfigPre
630 - neutron_bigswitch_data # Optionally provided by ControllerExtraConfigPre
631 - neutron_cisco_data # Optionally provided by ControllerExtraConfigPre
632 - cisco_n1kv_data # Optionally provided by ControllerExtraConfigPre
633 - midonet_data #Optionally provided by AllNodesExtraConfig
634 merge_behavior: deeper
638 service_names: {get_param: ServiceNames}
642 - {get_param: ServiceConfigSettings}
643 - values: {get_attr: [NetIpMap, net_ip_map]}
644 controller_extraconfig:
647 - {get_param: controllerExtraConfig}
648 - {get_param: ControllerExtraConfig}
650 mapped_data: {get_param: ExtraConfig}
653 net_ip_map: {get_attr: [NetIpMap, net_ip_map]}
654 net_ip_uri_map: {get_attr: [NetIpMap, net_ip_uri_map]}
657 ceph::profile::params::cluster_network: {get_input: ceph_cluster_network}
658 ceph::profile::params::public_network: {get_input: ceph_public_network}
659 ceph::profile::params::public_addr: {get_input: ceph_public_ip}
661 mapped_data: # data supplied directly to this deployment configuration, etc
662 bootstack_nodeid: {get_input: bootstack_nodeid}
665 enable_fencing: {get_input: enable_fencing}
666 enable_load_balancer: {get_input: enable_load_balancer}
667 hacluster_pwd: {get_input: pcsd_password}
668 corosync_ipv6: {get_input: corosync_ipv6}
669 tripleo::fencing::config: {get_input: fencing_config}
672 # FIXME: need to move proxy_local_net_ip into swift-proxy.yaml
673 swift::proxy::proxy_local_net_ip: {get_input: swift_proxy_network}
674 swift::storage::all::storage_local_net_ip: {get_input: swift_management_network}
675 swift::swift_hash_path_suffix: {get_input: swift_hash_suffix}
678 tripleo::profile::base::cinder::volume::iscsi::cinder_iscsi_address: {get_input: cinder_iscsi_network}
679 cinder::api::bind_host: {get_input: cinder_api_network}
682 glance::api::bind_host: {get_input: glance_api_network}
683 glance::registry::bind_host: {get_input: glance_registry_network}
686 heat::api::bind_host: {get_input: heat_api_network}
687 heat::api_cloudwatch::bind_host: {get_input: heat_api_network}
688 heat::api_cfn::bind_host: {get_input: heat_api_network}
689 heat::engine::auth_encryption_key: {get_input: heat_auth_encryption_key}
692 keystone::admin_bind_host: {get_input: keystone_admin_api_network}
693 keystone::public_bind_host: {get_input: keystone_public_api_network}
694 keystone::wsgi::apache::bind_host: {get_input: keystone_public_api_network}
695 keystone::wsgi::apache::admin_bind_host: {get_input: keystone_admin_api_network}
698 manila::api::bind_host: {get_input: manila_api_network}
701 mongodb::server::bind_ip: {get_input: mongo_db_network}
704 admin_password: {get_input: admin_password}
705 enable_galera: {get_input: enable_galera}
706 mysql_innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
707 mysql_max_connections: {get_input: mysql_max_connections}
708 mysql::server::root_password: {get_input: mysql_root_password}
709 mysql_clustercheck_password: {get_input: mysql_clustercheck_password}
710 mysql_cluster_name: {get_input: mysql_cluster_name}
711 mysql_bind_host: {get_input: mysql_network}
712 mysql_virtual_ip: {get_input: mysql_virtual_ip}
715 neutron::bind_host: {get_input: neutron_api_network}
716 neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip}
717 neutron::agents::metadata::metadata_ip: {get_input: neutron_api_network}
720 aodh::api::host: {get_input: aodh_api_network}
721 aodh::wsgi::apache::bind_host: {get_input: aodh_api_network}
724 ceilometer::api::host: {get_input: ceilometer_api_network}
725 snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
726 snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
729 gnocchi::wsgi::apache::bind_host: {get_input: gnocchi_api_network}
730 gnocchi::api::host: {get_input: gnocchi_api_network}
731 gnocchi::api::keystone_auth_uri: {get_input: keystone_auth_uri}
732 gnocchi::api::keystone_identity_uri: {get_input: keystone_identity_uri}
733 gnocchi::storage::swift::swift_authurl: {get_input: keystone_auth_uri}
736 nova::upgrade_level_compute: {get_input: upgrade_level_nova_compute}
737 nova::use_ipv6: {get_input: nova_ipv6}
738 nova::api::auth_uri: {get_input: keystone_auth_uri}
739 nova::api::identity_uri: {get_input: keystone_identity_uri}
740 nova::api::api_bind_address: {get_input: nova_api_network}
741 nova::api::metadata_listen: {get_input: nova_metadata_network}
742 nova::api::admin_password: {get_input: nova_password}
743 nova::glance_api_servers: {get_input: glance_api_servers}
744 nova::api::neutron_metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
745 nova::api::instance_name_template: {get_input: instance_name_template}
746 nova::vncproxy::host: {get_input: nova_api_network}
747 nova_enable_db_purge: {get_input: nova_enable_db_purge}
750 apache::mod::remoteip::proxy_ips: {get_input: horizon_subnet}
751 apache::ip: {get_input: horizon_network}
752 horizon::django_debug: {get_input: debug}
753 horizon::secret_key: {get_input: horizon_secret}
754 horizon::bind_address: {get_input: horizon_network}
755 horizon::keystone_url: {get_input: keystone_auth_uri}
758 sahara::host: {get_input: sahara_api_network}
761 rabbitmq::node_ip_address: {get_input: rabbitmq_network}
762 rabbitmq::erlang_cookie: {get_input: rabbit_cookie}
764 redis::bind: {get_input: redis_network}
765 redis_vip: {get_input: redis_vip}
767 tripleo::firewall::manage_firewall: {get_input: manage_firewall}
768 tripleo::firewall::purge_firewall_rules: {get_input: purge_firewall_rules}
770 memcached_ipv6: {get_input: memcached_ipv6}
771 memcached::listen_ip: {get_input: memcached_network}
772 control_virtual_interface: {get_input: control_virtual_interface}
773 public_virtual_interface: {get_input: public_virtual_interface}
774 tripleo::keepalived::control_virtual_interface: {get_input: control_virtual_interface}
775 tripleo::keepalived::public_virtual_interface: {get_input: public_virtual_interface}
776 tripleo::haproxy::control_virtual_interface: {get_input: control_virtual_interface}
777 tripleo::haproxy::public_virtual_interface: {get_input: public_virtual_interface}
778 tripleo::haproxy::haproxy_log_address: {get_input: haproxy_log_address}
779 tripleo::haproxy::service_certificate: {get_attr: [NodeTLSData, deployed_ssl_certificate_path]}
780 tripleo::haproxy::haproxy_stats_user: {get_input: haproxy_stats_user}
781 tripleo::haproxy::haproxy_stats_password: {get_input: haproxy_stats_password}
782 tripleo::haproxy::redis_password: {get_input: redis_password}
783 tripleo::packages::enable_install: {get_input: enable_package_install}
784 tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
786 # Hook for site-specific additional pre-deployment config, e.g extra hieradata
787 ControllerExtraConfigPre:
788 depends_on: ControllerDeployment
789 type: OS::TripleO::ControllerExtraConfigPre
791 server: {get_resource: Controller}
793 # Hook for site-specific additional pre-deployment config,
794 # applying to all nodes, e.g node registration/unregistration
796 depends_on: [ControllerExtraConfigPre, NodeTLSData]
797 type: OS::TripleO::NodeExtraConfig
799 server: {get_resource: Controller}
802 type: OS::TripleO::Tasks::PackageUpdate
805 type: OS::Heat::SoftwareDeployment
807 name: UpdateDeployment
808 config: {get_resource: UpdateConfig}
809 server: {get_resource: Controller}
812 get_param: UpdateIdentifier
816 description: IP address of the server in the ctlplane network
817 value: {get_attr: [Controller, networks, ctlplane, 0]}
819 description: IP address of the server in the external network
820 value: {get_attr: [ExternalPort, ip_address]}
821 internal_api_ip_address:
822 description: IP address of the server in the internal_api network
823 value: {get_attr: [InternalApiPort, ip_address]}
825 description: IP address of the server in the storage network
826 value: {get_attr: [StoragePort, ip_address]}
827 storage_mgmt_ip_address:
828 description: IP address of the server in the storage_mgmt network
829 value: {get_attr: [StorageMgmtPort, ip_address]}
831 description: IP address of the server in the tenant network
832 value: {get_attr: [TenantPort, ip_address]}
833 management_ip_address:
834 description: IP address of the server in the management network
835 value: {get_attr: [ManagementPort, ip_address]}
837 description: Hostname of the server
838 value: {get_attr: [Controller, name]}
841 Server's IP address and hostname in the /etc/hosts format
845 PRIMARYIP PRIMARYHOST.DOMAIN PRIMARYHOST
846 EXTERNALIP EXTERNALHOST.DOMAIN EXTERNALHOST
847 INTERNAL_APIIP INTERNAL_APIHOST.DOMAIN INTERNAL_APIHOST
848 STORAGEIP STORAGEHOST.DOMAIN STORAGEHOST
849 STORAGE_MGMTIP STORAGE_MGMTHOST.DOMAIN STORAGE_MGMTHOST
850 TENANTIP TENANTHOST.DOMAIN TENANTHOST
851 MANAGEMENTIP MANAGEMENTHOST.DOMAIN MANAGEMENTHOST
853 PRIMARYIP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ControllerHostnameResolveNetwork]}]}
854 DOMAIN: {get_param: CloudDomain}
855 PRIMARYHOST: {get_attr: [Controller, name]}
856 EXTERNALIP: {get_attr: [ExternalPort, ip_address]}
860 - - {get_attr: [Controller, name]}
862 INTERNAL_APIIP: {get_attr: [InternalApiPort, ip_address]}
866 - - {get_attr: [Controller, name]}
868 STORAGEIP: {get_attr: [StoragePort, ip_address]}
872 - - {get_attr: [Controller, name]}
874 STORAGE_MGMTIP: {get_attr: [StorageMgmtPort, ip_address]}
878 - - {get_attr: [Controller, name]}
880 TENANTIP: {get_attr: [TenantPort, ip_address]}
884 - - {get_attr: [Controller, name]}
886 MANAGEMENTIP: {get_attr: [ManagementPort, ip_address]}
890 - - {get_attr: [Controller, name]}
892 nova_server_resource:
893 description: Heat resource handle for the Nova compute server
895 {get_resource: Controller}
897 description: Swift device formatted for swift-ring-builder
900 template: 'r1z1-IP:%PORT%/d1'
902 IP: {get_attr: [NetIpMap, net_ip_uri_map, {get_param: [ServiceNetMap, SwiftMgmtNetwork]}]}
903 swift_proxy_memcache:
904 description: Swift proxy-memcache value
909 IP: {get_attr: [NetIpMap, net_ip_uri_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
911 description: MD5 checksum of the TLS Key Modulus
912 value: {get_attr: [NodeTLSData, key_modulus_md5]}
913 tls_cert_modulus_md5:
914 description: MD5 checksum of the TLS Certificate Modulus
915 value: {get_attr: [NodeTLSData, cert_modulus_md5]}