1 heat_template_version: 2016-04-08
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"
97 description: Flavor for control nodes to request when deploying.
100 - custom_constraint: nova.flavor
101 HAProxyStatsPassword:
102 description: Password for HAProxy stats endpoint
105 description: User for HAProxy stats endpoint
108 HAProxySyslogAddress:
110 description: Syslog address where HAproxy will send its log
112 HeatAuthEncryptionKey:
113 description: Auth encryption key for heat-engine
117 description: Secret key for Django
122 default: overcloud-full
124 - custom_constraint: glance.image
126 default: 'REBUILD_PRESERVE_EPHEMERAL'
127 description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
129 InstanceNameTemplate:
130 default: 'instance-%08x'
131 description: Template string to be used to generate instance names
135 description: Name of an existing Nova key pair to enable SSH access to the instances
138 - custom_constraint: nova.keypair
142 description: Keystone region for endpoint
145 description: Whether to manage IPtables rules.
149 description: Enable IPv6 features in Memcached.
153 description: Whether IPtables rules should be purged before setting up the new ones.
155 MysqlClusterUniquePart:
156 description: A unique identifier of the MySQL cluster the controller is in.
158 default: 'unset' # Has to be here because of the ignored empty value bug
159 # Drop the validation: https://bugs.launchpad.net/tripleo/+bug/1405446
161 # - length: {min: 4, max: 10}
162 MysqlInnodbBufferPoolSize:
164 Specifies the size of the buffer pool in megabytes. Setting to
165 zero should be interpreted as "no value" and will defer to the
170 description: Configures MySQL max_connections config setting
173 MysqlClustercheckPassword:
179 default: '' # Has to be here because of the ignored empty value bug
180 NeutronMetadataProxySharedSecret:
181 description: Shared secret to prevent spoofing
185 description: The password for the neutron service and db account, used by neutron agents.
188 NeutronPublicInterface:
190 description: What interface to bridge onto br-ex for network nodes.
195 Whether to create cron job for purging soft deleted rows in Nova database.
199 description: Enable IPv6 features in Nova
202 description: The password for the nova service and db account, used by nova-api.
207 description: The password for the 'pcsd' user.
209 PublicVirtualInterface:
212 Specifies the interface where the public-facing virtual ip will be assigned.
213 This should be int_public when a VLAN is being used.
217 default: '' # Has to be here because of the ignored empty value bug
220 description: The password for RabbitMQ
225 description: The username for RabbitMQ
230 Rabbit client subscriber parameter to specify
231 an SSL connection to the RabbitMQ host.
235 description: Set rabbit subscriber port, change this if using SSL
238 description: The password for Redis
243 default: '' # Has to be here because of the ignored empty value bug
246 default: '' # Has to be here because of the ignored empty value bug
247 description: An IP address which is wrapped in brackets in case of IPv6
249 description: A random string to be used as a salt when hashing to determine mappings
253 UpgradeLevelNovaCompute:
255 description: Nova Compute upgrade level
260 EnablePackageInstall:
262 description: Set to true to enable package installation via Puppet
266 description: Mapping of service_name -> network name. Typically set
267 via parameter_defaults in the resource registry.
271 description: Mapping of service endpoint -> protocol. Typically set
272 via parameter_defaults in the resource registry.
278 Setting to a previously unused value during stack-update will trigger
279 package update on all nodes
282 default: '' # Defaults to Heat created hostname
286 description: Optional mapping to override hostnames
287 NetworkDeploymentActions:
288 type: comma_delimited_list
290 Heat action when to apply network configuration changes
295 SoftwareConfigTransport:
296 default: POLL_SERVER_CFN
298 How the server should receive the metadata required for software configuration.
301 - 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: Flavor}
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 neutron_password: {get_param: NeutronPassword}
517 neutron_internal_url: { get_param: [ EndpointMap, NeutronInternal, uri ] }
518 neutron_auth_url: { get_param: [ EndpointMap, KeystoneV3Admin, uri ] }
519 nova_internal_url: { get_param: [ EndpointMap, NovaInternal, uri ] }
520 aodh_internal_url: { get_param: [ EndpointMap, AodhInternal, uri ] }
521 aodh_public_url: { get_param: [ EndpointMap, AodhPublic, uri ] }
522 aodh_admin_url: { get_param: [ EndpointMap, AodhAdmin, uri ] }
523 ceilometer_coordination_url:
527 - {get_param: RedisPassword}
529 - {get_param: RedisVirtualIPUri}
531 gnocchi_internal_url: {get_param: [EndpointMap, GnocchiInternal, uri]}
532 gnocchi_public_url: { get_param: [ EndpointMap, GnocchiPublic, uri ] }
533 gnocchi_admin_url: { get_param: [ EndpointMap, GnocchiAdmin, uri ] }
534 nova_enable_db_purge: {get_param: NovaEnableDBPurge}
535 nova_ipv6: {get_param: NovaIPv6}
536 corosync_ipv6: {get_param: CorosyncIPv6}
537 memcached_ipv6: {get_param: MemcachedIPv6}
538 nova_password: {get_param: NovaPassword}
539 upgrade_level_nova_compute: {get_param: UpgradeLevelNovaCompute}
540 instance_name_template: {get_param: InstanceNameTemplate}
541 fencing_config: {get_param: FencingConfig}
542 pcsd_password: {get_param: PcsdPassword}
543 rabbit_username: {get_param: RabbitUserName}
544 rabbit_password: {get_param: RabbitPassword}
545 rabbit_cookie: {get_param: RabbitCookie}
546 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
547 rabbit_client_port: {get_param: RabbitClientPort}
548 control_virtual_interface: {get_param: ControlVirtualInterface}
549 public_virtual_interface: {get_param: PublicVirtualInterface}
550 swift_hash_suffix: {get_param: SwiftHashSuffix}
551 enable_package_install: {get_param: EnablePackageInstall}
552 enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]}
553 swift_proxy_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
554 swift_management_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftMgmtNetwork]}]}
555 cinder_iscsi_network:
559 IP: {get_attr: [NetIpMap, net_ip_uri_map, {get_param: [ServiceNetMap, CinderIscsiNetwork]}]}
560 cinder_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
561 glance_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
562 glance_registry_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
563 glance_api_servers: { get_param: [EndpointMap, GlanceInternal, uri]}
564 heat_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
565 keystone_public_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
566 keystone_admin_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
567 keystone_region: {get_param: KeystoneRegion}
568 manila_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ManilaApiNetwork]}]}
569 mongo_db_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MongoDbNetwork]}]}
570 neutron_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
571 neutron_local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronTenantNetwork]}]}
572 ceilometer_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
573 aodh_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
574 gnocchi_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
575 nova_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
576 nova_metadata_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
577 horizon_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
580 template: "['SUBNET']"
582 SUBNET: {get_attr: [NetIpMap, net_ip_subnet_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
583 rabbitmq_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
584 redis_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, RedisNetwork]}]}
585 redis_vip: {get_param: RedisVirtualIP}
586 sahara_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
587 memcached_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
588 mysql_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
589 mysql_virtual_ip: {get_param: MysqlVirtualIP}
590 ceph_cluster_network: {get_attr: [NetIpMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephClusterNetwork]}]}
591 ceph_public_network: {get_attr: [NetIpMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
592 ceph_public_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
593 ironic_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
595 # Map heat metadata into hiera datafiles
597 type: OS::Heat::StructuredConfig
599 group: os-apply-config
604 - heat_config_%{::deploy_config_name}
605 - controller_extraconfig
611 - swift_devices_and_proxy # provided by SwiftDevicesAndProxyConfig
612 - ceph_cluster # provided by CephClusterConfig
614 - bootstrap_node # provided by BootstrapNodeConfig
615 - all_nodes # provided by allNodesConfig
616 - vip_data # provided by vip-config
619 - cinder_dellsc_data # Optionally provided by ControllerExtraConfigPre
620 - cinder_netapp_data # Optionally provided by ControllerExtraConfigPre
621 - cinder_eqlx_data # Optionally provided by ControllerExtraConfigPre
622 - neutron_bigswitch_data # Optionally provided by ControllerExtraConfigPre
623 - neutron_cisco_data # Optionally provided by ControllerExtraConfigPre
624 - cisco_n1kv_data # Optionally provided by ControllerExtraConfigPre
625 - midonet_data #Optionally provided by AllNodesExtraConfig
626 merge_behavior: deeper
630 service_names: {get_param: ServiceNames}
632 mapped_data: {get_param: ServiceConfigSettings}
633 controller_extraconfig:
636 - {get_param: controllerExtraConfig}
637 - {get_param: ControllerExtraConfig}
639 mapped_data: {get_param: ExtraConfig}
642 net_ip_map: {get_attr: [NetIpMap, net_ip_map]}
643 net_ip_subnet_map: {get_attr: [NetIpMap, net_ip_subnet_map]}
644 net_ip_uri_map: {get_attr: [NetIpMap, net_ip_uri_map]}
646 raw_data: {get_file: hieradata/ceph.yaml}
648 ceph::profile::params::cluster_network: {get_input: ceph_cluster_network}
649 ceph::profile::params::public_network: {get_input: ceph_public_network}
650 ceph::profile::params::public_addr: {get_input: ceph_public_ip}
652 raw_data: {get_file: hieradata/object.yaml}
654 raw_data: {get_file: hieradata/controller.yaml}
655 mapped_data: # data supplied directly to this deployment configuration, etc
656 bootstack_nodeid: {get_input: bootstack_nodeid}
659 enable_fencing: {get_input: enable_fencing}
660 enable_load_balancer: {get_input: enable_load_balancer}
661 hacluster_pwd: {get_input: pcsd_password}
662 corosync_ipv6: {get_input: corosync_ipv6}
663 tripleo::fencing::config: {get_input: fencing_config}
666 # FIXME: need to move proxy_local_net_ip into swift-proxy.yaml
667 swift::proxy::proxy_local_net_ip: {get_input: swift_proxy_network}
668 swift::storage::all::storage_local_net_ip: {get_input: swift_management_network}
669 swift::swift_hash_path_suffix: {get_input: swift_hash_suffix}
672 tripleo::profile::base::cinder::volume::iscsi::cinder_iscsi_address: {get_input: cinder_iscsi_network}
673 cinder::api::bind_host: {get_input: cinder_api_network}
676 glance::api::bind_host: {get_input: glance_api_network}
677 glance::registry::bind_host: {get_input: glance_registry_network}
680 heat::api::bind_host: {get_input: heat_api_network}
681 heat::api_cloudwatch::bind_host: {get_input: heat_api_network}
682 heat::api_cfn::bind_host: {get_input: heat_api_network}
683 heat::engine::auth_encryption_key: {get_input: heat_auth_encryption_key}
686 keystone::admin_bind_host: {get_input: keystone_admin_api_network}
687 keystone::public_bind_host: {get_input: keystone_public_api_network}
688 keystone::wsgi::apache::bind_host: {get_input: keystone_public_api_network}
689 keystone::wsgi::apache::admin_bind_host: {get_input: keystone_admin_api_network}
692 manila::api::bind_host: {get_input: manila_api_network}
695 mongodb::server::bind_ip: {get_input: mongo_db_network}
698 admin_password: {get_input: admin_password}
699 enable_galera: {get_input: enable_galera}
700 mysql_innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
701 mysql_max_connections: {get_input: mysql_max_connections}
702 mysql::server::root_password: {get_input: mysql_root_password}
703 mysql_clustercheck_password: {get_input: mysql_clustercheck_password}
704 mysql_cluster_name: {get_input: mysql_cluster_name}
705 mysql_bind_host: {get_input: mysql_network}
706 mysql_virtual_ip: {get_input: mysql_virtual_ip}
709 neutron::bind_host: {get_input: neutron_api_network}
710 neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip}
711 neutron::agents::metadata::metadata_ip: {get_input: neutron_api_network}
714 aodh::api::host: {get_input: aodh_api_network}
715 aodh::wsgi::apache::bind_host: {get_input: aodh_api_network}
718 ceilometer::api::host: {get_input: ceilometer_api_network}
719 snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
720 snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
723 gnocchi::wsgi::apache::bind_host: {get_input: gnocchi_api_network}
724 gnocchi::api::host: {get_input: gnocchi_api_network}
725 gnocchi::api::keystone_auth_uri: {get_input: keystone_auth_uri}
726 gnocchi::api::keystone_identity_uri: {get_input: keystone_identity_uri}
727 gnocchi::storage::swift::swift_authurl: {get_input: keystone_auth_uri}
728 gnocchi::keystone::auth::public_url: {get_input: gnocchi_public_url }
729 gnocchi::keystone::auth::internal_url: {get_input: gnocchi_internal_url }
730 gnocchi::keystone::auth::admin_url: {get_input: gnocchi_admin_url }
731 gnocchi::keystone::auth::region: {get_input: keystone_region}
734 nova::upgrade_level_compute: {get_input: upgrade_level_nova_compute}
735 nova::use_ipv6: {get_input: nova_ipv6}
736 nova::api::auth_uri: {get_input: keystone_auth_uri}
737 nova::api::identity_uri: {get_input: keystone_identity_uri}
738 nova::api::api_bind_address: {get_input: nova_api_network}
739 nova::api::metadata_listen: {get_input: nova_metadata_network}
740 nova::api::admin_password: {get_input: nova_password}
741 nova::glance_api_servers: {get_input: glance_api_servers}
742 nova::api::neutron_metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
743 nova::api::instance_name_template: {get_input: instance_name_template}
744 nova::network::neutron::neutron_password: {get_input: neutron_password}
745 nova::network::neutron::neutron_url: {get_input: neutron_internal_url}
746 nova::network::neutron::neutron_auth_url: {get_input: neutron_auth_url}
747 nova::vncproxy::host: {get_input: nova_api_network}
748 nova_enable_db_purge: {get_input: nova_enable_db_purge}
751 apache::mod::remoteip::proxy_ips: {get_input: horizon_subnet}
752 apache::ip: {get_input: horizon_network}
753 horizon::django_debug: {get_input: debug}
754 horizon::secret_key: {get_input: horizon_secret}
755 horizon::bind_address: {get_input: horizon_network}
756 horizon::keystone_url: {get_input: keystone_auth_uri}
759 sahara::host: {get_input: sahara_api_network}
762 rabbitmq::node_ip_address: {get_input: rabbitmq_network}
763 rabbitmq::erlang_cookie: {get_input: rabbit_cookie}
765 redis::bind: {get_input: redis_network}
766 redis_vip: {get_input: redis_vip}
768 tripleo::firewall::manage_firewall: {get_input: manage_firewall}
769 tripleo::firewall::purge_firewall_rules: {get_input: purge_firewall_rules}
771 memcached_ipv6: {get_input: memcached_ipv6}
772 memcached::listen_ip: {get_input: memcached_network}
773 control_virtual_interface: {get_input: control_virtual_interface}
774 public_virtual_interface: {get_input: public_virtual_interface}
775 tripleo::keepalived::control_virtual_interface: {get_input: control_virtual_interface}
776 tripleo::keepalived::public_virtual_interface: {get_input: public_virtual_interface}
777 tripleo::haproxy::control_virtual_interface: {get_input: control_virtual_interface}
778 tripleo::haproxy::public_virtual_interface: {get_input: public_virtual_interface}
779 tripleo::haproxy::haproxy_log_address: {get_input: haproxy_log_address}
780 tripleo::haproxy::service_certificate: {get_attr: [NodeTLSData, deployed_ssl_certificate_path]}
781 tripleo::haproxy::haproxy_stats_user: {get_input: haproxy_stats_user}
782 tripleo::haproxy::haproxy_stats_password: {get_input: haproxy_stats_password}
783 tripleo::haproxy::redis_password: {get_input: redis_password}
784 tripleo::packages::enable_install: {get_input: enable_package_install}
785 tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
787 # Hook for site-specific additional pre-deployment config, e.g extra hieradata
788 ControllerExtraConfigPre:
789 depends_on: ControllerDeployment
790 type: OS::TripleO::ControllerExtraConfigPre
792 server: {get_resource: Controller}
794 # Hook for site-specific additional pre-deployment config,
795 # applying to all nodes, e.g node registration/unregistration
797 depends_on: [ControllerExtraConfigPre, NodeTLSData]
798 type: OS::TripleO::NodeExtraConfig
800 server: {get_resource: Controller}
803 type: OS::TripleO::Tasks::PackageUpdate
806 type: OS::Heat::SoftwareDeployment
808 name: UpdateDeployment
809 config: {get_resource: UpdateConfig}
810 server: {get_resource: Controller}
813 get_param: UpdateIdentifier
817 description: IP address of the server in the ctlplane network
818 value: {get_attr: [Controller, networks, ctlplane, 0]}
820 description: IP address of the server in the external network
821 value: {get_attr: [ExternalPort, ip_address]}
822 internal_api_ip_address:
823 description: IP address of the server in the internal_api network
824 value: {get_attr: [InternalApiPort, ip_address]}
826 description: IP address of the server in the storage network
827 value: {get_attr: [StoragePort, ip_address]}
828 storage_mgmt_ip_address:
829 description: IP address of the server in the storage_mgmt network
830 value: {get_attr: [StorageMgmtPort, ip_address]}
832 description: IP address of the server in the tenant network
833 value: {get_attr: [TenantPort, ip_address]}
834 management_ip_address:
835 description: IP address of the server in the management network
836 value: {get_attr: [ManagementPort, ip_address]}
838 description: Hostname of the server
839 value: {get_attr: [Controller, name]}
842 Server's IP address and hostname in the /etc/hosts format
846 PRIMARYIP PRIMARYHOST.DOMAIN PRIMARYHOST
847 EXTERNALIP EXTERNALHOST.DOMAIN EXTERNALHOST
848 INTERNAL_APIIP INTERNAL_APIHOST.DOMAIN INTERNAL_APIHOST
849 STORAGEIP STORAGEHOST.DOMAIN STORAGEHOST
850 STORAGE_MGMTIP STORAGE_MGMTHOST.DOMAIN STORAGE_MGMTHOST
851 TENANTIP TENANTHOST.DOMAIN TENANTHOST
852 MANAGEMENTIP MANAGEMENTHOST.DOMAIN MANAGEMENTHOST
854 PRIMARYIP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ControllerHostnameResolveNetwork]}]}
855 DOMAIN: {get_param: CloudDomain}
856 PRIMARYHOST: {get_attr: [Controller, name]}
857 EXTERNALIP: {get_attr: [ExternalPort, ip_address]}
861 - - {get_attr: [Controller, name]}
863 INTERNAL_APIIP: {get_attr: [InternalApiPort, ip_address]}
867 - - {get_attr: [Controller, name]}
869 STORAGEIP: {get_attr: [StoragePort, ip_address]}
873 - - {get_attr: [Controller, name]}
875 STORAGE_MGMTIP: {get_attr: [StorageMgmtPort, ip_address]}
879 - - {get_attr: [Controller, name]}
881 TENANTIP: {get_attr: [TenantPort, ip_address]}
885 - - {get_attr: [Controller, name]}
887 MANAGEMENTIP: {get_attr: [ManagementPort, ip_address]}
891 - - {get_attr: [Controller, name]}
893 nova_server_resource:
894 description: Heat resource handle for the Nova compute server
896 {get_resource: Controller}
898 description: Swift device formatted for swift-ring-builder
901 template: 'r1z1-IP:%PORT%/d1'
903 IP: {get_attr: [NetIpMap, net_ip_uri_map, {get_param: [ServiceNetMap, SwiftMgmtNetwork]}]}
904 swift_proxy_memcache:
905 description: Swift proxy-memcache value
910 IP: {get_attr: [NetIpMap, net_ip_uri_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
912 description: MD5 checksum of the TLS Key Modulus
913 value: {get_attr: [NodeTLSData, key_modulus_md5]}
914 tls_cert_modulus_md5:
915 description: MD5 checksum of the TLS Certificate Modulus
916 value: {get_attr: [NodeTLSData, cert_modulus_md5]}