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:
323 description: Command which will be run whenever configuration data changes
324 default: os-refresh-config --timeout 14400
328 description: Do not use deprecated params, they will be removed.
330 - controllerExtraConfig
335 type: OS::TripleO::Server
338 command: {get_param: ConfigCommand}
340 image: {get_param: Image}
341 image_update_policy: {get_param: ImageUpdatePolicy}
342 flavor: {get_param: Flavor}
343 key_name: {get_param: KeyName}
346 user_data_format: SOFTWARE_CONFIG
347 user_data: {get_resource: UserData}
350 template: {get_param: Hostname}
351 params: {get_param: HostnameMap}
352 software_config_transport: {get_param: SoftwareConfigTransport}
353 metadata: {get_param: ServerMetadata}
354 scheduler_hints: {get_param: SchedulerHints}
356 # Combine the NodeAdminUserData and NodeUserData mime archives
358 type: OS::Heat::MultipartMime
361 - config: {get_resource: NodeAdminUserData}
363 - config: {get_resource: NodeUserData}
366 # Creates the "heat-admin" user if configured via the environment
367 # Should return a OS::Heat::MultipartMime reference via OS::stack_id
369 type: OS::TripleO::NodeAdminUserData
371 # For optional operator additional userdata
372 # Should return a OS::Heat::MultipartMime reference via OS::stack_id
374 type: OS::TripleO::NodeUserData
377 type: OS::TripleO::Controller::Ports::ExternalPort
379 IPPool: {get_param: ControllerIPs}
380 NodeIndex: {get_param: NodeIndex}
381 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
384 type: OS::TripleO::Controller::Ports::InternalApiPort
386 IPPool: {get_param: ControllerIPs}
387 NodeIndex: {get_param: NodeIndex}
388 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
391 type: OS::TripleO::Controller::Ports::StoragePort
393 IPPool: {get_param: ControllerIPs}
394 NodeIndex: {get_param: NodeIndex}
395 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
398 type: OS::TripleO::Controller::Ports::StorageMgmtPort
400 IPPool: {get_param: ControllerIPs}
401 NodeIndex: {get_param: NodeIndex}
402 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
405 type: OS::TripleO::Controller::Ports::TenantPort
407 IPPool: {get_param: ControllerIPs}
408 NodeIndex: {get_param: NodeIndex}
409 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
412 type: OS::TripleO::Controller::Ports::ManagementPort
414 IPPool: {get_param: ControllerIPs}
415 NodeIndex: {get_param: NodeIndex}
416 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
419 type: OS::TripleO::Network::Ports::NetIpMap
421 ControlPlaneIp: {get_attr: [Controller, networks, ctlplane, 0]}
422 ExternalIp: {get_attr: [ExternalPort, ip_address]}
423 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
424 ExternalIpUri: {get_attr: [ExternalPort, ip_address_uri]}
425 InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
426 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
427 InternalApiIpUri: {get_attr: [InternalApiPort, ip_address_uri]}
428 StorageIp: {get_attr: [StoragePort, ip_address]}
429 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
430 StorageIpUri: {get_attr: [StoragePort, ip_address_uri]}
431 StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}
432 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
433 StorageMgmtIpUri: {get_attr: [StorageMgmtPort, ip_address_uri]}
434 TenantIp: {get_attr: [TenantPort, ip_address]}
435 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
436 TenantIpUri: {get_attr: [TenantPort, ip_address_uri]}
437 ManagementIp: {get_attr: [ManagementPort, ip_address]}
438 ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
439 ManagementIpUri: {get_attr: [ManagementPort, ip_address_uri]}
442 type: OS::TripleO::Controller::Net::SoftwareConfig
444 ControlPlaneIp: {get_attr: [Controller, networks, ctlplane, 0]}
445 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
446 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
447 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
448 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
449 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
450 ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
453 type: OS::TripleO::SoftwareDeployment
455 name: NetworkDeployment
456 config: {get_resource: NetworkConfig}
457 server: {get_resource: Controller}
458 actions: {get_param: NetworkDeploymentActions}
461 interface_name: {get_param: NeutronPublicInterface}
463 # Resource for site-specific injection of root certificate
465 depends_on: NetworkDeployment
466 type: OS::TripleO::NodeTLSCAData
468 server: {get_resource: Controller}
470 # Resource for site-specific passing of private keys/certificates
472 depends_on: NodeTLSCAData
473 type: OS::TripleO::NodeTLSData
475 server: {get_resource: Controller}
476 NodeIndex: {get_param: NodeIndex}
479 ControllerDeployment:
480 type: OS::TripleO::SoftwareDeployment
481 depends_on: NetworkDeployment
483 name: ControllerDeployment
484 config: {get_resource: ControllerConfig}
485 server: {get_resource: Controller}
487 bootstack_nodeid: {get_attr: [Controller, name]}
488 haproxy_log_address: {get_param: HAProxySyslogAddress}
489 haproxy_stats_password: {get_param: HAProxyStatsPassword}
490 haproxy_stats_user: {get_param: HAProxyStatsUser}
491 heat_auth_encryption_key: {get_param: HeatAuthEncryptionKey}
492 horizon_secret: {get_param: HorizonSecret}
493 admin_password: {get_param: AdminPassword}
494 debug: {get_param: Debug}
495 cinder_public_url: {get_param: [EndpointMap, CinderPublic, uri]}
496 cinder_internal_url: {get_param: [EndpointMap, CinderInternal, uri]}
497 cinder_admin_url: {get_param: [EndpointMap, CinderAdmin, uri]}
498 cinder_public_url_v2: {get_param: [EndpointMap, CinderV2Public, uri]}
499 cinder_internal_url_v2: {get_param: [EndpointMap, CinderV2Internal, uri]}
500 cinder_admin_url_v2: {get_param: [EndpointMap, CinderV2Admin, uri]}
501 keystone_identity_uri: { get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix] }
502 keystone_auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri] }
503 keystone_ec2_uri: { get_param: [EndpointMap, KeystoneEC2, uri] }
504 enable_fencing: {get_param: EnableFencing}
505 enable_galera: {get_param: EnableGalera}
506 enable_load_balancer: {get_param: EnableLoadBalancer}
507 manage_firewall: {get_param: ManageFirewall}
508 purge_firewall_rules: {get_param: PurgeFirewallRules}
509 mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
510 mysql_max_connections: {get_param: MysqlMaxConnections}
511 mysql_root_password: {get_param: MysqlRootPassword}
512 mysql_clustercheck_password: {get_param: MysqlClustercheckPassword}
515 template: tripleo-CLUSTER
517 CLUSTER: {get_param: MysqlClusterUniquePart}
518 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
519 neutron_password: {get_param: NeutronPassword}
520 neutron_internal_url: { get_param: [ EndpointMap, NeutronInternal, uri ] }
521 neutron_public_url: { get_param: [ EndpointMap, NeutronPublic, uri ] }
522 neutron_admin_url: { get_param: [ EndpointMap, NeutronAdmin, uri ] }
523 neutron_auth_url: { get_param: [ EndpointMap, KeystoneV3Admin, uri ] }
524 nova_internal_url: { get_param: [ EndpointMap, NovaInternal, uri ] }
525 aodh_password: {get_param: AodhPassword}
526 aodh_internal_url: { get_param: [ EndpointMap, AodhInternal, uri ] }
527 aodh_public_url: { get_param: [ EndpointMap, AodhPublic, uri ] }
528 aodh_admin_url: { get_param: [ EndpointMap, AodhAdmin, uri ] }
529 ceilometer_coordination_url:
533 - {get_param: RedisPassword}
535 - {get_param: RedisVirtualIPUri}
540 - - {get_param: [EndpointMap, MysqlInternal, protocol]}
542 - {get_param: AodhPassword}
544 - {get_param: [EndpointMap, MysqlInternal, host]}
546 gnocchi_internal_url: {get_param: [EndpointMap, GnocchiInternal, uri]}
547 gnocchi_public_url: { get_param: [ EndpointMap, GnocchiPublic, uri ] }
548 gnocchi_admin_url: { get_param: [ EndpointMap, GnocchiAdmin, uri ] }
549 nova_enable_db_purge: {get_param: NovaEnableDBPurge}
550 nova_ipv6: {get_param: NovaIPv6}
551 corosync_ipv6: {get_param: CorosyncIPv6}
552 memcached_ipv6: {get_param: MemcachedIPv6}
553 nova_password: {get_param: NovaPassword}
557 - - {get_param: [EndpointMap, MysqlInternal, protocol]}
559 - {get_param: NovaPassword}
561 - {get_param: [EndpointMap, MysqlInternal, host]}
566 - - {get_param: [EndpointMap, MysqlInternal, protocol]}
568 - {get_param: NovaPassword}
570 - {get_param: [EndpointMap, MysqlInternal, host]}
572 upgrade_level_nova_compute: {get_param: UpgradeLevelNovaCompute}
573 instance_name_template: {get_param: InstanceNameTemplate}
574 nova_public_url: {get_param: [EndpointMap, NovaPublic, uri]}
575 nova_internal_url: {get_param: [EndpointMap, NovaInternal, uri]}
576 nova_admin_url: {get_param: [EndpointMap, NovaAdmin, uri]}
577 fencing_config: {get_param: FencingConfig}
578 pcsd_password: {get_param: PcsdPassword}
579 rabbit_username: {get_param: RabbitUserName}
580 rabbit_password: {get_param: RabbitPassword}
581 rabbit_cookie: {get_param: RabbitCookie}
582 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
583 rabbit_client_port: {get_param: RabbitClientPort}
584 control_virtual_interface: {get_param: ControlVirtualInterface}
585 public_virtual_interface: {get_param: PublicVirtualInterface}
586 swift_hash_suffix: {get_param: SwiftHashSuffix}
587 enable_package_install: {get_param: EnablePackageInstall}
588 enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]}
589 swift_proxy_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
590 swift_management_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftMgmtNetwork]}]}
591 cinder_iscsi_network:
595 IP: {get_attr: [NetIpMap, net_ip_uri_map, {get_param: [ServiceNetMap, CinderIscsiNetwork]}]}
596 cinder_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
597 glance_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
598 glance_registry_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
599 glance_api_servers: { get_param: [EndpointMap, GlanceInternal, uri]}
600 heat_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
601 keystone_public_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
602 keystone_admin_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
603 keystone_region: {get_param: KeystoneRegion}
604 mongo_db_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MongoDbNetwork]}]}
605 neutron_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
606 neutron_local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronTenantNetwork]}]}
607 ceilometer_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
608 aodh_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
609 gnocchi_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
610 nova_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
611 nova_metadata_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
612 horizon_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
615 template: "['SUBNET']"
617 SUBNET: {get_attr: [NetIpMap, net_ip_subnet_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
618 rabbitmq_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
619 redis_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, RedisNetwork]}]}
620 redis_vip: {get_param: RedisVirtualIP}
621 sahara_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
622 memcached_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
623 mysql_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
624 mysql_virtual_ip: {get_param: MysqlVirtualIP}
625 ceph_cluster_network: {get_attr: [NetIpMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephClusterNetwork]}]}
626 ceph_public_network: {get_attr: [NetIpMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
627 ceph_public_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
628 ironic_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
630 # Map heat metadata into hiera datafiles
632 type: OS::Heat::StructuredConfig
634 group: os-apply-config
639 - heat_config_%{::deploy_config_name}
640 - controller_extraconfig
646 - swift_devices_and_proxy # provided by SwiftDevicesAndProxyConfig
647 - ceph_cluster # provided by CephClusterConfig
649 - bootstrap_node # provided by BootstrapNodeConfig
650 - all_nodes # provided by allNodesConfig
651 - vip_data # provided by vip-config
655 - cinder_dellsc_data # Optionally provided by ControllerExtraConfigPre
656 - cinder_netapp_data # Optionally provided by ControllerExtraConfigPre
657 - cinder_eqlx_data # Optionally provided by ControllerExtraConfigPre
658 - neutron_bigswitch_data # Optionally provided by ControllerExtraConfigPre
659 - neutron_cisco_data # Optionally provided by ControllerExtraConfigPre
660 - cisco_n1kv_data # Optionally provided by ControllerExtraConfigPre
661 - midonet_data #Optionally provided by AllNodesExtraConfig
662 merge_behavior: deeper
665 mapped_data: {get_param: ServiceConfigSettings}
666 controller_extraconfig:
669 - {get_param: controllerExtraConfig}
670 - {get_param: ControllerExtraConfig}
672 mapped_data: {get_param: ExtraConfig}
674 raw_data: {get_file: hieradata/common.yaml}
677 net_ip_map: {get_attr: [NetIpMap, net_ip_map]}
678 net_ip_subnet_map: {get_attr: [NetIpMap, net_ip_subnet_map]}
679 net_ip_uri_map: {get_attr: [NetIpMap, net_ip_uri_map]}
681 raw_data: {get_file: hieradata/ceph.yaml}
683 ceph::profile::params::cluster_network: {get_input: ceph_cluster_network}
684 ceph::profile::params::public_network: {get_input: ceph_public_network}
685 ceph::profile::params::public_addr: {get_input: ceph_public_ip}
687 raw_data: {get_file: hieradata/database.yaml}
689 raw_data: {get_file: hieradata/object.yaml}
691 raw_data: {get_file: hieradata/controller.yaml}
692 mapped_data: # data supplied directly to this deployment configuration, etc
693 bootstack_nodeid: {get_input: bootstack_nodeid}
696 enable_fencing: {get_input: enable_fencing}
697 enable_load_balancer: {get_input: enable_load_balancer}
698 hacluster_pwd: {get_input: pcsd_password}
699 corosync_ipv6: {get_input: corosync_ipv6}
700 tripleo::fencing::config: {get_input: fencing_config}
703 # FIXME: need to move proxy_local_net_ip into swift-proxy.yaml
704 swift::proxy::proxy_local_net_ip: {get_input: swift_proxy_network}
705 swift::storage::all::storage_local_net_ip: {get_input: swift_management_network}
706 swift::swift_hash_path_suffix: {get_input: swift_hash_suffix}
709 tripleo::profile::base::cinder::volume::iscsi::cinder_iscsi_address: {get_input: cinder_iscsi_network}
710 cinder::api::bind_host: {get_input: cinder_api_network}
711 cinder::keystone::auth::public_url: {get_input: cinder_public_url }
712 cinder::keystone::auth::internal_url: {get_input: cinder_internal_url }
713 cinder::keystone::auth::admin_url: {get_input: cinder_admin_url }
714 cinder::keystone::auth::public_url_v2: {get_input: cinder_public_url_v2 }
715 cinder::keystone::auth::internal_url_v2: {get_input: cinder_internal_url_v2 }
716 cinder::keystone::auth::admin_url_v2: {get_input: cinder_admin_url_v2 }
717 cinder::keystone::auth::password: {get_input: cinder_password }
718 cinder::keystone::auth::region: {get_input: keystone_region}
721 glance::api::bind_host: {get_input: glance_api_network}
722 glance::registry::bind_host: {get_input: glance_registry_network}
723 glance::keystone::auth::region: {get_input: keystone_region}
726 heat::api::bind_host: {get_input: heat_api_network}
727 heat::api_cloudwatch::bind_host: {get_input: heat_api_network}
728 heat::api_cfn::bind_host: {get_input: heat_api_network}
729 heat::engine::auth_encryption_key: {get_input: heat_auth_encryption_key}
732 keystone::admin_bind_host: {get_input: keystone_admin_api_network}
733 keystone::public_bind_host: {get_input: keystone_public_api_network}
734 keystone::wsgi::apache::bind_host: {get_input: keystone_public_api_network}
735 keystone::wsgi::apache::admin_bind_host: {get_input: keystone_admin_api_network}
738 mongodb::server::bind_ip: {get_input: mongo_db_network}
741 admin_password: {get_input: admin_password}
742 enable_galera: {get_input: enable_galera}
743 mysql_innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
744 mysql_max_connections: {get_input: mysql_max_connections}
745 mysql::server::root_password: {get_input: mysql_root_password}
746 mysql_clustercheck_password: {get_input: mysql_clustercheck_password}
747 mysql_cluster_name: {get_input: mysql_cluster_name}
748 mysql_bind_host: {get_input: mysql_network}
749 mysql_virtual_ip: {get_input: mysql_virtual_ip}
752 neutron::bind_host: {get_input: neutron_api_network}
753 neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip}
754 neutron::agents::metadata::metadata_ip: {get_input: neutron_api_network}
755 neutron::keystone::auth::public_url: {get_input: neutron_public_url }
756 neutron::keystone::auth::internal_url: {get_input: neutron_internal_url }
757 neutron::keystone::auth::admin_url: {get_input: neutron_admin_url }
758 neutron::keystone::auth::password: {get_input: neutron_password }
759 neutron::keystone::auth::region: {get_input: keystone_region}
762 ceilometer::api::host: {get_input: ceilometer_api_network}
763 snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
764 snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
767 aodh_mysql_conn_string: {get_input: aodh_dsn}
768 aodh::rabbit_userid: {get_input: rabbit_username}
769 aodh::rabbit_password: {get_input: rabbit_password}
770 aodh::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
771 aodh::rabbit_port: {get_input: rabbit_client_port}
772 aodh::debug: {get_input: debug}
773 aodh::wsgi::apache::ssl: false
774 aodh::wsgi::apache::bind_host: {get_input: aodh_api_network}
775 aodh::api::service_name: 'httpd'
776 aodh::api::host: {get_input: aodh_api_network}
777 aodh::api::keystone_password: {get_input: aodh_password}
778 aodh::api::keystone_auth_uri: {get_input: keystone_auth_uri}
779 aodh::api::keystone_identity_uri: {get_input: keystone_identity_uri}
780 aodh::auth::auth_url: {get_input: keystone_auth_uri}
781 aodh::auth::auth_password: {get_input: aodh_password}
782 aodh::db::mysql::password: {get_input: aodh_password}
783 # for a migration path from ceilometer-alarm to aodh, we use the same database & coordination
784 aodh::evaluator::coordination_url: {get_input: ceilometer_coordination_url}
785 aodh::keystone::auth::public_url: {get_input: aodh_public_url }
786 aodh::keystone::auth::internal_url: {get_input: aodh_internal_url }
787 aodh::keystone::auth::admin_url: {get_input: aodh_admin_url }
788 aodh::keystone::auth::password: {get_input: aodh_password }
789 aodh::keystone::auth::region: {get_input: keystone_region}
792 gnocchi::wsgi::apache::bind_host: {get_input: gnocchi_api_network}
793 gnocchi::api::host: {get_input: gnocchi_api_network}
794 gnocchi::api::keystone_auth_uri: {get_input: keystone_auth_uri}
795 gnocchi::api::keystone_identity_uri: {get_input: keystone_identity_uri}
796 gnocchi::storage::swift::swift_authurl: {get_input: keystone_auth_uri}
797 gnocchi::keystone::auth::public_url: {get_input: gnocchi_public_url }
798 gnocchi::keystone::auth::internal_url: {get_input: gnocchi_internal_url }
799 gnocchi::keystone::auth::admin_url: {get_input: gnocchi_admin_url }
800 gnocchi::keystone::auth::region: {get_input: keystone_region}
803 nova::upgrade_level_compute: {get_input: upgrade_level_nova_compute}
804 nova::use_ipv6: {get_input: nova_ipv6}
805 nova::api::auth_uri: {get_input: keystone_auth_uri}
806 nova::api::identity_uri: {get_input: keystone_identity_uri}
807 nova::api::api_bind_address: {get_input: nova_api_network}
808 nova::api::metadata_listen: {get_input: nova_metadata_network}
809 nova::api::admin_password: {get_input: nova_password}
810 nova::database_connection: {get_input: nova_dsn}
811 nova::api_database_connection: {get_input: nova_api_dsn}
812 nova::glance_api_servers: {get_input: glance_api_servers}
813 nova::api::neutron_metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
814 nova::api::instance_name_template: {get_input: instance_name_template}
815 nova::network::neutron::neutron_password: {get_input: neutron_password}
816 nova::network::neutron::neutron_url: {get_input: neutron_internal_url}
817 nova::network::neutron::neutron_auth_url: {get_input: neutron_auth_url}
818 nova::vncproxy::host: {get_input: nova_api_network}
819 nova::db::mysql::password: {get_input: nova_password}
820 nova::db::mysql_api::password: {get_input: nova_password}
821 nova_enable_db_purge: {get_input: nova_enable_db_purge}
822 nova::keystone::auth::public_url: {get_input: nova_public_url}
823 nova::keystone::auth::internal_url: {get_input: nova_internal_url}
824 nova::keystone::auth::admin_url: {get_input: nova_admin_url}
825 nova::keystone::auth::password: {get_input: nova_password }
826 nova::keystone::auth::region: {get_input: keystone_region}
829 apache::mod::remoteip::proxy_ips: {get_input: horizon_subnet}
830 apache::ip: {get_input: horizon_network}
831 horizon::django_debug: {get_input: debug}
832 horizon::secret_key: {get_input: horizon_secret}
833 horizon::bind_address: {get_input: horizon_network}
834 horizon::keystone_url: {get_input: keystone_auth_uri}
837 rabbitmq::node_ip_address: {get_input: rabbitmq_network}
838 rabbitmq::erlang_cookie: {get_input: rabbit_cookie}
840 redis::bind: {get_input: redis_network}
841 redis_vip: {get_input: redis_vip}
843 tripleo::firewall::manage_firewall: {get_input: manage_firewall}
844 tripleo::firewall::purge_firewall_rules: {get_input: purge_firewall_rules}
846 memcached_ipv6: {get_input: memcached_ipv6}
847 memcached::listen_ip: {get_input: memcached_network}
848 control_virtual_interface: {get_input: control_virtual_interface}
849 public_virtual_interface: {get_input: public_virtual_interface}
850 tripleo::keepalived::control_virtual_interface: {get_input: control_virtual_interface}
851 tripleo::keepalived::public_virtual_interface: {get_input: public_virtual_interface}
852 tripleo::haproxy::control_virtual_interface: {get_input: control_virtual_interface}
853 tripleo::haproxy::public_virtual_interface: {get_input: public_virtual_interface}
854 tripleo::haproxy::haproxy_log_address: {get_input: haproxy_log_address}
855 tripleo::haproxy::service_certificate: {get_attr: [NodeTLSData, deployed_ssl_certificate_path]}
856 tripleo::haproxy::haproxy_stats_user: {get_input: haproxy_stats_user}
857 tripleo::haproxy::haproxy_stats_password: {get_input: haproxy_stats_password}
858 tripleo::haproxy::redis_password: {get_input: redis_password}
859 tripleo::packages::enable_install: {get_input: enable_package_install}
860 tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
862 # Hook for site-specific additional pre-deployment config, e.g extra hieradata
863 ControllerExtraConfigPre:
864 depends_on: ControllerDeployment
865 type: OS::TripleO::ControllerExtraConfigPre
867 server: {get_resource: Controller}
869 # Hook for site-specific additional pre-deployment config,
870 # applying to all nodes, e.g node registration/unregistration
872 depends_on: [ControllerExtraConfigPre, NodeTLSData]
873 type: OS::TripleO::NodeExtraConfig
875 server: {get_resource: Controller}
878 type: OS::TripleO::Tasks::PackageUpdate
881 type: OS::Heat::SoftwareDeployment
883 name: UpdateDeployment
884 config: {get_resource: UpdateConfig}
885 server: {get_resource: Controller}
888 get_param: UpdateIdentifier
892 description: IP address of the server in the ctlplane network
893 value: {get_attr: [Controller, networks, ctlplane, 0]}
895 description: IP address of the server in the external network
896 value: {get_attr: [ExternalPort, ip_address]}
897 internal_api_ip_address:
898 description: IP address of the server in the internal_api network
899 value: {get_attr: [InternalApiPort, ip_address]}
901 description: IP address of the server in the storage network
902 value: {get_attr: [StoragePort, ip_address]}
903 storage_mgmt_ip_address:
904 description: IP address of the server in the storage_mgmt network
905 value: {get_attr: [StorageMgmtPort, ip_address]}
907 description: IP address of the server in the tenant network
908 value: {get_attr: [TenantPort, ip_address]}
909 management_ip_address:
910 description: IP address of the server in the management network
911 value: {get_attr: [ManagementPort, ip_address]}
913 description: Hostname of the server
914 value: {get_attr: [Controller, name]}
917 Server's IP address and hostname in the /etc/hosts format
921 PRIMARYIP PRIMARYHOST.DOMAIN PRIMARYHOST
922 EXTERNALIP EXTERNALHOST.DOMAIN EXTERNALHOST
923 INTERNAL_APIIP INTERNAL_APIHOST.DOMAIN INTERNAL_APIHOST
924 STORAGEIP STORAGEHOST.DOMAIN STORAGEHOST
925 STORAGE_MGMTIP STORAGE_MGMTHOST.DOMAIN STORAGE_MGMTHOST
926 TENANTIP TENANTHOST.DOMAIN TENANTHOST
927 MANAGEMENTIP MANAGEMENTHOST.DOMAIN MANAGEMENTHOST
929 PRIMARYIP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ControllerHostnameResolveNetwork]}]}
930 DOMAIN: {get_param: CloudDomain}
931 PRIMARYHOST: {get_attr: [Controller, name]}
932 EXTERNALIP: {get_attr: [ExternalPort, ip_address]}
936 - - {get_attr: [Controller, name]}
938 INTERNAL_APIIP: {get_attr: [InternalApiPort, ip_address]}
942 - - {get_attr: [Controller, name]}
944 STORAGEIP: {get_attr: [StoragePort, ip_address]}
948 - - {get_attr: [Controller, name]}
950 STORAGE_MGMTIP: {get_attr: [StorageMgmtPort, ip_address]}
954 - - {get_attr: [Controller, name]}
956 TENANTIP: {get_attr: [TenantPort, ip_address]}
960 - - {get_attr: [Controller, name]}
962 MANAGEMENTIP: {get_attr: [ManagementPort, ip_address]}
966 - - {get_attr: [Controller, name]}
968 nova_server_resource:
969 description: Heat resource handle for the Nova compute server
971 {get_resource: Controller}
973 description: Swift device formatted for swift-ring-builder
976 template: 'r1z1-IP:%PORT%/d1'
978 IP: {get_attr: [NetIpMap, net_ip_uri_map, {get_param: [ServiceNetMap, SwiftMgmtNetwork]}]}
979 swift_proxy_memcache:
980 description: Swift proxy-memcache value
985 IP: {get_attr: [NetIpMap, net_ip_uri_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
987 description: MD5 checksum of the TLS Key Modulus
988 value: {get_attr: [NodeTLSData, key_modulus_md5]}
989 tls_cert_modulus_md5:
990 description: MD5 checksum of the TLS Certificate Modulus
991 value: {get_attr: [NodeTLSData, cert_modulus_md5]}