1 heat_template_version: 2015-04-30
4 OpenStack control plane node. Can be wrapped in a ResourceGroup for scaling.
9 description: The password for the keystone admin account, used for monitoring, querying neutron etc.
14 description: The keystone auth secret and db password.
19 description: The ceilometer backend type.
21 CeilometerMeteringSecret:
23 description: Secret shared by the ceilometer services.
28 description: The password for the ceilometer service and db account.
31 CinderEnableIscsiBackend:
33 description: Whether to enable or not the Iscsi backend for Cinder
35 CinderEnableRbdBackend:
37 description: Whether to enable or not the Rbd backend for Cinder
41 description: The iSCSI helper to use with cinder.
43 CinderLVMLoopDeviceSize:
45 description: The size of the loopback file used by the cinder LVM driver.
49 description: The password for the cinder service and db account, used by cinder-api.
54 description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
56 ControllerExtraConfig:
59 Controller specific configuration to inject into the cluster. Same
60 structure as ExtraConfig.
62 ControlVirtualInterface:
64 description: Interface where virtual ip will be assigned.
68 description: Set to True to enable debugging on all services.
72 description: Whether to use Galera instead of regular MariaDB.
76 description: If enabled services will be monitored by Pacemaker; it
77 will manage VIPs as well, in place of Keepalived.
81 description: Whether to deploy Ceph Storage (OSD) on the Controller
85 description: Whether to enable Swift Storage on the Controller
90 Additional configuration to inject into the cluster. The JSON should have
91 the following structure:
94 [{"section": "SECTIONNAME",
96 [{"option": "OPTIONNAME",
107 [{"section": "default",
109 [{"option": "compute_manager",
110 "value": "ironic.nova.compute.manager.ClusterComputeManager"
116 [{"option": "driver",
117 "value": "nova.cells.rpc_driver.CellsRPCDriver"
126 description: Flavor for control nodes to request when deploying.
129 - custom_constraint: nova.flavor
130 GlanceNotifierStrategy:
131 description: Strategy to use for Glance notification queue
135 description: The filepath of the file to use for logging messages from Glance.
140 description: The password for the glance service and db account, used by the glance services.
145 description: Glance port.
149 description: Protocol to use when connecting to glance, set to https for SSL.
153 description: The short name of the Glance backend to use. Should be one
154 of swift, rbd, or file
157 - allowed_values: ['swift', 'file', 'rbd']
160 description: The password for the Heat service and db account, used by the Heat services.
163 HeatStackDomainAdminPassword:
164 description: Password for heat_domain_admin user.
168 HeatAuthEncryptionKey:
169 description: Auth encryption key for heat-engine
172 description: Secret key for Django
176 default: overcloud-control
178 - custom_constraint: glance.image
180 default: 'REBUILD_PRESERVE_EPHEMERAL'
181 description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
185 description: Name of an existing EC2 KeyPair to enable SSH access to the instances
188 - custom_constraint: nova.keypair
189 KeystoneCACertificate:
191 description: Keystone self-signed certificate authority certificate.
193 KeystoneSigningCertificate:
195 description: Keystone certificate for verifying token validity.
199 description: Keystone key for signing tokens.
202 KeystoneSSLCertificate:
204 description: Keystone certificate for verifying token validity.
206 KeystoneSSLCertificateKey:
208 description: Keystone key for signing tokens.
211 MysqlClusterUniquePart:
212 description: A unique identifier of the MySQL cluster the controller is in.
214 default: 'unset' # Has to be here because of the ignored empty value bug
215 # Drop the validation: https://bugs.launchpad.net/tripleo/+bug/1405446
217 # - length: {min: 4, max: 10}
218 MysqlInnodbBufferPoolSize:
220 Specifies the size of the buffer pool in megabytes. Setting to
221 zero should be interpreted as "no value" and will defer to the
228 default: '' # Has to be here because of the ignored empty value bug
229 NeutronBridgeMappings:
231 The OVS logical->physical bridge mappings to use. See the Neutron
232 documentation for details. Defaults to mapping br-ex - the external
233 bridge on hosts - to a physical name 'datacentre' which can be used
234 to create provider networks (and we use this for the default floating
235 network) - if changing this either use different post-install network
236 scripts or be sure to keep 'datacentre' as a mapping network name.
238 default: "datacentre:br-ex"
239 NeutronDnsmasqOptions:
240 default: 'dhcp-option-force=26,1400'
241 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.
245 description: Agent mode for the neutron-l3-agent on the controller hosts
249 description: Whether to configure Neutron Distributed Virtual Routers
251 NeutronMetadataProxySharedSecret:
253 description: Shared secret to prevent spoofing
255 NeutronMechanismDrivers:
256 default: 'openvswitch'
258 The mechanism drivers for the Neutron tenant network. To specify multiple
259 values, use a comma separated string, like so: 'openvswitch,l2_population'
261 NeutronAllowL3AgentFailover:
263 description: Allow automatic l3-agent failover
267 description: Whether to enable l3-agent HA
269 NeutronEnableTunnelling:
274 default: 'datacentre'
275 description: If set, flat networks to configure in neutron plugins.
278 description: The tenant network type for Neutron, either gre or vxlan.
280 NeutronNetworkVLANRanges:
281 default: 'datacentre'
283 The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
284 Neutron documentation for permitted values. Defaults to permitting any
285 VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
286 type: comma_delimited_list
289 description: The password for the neutron service and db account, used by neutron agents.
292 NeutronPublicInterface:
294 description: What interface to bridge onto br-ex for network nodes.
296 NeutronPublicInterfaceTag:
299 VLAN tag for creating a public VLAN. The tag will be used to
300 create an access port on the exterior bridge for each control plane node,
301 and that port will be given the IP address returned by neutron from the
302 public network. Set CONTROLEXTRA=overcloud-vlan-port.yaml when compiling
303 overcloud.yaml to include the deployment of VLAN ports to the control
306 NeutronPublicInterfaceDefaultRoute:
308 description: A custom default route for the NeutronPublicInterface.
310 NeutronPublicInterfaceIP:
312 description: A custom IP address to put onto the NeutronPublicInterface.
314 NeutronPublicInterfaceRawDevice:
316 description: If set, the public interface is a vlan with this device as the raw device.
321 The tunnel types for the Neutron tenant network. To specify multiple
322 values, use a comma separated string, like so: 'gre,vxlan'
326 description: The password for the nova service and db account, used by nova-api.
334 description: The password for the 'pcsd' user.
335 PublicVirtualInterface:
338 Specifies the interface where the public-facing virtual ip will be assigned.
339 This should be int_public when a VLAN is being used.
343 default: '' # Has to be here because of the ignored empty value bug
346 default: '' # Has to be here because of the ignored empty value bug
350 description: The password for RabbitMQ
355 description: The username for RabbitMQ
360 Rabbit client subscriber parameter to specify
361 an SSL connection to the RabbitMQ host.
365 description: Set rabbit subscriber port, change this if using SSL
369 default: '' # Has to be here because of the ignored empty value bug
370 SnmpdReadonlyUserName:
371 default: ro_snmp_user
372 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
374 SnmpdReadonlyUserPassword:
376 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
381 description: If set, the contents of an SSL certificate authority file.
385 description: If set, the contents of an SSL certificate .crt file for encrypting SSL endpoints.
390 description: If set, the contents of an SSL certificate .key file for encrypting SSL endpoints.
395 description: A random string to be used as a salt when hashing to determine mappings
401 description: Value of mount_check in Swift account/container/object -server.conf
406 description: The minimum time (in hours) before a partition in a ring can be moved following a rebalance.
409 description: Partition Power to use when building Swift rings
413 description: The password for the swift service account, used by the swift proxy
420 description: How many replicas to use in the swift rings.
423 default: '' # Has to be here because of the ignored empty value bug
433 KeystonePublicApiVirtualIP:
441 description: Mapping of service_name -> network name. Typically set
442 via parameter_defaults in the resource registry.
448 Setting to a previously unused value during stack-update will trigger
449 package update on all nodes
452 default: '' # Defaults to Heat created hostname
457 type: OS::Nova::Server
459 image: {get_param: Image}
460 image_update_policy: {get_param: ImageUpdatePolicy}
461 flavor: {get_param: Flavor}
462 key_name: {get_param: KeyName}
465 user_data_format: SOFTWARE_CONFIG
466 user_data: {get_resource: NodeUserData}
467 name: {get_param: Hostname}
470 type: OS::TripleO::NodeUserData
473 type: OS::TripleO::Controller::Ports::ExternalPort
475 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
478 type: OS::TripleO::Controller::Ports::InternalApiPort
480 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
483 type: OS::TripleO::Controller::Ports::StoragePort
485 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
488 type: OS::TripleO::Controller::Ports::StorageMgmtPort
490 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
493 type: OS::TripleO::Controller::Ports::TenantPort
495 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
498 type: OS::TripleO::Controller::Net::SoftwareConfig
500 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
501 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
502 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
503 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
504 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
507 type: OS::TripleO::SoftwareDeployment
509 signal_transport: NO_SIGNAL
510 config: {get_resource: NetworkConfig}
511 server: {get_resource: Controller}
514 interface_name: {get_param: NeutronPublicInterface}
516 ControllerPassthroughConfig:
517 type: OS::Heat::StructuredConfig
519 group: os-apply-config
520 config: {get_input: passthrough_config}
522 ControllerPassthroughConfigSpecific:
523 type: OS::Heat::StructuredConfig
525 group: os-apply-config
526 config: {get_input: passthrough_config_specific}
529 type: OS::Heat::StructuredConfig
531 group: os-apply-config
533 admin-password: {get_input: admin_password}
534 admin-token: {get_input: admin_token}
536 public_interface_ip: {get_input: neutron_public_interface_ip}
538 nodeid: {get_input: bootstack_nodeid}
540 db: {get_input: cinder_dsn}
541 debug: {get_input: debug}
542 volume_size_mb: {get_input: cinder_lvm_loop_device_size}
543 service-password: {get_input: cinder_password}
544 iscsi-helper: {get_input: CinderISCSIHelper}
545 controller-address: {get_input: controller_host}
547 bindnetaddr: {get_input: controller_host}
550 stonith_enabled : false
552 quorum_policy : ignore
556 host: {get_input: controller_virtual_ip}
558 db: {get_input: glance_dsn}
559 debug: {get_input: debug}
560 host: {get_input: controller_virtual_ip}
561 port: {get_input: glance_port}
562 protocol: {get_input: glance_protocol}
563 service-password: {get_input: glance_password}
564 swift-store-user: service:glance
565 swift-store-key: {get_input: glance_password}
566 notifier-strategy: {get_input: glance_notifier_strategy}
567 log-file: {get_input: glance_log_file}
569 admin_password: {get_input: heat_password}
570 admin_tenant_name: service
572 auth_encryption_key: {get_input: heat_auth_encryption_key}
573 db: {get_input: heat_dsn}
574 debug: {get_input: debug}
575 stack_domain_admin_password: {get_input: heat_stack_domain_admin_password}
576 watch_server_url: {get_input: heat.watch_server_url}
577 metadata_server_url: {get_input: heat.metadata_server_url}
578 waitcondition_server_url: {get_input: heat.waitcondition_server_url}
580 db: {get_input: keystone_dsn}
581 debug: {get_input: debug}
582 host: {get_input: controller_virtual_ip}
583 ca_certificate: {get_input: keystone_ca_certificate}
584 signing_key: {get_input: keystone_signing_key}
585 signing_certificate: {get_input: keystone_signing_certificate}
587 certificate: {get_input: keystone_ssl_certificate}
588 certificate_key: {get_input: keystone_ssl_certificate_key}
590 innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
592 root-password: {get_input: mysql_root_password}
593 cluster_name: {get_input: mysql_cluster_name}
595 debug: {get_input: debug}
596 flat-networks: {get_input: neutron_flat_networks}
597 host: {get_input: controller_virtual_ip}
598 metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
599 agent_mode: {get_input: neutron_agent_mode}
600 router_distributed: {get_input: neutron_router_distributed}
601 mechanism_drivers: {get_input: neutron_mechanism_drivers}
602 allow_automatic_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
603 l3_ha: {get_input: neutron_l3_ha}
605 enable_tunneling: {get_input: neutron_enable_tunneling}
606 local_ip: {get_input: controller_host}
607 network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
608 bridge_mappings: {get_input: neutron_bridge_mappings}
609 public_interface: {get_input: neutron_public_interface}
610 public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
611 public_interface_route: {get_input: neutron_public_interface_default_route}
612 public_interface_tag: {get_input: neutron_public_interface_tag}
613 physical_bridge: br-ex
614 tenant_network_type: {get_input: neutron_tenant_network_type}
615 tunnel_types: {get_input: neutron_tunnel_types}
616 ovs_db: {get_input: neutron_dsn}
617 service-password: {get_input: neutron_password}
618 dnsmasq-options: {get_input: neutron_dnsmasq_options}
620 db: {get_input: ceilometer_dsn}
621 debug: {get_input: debug}
622 metering_secret: {get_input: ceilometer_metering_secret}
623 service-password: {get_input: ceilometer_password}
625 export_MIB: UCD-SNMP-MIB
626 readonly_user_name: {get_input: snmpd_readonly_user_name}
627 readonly_user_password: {get_input: snmpd_readonly_user_password}
629 compute_driver: libvirt.LibvirtDriver
630 db: {get_input: nova_dsn}
631 default_floating_pool:
633 host: {get_input: controller_virtual_ip}
635 service-password: {get_input: nova_password}
637 host: {get_input: controller_virtual_ip}
638 username: {get_input: rabbit_username}
639 password: {get_input: rabbit_password}
640 cookie: {get_input: rabbit_cookie}
641 rabbit_client_use_ssl: {get_input: rabbit_client_use_ssl}
642 rabbit_port: {get_input: rabbit_client_port}
645 - {server: {get_input: ntp_server}}
648 - vrrp_instance_name: VI_CONTROL
649 virtual_router_id: 51
650 keepalive_interface: {get_input: control_virtual_interface}
653 - ip: {get_input: controller_virtual_ip}
654 interface: {get_input: control_virtual_interface}
655 - vrrp_instance_name: VI_PUBLIC
656 virtual_router_id: 52
657 keepalive_interface: {get_input: public_virtual_interface}
660 - ip: {get_input: public_virtual_ip}
661 interface: {get_input: public_virtual_interface}
668 keepalive_interface: {get_input: public_virtual_interface}
672 ip: {get_input: controller_virtual_ip}
673 interface: {get_input: control_virtual_interface}
675 ip: {get_input: public_virtual_ip}
676 interface: {get_input: public_virtual_interface}
679 - ip: {get_input: controller_virtual_ip}
681 - option httpchk GET /
683 - name: keystone_admin
685 net_binds: &public_binds
686 - ip: {get_input: controller_virtual_ip}
687 - ip: {get_input: public_virtual_ip}
688 - name: keystone_public
690 net_binds: *public_binds
693 net_binds: *public_binds
696 net_binds: *public_binds
699 net_binds: *public_binds
702 net_binds: *public_binds
703 - name: glance_registry
705 net_binds: *public_binds
706 options: # overwrite options as glace_reg needs auth for http req
709 net_binds: *public_binds
710 - name: heat_cloudwatch
712 net_binds: *public_binds
715 net_binds: *public_binds
727 net_binds: *public_binds
728 - name: nova_metadata
730 net_binds: *public_binds
731 - name: nova_novncproxy
733 net_binds: *public_binds
736 net_binds: *public_binds
737 options: # overwrite options as ceil needs auth for http req
738 - name: swift_proxy_server
740 net_binds: *public_binds
742 - option httpchk GET /info
750 ControllerDeployment:
751 type: OS::TripleO::SoftwareDeployment
753 signal_transport: NO_SIGNAL
754 config: {get_resource: ControllerConfig}
755 server: {get_resource: Controller}
757 bootstack_nodeid: {get_attr: [Controller, name]}
758 controller_host: {get_attr: [Controller, networks, ctlplane, 0]}
759 controller_virtual_ip: {get_param: VirtualIP}
760 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
761 heat.watch_server_url:
765 - {get_param: VirtualIP}
767 heat.metadata_server_url:
771 - {get_param: VirtualIP}
773 heat.waitcondition_server_url:
777 - {get_param: VirtualIP}
778 - ':8000/v1/waitcondition'
779 admin_password: {get_param: AdminPassword}
780 admin_token: {get_param: AdminToken}
781 neutron_public_interface_ip: {get_param: NeutronPublicInterfaceIP}
782 debug: {get_param: Debug}
783 cinder_lvm_loop_device_size: {get_param: CinderLVMLoopDeviceSize}
784 cinder_password: {get_param: CinderPassword}
785 cinder_iscsi_helper: {get_param: CinderISCSIHelper}
789 - - 'mysql://cinder:'
790 - {get_param: CinderPassword}
792 - {get_param: VirtualIP}
794 glance_port: {get_param: GlancePort}
795 glance_protocol: {get_param: GlanceProtocol}
796 glance_password: {get_param: GlancePassword}
797 glance_notifier_strategy: {get_param: GlanceNotifierStrategy}
798 glance_log_file: {get_param: GlanceLogFile}
802 - - 'mysql://glance:'
803 - {get_param: GlancePassword}
805 - {get_param: VirtualIP}
807 heat_password: {get_param: HeatPassword}
808 heat_stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword}
809 heat_auth_encryption_key: {get_param: HeatAuthEncryptionKey}
814 - {get_param: HeatPassword}
816 - {get_param: VirtualIP}
818 keystone_ca_certificate: {get_param: KeystoneCACertificate}
819 keystone_signing_key: {get_param: KeystoneSigningKey}
820 keystone_signing_certificate: {get_param: KeystoneSigningCertificate}
821 keystone_ssl_certificate: {get_param: KeystoneSSLCertificate}
822 keystone_ssl_certificate_key: {get_param: KeystoneSSLCertificateKey}
826 - - 'mysql://keystone:'
827 - {get_param: AdminToken}
829 - {get_param: VirtualIP}
831 mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
832 mysql_root_password: {get_param: MysqlRootPassword}
835 template: tripleo-CLUSTER
837 CLUSTER: {get_param: MysqlClusterUniquePart}
838 neutron_flat_networks: {get_param: NeutronFlatNetworks}
839 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
840 neutron_agent_mode: {get_param: NeutronAgentMode}
841 neutron_router_distributed: {get_param: NeutronDVR}
842 neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
843 neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
844 neutron_l3_ha: {get_param: NeutronL3HA}
845 neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
846 neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
847 neutron_public_interface: {get_param: NeutronPublicInterface}
848 neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
849 neutron_public_interface_default_route: {get_param: NeutronPublicInterfaceDefaultRoute}
850 neutron_public_interface_tag: {get_param: NeutronPublicInterfaceTag}
851 neutron_tenant_network_type: {get_param: NeutronNetworkType}
852 neutron_tunnel_types: {get_param: NeutronTunnelTypes}
853 neutron_password: {get_param: NeutronPassword}
854 neutron_dnsmasq_options: {get_param: NeutronDnsmasqOptions}
858 - - 'mysql://neutron:'
859 - {get_param: NeutronPassword}
861 - {get_param: VirtualIP}
862 - '/ovs_neutron?charset=utf8'
863 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
864 ceilometer_password: {get_param: CeilometerPassword}
868 - - 'mysql://ceilometer:'
869 - {get_param: CeilometerPassword}
871 - {get_param: VirtualIP}
873 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
874 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
875 nova_password: {get_param: NovaPassword}
880 - {get_param: NovaPassword}
882 - {get_param: VirtualIP}
884 rabbit_username: {get_param: RabbitUserName}
885 rabbit_password: {get_param: RabbitPassword}
886 rabbit_cookie: {get_param: RabbitCookie}
887 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
888 rabbit_client_port: {get_param: RabbitClientPort}
889 ntp_server: {get_param: NtpServer}
890 control_virtual_interface: {get_param: ControlVirtualInterface}
891 public_virtual_interface: {get_param: PublicVirtualInterface}
892 public_virtual_ip: {get_param: PublicVirtualIP}
895 type: OS::Heat::StructuredConfig
897 group: os-apply-config
900 ca_certificate: {get_input: ssl_ca_certificate}
902 cert: {get_input: ssl_certificate}
903 key: {get_input: ssl_key}
904 cacert: {get_input: ssl_ca_certificate}
909 connect_host: {get_input: controller_host}
913 connect_host: {get_input: controller_host}
917 connect_host: {get_input: controller_host}
921 connect_host: {get_input: controller_host}
925 connect_host: {get_input: controller_host}
926 - name: 'swift-proxy'
929 connect_host: {get_input: controller_host}
933 connect_host: {get_input: controller_host}
937 connect_host: {get_input: controller_host}
939 ControllerSSLDeployment:
940 type: OS::Heat::StructuredDeployment
942 config: {get_resource: SSLConfig}
943 server: {get_resource: Controller}
944 signal_transport: NO_SIGNAL
946 controller_host: {get_attr: [Controller, networks, ctlplane, 0]}
947 ssl_certificate: {get_param: SSLCertificate}
948 ssl_key: {get_param: SSLKey}
949 ssl_ca_certificate: {get_param: SSLCACertificate}
951 ControllerPassthroughDeployment:
952 type: OS::Heat::StructuredDeployment
954 config: {get_resource: ControllerPassthroughConfig}
955 server: {get_resource: Controller}
956 signal_transport: NO_SIGNAL
958 passthrough_config: {get_param: ExtraConfig}
960 ControllerPassthroughSpecificDeployment:
961 depends_on: [ControllerPassthroughDeployment]
962 type: OS::Heat::StructuredDeployment
964 config: {get_resource: ControllerPassthroughConfigSpecific}
965 server: {get_resource: Controller}
966 signal_transport: NO_SIGNAL
968 passthrough_config_specific: {get_param: ControllerExtraConfig}
971 type: OS::Heat::StructuredConfig
973 group: os-apply-config
976 hash: { get_input: swift_hash_suffix }
977 part-power: { get_input: swift_part_power }
978 mount-check: { get_input: swift_mount_check }
979 min-part-hours: { get_input: swift_min_part_hours }
980 replicas: {get_input: swift_replicas }
981 service-password: { get_input: swift_password }
984 type: OS::Heat::StructuredDeployment
986 server: {get_resource: Controller}
987 config: {get_resource: SwiftConfig}
988 signal_transport: NO_SIGNAL
990 swift_hash_suffix: {get_param: SwiftHashSuffix}
991 swift_mount_check: {get_param: SwiftMountCheck}
992 swift_password: {get_param: SwiftPassword}
993 swift_min_part_hours: {get_param: SwiftMinPartHours}
994 swift_part_power: {get_param: SwiftPartPower}
995 swift_replicas: { get_param: SwiftReplicas}
999 description: IP address of the server in the ctlplane network
1000 value: {get_attr: [Controller, networks, ctlplane, 0]}
1001 external_ip_address:
1002 description: IP address of the server in the external network
1003 value: {get_attr: [ExternalPort, ip_address]}
1004 internal_api_ip_address:
1005 description: IP address of the server in the internal_api network
1006 value: {get_attr: [InternalApiPort, ip_address]}
1008 description: IP address of the server in the storage network
1009 value: {get_attr: [StoragePort, ip_address]}
1010 storage_mgmt_ip_address:
1011 description: IP address of the server in the storage_mgmt network
1012 value: {get_attr: [StorageMgmtPort, ip_address]}
1014 description: IP address of the server in the tenant network
1015 value: {get_attr: [TenantPort, ip_address]}
1017 description: Hostname of the server
1018 value: {get_attr: [Controller, name]}
1021 Node object in the format {ip: ..., name: ...} format that the corosync
1024 ip: {get_attr: [Controller, networks, ctlplane, 0]}
1025 name: {get_attr: [Controller, name]}
1028 Server's IP address and hostname in the /etc/hosts format
1031 template: IP HOST CLOUDNAME
1033 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1034 HOST: {get_attr: [Controller, name]}
1035 CLOUDNAME: {get_param: CloudName}
1036 nova_server_resource:
1037 description: Heat resource handle for the Nova compute server
1039 {get_resource: Controller}
1041 description: Swift device formatted for swift-ring-builder
1044 template: 'r1z1-IP:%PORT%/d1'
1046 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1047 swift_proxy_memcache:
1048 description: Swift proxy-memcache value
1051 template: "IP:11211"
1053 IP: {get_attr: [Controller, networks, ctlplane, 0]}