1 heat_template_version: 2016-04-08
4 OpenStack controller node configured by Puppet.
8 description: The password for the keystone admin account, used for monitoring, querying neutron etc.
12 description: The password for the aodh services.
15 controllerExtraConfig:
18 Deprecated. Use ControllerExtraConfig via parameter_defaults instead.
20 ControllerExtraConfig:
23 Controller specific hiera configuration data to inject into the cluster.
28 A network mapped list of IPs to assign to Controllers in the following form:
30 "internal_api": ["a.b.c.d", "e.f.g.h"],
34 ControlVirtualInterface:
36 description: Interface where virtual ip will be assigned.
40 description: Enable IPv6 in Corosync
44 description: Set to True to enable debugging on all services.
48 description: Whether to enable fencing in Pacemaker or not.
52 description: Whether to use Galera instead of regular MariaDB.
56 description: Whether to deploy a LoadBalancer on the Controller
61 Additional hieradata to inject into the cluster, note that
62 ControllerExtraConfig takes precedence over ExtraConfig.
67 Pacemaker fencing configuration. The JSON should have
68 the following structure:
72 "agent": "AGENT_NAME",
73 "host_mac": "HOST_MAC_ADDRESS",
74 "params": {"PARAM_NAME": "PARAM_VALUE"}
83 "host_mac": "52:54:00:aa:bb:cc",
85 "multicast_address": "225.0.0.12",
86 "port": "baremetal_0",
88 "manage_key_file": true,
89 "key_file": "/etc/fence_xvm.key",
90 "key_file_password": "abcdef"
97 description: Flavor for control nodes to request when deploying.
100 - custom_constraint: nova.flavor
101 HAProxyStatsPassword:
102 description: Password for HAProxy stats endpoint
105 description: User for HAProxy stats endpoint
108 HAProxySyslogAddress:
110 description: Syslog address where HAproxy will send its log
112 HeatAuthEncryptionKey:
113 description: Auth encryption key for heat-engine
117 description: Secret key for Django
122 default: overcloud-full
124 - custom_constraint: glance.image
126 default: 'REBUILD_PRESERVE_EPHEMERAL'
127 description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
129 InstanceNameTemplate:
130 default: 'instance-%08x'
131 description: Template string to be used to generate instance names
135 description: Name of an existing Nova key pair to enable SSH access to the instances
138 - custom_constraint: nova.keypair
142 description: Keystone region for endpoint
145 description: Whether to manage IPtables rules.
149 description: Enable IPv6 features in Memcached.
153 description: Whether IPtables rules should be purged before setting up the new ones.
155 MysqlClusterUniquePart:
156 description: A unique identifier of the MySQL cluster the controller is in.
158 default: 'unset' # Has to be here because of the ignored empty value bug
159 # Drop the validation: https://bugs.launchpad.net/tripleo/+bug/1405446
161 # - length: {min: 4, max: 10}
162 MysqlInnodbBufferPoolSize:
164 Specifies the size of the buffer pool in megabytes. Setting to
165 zero should be interpreted as "no value" and will defer to the
170 description: Configures MySQL max_connections config setting
173 MysqlClustercheckPassword:
179 default: '' # Has to be here because of the ignored empty value bug
180 NeutronMetadataProxySharedSecret:
181 description: Shared secret to prevent spoofing
185 description: The password for the neutron service and db account, used by neutron agents.
188 NeutronPublicInterface:
190 description: What interface to bridge onto br-ex for network nodes.
195 Whether to create cron job for purging soft deleted rows in Nova database.
199 description: Enable IPv6 features in Nova
202 description: The password for the nova service and db account, used by nova-api.
207 description: The password for the 'pcsd' user.
209 PublicVirtualInterface:
212 Specifies the interface where the public-facing virtual ip will be assigned.
213 This should be int_public when a VLAN is being used.
217 default: '' # Has to be here because of the ignored empty value bug
220 description: The password for RabbitMQ
225 description: The username for RabbitMQ
230 Rabbit client subscriber parameter to specify
231 an SSL connection to the RabbitMQ host.
235 description: Set rabbit subscriber port, change this if using SSL
238 description: The password for Redis
243 default: '' # Has to be here because of the ignored empty value bug
246 default: '' # Has to be here because of the ignored empty value bug
247 description: An IP address which is wrapped in brackets in case of IPv6
249 description: A random string to be used as a salt when hashing to determine mappings
253 UpgradeLevelNovaCompute:
255 description: Nova Compute upgrade level
260 EnablePackageInstall:
262 description: Set to true to enable package installation via Puppet
266 description: Mapping of service_name -> network name. Typically set
267 via parameter_defaults in the resource registry.
271 description: Mapping of service endpoint -> protocol. Typically set
272 via parameter_defaults in the resource registry.
278 Setting to a previously unused value during stack-update will trigger
279 package update on all nodes
282 default: '' # Defaults to Heat created hostname
286 description: Optional mapping to override hostnames
287 NetworkDeploymentActions:
288 type: comma_delimited_list
290 Heat action when to apply network configuration changes
295 SoftwareConfigTransport:
296 default: POLL_SERVER_CFN
298 How the server should receive the metadata required for software configuration.
301 - allowed_values: [POLL_SERVER_CFN, POLL_SERVER_HEAT, POLL_TEMP_URL, ZAQAR_MESSAGE]
306 The DNS domain used for the hosts. This should match the dhcp_domain
307 configured in the Undercloud neutron. Defaults to localdomain.
311 Extra properties or metadata passed to Nova for the created nodes in
312 the overcloud. It's accessible via the Nova metadata API.
314 ControllerSchedulerHints:
316 description: Optional scheduler hints to pass to nova
318 ServiceConfigSettings:
322 type: comma_delimited_list
326 description: Command which will be run whenever configuration data changes
327 default: os-refresh-config --timeout 14400
331 description: Do not use deprecated params, they will be removed.
333 - controllerExtraConfig
338 type: OS::TripleO::Server
341 command: {get_param: ConfigCommand}
343 image: {get_param: controllerImage}
344 image_update_policy: {get_param: ImageUpdatePolicy}
345 flavor: {get_param: Flavor}
346 key_name: {get_param: KeyName}
349 user_data_format: SOFTWARE_CONFIG
350 user_data: {get_resource: UserData}
353 template: {get_param: Hostname}
354 params: {get_param: HostnameMap}
355 software_config_transport: {get_param: SoftwareConfigTransport}
356 metadata: {get_param: ServerMetadata}
357 scheduler_hints: {get_param: ControllerSchedulerHints}
359 # Combine the NodeAdminUserData and NodeUserData mime archives
361 type: OS::Heat::MultipartMime
364 - config: {get_resource: NodeAdminUserData}
366 - config: {get_resource: NodeUserData}
369 # Creates the "heat-admin" user if configured via the environment
370 # Should return a OS::Heat::MultipartMime reference via OS::stack_id
372 type: OS::TripleO::NodeAdminUserData
374 # For optional operator additional userdata
375 # Should return a OS::Heat::MultipartMime reference via OS::stack_id
377 type: OS::TripleO::NodeUserData
380 type: OS::TripleO::Controller::Ports::ExternalPort
382 IPPool: {get_param: ControllerIPs}
383 NodeIndex: {get_param: NodeIndex}
384 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
387 type: OS::TripleO::Controller::Ports::InternalApiPort
389 IPPool: {get_param: ControllerIPs}
390 NodeIndex: {get_param: NodeIndex}
391 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
394 type: OS::TripleO::Controller::Ports::StoragePort
396 IPPool: {get_param: ControllerIPs}
397 NodeIndex: {get_param: NodeIndex}
398 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
401 type: OS::TripleO::Controller::Ports::StorageMgmtPort
403 IPPool: {get_param: ControllerIPs}
404 NodeIndex: {get_param: NodeIndex}
405 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
408 type: OS::TripleO::Controller::Ports::TenantPort
410 IPPool: {get_param: ControllerIPs}
411 NodeIndex: {get_param: NodeIndex}
412 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
415 type: OS::TripleO::Controller::Ports::ManagementPort
417 IPPool: {get_param: ControllerIPs}
418 NodeIndex: {get_param: NodeIndex}
419 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
422 type: OS::TripleO::Network::Ports::NetIpMap
424 ControlPlaneIp: {get_attr: [Controller, networks, ctlplane, 0]}
425 ExternalIp: {get_attr: [ExternalPort, ip_address]}
426 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
427 ExternalIpUri: {get_attr: [ExternalPort, ip_address_uri]}
428 InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
429 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
430 InternalApiIpUri: {get_attr: [InternalApiPort, ip_address_uri]}
431 StorageIp: {get_attr: [StoragePort, ip_address]}
432 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
433 StorageIpUri: {get_attr: [StoragePort, ip_address_uri]}
434 StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}
435 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
436 StorageMgmtIpUri: {get_attr: [StorageMgmtPort, ip_address_uri]}
437 TenantIp: {get_attr: [TenantPort, ip_address]}
438 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
439 TenantIpUri: {get_attr: [TenantPort, ip_address_uri]}
440 ManagementIp: {get_attr: [ManagementPort, ip_address]}
441 ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
442 ManagementIpUri: {get_attr: [ManagementPort, ip_address_uri]}
445 type: OS::TripleO::Controller::Net::SoftwareConfig
447 ControlPlaneIp: {get_attr: [Controller, networks, ctlplane, 0]}
448 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
449 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
450 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
451 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
452 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
453 ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
456 type: OS::TripleO::SoftwareDeployment
458 name: NetworkDeployment
459 config: {get_resource: NetworkConfig}
460 server: {get_resource: Controller}
461 actions: {get_param: NetworkDeploymentActions}
464 interface_name: {get_param: NeutronPublicInterface}
466 # Resource for site-specific injection of root certificate
468 depends_on: NetworkDeployment
469 type: OS::TripleO::NodeTLSCAData
471 server: {get_resource: Controller}
473 # Resource for site-specific passing of private keys/certificates
475 depends_on: NodeTLSCAData
476 type: OS::TripleO::NodeTLSData
478 server: {get_resource: Controller}
479 NodeIndex: {get_param: NodeIndex}
482 ControllerDeployment:
483 type: OS::TripleO::SoftwareDeployment
484 depends_on: NetworkDeployment
486 name: ControllerDeployment
487 config: {get_resource: ControllerConfig}
488 server: {get_resource: Controller}
490 bootstack_nodeid: {get_attr: [Controller, name]}
491 haproxy_log_address: {get_param: HAProxySyslogAddress}
492 haproxy_stats_password: {get_param: HAProxyStatsPassword}
493 haproxy_stats_user: {get_param: HAProxyStatsUser}
494 heat_auth_encryption_key: {get_param: HeatAuthEncryptionKey}
495 horizon_secret: {get_param: HorizonSecret}
496 admin_password: {get_param: AdminPassword}
497 debug: {get_param: Debug}
498 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_internal_url: { get_param: [ EndpointMap, AodhInternal, uri ] }
529 aodh_public_url: { get_param: [ EndpointMap, AodhPublic, uri ] }
530 aodh_admin_url: { get_param: [ EndpointMap, AodhAdmin, uri ] }
531 ceilometer_coordination_url:
535 - {get_param: RedisPassword}
537 - {get_param: RedisVirtualIPUri}
539 gnocchi_internal_url: {get_param: [EndpointMap, GnocchiInternal, uri]}
540 gnocchi_public_url: { get_param: [ EndpointMap, GnocchiPublic, uri ] }
541 gnocchi_admin_url: { get_param: [ EndpointMap, GnocchiAdmin, uri ] }
542 nova_enable_db_purge: {get_param: NovaEnableDBPurge}
543 nova_ipv6: {get_param: NovaIPv6}
544 corosync_ipv6: {get_param: CorosyncIPv6}
545 memcached_ipv6: {get_param: MemcachedIPv6}
546 nova_password: {get_param: NovaPassword}
547 upgrade_level_nova_compute: {get_param: UpgradeLevelNovaCompute}
548 instance_name_template: {get_param: InstanceNameTemplate}
549 nova_public_url: {get_param: [EndpointMap, NovaPublic, uri]}
550 nova_internal_url: {get_param: [EndpointMap, NovaInternal, uri]}
551 nova_admin_url: {get_param: [EndpointMap, NovaAdmin, uri]}
552 fencing_config: {get_param: FencingConfig}
553 pcsd_password: {get_param: PcsdPassword}
554 rabbit_username: {get_param: RabbitUserName}
555 rabbit_password: {get_param: RabbitPassword}
556 rabbit_cookie: {get_param: RabbitCookie}
557 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
558 rabbit_client_port: {get_param: RabbitClientPort}
559 control_virtual_interface: {get_param: ControlVirtualInterface}
560 public_virtual_interface: {get_param: PublicVirtualInterface}
561 swift_hash_suffix: {get_param: SwiftHashSuffix}
562 enable_package_install: {get_param: EnablePackageInstall}
563 enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]}
564 swift_proxy_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
565 swift_management_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftMgmtNetwork]}]}
566 cinder_iscsi_network:
570 IP: {get_attr: [NetIpMap, net_ip_uri_map, {get_param: [ServiceNetMap, CinderIscsiNetwork]}]}
571 cinder_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
572 glance_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
573 glance_registry_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
574 glance_api_servers: { get_param: [EndpointMap, GlanceInternal, uri]}
575 heat_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
576 keystone_public_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
577 keystone_admin_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
578 keystone_region: {get_param: KeystoneRegion}
579 manila_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ManilaApiNetwork]}]}
580 mongo_db_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MongoDbNetwork]}]}
581 neutron_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
582 neutron_local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronTenantNetwork]}]}
583 ceilometer_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
584 aodh_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
585 gnocchi_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
586 nova_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
587 nova_metadata_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
588 horizon_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
591 template: "['SUBNET']"
593 SUBNET: {get_attr: [NetIpMap, net_ip_subnet_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
594 rabbitmq_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
595 redis_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, RedisNetwork]}]}
596 redis_vip: {get_param: RedisVirtualIP}
597 sahara_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
598 memcached_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
599 mysql_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
600 mysql_virtual_ip: {get_param: MysqlVirtualIP}
601 ceph_cluster_network: {get_attr: [NetIpMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephClusterNetwork]}]}
602 ceph_public_network: {get_attr: [NetIpMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
603 ceph_public_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
604 ironic_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
606 # Map heat metadata into hiera datafiles
608 type: OS::Heat::StructuredConfig
610 group: os-apply-config
615 - heat_config_%{::deploy_config_name}
616 - controller_extraconfig
622 - swift_devices_and_proxy # provided by SwiftDevicesAndProxyConfig
623 - ceph_cluster # provided by CephClusterConfig
625 - bootstrap_node # provided by BootstrapNodeConfig
626 - all_nodes # provided by allNodesConfig
627 - vip_data # provided by vip-config
630 - cinder_dellsc_data # Optionally provided by ControllerExtraConfigPre
631 - cinder_netapp_data # Optionally provided by ControllerExtraConfigPre
632 - cinder_eqlx_data # Optionally provided by ControllerExtraConfigPre
633 - neutron_bigswitch_data # Optionally provided by ControllerExtraConfigPre
634 - neutron_cisco_data # Optionally provided by ControllerExtraConfigPre
635 - cisco_n1kv_data # Optionally provided by ControllerExtraConfigPre
636 - midonet_data #Optionally provided by AllNodesExtraConfig
637 merge_behavior: deeper
641 service_names: {get_param: ServiceNames}
643 mapped_data: {get_param: ServiceConfigSettings}
644 controller_extraconfig:
647 - {get_param: controllerExtraConfig}
648 - {get_param: ControllerExtraConfig}
650 mapped_data: {get_param: ExtraConfig}
653 net_ip_map: {get_attr: [NetIpMap, net_ip_map]}
654 net_ip_subnet_map: {get_attr: [NetIpMap, net_ip_subnet_map]}
655 net_ip_uri_map: {get_attr: [NetIpMap, net_ip_uri_map]}
657 raw_data: {get_file: hieradata/ceph.yaml}
659 ceph::profile::params::cluster_network: {get_input: ceph_cluster_network}
660 ceph::profile::params::public_network: {get_input: ceph_public_network}
661 ceph::profile::params::public_addr: {get_input: ceph_public_ip}
663 raw_data: {get_file: hieradata/object.yaml}
665 raw_data: {get_file: hieradata/controller.yaml}
666 mapped_data: # data supplied directly to this deployment configuration, etc
667 bootstack_nodeid: {get_input: bootstack_nodeid}
670 enable_fencing: {get_input: enable_fencing}
671 enable_load_balancer: {get_input: enable_load_balancer}
672 hacluster_pwd: {get_input: pcsd_password}
673 corosync_ipv6: {get_input: corosync_ipv6}
674 tripleo::fencing::config: {get_input: fencing_config}
677 # FIXME: need to move proxy_local_net_ip into swift-proxy.yaml
678 swift::proxy::proxy_local_net_ip: {get_input: swift_proxy_network}
679 swift::storage::all::storage_local_net_ip: {get_input: swift_management_network}
680 swift::swift_hash_path_suffix: {get_input: swift_hash_suffix}
683 tripleo::profile::base::cinder::volume::iscsi::cinder_iscsi_address: {get_input: cinder_iscsi_network}
684 cinder::api::bind_host: {get_input: cinder_api_network}
685 cinder::keystone::auth::public_url: {get_input: cinder_public_url }
686 cinder::keystone::auth::internal_url: {get_input: cinder_internal_url }
687 cinder::keystone::auth::admin_url: {get_input: cinder_admin_url }
688 cinder::keystone::auth::public_url_v2: {get_input: cinder_public_url_v2 }
689 cinder::keystone::auth::internal_url_v2: {get_input: cinder_internal_url_v2 }
690 cinder::keystone::auth::admin_url_v2: {get_input: cinder_admin_url_v2 }
691 cinder::keystone::auth::password: {get_input: cinder_password }
692 cinder::keystone::auth::region: {get_input: keystone_region}
695 glance::api::bind_host: {get_input: glance_api_network}
696 glance::registry::bind_host: {get_input: glance_registry_network}
697 glance::keystone::auth::region: {get_input: keystone_region}
700 heat::api::bind_host: {get_input: heat_api_network}
701 heat::api_cloudwatch::bind_host: {get_input: heat_api_network}
702 heat::api_cfn::bind_host: {get_input: heat_api_network}
703 heat::engine::auth_encryption_key: {get_input: heat_auth_encryption_key}
706 keystone::admin_bind_host: {get_input: keystone_admin_api_network}
707 keystone::public_bind_host: {get_input: keystone_public_api_network}
708 keystone::wsgi::apache::bind_host: {get_input: keystone_public_api_network}
709 keystone::wsgi::apache::admin_bind_host: {get_input: keystone_admin_api_network}
712 manila::api::bind_host: {get_input: manila_api_network}
715 mongodb::server::bind_ip: {get_input: mongo_db_network}
718 admin_password: {get_input: admin_password}
719 enable_galera: {get_input: enable_galera}
720 mysql_innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
721 mysql_max_connections: {get_input: mysql_max_connections}
722 mysql::server::root_password: {get_input: mysql_root_password}
723 mysql_clustercheck_password: {get_input: mysql_clustercheck_password}
724 mysql_cluster_name: {get_input: mysql_cluster_name}
725 mysql_bind_host: {get_input: mysql_network}
726 mysql_virtual_ip: {get_input: mysql_virtual_ip}
729 neutron::bind_host: {get_input: neutron_api_network}
730 neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip}
731 neutron::agents::metadata::metadata_ip: {get_input: neutron_api_network}
732 neutron::keystone::auth::public_url: {get_input: neutron_public_url }
733 neutron::keystone::auth::internal_url: {get_input: neutron_internal_url }
734 neutron::keystone::auth::admin_url: {get_input: neutron_admin_url }
735 neutron::keystone::auth::password: {get_input: neutron_password }
736 neutron::keystone::auth::region: {get_input: keystone_region}
739 aodh::api::host: {get_input: aodh_api_network}
740 aodh::wsgi::apache::bind_host: {get_input: aodh_api_network}
743 ceilometer::api::host: {get_input: ceilometer_api_network}
744 snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
745 snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
748 gnocchi::wsgi::apache::bind_host: {get_input: gnocchi_api_network}
749 gnocchi::api::host: {get_input: gnocchi_api_network}
750 gnocchi::api::keystone_auth_uri: {get_input: keystone_auth_uri}
751 gnocchi::api::keystone_identity_uri: {get_input: keystone_identity_uri}
752 gnocchi::storage::swift::swift_authurl: {get_input: keystone_auth_uri}
753 gnocchi::keystone::auth::public_url: {get_input: gnocchi_public_url }
754 gnocchi::keystone::auth::internal_url: {get_input: gnocchi_internal_url }
755 gnocchi::keystone::auth::admin_url: {get_input: gnocchi_admin_url }
756 gnocchi::keystone::auth::region: {get_input: keystone_region}
759 nova::upgrade_level_compute: {get_input: upgrade_level_nova_compute}
760 nova::use_ipv6: {get_input: nova_ipv6}
761 nova::api::auth_uri: {get_input: keystone_auth_uri}
762 nova::api::identity_uri: {get_input: keystone_identity_uri}
763 nova::api::api_bind_address: {get_input: nova_api_network}
764 nova::api::metadata_listen: {get_input: nova_metadata_network}
765 nova::api::admin_password: {get_input: nova_password}
766 nova::glance_api_servers: {get_input: glance_api_servers}
767 nova::api::neutron_metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
768 nova::api::instance_name_template: {get_input: instance_name_template}
769 nova::network::neutron::neutron_password: {get_input: neutron_password}
770 nova::network::neutron::neutron_url: {get_input: neutron_internal_url}
771 nova::network::neutron::neutron_auth_url: {get_input: neutron_auth_url}
772 nova::vncproxy::host: {get_input: nova_api_network}
773 nova_enable_db_purge: {get_input: nova_enable_db_purge}
774 nova::keystone::auth::public_url: {get_input: nova_public_url}
775 nova::keystone::auth::internal_url: {get_input: nova_internal_url}
776 nova::keystone::auth::admin_url: {get_input: nova_admin_url}
777 nova::keystone::auth::password: {get_input: nova_password }
778 nova::keystone::auth::region: {get_input: keystone_region}
781 apache::mod::remoteip::proxy_ips: {get_input: horizon_subnet}
782 apache::ip: {get_input: horizon_network}
783 horizon::django_debug: {get_input: debug}
784 horizon::secret_key: {get_input: horizon_secret}
785 horizon::bind_address: {get_input: horizon_network}
786 horizon::keystone_url: {get_input: keystone_auth_uri}
789 sahara::host: {get_input: sahara_api_network}
792 rabbitmq::node_ip_address: {get_input: rabbitmq_network}
793 rabbitmq::erlang_cookie: {get_input: rabbit_cookie}
795 redis::bind: {get_input: redis_network}
796 redis_vip: {get_input: redis_vip}
798 tripleo::firewall::manage_firewall: {get_input: manage_firewall}
799 tripleo::firewall::purge_firewall_rules: {get_input: purge_firewall_rules}
801 memcached_ipv6: {get_input: memcached_ipv6}
802 memcached::listen_ip: {get_input: memcached_network}
803 control_virtual_interface: {get_input: control_virtual_interface}
804 public_virtual_interface: {get_input: public_virtual_interface}
805 tripleo::keepalived::control_virtual_interface: {get_input: control_virtual_interface}
806 tripleo::keepalived::public_virtual_interface: {get_input: public_virtual_interface}
807 tripleo::haproxy::control_virtual_interface: {get_input: control_virtual_interface}
808 tripleo::haproxy::public_virtual_interface: {get_input: public_virtual_interface}
809 tripleo::haproxy::haproxy_log_address: {get_input: haproxy_log_address}
810 tripleo::haproxy::service_certificate: {get_attr: [NodeTLSData, deployed_ssl_certificate_path]}
811 tripleo::haproxy::haproxy_stats_user: {get_input: haproxy_stats_user}
812 tripleo::haproxy::haproxy_stats_password: {get_input: haproxy_stats_password}
813 tripleo::haproxy::redis_password: {get_input: redis_password}
814 tripleo::packages::enable_install: {get_input: enable_package_install}
815 tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
817 # Hook for site-specific additional pre-deployment config, e.g extra hieradata
818 ControllerExtraConfigPre:
819 depends_on: ControllerDeployment
820 type: OS::TripleO::ControllerExtraConfigPre
822 server: {get_resource: Controller}
824 # Hook for site-specific additional pre-deployment config,
825 # applying to all nodes, e.g node registration/unregistration
827 depends_on: [ControllerExtraConfigPre, NodeTLSData]
828 type: OS::TripleO::NodeExtraConfig
830 server: {get_resource: Controller}
833 type: OS::TripleO::Tasks::PackageUpdate
836 type: OS::Heat::SoftwareDeployment
838 name: UpdateDeployment
839 config: {get_resource: UpdateConfig}
840 server: {get_resource: Controller}
843 get_param: UpdateIdentifier
847 description: IP address of the server in the ctlplane network
848 value: {get_attr: [Controller, networks, ctlplane, 0]}
850 description: IP address of the server in the external network
851 value: {get_attr: [ExternalPort, ip_address]}
852 internal_api_ip_address:
853 description: IP address of the server in the internal_api network
854 value: {get_attr: [InternalApiPort, ip_address]}
856 description: IP address of the server in the storage network
857 value: {get_attr: [StoragePort, ip_address]}
858 storage_mgmt_ip_address:
859 description: IP address of the server in the storage_mgmt network
860 value: {get_attr: [StorageMgmtPort, ip_address]}
862 description: IP address of the server in the tenant network
863 value: {get_attr: [TenantPort, ip_address]}
864 management_ip_address:
865 description: IP address of the server in the management network
866 value: {get_attr: [ManagementPort, ip_address]}
868 description: Hostname of the server
869 value: {get_attr: [Controller, name]}
872 Server's IP address and hostname in the /etc/hosts format
876 PRIMARYIP PRIMARYHOST.DOMAIN PRIMARYHOST
877 EXTERNALIP EXTERNALHOST.DOMAIN EXTERNALHOST
878 INTERNAL_APIIP INTERNAL_APIHOST.DOMAIN INTERNAL_APIHOST
879 STORAGEIP STORAGEHOST.DOMAIN STORAGEHOST
880 STORAGE_MGMTIP STORAGE_MGMTHOST.DOMAIN STORAGE_MGMTHOST
881 TENANTIP TENANTHOST.DOMAIN TENANTHOST
882 MANAGEMENTIP MANAGEMENTHOST.DOMAIN MANAGEMENTHOST
884 PRIMARYIP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ControllerHostnameResolveNetwork]}]}
885 DOMAIN: {get_param: CloudDomain}
886 PRIMARYHOST: {get_attr: [Controller, name]}
887 EXTERNALIP: {get_attr: [ExternalPort, ip_address]}
891 - - {get_attr: [Controller, name]}
893 INTERNAL_APIIP: {get_attr: [InternalApiPort, ip_address]}
897 - - {get_attr: [Controller, name]}
899 STORAGEIP: {get_attr: [StoragePort, ip_address]}
903 - - {get_attr: [Controller, name]}
905 STORAGE_MGMTIP: {get_attr: [StorageMgmtPort, ip_address]}
909 - - {get_attr: [Controller, name]}
911 TENANTIP: {get_attr: [TenantPort, ip_address]}
915 - - {get_attr: [Controller, name]}
917 MANAGEMENTIP: {get_attr: [ManagementPort, ip_address]}
921 - - {get_attr: [Controller, name]}
923 nova_server_resource:
924 description: Heat resource handle for the Nova compute server
926 {get_resource: Controller}
928 description: Swift device formatted for swift-ring-builder
931 template: 'r1z1-IP:%PORT%/d1'
933 IP: {get_attr: [NetIpMap, net_ip_uri_map, {get_param: [ServiceNetMap, SwiftMgmtNetwork]}]}
934 swift_proxy_memcache:
935 description: Swift proxy-memcache value
940 IP: {get_attr: [NetIpMap, net_ip_uri_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
942 description: MD5 checksum of the TLS Key Modulus
943 value: {get_attr: [NodeTLSData, key_modulus_md5]}
944 tls_cert_modulus_md5:
945 description: MD5 checksum of the TLS Certificate Modulus
946 value: {get_attr: [NodeTLSData, cert_modulus_md5]}