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-control
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.
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: Image}
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: SchedulerHints}
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 cinder_public_url: {get_param: [EndpointMap, CinderPublic, uri]}
499 cinder_internal_url: {get_param: [EndpointMap, CinderInternal, uri]}
500 cinder_admin_url: {get_param: [EndpointMap, CinderAdmin, uri]}
501 cinder_public_url_v2: {get_param: [EndpointMap, CinderV2Public, uri]}
502 cinder_internal_url_v2: {get_param: [EndpointMap, CinderV2Internal, uri]}
503 cinder_admin_url_v2: {get_param: [EndpointMap, CinderV2Admin, uri]}
504 keystone_identity_uri: { get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix] }
505 keystone_auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri] }
506 keystone_ec2_uri: { get_param: [EndpointMap, KeystoneEC2, uri] }
507 enable_fencing: {get_param: EnableFencing}
508 enable_galera: {get_param: EnableGalera}
509 enable_load_balancer: {get_param: EnableLoadBalancer}
510 manage_firewall: {get_param: ManageFirewall}
511 purge_firewall_rules: {get_param: PurgeFirewallRules}
512 mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
513 mysql_max_connections: {get_param: MysqlMaxConnections}
514 mysql_root_password: {get_param: MysqlRootPassword}
515 mysql_clustercheck_password: {get_param: MysqlClustercheckPassword}
518 template: tripleo-CLUSTER
520 CLUSTER: {get_param: MysqlClusterUniquePart}
521 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
522 neutron_password: {get_param: NeutronPassword}
523 neutron_internal_url: { get_param: [ EndpointMap, NeutronInternal, uri ] }
524 neutron_public_url: { get_param: [ EndpointMap, NeutronPublic, uri ] }
525 neutron_admin_url: { get_param: [ EndpointMap, NeutronAdmin, uri ] }
526 neutron_auth_url: { get_param: [ EndpointMap, KeystoneV3Admin, uri ] }
527 nova_internal_url: { get_param: [ EndpointMap, NovaInternal, uri ] }
528 aodh_password: {get_param: AodhPassword}
529 aodh_internal_url: { get_param: [ EndpointMap, AodhInternal, uri ] }
530 aodh_public_url: { get_param: [ EndpointMap, AodhPublic, uri ] }
531 aodh_admin_url: { get_param: [ EndpointMap, AodhAdmin, uri ] }
532 ceilometer_coordination_url:
536 - {get_param: RedisPassword}
538 - {get_param: RedisVirtualIPUri}
543 - - {get_param: [EndpointMap, MysqlInternal, protocol]}
545 - {get_param: AodhPassword}
547 - {get_param: [EndpointMap, MysqlInternal, host]}
549 gnocchi_internal_url: {get_param: [EndpointMap, GnocchiInternal, uri]}
550 gnocchi_public_url: { get_param: [ EndpointMap, GnocchiPublic, uri ] }
551 gnocchi_admin_url: { get_param: [ EndpointMap, GnocchiAdmin, uri ] }
552 nova_enable_db_purge: {get_param: NovaEnableDBPurge}
553 nova_ipv6: {get_param: NovaIPv6}
554 corosync_ipv6: {get_param: CorosyncIPv6}
555 memcached_ipv6: {get_param: MemcachedIPv6}
556 nova_password: {get_param: NovaPassword}
557 upgrade_level_nova_compute: {get_param: UpgradeLevelNovaCompute}
558 instance_name_template: {get_param: InstanceNameTemplate}
559 nova_public_url: {get_param: [EndpointMap, NovaPublic, uri]}
560 nova_internal_url: {get_param: [EndpointMap, NovaInternal, uri]}
561 nova_admin_url: {get_param: [EndpointMap, NovaAdmin, uri]}
562 fencing_config: {get_param: FencingConfig}
563 pcsd_password: {get_param: PcsdPassword}
564 rabbit_username: {get_param: RabbitUserName}
565 rabbit_password: {get_param: RabbitPassword}
566 rabbit_cookie: {get_param: RabbitCookie}
567 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
568 rabbit_client_port: {get_param: RabbitClientPort}
569 control_virtual_interface: {get_param: ControlVirtualInterface}
570 public_virtual_interface: {get_param: PublicVirtualInterface}
571 swift_hash_suffix: {get_param: SwiftHashSuffix}
572 enable_package_install: {get_param: EnablePackageInstall}
573 enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]}
574 swift_proxy_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
575 swift_management_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftMgmtNetwork]}]}
576 cinder_iscsi_network:
580 IP: {get_attr: [NetIpMap, net_ip_uri_map, {get_param: [ServiceNetMap, CinderIscsiNetwork]}]}
581 cinder_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
582 glance_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
583 glance_registry_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
584 glance_api_servers: { get_param: [EndpointMap, GlanceInternal, uri]}
585 heat_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
586 keystone_public_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
587 keystone_admin_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
588 keystone_region: {get_param: KeystoneRegion}
589 manila_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ManilaApiNetwork]}]}
590 mongo_db_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MongoDbNetwork]}]}
591 neutron_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
592 neutron_local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronTenantNetwork]}]}
593 ceilometer_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
594 aodh_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
595 gnocchi_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
596 nova_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
597 nova_metadata_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
598 horizon_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
601 template: "['SUBNET']"
603 SUBNET: {get_attr: [NetIpMap, net_ip_subnet_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
604 rabbitmq_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
605 redis_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, RedisNetwork]}]}
606 redis_vip: {get_param: RedisVirtualIP}
607 sahara_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
608 memcached_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
609 mysql_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
610 mysql_virtual_ip: {get_param: MysqlVirtualIP}
611 ceph_cluster_network: {get_attr: [NetIpMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephClusterNetwork]}]}
612 ceph_public_network: {get_attr: [NetIpMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
613 ceph_public_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
614 ironic_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
616 # Map heat metadata into hiera datafiles
618 type: OS::Heat::StructuredConfig
620 group: os-apply-config
625 - heat_config_%{::deploy_config_name}
626 - controller_extraconfig
633 - swift_devices_and_proxy # provided by SwiftDevicesAndProxyConfig
634 - ceph_cluster # provided by CephClusterConfig
636 - bootstrap_node # provided by BootstrapNodeConfig
637 - all_nodes # provided by allNodesConfig
638 - vip_data # provided by vip-config
642 - cinder_dellsc_data # Optionally provided by ControllerExtraConfigPre
643 - cinder_netapp_data # Optionally provided by ControllerExtraConfigPre
644 - cinder_eqlx_data # Optionally provided by ControllerExtraConfigPre
645 - neutron_bigswitch_data # Optionally provided by ControllerExtraConfigPre
646 - neutron_cisco_data # Optionally provided by ControllerExtraConfigPre
647 - cisco_n1kv_data # Optionally provided by ControllerExtraConfigPre
648 - midonet_data #Optionally provided by AllNodesExtraConfig
649 - cisco_aci_data # Optionally provided by ControllerExtraConfigPre
650 merge_behavior: deeper
654 service_names: {get_param: ServiceNames}
656 mapped_data: {get_param: ServiceConfigSettings}
657 controller_extraconfig:
660 - {get_param: controllerExtraConfig}
661 - {get_param: ControllerExtraConfig}
663 mapped_data: {get_param: ExtraConfig}
665 raw_data: {get_file: hieradata/common.yaml}
668 net_ip_map: {get_attr: [NetIpMap, net_ip_map]}
669 net_ip_subnet_map: {get_attr: [NetIpMap, net_ip_subnet_map]}
670 net_ip_uri_map: {get_attr: [NetIpMap, net_ip_uri_map]}
672 raw_data: {get_file: hieradata/ceph.yaml}
674 ceph::profile::params::cluster_network: {get_input: ceph_cluster_network}
675 ceph::profile::params::public_network: {get_input: ceph_public_network}
676 ceph::profile::params::public_addr: {get_input: ceph_public_ip}
678 raw_data: {get_file: hieradata/database.yaml}
680 raw_data: {get_file: hieradata/object.yaml}
682 raw_data: {get_file: hieradata/controller.yaml}
683 mapped_data: # data supplied directly to this deployment configuration, etc
684 bootstack_nodeid: {get_input: bootstack_nodeid}
687 enable_fencing: {get_input: enable_fencing}
688 enable_load_balancer: {get_input: enable_load_balancer}
689 hacluster_pwd: {get_input: pcsd_password}
690 corosync_ipv6: {get_input: corosync_ipv6}
691 tripleo::fencing::config: {get_input: fencing_config}
694 # FIXME: need to move proxy_local_net_ip into swift-proxy.yaml
695 swift::proxy::proxy_local_net_ip: {get_input: swift_proxy_network}
696 swift::storage::all::storage_local_net_ip: {get_input: swift_management_network}
697 swift::swift_hash_path_suffix: {get_input: swift_hash_suffix}
700 tripleo::profile::base::cinder::volume::iscsi::cinder_iscsi_address: {get_input: cinder_iscsi_network}
701 cinder::api::bind_host: {get_input: cinder_api_network}
702 cinder::keystone::auth::public_url: {get_input: cinder_public_url }
703 cinder::keystone::auth::internal_url: {get_input: cinder_internal_url }
704 cinder::keystone::auth::admin_url: {get_input: cinder_admin_url }
705 cinder::keystone::auth::public_url_v2: {get_input: cinder_public_url_v2 }
706 cinder::keystone::auth::internal_url_v2: {get_input: cinder_internal_url_v2 }
707 cinder::keystone::auth::admin_url_v2: {get_input: cinder_admin_url_v2 }
708 cinder::keystone::auth::password: {get_input: cinder_password }
709 cinder::keystone::auth::region: {get_input: keystone_region}
712 glance::api::bind_host: {get_input: glance_api_network}
713 glance::registry::bind_host: {get_input: glance_registry_network}
714 glance::keystone::auth::region: {get_input: keystone_region}
717 heat::api::bind_host: {get_input: heat_api_network}
718 heat::api_cloudwatch::bind_host: {get_input: heat_api_network}
719 heat::api_cfn::bind_host: {get_input: heat_api_network}
720 heat::engine::auth_encryption_key: {get_input: heat_auth_encryption_key}
723 keystone::admin_bind_host: {get_input: keystone_admin_api_network}
724 keystone::public_bind_host: {get_input: keystone_public_api_network}
725 keystone::wsgi::apache::bind_host: {get_input: keystone_public_api_network}
726 keystone::wsgi::apache::admin_bind_host: {get_input: keystone_admin_api_network}
729 manila::api::bind_host: {get_input: manila_api_network}
732 mongodb::server::bind_ip: {get_input: mongo_db_network}
735 admin_password: {get_input: admin_password}
736 enable_galera: {get_input: enable_galera}
737 mysql_innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
738 mysql_max_connections: {get_input: mysql_max_connections}
739 mysql::server::root_password: {get_input: mysql_root_password}
740 mysql_clustercheck_password: {get_input: mysql_clustercheck_password}
741 mysql_cluster_name: {get_input: mysql_cluster_name}
742 mysql_bind_host: {get_input: mysql_network}
743 mysql_virtual_ip: {get_input: mysql_virtual_ip}
746 neutron::bind_host: {get_input: neutron_api_network}
747 neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip}
748 neutron::agents::metadata::metadata_ip: {get_input: neutron_api_network}
749 neutron::keystone::auth::public_url: {get_input: neutron_public_url }
750 neutron::keystone::auth::internal_url: {get_input: neutron_internal_url }
751 neutron::keystone::auth::admin_url: {get_input: neutron_admin_url }
752 neutron::keystone::auth::password: {get_input: neutron_password }
753 neutron::keystone::auth::region: {get_input: keystone_region}
756 ceilometer::api::host: {get_input: ceilometer_api_network}
757 snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
758 snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
761 aodh_mysql_conn_string: {get_input: aodh_dsn}
762 aodh::rabbit_userid: {get_input: rabbit_username}
763 aodh::rabbit_password: {get_input: rabbit_password}
764 aodh::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
765 aodh::rabbit_port: {get_input: rabbit_client_port}
766 aodh::debug: {get_input: debug}
767 aodh::wsgi::apache::ssl: false
768 aodh::wsgi::apache::bind_host: {get_input: aodh_api_network}
769 aodh::api::service_name: 'httpd'
770 aodh::api::host: {get_input: aodh_api_network}
771 aodh::api::keystone_password: {get_input: aodh_password}
772 aodh::api::keystone_auth_uri: {get_input: keystone_auth_uri}
773 aodh::api::keystone_identity_uri: {get_input: keystone_identity_uri}
774 aodh::auth::auth_url: {get_input: keystone_auth_uri}
775 aodh::auth::auth_password: {get_input: aodh_password}
776 aodh::db::mysql::password: {get_input: aodh_password}
777 # for a migration path from ceilometer-alarm to aodh, we use the same database & coordination
778 aodh::evaluator::coordination_url: {get_input: ceilometer_coordination_url}
779 aodh::keystone::auth::public_url: {get_input: aodh_public_url }
780 aodh::keystone::auth::internal_url: {get_input: aodh_internal_url }
781 aodh::keystone::auth::admin_url: {get_input: aodh_admin_url }
782 aodh::keystone::auth::password: {get_input: aodh_password }
783 aodh::keystone::auth::region: {get_input: keystone_region}
786 gnocchi::wsgi::apache::bind_host: {get_input: gnocchi_api_network}
787 gnocchi::api::host: {get_input: gnocchi_api_network}
788 gnocchi::api::keystone_auth_uri: {get_input: keystone_auth_uri}
789 gnocchi::api::keystone_identity_uri: {get_input: keystone_identity_uri}
790 gnocchi::storage::swift::swift_authurl: {get_input: keystone_auth_uri}
791 gnocchi::keystone::auth::public_url: {get_input: gnocchi_public_url }
792 gnocchi::keystone::auth::internal_url: {get_input: gnocchi_internal_url }
793 gnocchi::keystone::auth::admin_url: {get_input: gnocchi_admin_url }
794 gnocchi::keystone::auth::region: {get_input: keystone_region}
797 nova::upgrade_level_compute: {get_input: upgrade_level_nova_compute}
798 nova::use_ipv6: {get_input: nova_ipv6}
799 nova::api::auth_uri: {get_input: keystone_auth_uri}
800 nova::api::identity_uri: {get_input: keystone_identity_uri}
801 nova::api::api_bind_address: {get_input: nova_api_network}
802 nova::api::metadata_listen: {get_input: nova_metadata_network}
803 nova::api::admin_password: {get_input: nova_password}
804 nova::glance_api_servers: {get_input: glance_api_servers}
805 nova::api::neutron_metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
806 nova::api::instance_name_template: {get_input: instance_name_template}
807 nova::network::neutron::neutron_password: {get_input: neutron_password}
808 nova::network::neutron::neutron_url: {get_input: neutron_internal_url}
809 nova::network::neutron::neutron_auth_url: {get_input: neutron_auth_url}
810 nova::vncproxy::host: {get_input: nova_api_network}
811 nova_enable_db_purge: {get_input: nova_enable_db_purge}
812 nova::keystone::auth::public_url: {get_input: nova_public_url}
813 nova::keystone::auth::internal_url: {get_input: nova_internal_url}
814 nova::keystone::auth::admin_url: {get_input: nova_admin_url}
815 nova::keystone::auth::password: {get_input: nova_password }
816 nova::keystone::auth::region: {get_input: keystone_region}
819 apache::mod::remoteip::proxy_ips: {get_input: horizon_subnet}
820 apache::ip: {get_input: horizon_network}
821 horizon::django_debug: {get_input: debug}
822 horizon::secret_key: {get_input: horizon_secret}
823 horizon::bind_address: {get_input: horizon_network}
824 horizon::keystone_url: {get_input: keystone_auth_uri}
827 rabbitmq::node_ip_address: {get_input: rabbitmq_network}
828 rabbitmq::erlang_cookie: {get_input: rabbit_cookie}
830 redis::bind: {get_input: redis_network}
831 redis_vip: {get_input: redis_vip}
833 tripleo::firewall::manage_firewall: {get_input: manage_firewall}
834 tripleo::firewall::purge_firewall_rules: {get_input: purge_firewall_rules}
836 memcached_ipv6: {get_input: memcached_ipv6}
837 memcached::listen_ip: {get_input: memcached_network}
838 control_virtual_interface: {get_input: control_virtual_interface}
839 public_virtual_interface: {get_input: public_virtual_interface}
840 tripleo::keepalived::control_virtual_interface: {get_input: control_virtual_interface}
841 tripleo::keepalived::public_virtual_interface: {get_input: public_virtual_interface}
842 tripleo::haproxy::control_virtual_interface: {get_input: control_virtual_interface}
843 tripleo::haproxy::public_virtual_interface: {get_input: public_virtual_interface}
844 tripleo::haproxy::haproxy_log_address: {get_input: haproxy_log_address}
845 tripleo::haproxy::service_certificate: {get_attr: [NodeTLSData, deployed_ssl_certificate_path]}
846 tripleo::haproxy::haproxy_stats_user: {get_input: haproxy_stats_user}
847 tripleo::haproxy::haproxy_stats_password: {get_input: haproxy_stats_password}
848 tripleo::haproxy::redis_password: {get_input: redis_password}
849 tripleo::packages::enable_install: {get_input: enable_package_install}
850 tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
852 # Hook for site-specific additional pre-deployment config, e.g extra hieradata
853 ControllerExtraConfigPre:
854 depends_on: ControllerDeployment
855 type: OS::TripleO::ControllerExtraConfigPre
857 server: {get_resource: Controller}
859 # Hook for site-specific additional pre-deployment config,
860 # applying to all nodes, e.g node registration/unregistration
862 depends_on: [ControllerExtraConfigPre, NodeTLSData]
863 type: OS::TripleO::NodeExtraConfig
865 server: {get_resource: Controller}
868 type: OS::TripleO::Tasks::PackageUpdate
871 type: OS::Heat::SoftwareDeployment
873 name: UpdateDeployment
874 config: {get_resource: UpdateConfig}
875 server: {get_resource: Controller}
878 get_param: UpdateIdentifier
882 description: IP address of the server in the ctlplane network
883 value: {get_attr: [Controller, networks, ctlplane, 0]}
885 description: IP address of the server in the external network
886 value: {get_attr: [ExternalPort, ip_address]}
887 internal_api_ip_address:
888 description: IP address of the server in the internal_api network
889 value: {get_attr: [InternalApiPort, ip_address]}
891 description: IP address of the server in the storage network
892 value: {get_attr: [StoragePort, ip_address]}
893 storage_mgmt_ip_address:
894 description: IP address of the server in the storage_mgmt network
895 value: {get_attr: [StorageMgmtPort, ip_address]}
897 description: IP address of the server in the tenant network
898 value: {get_attr: [TenantPort, ip_address]}
899 management_ip_address:
900 description: IP address of the server in the management network
901 value: {get_attr: [ManagementPort, ip_address]}
903 description: Hostname of the server
904 value: {get_attr: [Controller, name]}
907 Server's IP address and hostname in the /etc/hosts format
911 PRIMARYIP PRIMARYHOST.DOMAIN PRIMARYHOST
912 EXTERNALIP EXTERNALHOST.DOMAIN EXTERNALHOST
913 INTERNAL_APIIP INTERNAL_APIHOST.DOMAIN INTERNAL_APIHOST
914 STORAGEIP STORAGEHOST.DOMAIN STORAGEHOST
915 STORAGE_MGMTIP STORAGE_MGMTHOST.DOMAIN STORAGE_MGMTHOST
916 TENANTIP TENANTHOST.DOMAIN TENANTHOST
917 MANAGEMENTIP MANAGEMENTHOST.DOMAIN MANAGEMENTHOST
919 PRIMARYIP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ControllerHostnameResolveNetwork]}]}
920 DOMAIN: {get_param: CloudDomain}
921 PRIMARYHOST: {get_attr: [Controller, name]}
922 EXTERNALIP: {get_attr: [ExternalPort, ip_address]}
926 - - {get_attr: [Controller, name]}
928 INTERNAL_APIIP: {get_attr: [InternalApiPort, ip_address]}
932 - - {get_attr: [Controller, name]}
934 STORAGEIP: {get_attr: [StoragePort, ip_address]}
938 - - {get_attr: [Controller, name]}
940 STORAGE_MGMTIP: {get_attr: [StorageMgmtPort, ip_address]}
944 - - {get_attr: [Controller, name]}
946 TENANTIP: {get_attr: [TenantPort, ip_address]}
950 - - {get_attr: [Controller, name]}
952 MANAGEMENTIP: {get_attr: [ManagementPort, ip_address]}
956 - - {get_attr: [Controller, name]}
958 nova_server_resource:
959 description: Heat resource handle for the Nova compute server
961 {get_resource: Controller}
963 description: Swift device formatted for swift-ring-builder
966 template: 'r1z1-IP:%PORT%/d1'
968 IP: {get_attr: [NetIpMap, net_ip_uri_map, {get_param: [ServiceNetMap, SwiftMgmtNetwork]}]}
969 swift_proxy_memcache:
970 description: Swift proxy-memcache value
975 IP: {get_attr: [NetIpMap, net_ip_uri_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
977 description: MD5 checksum of the TLS Key Modulus
978 value: {get_attr: [NodeTLSData, key_modulus_md5]}
979 tls_cert_modulus_md5:
980 description: MD5 checksum of the TLS Certificate Modulus
981 value: {get_attr: [NodeTLSData, cert_modulus_md5]}