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 CinderEnableNfsBackend:
33 description: Whether to enable or not the NFS backend for Cinder
35 CinderEnableIscsiBackend:
37 description: Whether to enable or not the Iscsi backend for Cinder
39 CinderEnableRbdBackend:
41 description: Whether to enable or not the Rbd backend for Cinder
45 description: The iSCSI helper to use with cinder.
47 CinderLVMLoopDeviceSize:
49 description: The size of the loopback file used by the cinder LVM driver.
51 CinderNfsMountOptions:
54 Mount options for NFS mounts used by Cinder NFS backend. Effective
55 when CinderEnableNfsBackend is true.
60 NFS servers used by Cinder NFS backend. Effective when
61 CinderEnableNfsBackend is true.
62 type: comma_delimited_list
65 description: The password for the cinder service and db account, used by cinder-api.
70 description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
72 ControllerExtraConfig:
75 Controller specific configuration to inject into the cluster. Same
76 structure as ExtraConfig.
78 ControlVirtualInterface:
80 description: Interface where virtual ip will be assigned.
84 description: Set to True to enable debugging on all services.
88 description: Whether to enable fencing in Pacemaker or not.
92 description: Whether to use Galera instead of regular MariaDB.
96 description: Whether to deploy Ceph Storage (OSD) on the Controller
100 description: Whether to enable Swift Storage on the Controller
105 Additional configuration to inject into the cluster. The JSON should have
106 the following structure:
109 [{"section": "SECTIONNAME",
111 [{"option": "OPTIONNAME",
122 [{"section": "default",
124 [{"option": "compute_manager",
125 "value": "ironic.nova.compute.manager.ClusterComputeManager"
131 [{"option": "driver",
132 "value": "nova.cells.rpc_driver.CellsRPCDriver"
143 Pacemaker fencing configuration. The JSON should have
144 the following structure:
148 "agent": "AGENT_NAME",
149 "host_mac": "HOST_MAC_ADDRESS",
150 "params": {"PARAM_NAME": "PARAM_VALUE"}
158 "agent": "fence_xvm",
159 "host_mac": "52:54:00:aa:bb:cc",
161 "multicast_address": "225.0.0.12",
162 "port": "baremetal_0",
164 "manage_key_file": true,
165 "key_file": "/etc/fence_xvm.key",
166 "key_file_password": "abcdef"
173 description: Flavor for control nodes to request when deploying.
176 - custom_constraint: nova.flavor
177 GlanceNotifierStrategy:
178 description: Strategy to use for Glance notification queue
182 description: The filepath of the file to use for logging messages from Glance.
187 description: The password for the glance service and db account, used by the glance services.
192 description: Glance port.
196 description: Protocol to use when connecting to glance, set to https for SSL.
200 description: The short name of the Glance backend to use. Should be one
201 of swift, rbd, or file
204 - allowed_values: ['swift', 'file', 'rbd']
207 description: The password for the Heat service and db account, used by the Heat services.
210 HeatStackDomainAdminPassword:
211 description: Password for heat_domain_admin user.
215 HeatAuthEncryptionKey:
216 description: Auth encryption key for heat-engine
219 description: Secret key for Django
223 default: overcloud-control
225 - custom_constraint: glance.image
227 default: 'REBUILD_PRESERVE_EPHEMERAL'
228 description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
232 description: Name of an existing EC2 KeyPair to enable SSH access to the instances
235 - custom_constraint: nova.keypair
236 KeystoneCACertificate:
238 description: Keystone self-signed certificate authority certificate.
240 KeystoneSigningCertificate:
242 description: Keystone certificate for verifying token validity.
246 description: Keystone key for signing tokens.
249 KeystoneSSLCertificate:
251 description: Keystone certificate for verifying token validity.
253 KeystoneSSLCertificateKey:
255 description: Keystone key for signing tokens.
258 MysqlClusterUniquePart:
259 description: A unique identifier of the MySQL cluster the controller is in.
261 default: 'unset' # Has to be here because of the ignored empty value bug
262 # Drop the validation: https://bugs.launchpad.net/tripleo/+bug/1405446
264 # - length: {min: 4, max: 10}
265 MysqlInnodbBufferPoolSize:
267 Specifies the size of the buffer pool in megabytes. Setting to
268 zero should be interpreted as "no value" and will defer to the
275 default: '' # Has to be here because of the ignored empty value bug
276 NeutronBridgeMappings:
278 The OVS logical->physical bridge mappings to use. See the Neutron
279 documentation for details. Defaults to mapping br-ex - the external
280 bridge on hosts - to a physical name 'datacentre' which can be used
281 to create provider networks (and we use this for the default floating
282 network) - if changing this either use different post-install network
283 scripts or be sure to keep 'datacentre' as a mapping network name.
285 default: "datacentre:br-ex"
286 NeutronDnsmasqOptions:
287 default: 'dhcp-option-force=26,1400'
288 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.
292 description: Agent mode for the neutron-l3-agent on the controller hosts
296 description: Whether to configure Neutron Distributed Virtual Routers
298 NeutronMetadataProxySharedSecret:
300 description: Shared secret to prevent spoofing
302 NeutronMechanismDrivers:
303 default: 'openvswitch'
305 The mechanism drivers for the Neutron tenant network. To specify multiple
306 values, use a comma separated string, like so: 'openvswitch,l2_population'
308 NeutronAllowL3AgentFailover:
310 description: Allow automatic l3-agent failover
314 description: Whether to enable l3-agent HA
316 NeutronEnableTunnelling:
321 default: 'datacentre'
322 description: If set, flat networks to configure in neutron plugins.
325 description: The tenant network type for Neutron, either gre or vxlan.
327 NeutronNetworkVLANRanges:
328 default: 'datacentre'
330 The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
331 Neutron documentation for permitted values. Defaults to permitting any
332 VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
333 type: comma_delimited_list
336 description: The password for the neutron service and db account, used by neutron agents.
339 NeutronPublicInterface:
341 description: What interface to bridge onto br-ex for network nodes.
343 NeutronPublicInterfaceTag:
346 VLAN tag for creating a public VLAN. The tag will be used to
347 create an access port on the exterior bridge for each control plane node,
348 and that port will be given the IP address returned by neutron from the
349 public network. Set CONTROLEXTRA=overcloud-vlan-port.yaml when compiling
350 overcloud.yaml to include the deployment of VLAN ports to the control
353 NeutronPublicInterfaceDefaultRoute:
355 description: A custom default route for the NeutronPublicInterface.
357 NeutronPublicInterfaceIP:
359 description: A custom IP address to put onto the NeutronPublicInterface.
361 NeutronPublicInterfaceRawDevice:
363 description: If set, the public interface is a vlan with this device as the raw device.
368 The tunnel types for the Neutron tenant network. To specify multiple
369 values, use a comma separated string, like so: 'gre,vxlan'
373 description: The password for the nova service and db account, used by nova-api.
381 description: The password for the 'pcsd' user.
382 PublicVirtualInterface:
385 Specifies the interface where the public-facing virtual ip will be assigned.
386 This should be int_public when a VLAN is being used.
390 default: '' # Has to be here because of the ignored empty value bug
393 default: '' # Has to be here because of the ignored empty value bug
397 description: The password for RabbitMQ
402 description: The username for RabbitMQ
407 Rabbit client subscriber parameter to specify
408 an SSL connection to the RabbitMQ host.
412 description: Set rabbit subscriber port, change this if using SSL
416 default: '' # Has to be here because of the ignored empty value bug
417 SnmpdReadonlyUserName:
418 default: ro_snmp_user
419 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
421 SnmpdReadonlyUserPassword:
423 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
428 description: If set, the contents of an SSL certificate authority file.
432 description: If set, the contents of an SSL certificate .crt file for encrypting SSL endpoints.
437 description: If set, the contents of an SSL certificate .key file for encrypting SSL endpoints.
442 description: A random string to be used as a salt when hashing to determine mappings
448 description: Value of mount_check in Swift account/container/object -server.conf
453 description: The minimum time (in hours) before a partition in a ring can be moved following a rebalance.
456 description: Partition Power to use when building Swift rings
460 description: The password for the swift service account, used by the swift proxy
467 description: How many replicas to use in the swift rings.
470 default: '' # Has to be here because of the ignored empty value bug
480 KeystonePublicApiVirtualIP:
488 description: Mapping of service_name -> network name. Typically set
489 via parameter_defaults in the resource registry.
495 Setting to a previously unused value during stack-update will trigger
496 package update on all nodes
499 default: '' # Defaults to Heat created hostname
504 type: OS::Nova::Server
506 image: {get_param: Image}
507 image_update_policy: {get_param: ImageUpdatePolicy}
508 flavor: {get_param: Flavor}
509 key_name: {get_param: KeyName}
512 user_data_format: SOFTWARE_CONFIG
513 user_data: {get_resource: NodeUserData}
514 name: {get_param: Hostname}
517 type: OS::TripleO::NodeUserData
520 type: OS::TripleO::Controller::Ports::ExternalPort
522 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
525 type: OS::TripleO::Controller::Ports::InternalApiPort
527 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
530 type: OS::TripleO::Controller::Ports::StoragePort
532 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
535 type: OS::TripleO::Controller::Ports::StorageMgmtPort
537 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
540 type: OS::TripleO::Controller::Ports::TenantPort
542 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
545 type: OS::TripleO::Controller::Net::SoftwareConfig
547 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
548 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
549 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
550 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
551 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
554 type: OS::TripleO::SoftwareDeployment
556 signal_transport: NO_SIGNAL
557 config: {get_resource: NetworkConfig}
558 server: {get_resource: Controller}
561 interface_name: {get_param: NeutronPublicInterface}
563 ControllerPassthroughConfig:
564 type: OS::Heat::StructuredConfig
566 group: os-apply-config
567 config: {get_input: passthrough_config}
569 ControllerPassthroughConfigSpecific:
570 type: OS::Heat::StructuredConfig
572 group: os-apply-config
573 config: {get_input: passthrough_config_specific}
576 type: OS::Heat::StructuredConfig
578 group: os-apply-config
580 admin-password: {get_input: admin_password}
581 admin-token: {get_input: admin_token}
583 public_interface_ip: {get_input: neutron_public_interface_ip}
585 nodeid: {get_input: bootstack_nodeid}
587 db: {get_input: cinder_dsn}
588 debug: {get_input: debug}
589 volume_size_mb: {get_input: cinder_lvm_loop_device_size}
590 service-password: {get_input: cinder_password}
591 iscsi-helper: {get_input: CinderISCSIHelper}
592 controller-address: {get_input: controller_host}
594 bindnetaddr: {get_input: controller_host}
597 stonith_enabled : false
599 quorum_policy : ignore
603 host: {get_input: controller_virtual_ip}
605 db: {get_input: glance_dsn}
606 debug: {get_input: debug}
607 host: {get_input: controller_virtual_ip}
608 port: {get_input: glance_port}
609 protocol: {get_input: glance_protocol}
610 service-password: {get_input: glance_password}
611 swift-store-user: service:glance
612 swift-store-key: {get_input: glance_password}
613 notifier-strategy: {get_input: glance_notifier_strategy}
614 log-file: {get_input: glance_log_file}
616 admin_password: {get_input: heat_password}
617 admin_tenant_name: service
619 auth_encryption_key: {get_input: heat_auth_encryption_key}
620 db: {get_input: heat_dsn}
621 debug: {get_input: debug}
622 stack_domain_admin_password: {get_input: heat_stack_domain_admin_password}
623 watch_server_url: {get_input: heat.watch_server_url}
624 metadata_server_url: {get_input: heat.metadata_server_url}
625 waitcondition_server_url: {get_input: heat.waitcondition_server_url}
627 db: {get_input: keystone_dsn}
628 debug: {get_input: debug}
629 host: {get_input: controller_virtual_ip}
630 ca_certificate: {get_input: keystone_ca_certificate}
631 signing_key: {get_input: keystone_signing_key}
632 signing_certificate: {get_input: keystone_signing_certificate}
634 certificate: {get_input: keystone_ssl_certificate}
635 certificate_key: {get_input: keystone_ssl_certificate_key}
637 innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
639 root-password: {get_input: mysql_root_password}
640 cluster_name: {get_input: mysql_cluster_name}
642 debug: {get_input: debug}
643 flat-networks: {get_input: neutron_flat_networks}
644 host: {get_input: controller_virtual_ip}
645 metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
646 agent_mode: {get_input: neutron_agent_mode}
647 router_distributed: {get_input: neutron_router_distributed}
648 mechanism_drivers: {get_input: neutron_mechanism_drivers}
649 allow_automatic_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
650 l3_ha: {get_input: neutron_l3_ha}
652 enable_tunneling: {get_input: neutron_enable_tunneling}
653 local_ip: {get_input: controller_host}
654 network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
655 bridge_mappings: {get_input: neutron_bridge_mappings}
656 public_interface: {get_input: neutron_public_interface}
657 public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
658 public_interface_route: {get_input: neutron_public_interface_default_route}
659 public_interface_tag: {get_input: neutron_public_interface_tag}
660 physical_bridge: br-ex
661 tenant_network_type: {get_input: neutron_tenant_network_type}
662 tunnel_types: {get_input: neutron_tunnel_types}
663 ovs_db: {get_input: neutron_dsn}
664 service-password: {get_input: neutron_password}
665 dnsmasq-options: {get_input: neutron_dnsmasq_options}
667 db: {get_input: ceilometer_dsn}
668 debug: {get_input: debug}
669 metering_secret: {get_input: ceilometer_metering_secret}
670 service-password: {get_input: ceilometer_password}
672 export_MIB: UCD-SNMP-MIB
673 readonly_user_name: {get_input: snmpd_readonly_user_name}
674 readonly_user_password: {get_input: snmpd_readonly_user_password}
676 compute_driver: libvirt.LibvirtDriver
677 db: {get_input: nova_dsn}
678 default_floating_pool:
680 host: {get_input: controller_virtual_ip}
682 service-password: {get_input: nova_password}
684 host: {get_input: controller_virtual_ip}
685 username: {get_input: rabbit_username}
686 password: {get_input: rabbit_password}
687 cookie: {get_input: rabbit_cookie}
688 rabbit_client_use_ssl: {get_input: rabbit_client_use_ssl}
689 rabbit_port: {get_input: rabbit_client_port}
692 - {server: {get_input: ntp_server}}
695 - vrrp_instance_name: VI_CONTROL
696 virtual_router_id: 51
697 keepalive_interface: {get_input: control_virtual_interface}
700 - ip: {get_input: controller_virtual_ip}
701 interface: {get_input: control_virtual_interface}
702 - vrrp_instance_name: VI_PUBLIC
703 virtual_router_id: 52
704 keepalive_interface: {get_input: public_virtual_interface}
707 - ip: {get_input: public_virtual_ip}
708 interface: {get_input: public_virtual_interface}
715 keepalive_interface: {get_input: public_virtual_interface}
719 ip: {get_input: controller_virtual_ip}
720 interface: {get_input: control_virtual_interface}
722 ip: {get_input: public_virtual_ip}
723 interface: {get_input: public_virtual_interface}
726 - ip: {get_input: controller_virtual_ip}
728 - option httpchk GET /
730 - name: keystone_admin
732 net_binds: &public_binds
733 - ip: {get_input: controller_virtual_ip}
734 - ip: {get_input: public_virtual_ip}
735 - name: keystone_public
737 net_binds: *public_binds
740 net_binds: *public_binds
743 net_binds: *public_binds
746 net_binds: *public_binds
749 net_binds: *public_binds
750 - name: glance_registry
752 net_binds: *public_binds
753 options: # overwrite options as glace_reg needs auth for http req
756 net_binds: *public_binds
757 - name: heat_cloudwatch
759 net_binds: *public_binds
762 net_binds: *public_binds
774 net_binds: *public_binds
775 - name: nova_metadata
777 net_binds: *public_binds
778 - name: nova_novncproxy
780 net_binds: *public_binds
783 net_binds: *public_binds
784 options: # overwrite options as ceil needs auth for http req
785 - name: swift_proxy_server
787 net_binds: *public_binds
789 - option httpchk GET /info
797 ControllerDeployment:
798 type: OS::TripleO::SoftwareDeployment
800 signal_transport: NO_SIGNAL
801 config: {get_resource: ControllerConfig}
802 server: {get_resource: Controller}
804 bootstack_nodeid: {get_attr: [Controller, name]}
805 controller_host: {get_attr: [Controller, networks, ctlplane, 0]}
806 controller_virtual_ip: {get_param: VirtualIP}
807 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
808 heat.watch_server_url:
812 - {get_param: VirtualIP}
814 heat.metadata_server_url:
818 - {get_param: VirtualIP}
820 heat.waitcondition_server_url:
824 - {get_param: VirtualIP}
825 - ':8000/v1/waitcondition'
826 admin_password: {get_param: AdminPassword}
827 admin_token: {get_param: AdminToken}
828 neutron_public_interface_ip: {get_param: NeutronPublicInterfaceIP}
829 debug: {get_param: Debug}
830 cinder_lvm_loop_device_size: {get_param: CinderLVMLoopDeviceSize}
831 cinder_password: {get_param: CinderPassword}
832 cinder_iscsi_helper: {get_param: CinderISCSIHelper}
836 - - 'mysql://cinder:'
837 - {get_param: CinderPassword}
839 - {get_param: VirtualIP}
841 glance_port: {get_param: GlancePort}
842 glance_protocol: {get_param: GlanceProtocol}
843 glance_password: {get_param: GlancePassword}
844 glance_notifier_strategy: {get_param: GlanceNotifierStrategy}
845 glance_log_file: {get_param: GlanceLogFile}
849 - - 'mysql://glance:'
850 - {get_param: GlancePassword}
852 - {get_param: VirtualIP}
854 heat_password: {get_param: HeatPassword}
855 heat_stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword}
856 heat_auth_encryption_key: {get_param: HeatAuthEncryptionKey}
861 - {get_param: HeatPassword}
863 - {get_param: VirtualIP}
865 keystone_ca_certificate: {get_param: KeystoneCACertificate}
866 keystone_signing_key: {get_param: KeystoneSigningKey}
867 keystone_signing_certificate: {get_param: KeystoneSigningCertificate}
868 keystone_ssl_certificate: {get_param: KeystoneSSLCertificate}
869 keystone_ssl_certificate_key: {get_param: KeystoneSSLCertificateKey}
873 - - 'mysql://keystone:'
874 - {get_param: AdminToken}
876 - {get_param: VirtualIP}
878 mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
879 mysql_root_password: {get_param: MysqlRootPassword}
882 template: tripleo-CLUSTER
884 CLUSTER: {get_param: MysqlClusterUniquePart}
885 neutron_flat_networks: {get_param: NeutronFlatNetworks}
886 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
887 neutron_agent_mode: {get_param: NeutronAgentMode}
888 neutron_router_distributed: {get_param: NeutronDVR}
889 neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
890 neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
891 neutron_l3_ha: {get_param: NeutronL3HA}
892 neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
893 neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
894 neutron_public_interface: {get_param: NeutronPublicInterface}
895 neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
896 neutron_public_interface_default_route: {get_param: NeutronPublicInterfaceDefaultRoute}
897 neutron_public_interface_tag: {get_param: NeutronPublicInterfaceTag}
898 neutron_tenant_network_type: {get_param: NeutronNetworkType}
899 neutron_tunnel_types: {get_param: NeutronTunnelTypes}
900 neutron_password: {get_param: NeutronPassword}
901 neutron_dnsmasq_options: {get_param: NeutronDnsmasqOptions}
905 - - 'mysql://neutron:'
906 - {get_param: NeutronPassword}
908 - {get_param: VirtualIP}
909 - '/ovs_neutron?charset=utf8'
910 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
911 ceilometer_password: {get_param: CeilometerPassword}
915 - - 'mysql://ceilometer:'
916 - {get_param: CeilometerPassword}
918 - {get_param: VirtualIP}
920 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
921 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
922 nova_password: {get_param: NovaPassword}
927 - {get_param: NovaPassword}
929 - {get_param: VirtualIP}
931 rabbit_username: {get_param: RabbitUserName}
932 rabbit_password: {get_param: RabbitPassword}
933 rabbit_cookie: {get_param: RabbitCookie}
934 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
935 rabbit_client_port: {get_param: RabbitClientPort}
936 ntp_server: {get_param: NtpServer}
937 control_virtual_interface: {get_param: ControlVirtualInterface}
938 public_virtual_interface: {get_param: PublicVirtualInterface}
939 public_virtual_ip: {get_param: PublicVirtualIP}
942 type: OS::Heat::StructuredConfig
944 group: os-apply-config
947 ca_certificate: {get_input: ssl_ca_certificate}
949 cert: {get_input: ssl_certificate}
950 key: {get_input: ssl_key}
951 cacert: {get_input: ssl_ca_certificate}
956 connect_host: {get_input: controller_host}
960 connect_host: {get_input: controller_host}
964 connect_host: {get_input: controller_host}
968 connect_host: {get_input: controller_host}
972 connect_host: {get_input: controller_host}
973 - name: 'swift-proxy'
976 connect_host: {get_input: controller_host}
980 connect_host: {get_input: controller_host}
984 connect_host: {get_input: controller_host}
986 ControllerSSLDeployment:
987 type: OS::Heat::StructuredDeployment
989 config: {get_resource: SSLConfig}
990 server: {get_resource: Controller}
991 signal_transport: NO_SIGNAL
993 controller_host: {get_attr: [Controller, networks, ctlplane, 0]}
994 ssl_certificate: {get_param: SSLCertificate}
995 ssl_key: {get_param: SSLKey}
996 ssl_ca_certificate: {get_param: SSLCACertificate}
998 ControllerPassthroughDeployment:
999 type: OS::Heat::StructuredDeployment
1001 config: {get_resource: ControllerPassthroughConfig}
1002 server: {get_resource: Controller}
1003 signal_transport: NO_SIGNAL
1005 passthrough_config: {get_param: ExtraConfig}
1007 ControllerPassthroughSpecificDeployment:
1008 depends_on: [ControllerPassthroughDeployment]
1009 type: OS::Heat::StructuredDeployment
1011 config: {get_resource: ControllerPassthroughConfigSpecific}
1012 server: {get_resource: Controller}
1013 signal_transport: NO_SIGNAL
1015 passthrough_config_specific: {get_param: ControllerExtraConfig}
1018 type: OS::Heat::StructuredConfig
1020 group: os-apply-config
1023 hash: { get_input: swift_hash_suffix }
1024 part-power: { get_input: swift_part_power }
1025 mount-check: { get_input: swift_mount_check }
1026 min-part-hours: { get_input: swift_min_part_hours }
1027 replicas: {get_input: swift_replicas }
1028 service-password: { get_input: swift_password }
1031 type: OS::Heat::StructuredDeployment
1033 server: {get_resource: Controller}
1034 config: {get_resource: SwiftConfig}
1035 signal_transport: NO_SIGNAL
1037 swift_hash_suffix: {get_param: SwiftHashSuffix}
1038 swift_mount_check: {get_param: SwiftMountCheck}
1039 swift_password: {get_param: SwiftPassword}
1040 swift_min_part_hours: {get_param: SwiftMinPartHours}
1041 swift_part_power: {get_param: SwiftPartPower}
1042 swift_replicas: { get_param: SwiftReplicas}
1046 description: IP address of the server in the ctlplane network
1047 value: {get_attr: [Controller, networks, ctlplane, 0]}
1048 external_ip_address:
1049 description: IP address of the server in the external network
1050 value: {get_attr: [ExternalPort, ip_address]}
1051 internal_api_ip_address:
1052 description: IP address of the server in the internal_api network
1053 value: {get_attr: [InternalApiPort, ip_address]}
1055 description: IP address of the server in the storage network
1056 value: {get_attr: [StoragePort, ip_address]}
1057 storage_mgmt_ip_address:
1058 description: IP address of the server in the storage_mgmt network
1059 value: {get_attr: [StorageMgmtPort, ip_address]}
1061 description: IP address of the server in the tenant network
1062 value: {get_attr: [TenantPort, ip_address]}
1064 description: Hostname of the server
1065 value: {get_attr: [Controller, name]}
1068 Node object in the format {ip: ..., name: ...} format that the corosync
1071 ip: {get_attr: [Controller, networks, ctlplane, 0]}
1072 name: {get_attr: [Controller, name]}
1075 Server's IP address and hostname in the /etc/hosts format
1078 template: IP HOST CLOUDNAME
1080 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1081 HOST: {get_attr: [Controller, name]}
1082 CLOUDNAME: {get_param: CloudName}
1083 nova_server_resource:
1084 description: Heat resource handle for the Nova compute server
1086 {get_resource: Controller}
1088 description: Swift device formatted for swift-ring-builder
1091 template: 'r1z1-IP:%PORT%/d1'
1093 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1094 swift_proxy_memcache:
1095 description: Swift proxy-memcache value
1098 template: "IP:11211"
1100 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1102 description: identifier which changes if the node configuration may need re-applying
1103 value: "None - NO_SIGNAL"