1 heat_template_version: 2014-10-16
4 OpenStack controller node configured by Puppet.
9 description: The password for the keystone admin account, used for monitoring, querying neutron etc.
14 description: The keystone auth secret.
17 CeilometerMeteringSecret:
19 description: Secret shared by the ceilometer services.
24 description: The password for the ceilometer service account.
27 CinderEnableIscsiBackend:
29 description: Whether to enable or not the Iscsi backend for Cinder
31 CinderEnableRbdBackend:
33 description: Whether to enable or not the Rbd backend for Cinder
37 description: The iSCSI helper to use with cinder.
39 CinderLVMLoopDeviceSize:
41 description: The size of the loopback file used by the cinder LVM driver.
45 description: The password for the cinder service account, used by cinder-api.
50 description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
52 ControllerExtraConfig:
55 Controller specific configuration to inject into the cluster. Same
56 structure as ExtraConfig.
58 ControlVirtualInterface:
60 description: Interface where virtual ip will be assigned.
64 description: Set to True to enable debugging on all services.
69 Additional configuration to inject into the cluster. The JSON should have
70 the following structure:
73 [{"section": "SECTIONNAME",
75 [{"option": "OPTIONNAME",
86 [{"section": "default",
88 [{"option": "compute_manager",
89 "value": "ironic.nova.compute.manager.ClusterComputeManager"
96 "value": "nova.cells.rpc_driver.CellsRPCDriver"
105 description: Flavor for control nodes to request when deploying.
108 - custom_constraint: nova.flavor
109 GlanceNotifierStrategy:
110 description: Strategy to use for Glance notification queue
114 description: The filepath of the file to use for logging messages from Glance.
119 description: The password for the glance service account, used by the glance services.
124 description: Glance port.
128 description: Protocol to use when connecting to glance, set to https for SSL.
132 description: The password for the Heat service account, used by the Heat services.
135 HeatStackDomainAdminPassword:
136 description: Password for heat_domain_admin user.
140 HeatAuthEncryptionKey:
141 description: Auth encryption key for heat-engine
145 default: overcloud-control
147 - custom_constraint: glance.image
149 default: 'REBUILD_PRESERVE_EPHEMERAL'
150 description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
154 description: Name of an existing EC2 KeyPair to enable SSH access to the instances
157 - custom_constraint: nova.keypair
158 KeystoneCACertificate:
160 description: Keystone self-signed certificate authority certificate.
162 KeystoneSigningCertificate:
164 description: Keystone certificate for verifying token validity.
168 description: Keystone key for signing tokens.
171 KeystoneSSLCertificate:
173 description: Keystone certificate for verifying token validity.
175 KeystoneSSLCertificateKey:
177 description: Keystone key for signing tokens.
180 MysqlClusterUniquePart:
181 description: A unique identifier of the MySQL cluster the controller is in.
183 default: 'unset' # Has to be here because of the ignored empty value bug
184 # Drop the validation: https://bugs.launchpad.net/tripleo/+bug/1405446
186 # - length: {min: 4, max: 10}
187 MysqlInnodbBufferPoolSize:
189 Specifies the size of the buffer pool in megabytes. Setting to
190 zero should be interpreted as "no value" and will defer to the
197 default: '' # Has to be here because of the ignored empty value bug
198 NeutronBridgeMappings:
200 The OVS logical->physical bridge mappings to use. See the Neutron
201 documentation for details. Defaults to mapping br-ex - the external
202 bridge on hosts - to a physical name 'datacentre' which can be used
203 to create provider networks (and we use this for the default floating
204 network) - if changing this either use different post-install network
205 scripts or be sure to keep 'datacentre' as a mapping network name.
208 NeutronDnsmasqOptions:
209 default: 'dhcp-option-force=26,1400'
210 description: Dnsmasq options for neutron-dhcp-agent. The default value here forces MTU to be set to 1400 to account for the gre tunnel overhead.
214 description: Agent mode for the neutron-l3-agent on the controller hosts
216 NeutronL3HA: #FIXME this isn't wired in
218 description: Whether to enable l3-agent HA
222 description: Whether to configure Neutron Distributed Virtual Routers
224 NeutronMetadataProxySharedSecret:
226 description: Shared secret to prevent spoofing
228 NeutronMechanismDrivers:
229 default: 'openvswitch'
231 The mechanism drivers for the Neutron tenant network. To specify multiple
232 values, use a comma separated string, like so: 'openvswitch,l2_population'
234 NeutronAllowL3AgentFailover:
236 description: Allow automatic l3-agent failover
238 NeutronEnableTunnelling:
244 description: If set, flat networks to configure in neutron plugins.
247 description: The tenant network type for Neutron, either gre or vxlan.
249 NeutronNetworkVLANRanges:
250 default: 'datacentre'
252 The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
253 Neutron documentation for permitted values. Defaults to permitting any
254 VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
258 description: The password for the neutron service account, used by neutron agents.
261 NeutronPublicInterface:
263 description: What interface to bridge onto br-ex for network nodes.
265 NeutronPublicInterfaceTag:
268 VLAN tag for creating a public VLAN. The tag will be used to
269 create an access port on the exterior bridge for each control plane node,
270 and that port will be given the IP address returned by neutron from the
271 public network. Set CONTROLEXTRA=overcloud-vlan-port.yaml when compiling
272 overcloud.yaml to include the deployment of VLAN ports to the control
275 NeutronPublicInterfaceDefaultRoute:
277 description: A custom default route for the NeutronPublicInterface.
279 NeutronPublicInterfaceIP:
281 description: A custom IP address to put onto the NeutronPublicInterface.
283 NeutronPublicInterfaceRawDevice:
285 description: If set, the public interface is a vlan with this device as the raw device.
290 The tunnel types for the Neutron tenant network. To specify multiple
291 values, use a comma separated string, like so: 'gre,vxlan'
295 description: The password for the nova service account, used by nova-api.
301 PublicVirtualInterface:
304 Specifies the interface where the public-facing virtual ip will be assigned.
305 This should be int_public when a VLAN is being used.
309 default: '' # Has to be here because of the ignored empty value bug
312 default: '' # Has to be here because of the ignored empty value bug
316 description: The password for RabbitMQ
321 description: The username for RabbitMQ
326 Rabbit client subscriber parameter to specify
327 an SSL connection to the RabbitMQ host.
331 description: Set rabbit subscriber port, change this if using SSL
333 SnmpdReadonlyUserName:
334 default: ro_snmp_user
335 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
337 SnmpdReadonlyUserPassword:
339 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
344 description: If set, the contents of an SSL certificate authority file.
348 description: If set, the contents of an SSL certificate .crt file for encrypting SSL endpoints.
353 description: If set, the contents of an SSL certificate .key file for encrypting SSL endpoints.
358 description: A random string to be used as a salt when hashing to determine mappings
364 description: Value of mount_check in Swift account/container/object -server.conf
369 description: The minimum time (in hours) before a partition in a ring can be moved following a rebalance.
372 description: Partition Power to use when building Swift rings
376 description: The password for the swift service account, used by the swift proxy
383 description: How many replicas to use in the swift rings.
386 default: '' # Has to be here because of the ignored empty value bug
387 EnablePackageInstall:
389 description: Set to true to enable package installation via Puppet
395 type: OS::Nova::Server
397 image: {get_param: Image}
398 image_update_policy: {get_param: ImageUpdatePolicy}
399 flavor: {get_param: Flavor}
400 key_name: {get_param: KeyName}
403 user_data_format: SOFTWARE_CONFIG
406 type: OS::TripleO::Net::SoftwareConfig
409 type: OS::TripleO::SoftwareDeployment
411 signal_transport: NO_SIGNAL
412 config: {get_attr: [NetworkConfig, config_id]}
413 server: {get_resource: Controller}
416 interface_name: {get_param: NeutronPublicInterface}
418 ControllerDeployment:
419 type: OS::TripleO::SoftwareDeployment
421 signal_transport: NO_SIGNAL
422 config: {get_resource: ControllerConfig}
423 server: {get_resource: Controller}
425 bootstack_nodeid: {get_attr: [Controller, name]}
426 controller_host: {get_attr: [Controller, networks, ctlplane, 0]}
427 controller_virtual_ip: {get_param: VirtualIP}
428 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
429 heat.watch_server_url:
433 - {get_param: VirtualIP}
435 heat.metadata_server_url:
439 - {get_param: VirtualIP}
441 heat.waitcondition_server_url:
445 - {get_param: VirtualIP}
446 - ':8000/v1/waitcondition'
447 heat_auth_encryption_key: {get_param: HeatAuthEncryptionKey}
448 admin_password: {get_param: AdminPassword}
449 admin_token: {get_param: AdminToken}
450 neutron_public_interface_ip: {get_param: NeutronPublicInterfaceIP}
451 debug: {get_param: Debug}
452 cinder_enable_rbd_backend: {get_param: CinderEnableRbdBackend}
453 cinder_lvm_loop_device_size: {get_param: CinderLVMLoopDeviceSize}
454 cinder_password: {get_param: CinderPassword}
455 cinder_enable_iscsi_backend: {get_param: CinderEnableIscsiBackend}
456 cinder_iscsi_helper: {get_param: CinderISCSIHelper}
460 - - 'mysql://cinder:unset@'
461 - {get_param: VirtualIP}
463 glance_port: {get_param: GlancePort}
464 glance_protocol: {get_param: GlanceProtocol}
465 glance_password: {get_param: GlancePassword}
466 glance_swift_store_auth_address: {list_join: ['', ['http://', {get_param: VirtualIP} , ':5000/v2.0']]}
467 glance_notifier_strategy: {get_param: GlanceNotifierStrategy}
468 glance_log_file: {get_param: GlanceLogFile}
472 - - 'mysql://glance:unset@'
473 - {get_param: VirtualIP}
475 heat_password: {get_param: HeatPassword}
476 heat_stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword}
480 - - 'mysql://heat:unset@'
481 - {get_param: VirtualIP}
483 keystone_ca_certificate: {get_param: KeystoneCACertificate}
484 keystone_signing_key: {get_param: KeystoneSigningKey}
485 keystone_signing_certificate: {get_param: KeystoneSigningCertificate}
486 keystone_ssl_certificate: {get_param: KeystoneSSLCertificate}
487 keystone_ssl_certificate_key: {get_param: KeystoneSSLCertificateKey}
491 - - 'mysql://keystone:unset@'
492 - {get_param: VirtualIP}
494 mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
495 mysql_root_password: {get_param: MysqlRootPassword}
498 template: tripleo-CLUSTER
500 CLUSTER: {get_param: MysqlClusterUniquePart}
501 neutron_flat_networks: {get_param: NeutronFlatNetworks}
502 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
503 neutron_agent_mode: {get_param: NeutronAgentMode}
504 neutron_router_distributed: {get_param: NeutronDVR}
505 neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
506 neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
507 neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
508 neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
509 neutron_public_interface: {get_param: NeutronPublicInterface}
510 neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
511 neutron_public_interface_default_route: {get_param: NeutronPublicInterfaceDefaultRoute}
512 neutron_public_interface_tag: {get_param: NeutronPublicInterfaceTag}
513 neutron_tenant_network_type: {get_param: NeutronNetworkType}
514 neutron_tunnel_types: {get_param: NeutronTunnelTypes}
515 neutron_password: {get_param: NeutronPassword}
516 neutron_dnsmasq_options: {get_param: NeutronDnsmasqOptions}
520 - - 'mysql://neutron:unset@'
521 - {get_param: VirtualIP}
522 - '/ovs_neutron?charset=utf8'
527 - {get_param: VirtualIP}
529 neutron_admin_auth_url:
533 - {get_param: VirtualIP}
535 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
536 ceilometer_password: {get_param: CeilometerPassword}
540 - - 'mysql://ceilometer:unset@'
541 - {get_param: VirtualIP}
543 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
544 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
545 nova_password: {get_param: NovaPassword}
549 - - 'mysql://nova:unset@'
550 - {get_param: VirtualIP}
552 rabbit_username: {get_param: RabbitUserName}
553 rabbit_password: {get_param: RabbitPassword}
554 rabbit_cookie: {get_param: RabbitCookie}
555 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
556 rabbit_client_port: {get_param: RabbitClientPort}
559 template: '["server"]'
561 server: {get_param: NtpServer}
562 control_virtual_interface: {get_param: ControlVirtualInterface}
563 public_virtual_interface: {get_param: PublicVirtualInterface}
564 public_virtual_ip: {get_param: PublicVirtualIP}
565 swift_hash_suffix: {get_param: SwiftHashSuffix}
566 swift_password: {get_param: SwiftPassword}
567 swift_part_power: {get_param: SwiftPartPower}
568 swift_replicas: {get_param: SwiftReplicas}
569 swift_min_part_hours: {get_param: SwiftMinPartHours}
570 swift_mount_check: {get_param: SwiftMountCheck}
571 enable_package_install: {get_param: EnablePackageInstall}
573 # Map heat metadata into hiera datafiles
575 type: OS::Heat::StructuredConfig
577 group: os-apply-config
581 - heat_config_%{::deploy_config_name}
584 - swift_devices_and_proxy # provided by SwiftDevicesAndProxyConfig
585 - rabbit # provided by allNodesConfig
586 - ceph_cluster # provided by CephClusterConfig
588 - bootstrap_node # provided by BootstrapNodeConfig
592 raw_data: {get_file: hieradata/common.yaml}
594 raw_data: {get_file: hieradata/ceph.yaml}
596 raw_data: {get_file: hieradata/object.yaml}
598 raw_data: {get_file: hieradata/controller.yaml}
599 mapped_data: # data supplied directly to this deployment configuration, etc
600 debug: {get_input: debug}
601 bootstack_nodeid: {get_input: bootstack_nodeid}
602 controller_host: {get_input: controller_host} #local-ipv4
604 swift::proxy::proxy_local_net_ip: {get_input: controller_host}
605 swift::proxy::authtoken::auth_host: {get_input: controller_virtual_ip}
606 swift::storage::all::storage_local_net_ip: {get_input: controller_host}
607 swift::swift_hash_suffix: {get_input: swift_hash_suffix}
608 swift::proxy::authtoken::admin_password: {get_input: swift_password}
609 tripleo::ringbuilder::part_power: {get_input: swift_part_power}
610 tripleo::ringbuilder::replicas: {get_input: swift_replicas}
611 tripleo::ringbuilder::min_part_hours: {get_input: swift_min_part_hours}
612 swift_mount_check: {get_input: swift_mount_check}
614 # NOTE(dprince): build_ring support is currently not wired in.
615 # See: https://review.openstack.org/#/c/109225/
616 tripleo::ringbuilder::build_ring: True
618 cinder_enable_rbd_backend: {get_input: cinder_enable_rbd_backend}
619 cinder_lvm_loop_device_size: {get_input: cinder_lvm_loop_device_size}
620 cinder_iscsi_helper: {get_input: cinder_iscsi_helper}
621 cinder_iscsi_ip_address: {get_input: controller_host}
622 cinder::database_connection: {get_input: cinder_dsn}
623 cinder::api::keystone_password: {get_input: cinder_password}
624 cinder::api::keystone_auth_host: {get_input: controller_virtual_ip}
625 cinder::api::bind_host: {get_input: controller_host}
626 cinder::rabbit_userid: {get_input: rabbit_username}
627 cinder::rabbit_password: {get_input: rabbit_password}
628 cinder_enable_iscsi_backend: {get_input: cinder_enable_iscsi_backend}
629 #cinder::debug: {get_input: debug}
631 glance::api::bind_port: {get_input: glance_port}
632 glance::api::bind_host: {get_input: controller_host}
633 glance::api::auth_host: {get_input: controller_virtual_ip}
634 glance::api::registry_host: {get_input: controller_host}
635 glance::api::keystone_password: {get_input: glance_password}
636 # used to construct glance_api_servers
637 glance_port: {get_input: glance_port}
638 glance_protocol: {get_input: glance_protocol}
639 glance_notifier_strategy: {get_input: glance_notifier_strategy}
640 glance_log_file: {get_input: glance_log_file}
641 glance_log_file: {get_input: glance_log_file}
642 glance::api::database_connection: {get_input: glance_dsn}
643 glance::registry::keystone_password: {get_input: glance_password}
644 glance::registry::database_connection: {get_input: glance_dsn}
645 glance::registry::bind_host: {get_input: controller_host}
646 glance::registry::auth_host: {get_input: controller_virtual_ip}
647 glance::backend::swift::swift_store_auth_address: {get_input: glance_swift_store_auth_address}
648 glance::backend::swift::swift_store_user: service:glance
649 glance::backend::swift::swift_store_key: {get_input: glance_password}
651 heat_stack_domain_admin_password: {get_input: heat_stack_domain_admin_password}
652 heat::engine::heat_watch_server_url: {get_input: heat.watch_server_url}
653 heat::engine::heat_metadata_server_url: {get_input: heat.metadata_server_url}
654 heat::engine::heat_waitcondition_server_url: {get_input: heat.waitcondition_server_url}
655 heat::engine::auth_encryption_key: {get_input: heat_auth_encryption_key}
656 heat::rabbit_userid: {get_input: rabbit_username}
657 heat::rabbit_password: {get_input: rabbit_password}
658 heat::rabbit_host: {get_input: controller_virtual_ip}
659 heat::keystone_host: {get_input: controller_virtual_ip}
660 heat::keystone_password: {get_input: heat_password}
661 heat::api::bind_host: {get_input: controller_host}
662 heat::api_cloudwatch::bind_host: {get_input: controller_host}
663 heat::api_cfn::bind_host: {get_input: controller_host}
664 heat::database_connection: {get_input: heat_dsn}
665 heat::instance_user: heat-admin
668 keystone::admin_token: {get_input: admin_token}
669 keystone_ca_certificate: {get_input: keystone_ca_certificate}
670 keystone_signing_key: {get_input: keystone_signing_key}
671 keystone_signing_certificate: {get_input: keystone_signing_certificate}
672 keystone_ssl_certificate: {get_input: keystone_ssl_certificate}
673 keystone_ssl_certificate_key: {get_input: keystone_ssl_certificate_key}
674 keystone::database_connection: {get_input: keystone_dsn}
675 keystone::public_bind_host: {get_input: controller_host}
676 keystone::admin_bind_host: {get_input: controller_host}
677 #keystone::debug: {get_input: debug}
679 admin_password: {get_input: admin_password}
680 mysql_innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
681 mysql_root_password: {get_input: mysql_root_password}
682 mysql_cluster_name: {get_input: mysql_cluster_name}
684 neutron::bind_host: {get_input: controller_host}
685 neutron::rabbit_password: {get_input: rabbit_password}
686 neutron::rabbit_user: {get_input: rabbit_user}
687 #neutron::debug: {get_input: debug}
688 neutron::server::auth_host: {get_input: controller_virtual_ip}
689 neutron::server::database_connection: {get_input: neutron_dsn}
690 neutron::agents::ml2::ovs::enable_tunneling: {get_input: neutron_enable_tunneling}
691 neutron::agents::ml2::ovs::local_ip: {get_input: controller_host}
692 neutron_flat_networks: {get_input: neutron_flat_networks}
693 neutron::agents::metadata::shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
694 neutron::agents::metadata::metadata_ip: {get_input: controller_virtual_ip}
695 neutron_agent_mode: {get_input: neutron_agent_mode}
696 neutron_router_distributed: {get_input: neutron_router_distributed}
697 neutron_mechanism_drivers: {get_input: neutron_mechanism_drivers}
698 neutron_allow_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
699 neutron::plugins::ml2::network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
700 neutron_bridge_mappings: {get_input: neutron_bridge_mappings}
701 neutron_public_interface: {get_input: neutron_public_interface}
702 neutron_public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
703 neutron_public_interface_default_route: {get_input: neutron_public_interface_default_route}
704 neutron_public_interface_tag: {get_input: neutron_public_interface_tag}
705 neutron_tenant_network_type: {get_input: neutron_tenant_network_type}
706 neutron_tunnel_types: {get_input: neutron_tunnel_types}
707 neutron::server::auth_password: {get_input: neutron_password}
708 neutron::agents::metadata::auth_password: {get_input: neutron_password}
709 neutron_dnsmasq_options: {get_input: neutron_dnsmasq_options}
710 neutron_dsn: {get_input: neutron_dsn}
712 ceilometer::metering_secret: {get_input: ceilometer_metering_secret}
713 ceilometer::rabbit_userid: {get_input: rabbit_username}
714 ceilometer::rabbit_password: {get_input: rabbit_password}
715 ceilometer::rabbit_host: {get_input: controller_virtual_ip}
716 ceilometer::api::host: {get_input: controller_host}
717 ceilometer::api::keystone_password: {get_input: ceilometer_password}
718 ceilometer::api::keystone_host: {get_input: controller_virtual_ip}
719 ceilometer::db::database_connection: {get_input: ceilometer_dsn}
720 ceilometer::agent::auth::auth_password: {get_input: ceilometer_password}
721 snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
722 snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
724 nova::rabbit_userid: {get_input: rabbit_username}
725 nova::rabbit_password: {get_input: rabbit_password}
726 nova::api::auth_host: {get_input: controller_virtual_ip}
727 nova::api::api_bind_address: {get_input: controller_host}
728 nova::api::metadata_listen: {get_input: controller_host}
729 nova::api::admin_password: {get_input: nova_password}
730 nova::database_connection: {get_input: nova_dsn}
731 nova::api::neutron_metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
732 nova::network::neutron::neutron_admin_password: {get_input: neutron_password}
733 nova::network::neutron::neutron_url: {get_input: neutron_url}
734 nova::network::neutron::neutron_admin_auth_url: {get_input: neutron_admin_auth_url}
737 rabbit_username: {get_input: rabbit_username}
738 rabbit_password: {get_input: rabbit_password}
739 rabbit_client_use_ssl: {get_input: rabbit_client_use_ssl}
740 rabbit_client_port: {get_input: rabbit_client_port}
741 rabbitmq::erlang_cookie: {get_input: rabbit_cookie}
743 neutron_public_interface_ip: {get_input: neutron_public_interface_ip}
744 ntp::servers: {get_input: ntp_servers}
745 control_virtual_interface: {get_input: control_virtual_interface}
746 controller_virtual_ip: {get_input: controller_virtual_ip}
747 public_virtual_interface: {get_input: public_virtual_interface}
748 public_virtual_ip: {get_input: public_virtual_ip}
749 tripleo::loadbalancer::controller_host: {get_input: controller_host}
750 tripleo::loadbalancer::control_virtual_interface: {get_input: control_virtual_interface}
751 tripleo::loadbalancer::controller_virtual_ip: {get_input: controller_virtual_ip}
752 tripleo::loadbalancer::public_virtual_interface: {get_input: public_virtual_interface}
753 tripleo::loadbalancer::public_virtual_ip: {get_input: public_virtual_ip}
754 enable_package_install: {get_input: enable_package_install}
758 description: IP address of the server in the ctlplane network
759 value: {get_attr: [Controller, networks, ctlplane, 0]}
761 description: Hostname of the server
762 value: {get_attr: [Controller, name]}
765 Node object in the format {ip: ..., name: ...} format that the corosync
768 ip: {get_attr: [Controller, networks, ctlplane, 0]}
769 name: {get_attr: [Controller, name]}
772 Server's IP address and hostname in the /etc/hosts format
775 template: IP HOST HOST.novalocal CLOUDNAME
777 IP: {get_attr: [Controller, networks, ctlplane, 0]}
778 HOST: {get_attr: [Controller, name]}
779 CLOUDNAME: {get_param: CloudName}
780 nova_server_resource:
781 description: Heat resource handle for the Nova compute server
783 {get_resource: Controller}
785 description: Swift device formatted for swift-ring-builder
788 template: 'r1z1-IP:%PORT%/d1'
790 IP: {get_attr: [Controller, networks, ctlplane, 0]}
791 swift_proxy_memcache:
792 description: Swift proxy-memcache value
797 IP: {get_attr: [Controller, networks, ctlplane, 0]}