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.
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: 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: 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 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 mongo_db_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MongoDbNetwork]}]}
590 neutron_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
591 neutron_local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronTenantNetwork]}]}
592 ceilometer_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
593 aodh_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
594 gnocchi_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
595 nova_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
596 nova_metadata_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
597 horizon_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
600 template: "['SUBNET']"
602 SUBNET: {get_attr: [NetIpMap, net_ip_subnet_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
603 rabbitmq_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
604 redis_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, RedisNetwork]}]}
605 redis_vip: {get_param: RedisVirtualIP}
606 sahara_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
607 memcached_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
608 mysql_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
609 mysql_virtual_ip: {get_param: MysqlVirtualIP}
610 ceph_cluster_network: {get_attr: [NetIpMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephClusterNetwork]}]}
611 ceph_public_network: {get_attr: [NetIpMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
612 ceph_public_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
613 ironic_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
615 # Map heat metadata into hiera datafiles
617 type: OS::Heat::StructuredConfig
619 group: os-apply-config
624 - heat_config_%{::deploy_config_name}
625 - controller_extraconfig
632 - swift_devices_and_proxy # provided by SwiftDevicesAndProxyConfig
633 - ceph_cluster # provided by CephClusterConfig
635 - bootstrap_node # provided by BootstrapNodeConfig
636 - all_nodes # provided by allNodesConfig
637 - vip_data # provided by vip-config
641 - cinder_dellsc_data # Optionally provided by ControllerExtraConfigPre
642 - cinder_netapp_data # Optionally provided by ControllerExtraConfigPre
643 - cinder_eqlx_data # Optionally provided by ControllerExtraConfigPre
644 - neutron_bigswitch_data # Optionally provided by ControllerExtraConfigPre
645 - neutron_cisco_data # Optionally provided by ControllerExtraConfigPre
646 - cisco_n1kv_data # Optionally provided by ControllerExtraConfigPre
647 - midonet_data #Optionally provided by AllNodesExtraConfig
648 merge_behavior: deeper
652 service_names: {get_param: ServiceNames}
654 mapped_data: {get_param: ServiceConfigSettings}
655 controller_extraconfig:
658 - {get_param: controllerExtraConfig}
659 - {get_param: ControllerExtraConfig}
661 mapped_data: {get_param: ExtraConfig}
663 raw_data: {get_file: hieradata/common.yaml}
666 net_ip_map: {get_attr: [NetIpMap, net_ip_map]}
667 net_ip_subnet_map: {get_attr: [NetIpMap, net_ip_subnet_map]}
668 net_ip_uri_map: {get_attr: [NetIpMap, net_ip_uri_map]}
670 raw_data: {get_file: hieradata/ceph.yaml}
672 ceph::profile::params::cluster_network: {get_input: ceph_cluster_network}
673 ceph::profile::params::public_network: {get_input: ceph_public_network}
674 ceph::profile::params::public_addr: {get_input: ceph_public_ip}
676 raw_data: {get_file: hieradata/database.yaml}
678 raw_data: {get_file: hieradata/object.yaml}
680 raw_data: {get_file: hieradata/controller.yaml}
681 mapped_data: # data supplied directly to this deployment configuration, etc
682 bootstack_nodeid: {get_input: bootstack_nodeid}
685 enable_fencing: {get_input: enable_fencing}
686 enable_load_balancer: {get_input: enable_load_balancer}
687 hacluster_pwd: {get_input: pcsd_password}
688 corosync_ipv6: {get_input: corosync_ipv6}
689 tripleo::fencing::config: {get_input: fencing_config}
692 # FIXME: need to move proxy_local_net_ip into swift-proxy.yaml
693 swift::proxy::proxy_local_net_ip: {get_input: swift_proxy_network}
694 swift::storage::all::storage_local_net_ip: {get_input: swift_management_network}
695 swift::swift_hash_path_suffix: {get_input: swift_hash_suffix}
698 tripleo::profile::base::cinder::volume::iscsi::cinder_iscsi_address: {get_input: cinder_iscsi_network}
699 cinder::api::bind_host: {get_input: cinder_api_network}
700 cinder::keystone::auth::public_url: {get_input: cinder_public_url }
701 cinder::keystone::auth::internal_url: {get_input: cinder_internal_url }
702 cinder::keystone::auth::admin_url: {get_input: cinder_admin_url }
703 cinder::keystone::auth::public_url_v2: {get_input: cinder_public_url_v2 }
704 cinder::keystone::auth::internal_url_v2: {get_input: cinder_internal_url_v2 }
705 cinder::keystone::auth::admin_url_v2: {get_input: cinder_admin_url_v2 }
706 cinder::keystone::auth::password: {get_input: cinder_password }
707 cinder::keystone::auth::region: {get_input: keystone_region}
710 glance::api::bind_host: {get_input: glance_api_network}
711 glance::registry::bind_host: {get_input: glance_registry_network}
712 glance::keystone::auth::region: {get_input: keystone_region}
715 heat::api::bind_host: {get_input: heat_api_network}
716 heat::api_cloudwatch::bind_host: {get_input: heat_api_network}
717 heat::api_cfn::bind_host: {get_input: heat_api_network}
718 heat::engine::auth_encryption_key: {get_input: heat_auth_encryption_key}
721 keystone::admin_bind_host: {get_input: keystone_admin_api_network}
722 keystone::public_bind_host: {get_input: keystone_public_api_network}
723 keystone::wsgi::apache::bind_host: {get_input: keystone_public_api_network}
724 keystone::wsgi::apache::admin_bind_host: {get_input: keystone_admin_api_network}
727 mongodb::server::bind_ip: {get_input: mongo_db_network}
730 admin_password: {get_input: admin_password}
731 enable_galera: {get_input: enable_galera}
732 mysql_innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
733 mysql_max_connections: {get_input: mysql_max_connections}
734 mysql::server::root_password: {get_input: mysql_root_password}
735 mysql_clustercheck_password: {get_input: mysql_clustercheck_password}
736 mysql_cluster_name: {get_input: mysql_cluster_name}
737 mysql_bind_host: {get_input: mysql_network}
738 mysql_virtual_ip: {get_input: mysql_virtual_ip}
741 neutron::bind_host: {get_input: neutron_api_network}
742 neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip}
743 neutron::agents::metadata::metadata_ip: {get_input: neutron_api_network}
744 neutron::keystone::auth::public_url: {get_input: neutron_public_url }
745 neutron::keystone::auth::internal_url: {get_input: neutron_internal_url }
746 neutron::keystone::auth::admin_url: {get_input: neutron_admin_url }
747 neutron::keystone::auth::password: {get_input: neutron_password }
748 neutron::keystone::auth::region: {get_input: keystone_region}
751 ceilometer::api::host: {get_input: ceilometer_api_network}
752 snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
753 snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
756 aodh_mysql_conn_string: {get_input: aodh_dsn}
757 aodh::rabbit_userid: {get_input: rabbit_username}
758 aodh::rabbit_password: {get_input: rabbit_password}
759 aodh::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
760 aodh::rabbit_port: {get_input: rabbit_client_port}
761 aodh::debug: {get_input: debug}
762 aodh::wsgi::apache::ssl: false
763 aodh::wsgi::apache::bind_host: {get_input: aodh_api_network}
764 aodh::api::service_name: 'httpd'
765 aodh::api::host: {get_input: aodh_api_network}
766 aodh::api::keystone_password: {get_input: aodh_password}
767 aodh::api::keystone_auth_uri: {get_input: keystone_auth_uri}
768 aodh::api::keystone_identity_uri: {get_input: keystone_identity_uri}
769 aodh::auth::auth_url: {get_input: keystone_auth_uri}
770 aodh::auth::auth_password: {get_input: aodh_password}
771 aodh::db::mysql::password: {get_input: aodh_password}
772 # for a migration path from ceilometer-alarm to aodh, we use the same database & coordination
773 aodh::evaluator::coordination_url: {get_input: ceilometer_coordination_url}
774 aodh::keystone::auth::public_url: {get_input: aodh_public_url }
775 aodh::keystone::auth::internal_url: {get_input: aodh_internal_url }
776 aodh::keystone::auth::admin_url: {get_input: aodh_admin_url }
777 aodh::keystone::auth::password: {get_input: aodh_password }
778 aodh::keystone::auth::region: {get_input: keystone_region}
781 gnocchi::wsgi::apache::bind_host: {get_input: gnocchi_api_network}
782 gnocchi::api::host: {get_input: gnocchi_api_network}
783 gnocchi::api::keystone_auth_uri: {get_input: keystone_auth_uri}
784 gnocchi::api::keystone_identity_uri: {get_input: keystone_identity_uri}
785 gnocchi::storage::swift::swift_authurl: {get_input: keystone_auth_uri}
786 gnocchi::keystone::auth::public_url: {get_input: gnocchi_public_url }
787 gnocchi::keystone::auth::internal_url: {get_input: gnocchi_internal_url }
788 gnocchi::keystone::auth::admin_url: {get_input: gnocchi_admin_url }
789 gnocchi::keystone::auth::region: {get_input: keystone_region}
792 nova::upgrade_level_compute: {get_input: upgrade_level_nova_compute}
793 nova::use_ipv6: {get_input: nova_ipv6}
794 nova::api::auth_uri: {get_input: keystone_auth_uri}
795 nova::api::identity_uri: {get_input: keystone_identity_uri}
796 nova::api::api_bind_address: {get_input: nova_api_network}
797 nova::api::metadata_listen: {get_input: nova_metadata_network}
798 nova::api::admin_password: {get_input: nova_password}
799 nova::glance_api_servers: {get_input: glance_api_servers}
800 nova::api::neutron_metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
801 nova::api::instance_name_template: {get_input: instance_name_template}
802 nova::network::neutron::neutron_password: {get_input: neutron_password}
803 nova::network::neutron::neutron_url: {get_input: neutron_internal_url}
804 nova::network::neutron::neutron_auth_url: {get_input: neutron_auth_url}
805 nova::vncproxy::host: {get_input: nova_api_network}
806 nova_enable_db_purge: {get_input: nova_enable_db_purge}
807 nova::keystone::auth::public_url: {get_input: nova_public_url}
808 nova::keystone::auth::internal_url: {get_input: nova_internal_url}
809 nova::keystone::auth::admin_url: {get_input: nova_admin_url}
810 nova::keystone::auth::password: {get_input: nova_password }
811 nova::keystone::auth::region: {get_input: keystone_region}
814 apache::mod::remoteip::proxy_ips: {get_input: horizon_subnet}
815 apache::ip: {get_input: horizon_network}
816 horizon::django_debug: {get_input: debug}
817 horizon::secret_key: {get_input: horizon_secret}
818 horizon::bind_address: {get_input: horizon_network}
819 horizon::keystone_url: {get_input: keystone_auth_uri}
822 rabbitmq::node_ip_address: {get_input: rabbitmq_network}
823 rabbitmq::erlang_cookie: {get_input: rabbit_cookie}
825 redis::bind: {get_input: redis_network}
826 redis_vip: {get_input: redis_vip}
828 tripleo::firewall::manage_firewall: {get_input: manage_firewall}
829 tripleo::firewall::purge_firewall_rules: {get_input: purge_firewall_rules}
831 memcached_ipv6: {get_input: memcached_ipv6}
832 memcached::listen_ip: {get_input: memcached_network}
833 control_virtual_interface: {get_input: control_virtual_interface}
834 public_virtual_interface: {get_input: public_virtual_interface}
835 tripleo::keepalived::control_virtual_interface: {get_input: control_virtual_interface}
836 tripleo::keepalived::public_virtual_interface: {get_input: public_virtual_interface}
837 tripleo::haproxy::control_virtual_interface: {get_input: control_virtual_interface}
838 tripleo::haproxy::public_virtual_interface: {get_input: public_virtual_interface}
839 tripleo::haproxy::haproxy_log_address: {get_input: haproxy_log_address}
840 tripleo::haproxy::service_certificate: {get_attr: [NodeTLSData, deployed_ssl_certificate_path]}
841 tripleo::haproxy::haproxy_stats_user: {get_input: haproxy_stats_user}
842 tripleo::haproxy::haproxy_stats_password: {get_input: haproxy_stats_password}
843 tripleo::haproxy::redis_password: {get_input: redis_password}
844 tripleo::packages::enable_install: {get_input: enable_package_install}
845 tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
847 # Hook for site-specific additional pre-deployment config, e.g extra hieradata
848 ControllerExtraConfigPre:
849 depends_on: ControllerDeployment
850 type: OS::TripleO::ControllerExtraConfigPre
852 server: {get_resource: Controller}
854 # Hook for site-specific additional pre-deployment config,
855 # applying to all nodes, e.g node registration/unregistration
857 depends_on: [ControllerExtraConfigPre, NodeTLSData]
858 type: OS::TripleO::NodeExtraConfig
860 server: {get_resource: Controller}
863 type: OS::TripleO::Tasks::PackageUpdate
866 type: OS::Heat::SoftwareDeployment
868 name: UpdateDeployment
869 config: {get_resource: UpdateConfig}
870 server: {get_resource: Controller}
873 get_param: UpdateIdentifier
877 description: IP address of the server in the ctlplane network
878 value: {get_attr: [Controller, networks, ctlplane, 0]}
880 description: IP address of the server in the external network
881 value: {get_attr: [ExternalPort, ip_address]}
882 internal_api_ip_address:
883 description: IP address of the server in the internal_api network
884 value: {get_attr: [InternalApiPort, ip_address]}
886 description: IP address of the server in the storage network
887 value: {get_attr: [StoragePort, ip_address]}
888 storage_mgmt_ip_address:
889 description: IP address of the server in the storage_mgmt network
890 value: {get_attr: [StorageMgmtPort, ip_address]}
892 description: IP address of the server in the tenant network
893 value: {get_attr: [TenantPort, ip_address]}
894 management_ip_address:
895 description: IP address of the server in the management network
896 value: {get_attr: [ManagementPort, ip_address]}
898 description: Hostname of the server
899 value: {get_attr: [Controller, name]}
902 Server's IP address and hostname in the /etc/hosts format
906 PRIMARYIP PRIMARYHOST.DOMAIN PRIMARYHOST
907 EXTERNALIP EXTERNALHOST.DOMAIN EXTERNALHOST
908 INTERNAL_APIIP INTERNAL_APIHOST.DOMAIN INTERNAL_APIHOST
909 STORAGEIP STORAGEHOST.DOMAIN STORAGEHOST
910 STORAGE_MGMTIP STORAGE_MGMTHOST.DOMAIN STORAGE_MGMTHOST
911 TENANTIP TENANTHOST.DOMAIN TENANTHOST
912 MANAGEMENTIP MANAGEMENTHOST.DOMAIN MANAGEMENTHOST
914 PRIMARYIP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ControllerHostnameResolveNetwork]}]}
915 DOMAIN: {get_param: CloudDomain}
916 PRIMARYHOST: {get_attr: [Controller, name]}
917 EXTERNALIP: {get_attr: [ExternalPort, ip_address]}
921 - - {get_attr: [Controller, name]}
923 INTERNAL_APIIP: {get_attr: [InternalApiPort, ip_address]}
927 - - {get_attr: [Controller, name]}
929 STORAGEIP: {get_attr: [StoragePort, ip_address]}
933 - - {get_attr: [Controller, name]}
935 STORAGE_MGMTIP: {get_attr: [StorageMgmtPort, ip_address]}
939 - - {get_attr: [Controller, name]}
941 TENANTIP: {get_attr: [TenantPort, ip_address]}
945 - - {get_attr: [Controller, name]}
947 MANAGEMENTIP: {get_attr: [ManagementPort, ip_address]}
951 - - {get_attr: [Controller, name]}
953 nova_server_resource:
954 description: Heat resource handle for the Nova compute server
956 {get_resource: Controller}
958 description: Swift device formatted for swift-ring-builder
961 template: 'r1z1-IP:%PORT%/d1'
963 IP: {get_attr: [NetIpMap, net_ip_uri_map, {get_param: [ServiceNetMap, SwiftMgmtNetwork]}]}
964 swift_proxy_memcache:
965 description: Swift proxy-memcache value
970 IP: {get_attr: [NetIpMap, net_ip_uri_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
972 description: MD5 checksum of the TLS Key Modulus
973 value: {get_attr: [NodeTLSData, key_modulus_md5]}
974 tls_cert_modulus_md5:
975 description: MD5 checksum of the TLS Certificate Modulus
976 value: {get_attr: [NodeTLSData, cert_modulus_md5]}