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 enable fencing in Pacemaker or not.
76 description: Whether to use Galera instead of regular MariaDB.
80 description: Whether to deploy Ceph Storage (OSD) on the Controller
84 description: Whether to enable Swift Storage on the Controller
89 Additional configuration to inject into the cluster. The JSON should have
90 the following structure:
93 [{"section": "SECTIONNAME",
95 [{"option": "OPTIONNAME",
106 [{"section": "default",
108 [{"option": "compute_manager",
109 "value": "ironic.nova.compute.manager.ClusterComputeManager"
115 [{"option": "driver",
116 "value": "nova.cells.rpc_driver.CellsRPCDriver"
127 Pacemaker fencing configuration. The JSON should have
128 the following structure:
132 "agent": "AGENT_NAME",
133 "host_mac": "HOST_MAC_ADDRESS",
134 "params": {"PARAM_NAME": "PARAM_VALUE"}
142 "agent": "fence_xvm",
143 "host_mac": "52:54:00:aa:bb:cc",
145 "multicast_address": "225.0.0.12",
146 "port": "baremetal_0",
148 "manage_key_file": true,
149 "key_file": "/etc/fence_xvm.key",
150 "key_file_password": "abcdef"
157 description: Flavor for control nodes to request when deploying.
160 - custom_constraint: nova.flavor
161 GlanceNotifierStrategy:
162 description: Strategy to use for Glance notification queue
166 description: The filepath of the file to use for logging messages from Glance.
171 description: The password for the glance service and db account, used by the glance services.
176 description: Glance port.
180 description: Protocol to use when connecting to glance, set to https for SSL.
184 description: The short name of the Glance backend to use. Should be one
185 of swift, rbd, or file
188 - allowed_values: ['swift', 'file', 'rbd']
191 description: The password for the Heat service and db account, used by the Heat services.
194 HeatStackDomainAdminPassword:
195 description: Password for heat_domain_admin user.
199 HeatAuthEncryptionKey:
200 description: Auth encryption key for heat-engine
203 description: Secret key for Django
207 default: overcloud-control
209 - custom_constraint: glance.image
211 default: 'REBUILD_PRESERVE_EPHEMERAL'
212 description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
216 description: Name of an existing EC2 KeyPair to enable SSH access to the instances
219 - custom_constraint: nova.keypair
220 KeystoneCACertificate:
222 description: Keystone self-signed certificate authority certificate.
224 KeystoneSigningCertificate:
226 description: Keystone certificate for verifying token validity.
230 description: Keystone key for signing tokens.
233 KeystoneSSLCertificate:
235 description: Keystone certificate for verifying token validity.
237 KeystoneSSLCertificateKey:
239 description: Keystone key for signing tokens.
242 MysqlClusterUniquePart:
243 description: A unique identifier of the MySQL cluster the controller is in.
245 default: 'unset' # Has to be here because of the ignored empty value bug
246 # Drop the validation: https://bugs.launchpad.net/tripleo/+bug/1405446
248 # - length: {min: 4, max: 10}
249 MysqlInnodbBufferPoolSize:
251 Specifies the size of the buffer pool in megabytes. Setting to
252 zero should be interpreted as "no value" and will defer to the
257 description: Configures MySQL max_connections config setting
263 default: '' # Has to be here because of the ignored empty value bug
264 NeutronExternalNetworkBridge:
265 description: Name of bridge used for external network traffic.
268 NeutronBridgeMappings:
270 The OVS logical->physical bridge mappings to use. See the Neutron
271 documentation for details. Defaults to mapping br-ex - the external
272 bridge on hosts - to a physical name 'datacentre' which can be used
273 to create provider networks (and we use this for the default floating
274 network) - if changing this either use different post-install network
275 scripts or be sure to keep 'datacentre' as a mapping network name.
277 default: "datacentre:br-ex"
278 NeutronDnsmasqOptions:
279 default: 'dhcp-option-force=26,1400'
280 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.
284 description: Agent mode for the neutron-l3-agent on the controller hosts
288 description: Whether to configure Neutron Distributed Virtual Routers
290 NeutronMetadataProxySharedSecret:
292 description: Shared secret to prevent spoofing
294 NeutronMechanismDrivers:
295 default: 'openvswitch'
297 The mechanism drivers for the Neutron tenant network. To specify multiple
298 values, use a comma separated string, like so: 'openvswitch,l2_population'
300 NeutronAllowL3AgentFailover:
302 description: Allow automatic l3-agent failover
306 description: Whether to enable l3-agent HA
308 NeutronDhcpAgentsPerNetwork:
311 description: The number of neutron dhcp agents to schedule per network
312 NeutronEnableTunnelling:
317 default: 'datacentre'
318 description: If set, flat networks to configure in neutron plugins.
321 description: The tenant network type for Neutron, either gre or vxlan.
323 NeutronNetworkVLANRanges:
324 default: 'datacentre'
326 The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
327 Neutron documentation for permitted values. Defaults to permitting any
328 VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
329 type: comma_delimited_list
332 description: The password for the neutron service and db account, used by neutron agents.
335 NeutronPublicInterface:
337 description: What interface to bridge onto br-ex for network nodes.
339 NeutronPublicInterfaceTag:
342 VLAN tag for creating a public VLAN. The tag will be used to
343 create an access port on the exterior bridge for each control plane node,
344 and that port will be given the IP address returned by neutron from the
345 public network. Set CONTROLEXTRA=overcloud-vlan-port.yaml when compiling
346 overcloud.yaml to include the deployment of VLAN ports to the control
349 NeutronPublicInterfaceDefaultRoute:
351 description: A custom default route for the NeutronPublicInterface.
353 NeutronPublicInterfaceIP:
355 description: A custom IP address to put onto the NeutronPublicInterface.
357 NeutronPublicInterfaceRawDevice:
359 description: If set, the public interface is a vlan with this device as the raw device.
364 The tunnel types for the Neutron tenant network. To specify multiple
365 values, use a comma separated string, like so: 'gre,vxlan'
369 description: The password for the nova service and db account, used by nova-api.
377 description: The password for the 'pcsd' user.
378 PublicVirtualInterface:
381 Specifies the interface where the public-facing virtual ip will be assigned.
382 This should be int_public when a VLAN is being used.
386 default: '' # Has to be here because of the ignored empty value bug
389 default: '' # Has to be here because of the ignored empty value bug
393 description: The password for RabbitMQ
398 description: The username for RabbitMQ
403 Rabbit client subscriber parameter to specify
404 an SSL connection to the RabbitMQ host.
408 description: Set rabbit subscriber port, change this if using SSL
412 default: '' # Has to be here because of the ignored empty value bug
413 SnmpdReadonlyUserName:
414 default: ro_snmp_user
415 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
417 SnmpdReadonlyUserPassword:
419 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
424 description: If set, the contents of an SSL certificate authority file.
428 description: If set, the contents of an SSL certificate .crt file for encrypting SSL endpoints.
433 description: If set, the contents of an SSL certificate .key file for encrypting SSL endpoints.
438 description: A random string to be used as a salt when hashing to determine mappings
444 description: Value of mount_check in Swift account/container/object -server.conf
449 description: The minimum time (in hours) before a partition in a ring can be moved following a rebalance.
452 description: Partition Power to use when building Swift rings
456 description: The password for the swift service account, used by the swift proxy
463 description: How many replicas to use in the swift rings.
466 default: '' # Has to be here because of the ignored empty value bug
476 KeystonePublicApiVirtualIP:
484 description: Mapping of service_name -> network name. Typically set
485 via parameter_defaults in the resource registry.
491 Setting to a previously unused value during stack-update will trigger
492 package update on all nodes
495 default: '' # Defaults to Heat created hostname
500 type: OS::Nova::Server
502 image: {get_param: Image}
503 image_update_policy: {get_param: ImageUpdatePolicy}
504 flavor: {get_param: Flavor}
505 key_name: {get_param: KeyName}
508 user_data_format: SOFTWARE_CONFIG
509 user_data: {get_resource: NodeUserData}
510 name: {get_param: Hostname}
513 type: OS::TripleO::NodeUserData
516 type: OS::TripleO::Controller::Ports::ExternalPort
518 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
521 type: OS::TripleO::Controller::Ports::InternalApiPort
523 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
526 type: OS::TripleO::Controller::Ports::StoragePort
528 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
531 type: OS::TripleO::Controller::Ports::StorageMgmtPort
533 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
536 type: OS::TripleO::Controller::Ports::TenantPort
538 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
541 type: OS::TripleO::Controller::Net::SoftwareConfig
543 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
544 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
545 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
546 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
547 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
550 type: OS::TripleO::SoftwareDeployment
552 signal_transport: NO_SIGNAL
553 config: {get_resource: NetworkConfig}
554 server: {get_resource: Controller}
557 interface_name: {get_param: NeutronPublicInterface}
559 ControllerPassthroughConfig:
560 type: OS::Heat::StructuredConfig
562 group: os-apply-config
563 config: {get_input: passthrough_config}
565 ControllerPassthroughConfigSpecific:
566 type: OS::Heat::StructuredConfig
568 group: os-apply-config
569 config: {get_input: passthrough_config_specific}
572 type: OS::Heat::StructuredConfig
574 group: os-apply-config
576 admin-password: {get_input: admin_password}
577 admin-token: {get_input: admin_token}
579 public_interface_ip: {get_input: neutron_public_interface_ip}
581 nodeid: {get_input: bootstack_nodeid}
583 db: {get_input: cinder_dsn}
584 debug: {get_input: debug}
585 volume_size_mb: {get_input: cinder_lvm_loop_device_size}
586 service-password: {get_input: cinder_password}
587 iscsi-helper: {get_input: CinderISCSIHelper}
588 controller-address: {get_input: controller_host}
590 bindnetaddr: {get_input: controller_host}
593 stonith_enabled : false
595 quorum_policy : ignore
599 host: {get_input: controller_virtual_ip}
601 db: {get_input: glance_dsn}
602 debug: {get_input: debug}
603 host: {get_input: controller_virtual_ip}
604 port: {get_input: glance_port}
605 protocol: {get_input: glance_protocol}
606 service-password: {get_input: glance_password}
607 swift-store-user: service:glance
608 swift-store-key: {get_input: glance_password}
609 notifier-strategy: {get_input: glance_notifier_strategy}
610 log-file: {get_input: glance_log_file}
612 admin_password: {get_input: heat_password}
613 admin_tenant_name: service
615 auth_encryption_key: {get_input: heat_auth_encryption_key}
616 db: {get_input: heat_dsn}
617 debug: {get_input: debug}
618 stack_domain_admin_password: {get_input: heat_stack_domain_admin_password}
619 watch_server_url: {get_input: heat.watch_server_url}
620 metadata_server_url: {get_input: heat.metadata_server_url}
621 waitcondition_server_url: {get_input: heat.waitcondition_server_url}
623 db: {get_input: keystone_dsn}
624 debug: {get_input: debug}
625 host: {get_input: controller_virtual_ip}
626 ca_certificate: {get_input: keystone_ca_certificate}
627 signing_key: {get_input: keystone_signing_key}
628 signing_certificate: {get_input: keystone_signing_certificate}
630 certificate: {get_input: keystone_ssl_certificate}
631 certificate_key: {get_input: keystone_ssl_certificate_key}
633 innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
635 root-password: {get_input: mysql_root_password}
636 cluster_name: {get_input: mysql_cluster_name}
638 debug: {get_input: debug}
639 flat-networks: {get_input: neutron_flat_networks}
640 host: {get_input: controller_virtual_ip}
641 metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
642 agent_mode: {get_input: neutron_agent_mode}
643 router_distributed: {get_input: neutron_router_distributed}
644 mechanism_drivers: {get_input: neutron_mechanism_drivers}
645 allow_automatic_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
646 l3_ha: {get_input: neutron_l3_ha}
647 dhcp_agents_per_network: {get_input: neutron_dhcp_agents_per_network}
649 enable_tunneling: {get_input: neutron_enable_tunneling}
650 local_ip: {get_input: controller_host}
651 network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
652 bridge_mappings: {get_input: neutron_bridge_mappings}
653 public_interface: {get_input: neutron_public_interface}
654 public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
655 public_interface_route: {get_input: neutron_public_interface_default_route}
656 public_interface_tag: {get_input: neutron_public_interface_tag}
657 physical_bridge: br-ex
658 tenant_network_type: {get_input: neutron_tenant_network_type}
659 tunnel_types: {get_input: neutron_tunnel_types}
660 ovs_db: {get_input: neutron_dsn}
661 service-password: {get_input: neutron_password}
662 dnsmasq-options: {get_input: neutron_dnsmasq_options}
664 db: {get_input: ceilometer_dsn}
665 debug: {get_input: debug}
666 metering_secret: {get_input: ceilometer_metering_secret}
667 service-password: {get_input: ceilometer_password}
669 export_MIB: UCD-SNMP-MIB
670 readonly_user_name: {get_input: snmpd_readonly_user_name}
671 readonly_user_password: {get_input: snmpd_readonly_user_password}
673 compute_driver: libvirt.LibvirtDriver
674 db: {get_input: nova_dsn}
675 default_floating_pool:
677 host: {get_input: controller_virtual_ip}
679 service-password: {get_input: nova_password}
681 host: {get_input: controller_virtual_ip}
682 username: {get_input: rabbit_username}
683 password: {get_input: rabbit_password}
684 cookie: {get_input: rabbit_cookie}
685 rabbit_client_use_ssl: {get_input: rabbit_client_use_ssl}
686 rabbit_port: {get_input: rabbit_client_port}
689 - {server: {get_input: ntp_server}}
692 - vrrp_instance_name: VI_CONTROL
693 virtual_router_id: 51
694 keepalive_interface: {get_input: control_virtual_interface}
697 - ip: {get_input: controller_virtual_ip}
698 interface: {get_input: control_virtual_interface}
699 - vrrp_instance_name: VI_PUBLIC
700 virtual_router_id: 52
701 keepalive_interface: {get_input: public_virtual_interface}
704 - ip: {get_input: public_virtual_ip}
705 interface: {get_input: public_virtual_interface}
712 keepalive_interface: {get_input: public_virtual_interface}
716 ip: {get_input: controller_virtual_ip}
717 interface: {get_input: control_virtual_interface}
719 ip: {get_input: public_virtual_ip}
720 interface: {get_input: public_virtual_interface}
723 - ip: {get_input: controller_virtual_ip}
725 - option httpchk GET /
727 - name: keystone_admin
729 net_binds: &public_binds
730 - ip: {get_input: controller_virtual_ip}
731 - ip: {get_input: public_virtual_ip}
732 - name: keystone_public
734 net_binds: *public_binds
737 net_binds: *public_binds
740 net_binds: *public_binds
743 net_binds: *public_binds
746 net_binds: *public_binds
747 - name: glance_registry
749 net_binds: *public_binds
750 options: # overwrite options as glace_reg needs auth for http req
753 net_binds: *public_binds
754 - name: heat_cloudwatch
756 net_binds: *public_binds
759 net_binds: *public_binds
771 net_binds: *public_binds
772 - name: nova_metadata
774 net_binds: *public_binds
775 - name: nova_novncproxy
777 net_binds: *public_binds
780 net_binds: *public_binds
781 options: # overwrite options as ceil needs auth for http req
782 - name: swift_proxy_server
784 net_binds: *public_binds
786 - option httpchk GET /info
794 ControllerDeployment:
795 type: OS::TripleO::SoftwareDeployment
797 signal_transport: NO_SIGNAL
798 config: {get_resource: ControllerConfig}
799 server: {get_resource: Controller}
801 bootstack_nodeid: {get_attr: [Controller, name]}
802 controller_host: {get_attr: [Controller, networks, ctlplane, 0]}
803 controller_virtual_ip: {get_param: VirtualIP}
804 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
805 heat.watch_server_url:
809 - {get_param: VirtualIP}
811 heat.metadata_server_url:
815 - {get_param: VirtualIP}
817 heat.waitcondition_server_url:
821 - {get_param: VirtualIP}
822 - ':8000/v1/waitcondition'
823 admin_password: {get_param: AdminPassword}
824 admin_token: {get_param: AdminToken}
825 neutron_public_interface_ip: {get_param: NeutronPublicInterfaceIP}
826 debug: {get_param: Debug}
827 cinder_lvm_loop_device_size: {get_param: CinderLVMLoopDeviceSize}
828 cinder_password: {get_param: CinderPassword}
829 cinder_iscsi_helper: {get_param: CinderISCSIHelper}
833 - - 'mysql://cinder:'
834 - {get_param: CinderPassword}
836 - {get_param: VirtualIP}
838 glance_port: {get_param: GlancePort}
839 glance_protocol: {get_param: GlanceProtocol}
840 glance_password: {get_param: GlancePassword}
841 glance_notifier_strategy: {get_param: GlanceNotifierStrategy}
842 glance_log_file: {get_param: GlanceLogFile}
846 - - 'mysql://glance:'
847 - {get_param: GlancePassword}
849 - {get_param: VirtualIP}
851 heat_password: {get_param: HeatPassword}
852 heat_stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword}
853 heat_auth_encryption_key: {get_param: HeatAuthEncryptionKey}
858 - {get_param: HeatPassword}
860 - {get_param: VirtualIP}
862 keystone_ca_certificate: {get_param: KeystoneCACertificate}
863 keystone_signing_key: {get_param: KeystoneSigningKey}
864 keystone_signing_certificate: {get_param: KeystoneSigningCertificate}
865 keystone_ssl_certificate: {get_param: KeystoneSSLCertificate}
866 keystone_ssl_certificate_key: {get_param: KeystoneSSLCertificateKey}
870 - - 'mysql://keystone:'
871 - {get_param: AdminToken}
873 - {get_param: VirtualIP}
875 mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
876 mysql_root_password: {get_param: MysqlRootPassword}
879 template: tripleo-CLUSTER
881 CLUSTER: {get_param: MysqlClusterUniquePart}
882 neutron_flat_networks: {get_param: NeutronFlatNetworks}
883 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
884 neutron_agent_mode: {get_param: NeutronAgentMode}
885 neutron_router_distributed: {get_param: NeutronDVR}
886 neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
887 neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
888 neutron_l3_ha: {get_param: NeutronL3HA}
889 neutron_dhcp_agents_per_network: {get_param: NeutronDhcpAgentsPerNetwork}
890 neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
891 neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
892 neutron_public_interface: {get_param: NeutronPublicInterface}
893 neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
894 neutron_public_interface_default_route: {get_param: NeutronPublicInterfaceDefaultRoute}
895 neutron_public_interface_tag: {get_param: NeutronPublicInterfaceTag}
896 neutron_tenant_network_type: {get_param: NeutronNetworkType}
897 neutron_tunnel_types: {get_param: NeutronTunnelTypes}
898 neutron_password: {get_param: NeutronPassword}
899 neutron_dnsmasq_options: {get_param: NeutronDnsmasqOptions}
903 - - 'mysql://neutron:'
904 - {get_param: NeutronPassword}
906 - {get_param: VirtualIP}
907 - '/ovs_neutron?charset=utf8'
908 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
909 ceilometer_password: {get_param: CeilometerPassword}
913 - - 'mysql://ceilometer:'
914 - {get_param: CeilometerPassword}
916 - {get_param: VirtualIP}
918 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
919 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
920 nova_password: {get_param: NovaPassword}
925 - {get_param: NovaPassword}
927 - {get_param: VirtualIP}
929 rabbit_username: {get_param: RabbitUserName}
930 rabbit_password: {get_param: RabbitPassword}
931 rabbit_cookie: {get_param: RabbitCookie}
932 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
933 rabbit_client_port: {get_param: RabbitClientPort}
934 ntp_server: {get_param: NtpServer}
935 control_virtual_interface: {get_param: ControlVirtualInterface}
936 public_virtual_interface: {get_param: PublicVirtualInterface}
937 public_virtual_ip: {get_param: PublicVirtualIP}
940 type: OS::Heat::StructuredConfig
942 group: os-apply-config
945 ca_certificate: {get_input: ssl_ca_certificate}
947 cert: {get_input: ssl_certificate}
948 key: {get_input: ssl_key}
949 cacert: {get_input: ssl_ca_certificate}
954 connect_host: {get_input: controller_host}
958 connect_host: {get_input: controller_host}
962 connect_host: {get_input: controller_host}
966 connect_host: {get_input: controller_host}
970 connect_host: {get_input: controller_host}
971 - name: 'swift-proxy'
974 connect_host: {get_input: controller_host}
978 connect_host: {get_input: controller_host}
982 connect_host: {get_input: controller_host}
984 ControllerSSLDeployment:
985 type: OS::Heat::StructuredDeployment
987 config: {get_resource: SSLConfig}
988 server: {get_resource: Controller}
989 signal_transport: NO_SIGNAL
991 controller_host: {get_attr: [Controller, networks, ctlplane, 0]}
992 ssl_certificate: {get_param: SSLCertificate}
993 ssl_key: {get_param: SSLKey}
994 ssl_ca_certificate: {get_param: SSLCACertificate}
996 ControllerPassthroughDeployment:
997 type: OS::Heat::StructuredDeployment
999 config: {get_resource: ControllerPassthroughConfig}
1000 server: {get_resource: Controller}
1001 signal_transport: NO_SIGNAL
1003 passthrough_config: {get_param: ExtraConfig}
1005 ControllerPassthroughSpecificDeployment:
1006 depends_on: [ControllerPassthroughDeployment]
1007 type: OS::Heat::StructuredDeployment
1009 config: {get_resource: ControllerPassthroughConfigSpecific}
1010 server: {get_resource: Controller}
1011 signal_transport: NO_SIGNAL
1013 passthrough_config_specific: {get_param: ControllerExtraConfig}
1016 type: OS::Heat::StructuredConfig
1018 group: os-apply-config
1021 hash: { get_input: swift_hash_suffix }
1022 part-power: { get_input: swift_part_power }
1023 mount-check: { get_input: swift_mount_check }
1024 min-part-hours: { get_input: swift_min_part_hours }
1025 replicas: {get_input: swift_replicas }
1026 service-password: { get_input: swift_password }
1029 type: OS::Heat::StructuredDeployment
1031 server: {get_resource: Controller}
1032 config: {get_resource: SwiftConfig}
1033 signal_transport: NO_SIGNAL
1035 swift_hash_suffix: {get_param: SwiftHashSuffix}
1036 swift_mount_check: {get_param: SwiftMountCheck}
1037 swift_password: {get_param: SwiftPassword}
1038 swift_min_part_hours: {get_param: SwiftMinPartHours}
1039 swift_part_power: {get_param: SwiftPartPower}
1040 swift_replicas: { get_param: SwiftReplicas}
1044 description: IP address of the server in the ctlplane network
1045 value: {get_attr: [Controller, networks, ctlplane, 0]}
1046 external_ip_address:
1047 description: IP address of the server in the external network
1048 value: {get_attr: [ExternalPort, ip_address]}
1049 internal_api_ip_address:
1050 description: IP address of the server in the internal_api network
1051 value: {get_attr: [InternalApiPort, ip_address]}
1053 description: IP address of the server in the storage network
1054 value: {get_attr: [StoragePort, ip_address]}
1055 storage_mgmt_ip_address:
1056 description: IP address of the server in the storage_mgmt network
1057 value: {get_attr: [StorageMgmtPort, ip_address]}
1059 description: IP address of the server in the tenant network
1060 value: {get_attr: [TenantPort, ip_address]}
1062 description: Hostname of the server
1063 value: {get_attr: [Controller, name]}
1066 Node object in the format {ip: ..., name: ...} format that the corosync
1069 ip: {get_attr: [Controller, networks, ctlplane, 0]}
1070 name: {get_attr: [Controller, name]}
1073 Server's IP address and hostname in the /etc/hosts format
1076 template: IP HOST CLOUDNAME
1078 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1079 HOST: {get_attr: [Controller, name]}
1080 CLOUDNAME: {get_param: CloudName}
1081 nova_server_resource:
1082 description: Heat resource handle for the Nova compute server
1084 {get_resource: Controller}
1086 description: Swift device formatted for swift-ring-builder
1089 template: 'r1z1-IP:%PORT%/d1'
1091 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1092 swift_proxy_memcache:
1093 description: Swift proxy-memcache value
1096 template: "IP:11211"
1098 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1100 description: identifier which changes if the node configuration may need re-applying
1101 value: "None - NO_SIGNAL"