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
273 description: Configures MySQL max_connections config setting
279 default: '' # Has to be here because of the ignored empty value bug
280 NeutronExternalNetworkBridge:
281 description: Name of bridge used for external network traffic.
284 NeutronBridgeMappings:
286 The OVS logical->physical bridge mappings to use. See the Neutron
287 documentation for details. Defaults to mapping br-ex - the external
288 bridge on hosts - to a physical name 'datacentre' which can be used
289 to create provider networks (and we use this for the default floating
290 network) - if changing this either use different post-install network
291 scripts or be sure to keep 'datacentre' as a mapping network name.
293 default: "datacentre:br-ex"
294 NeutronDnsmasqOptions:
295 default: 'dhcp-option-force=26,1400'
296 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.
300 description: Agent mode for the neutron-l3-agent on the controller hosts
304 description: Whether to configure Neutron Distributed Virtual Routers
306 NeutronMetadataProxySharedSecret:
308 description: Shared secret to prevent spoofing
310 NeutronMechanismDrivers:
311 default: 'openvswitch'
313 The mechanism drivers for the Neutron tenant network. To specify multiple
314 values, use a comma separated string, like so: 'openvswitch,l2_population'
316 NeutronAllowL3AgentFailover:
318 description: Allow automatic l3-agent failover
322 description: Whether to enable l3-agent HA
324 NeutronDhcpAgentsPerNetwork:
327 description: The number of neutron dhcp agents to schedule per network
328 NeutronEnableTunnelling:
333 default: 'datacentre'
334 description: If set, flat networks to configure in neutron plugins.
337 description: The tenant network type for Neutron, either gre or vxlan.
339 NeutronNetworkVLANRanges:
340 default: 'datacentre'
342 The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
343 Neutron documentation for permitted values. Defaults to permitting any
344 VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
345 type: comma_delimited_list
348 description: The password for the neutron service and db account, used by neutron agents.
351 NeutronPublicInterface:
353 description: What interface to bridge onto br-ex for network nodes.
355 NeutronPublicInterfaceTag:
358 VLAN tag for creating a public VLAN. The tag will be used to
359 create an access port on the exterior bridge for each control plane node,
360 and that port will be given the IP address returned by neutron from the
361 public network. Set CONTROLEXTRA=overcloud-vlan-port.yaml when compiling
362 overcloud.yaml to include the deployment of VLAN ports to the control
365 NeutronPublicInterfaceDefaultRoute:
367 description: A custom default route for the NeutronPublicInterface.
369 NeutronPublicInterfaceIP:
371 description: A custom IP address to put onto the NeutronPublicInterface.
373 NeutronPublicInterfaceRawDevice:
375 description: If set, the public interface is a vlan with this device as the raw device.
380 The tunnel types for the Neutron tenant network. To specify multiple
381 values, use a comma separated string, like so: 'gre,vxlan'
383 NeutronTunnelIdRanges:
385 Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges
386 of GRE tunnel IDs that are available for tenant network allocation
387 default: ["1:1000", ]
388 type: comma_delimited_list
391 Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges
392 of VXLAN VNI IDs that are available for tenant network allocation
393 default: ["1:1000", ]
394 type: comma_delimited_list
397 description: The password for the nova service and db account, used by nova-api.
402 description: Should MongoDb journaling be disabled
409 description: The password for the 'pcsd' user.
410 PublicVirtualInterface:
413 Specifies the interface where the public-facing virtual ip will be assigned.
414 This should be int_public when a VLAN is being used.
418 default: '' # Has to be here because of the ignored empty value bug
421 default: '' # Has to be here because of the ignored empty value bug
425 description: The password for RabbitMQ
430 description: The username for RabbitMQ
435 Rabbit client subscriber parameter to specify
436 an SSL connection to the RabbitMQ host.
440 description: Set rabbit subscriber port, change this if using SSL
444 default: '' # Has to be here because of the ignored empty value bug
445 SnmpdReadonlyUserName:
446 default: ro_snmp_user
447 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
449 SnmpdReadonlyUserPassword:
451 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
456 description: If set, the contents of an SSL certificate authority file.
460 description: If set, the contents of an SSL certificate .crt file for encrypting SSL endpoints.
465 description: If set, the contents of an SSL certificate .key file for encrypting SSL endpoints.
470 description: A random string to be used as a salt when hashing to determine mappings
476 description: Value of mount_check in Swift account/container/object -server.conf
481 description: The minimum time (in hours) before a partition in a ring can be moved following a rebalance.
484 description: Partition Power to use when building Swift rings
488 description: The password for the swift service account, used by the swift proxy
495 description: How many replicas to use in the swift rings.
498 default: '' # Has to be here because of the ignored empty value bug
508 KeystonePublicApiVirtualIP:
516 description: Mapping of service_name -> network name. Typically set
517 via parameter_defaults in the resource registry.
523 Setting to a previously unused value during stack-update will trigger
524 package update on all nodes
527 default: '' # Defaults to Heat created hostname
532 type: OS::Nova::Server
534 image: {get_param: Image}
535 image_update_policy: {get_param: ImageUpdatePolicy}
536 flavor: {get_param: Flavor}
537 key_name: {get_param: KeyName}
540 user_data_format: SOFTWARE_CONFIG
541 user_data: {get_resource: NodeUserData}
542 name: {get_param: Hostname}
545 type: OS::TripleO::NodeUserData
548 type: OS::TripleO::Controller::Ports::ExternalPort
550 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
553 type: OS::TripleO::Controller::Ports::InternalApiPort
555 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
558 type: OS::TripleO::Controller::Ports::StoragePort
560 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
563 type: OS::TripleO::Controller::Ports::StorageMgmtPort
565 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
568 type: OS::TripleO::Controller::Ports::TenantPort
570 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
573 type: OS::TripleO::Controller::Net::SoftwareConfig
575 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
576 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
577 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
578 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
579 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
582 type: OS::TripleO::SoftwareDeployment
584 signal_transport: NO_SIGNAL
585 config: {get_resource: NetworkConfig}
586 server: {get_resource: Controller}
589 interface_name: {get_param: NeutronPublicInterface}
591 ControllerPassthroughConfig:
592 type: OS::Heat::StructuredConfig
594 group: os-apply-config
595 config: {get_input: passthrough_config}
597 ControllerPassthroughConfigSpecific:
598 type: OS::Heat::StructuredConfig
600 group: os-apply-config
601 config: {get_input: passthrough_config_specific}
604 type: OS::Heat::StructuredConfig
606 group: os-apply-config
608 admin-password: {get_input: admin_password}
609 admin-token: {get_input: admin_token}
611 public_interface_ip: {get_input: neutron_public_interface_ip}
613 nodeid: {get_input: bootstack_nodeid}
615 db: {get_input: cinder_dsn}
616 debug: {get_input: debug}
617 volume_size_mb: {get_input: cinder_lvm_loop_device_size}
618 service-password: {get_input: cinder_password}
619 iscsi-helper: {get_input: CinderISCSIHelper}
620 controller-address: {get_input: controller_host}
622 bindnetaddr: {get_input: controller_host}
625 stonith_enabled : false
627 quorum_policy : ignore
631 host: {get_input: controller_virtual_ip}
633 db: {get_input: glance_dsn}
634 debug: {get_input: debug}
635 host: {get_input: controller_virtual_ip}
636 port: {get_input: glance_port}
637 protocol: {get_input: glance_protocol}
638 service-password: {get_input: glance_password}
639 swift-store-user: service:glance
640 swift-store-key: {get_input: glance_password}
641 notifier-strategy: {get_input: glance_notifier_strategy}
642 log-file: {get_input: glance_log_file}
644 admin_password: {get_input: heat_password}
645 admin_tenant_name: service
647 auth_encryption_key: {get_input: heat_auth_encryption_key}
648 db: {get_input: heat_dsn}
649 debug: {get_input: debug}
650 stack_domain_admin_password: {get_input: heat_stack_domain_admin_password}
651 watch_server_url: {get_input: heat.watch_server_url}
652 metadata_server_url: {get_input: heat.metadata_server_url}
653 waitcondition_server_url: {get_input: heat.waitcondition_server_url}
655 db: {get_input: keystone_dsn}
656 debug: {get_input: debug}
657 host: {get_input: controller_virtual_ip}
658 ca_certificate: {get_input: keystone_ca_certificate}
659 signing_key: {get_input: keystone_signing_key}
660 signing_certificate: {get_input: keystone_signing_certificate}
662 certificate: {get_input: keystone_ssl_certificate}
663 certificate_key: {get_input: keystone_ssl_certificate_key}
665 innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
667 root-password: {get_input: mysql_root_password}
668 cluster_name: {get_input: mysql_cluster_name}
670 debug: {get_input: debug}
671 flat-networks: {get_input: neutron_flat_networks}
672 host: {get_input: controller_virtual_ip}
673 metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
674 agent_mode: {get_input: neutron_agent_mode}
675 router_distributed: {get_input: neutron_router_distributed}
676 mechanism_drivers: {get_input: neutron_mechanism_drivers}
677 allow_automatic_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
678 l3_ha: {get_input: neutron_l3_ha}
679 dhcp_agents_per_network: {get_input: neutron_dhcp_agents_per_network}
681 enable_tunneling: {get_input: neutron_enable_tunneling}
682 local_ip: {get_input: controller_host}
683 network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
684 bridge_mappings: {get_input: neutron_bridge_mappings}
685 public_interface: {get_input: neutron_public_interface}
686 public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
687 public_interface_route: {get_input: neutron_public_interface_default_route}
688 public_interface_tag: {get_input: neutron_public_interface_tag}
689 physical_bridge: br-ex
690 tenant_network_type: {get_input: neutron_tenant_network_type}
691 tunnel_types: {get_input: neutron_tunnel_types}
692 tunnel_id_ranges: {get_input: neutron_tunnel_id_ranges}
693 vni_ranges: {get_input: neutron_vni_ranges}
694 ovs_db: {get_input: neutron_dsn}
695 service-password: {get_input: neutron_password}
696 dnsmasq-options: {get_input: neutron_dnsmasq_options}
698 db: {get_input: ceilometer_dsn}
699 debug: {get_input: debug}
700 metering_secret: {get_input: ceilometer_metering_secret}
701 service-password: {get_input: ceilometer_password}
703 export_MIB: UCD-SNMP-MIB
704 readonly_user_name: {get_input: snmpd_readonly_user_name}
705 readonly_user_password: {get_input: snmpd_readonly_user_password}
707 compute_driver: libvirt.LibvirtDriver
708 db: {get_input: nova_dsn}
709 default_floating_pool:
711 host: {get_input: controller_virtual_ip}
713 service-password: {get_input: nova_password}
715 nojournal: {get_input: mongodb_no_journal}
717 host: {get_input: controller_virtual_ip}
718 username: {get_input: rabbit_username}
719 password: {get_input: rabbit_password}
720 cookie: {get_input: rabbit_cookie}
721 rabbit_client_use_ssl: {get_input: rabbit_client_use_ssl}
722 rabbit_port: {get_input: rabbit_client_port}
725 - {server: {get_input: ntp_server}}
728 - vrrp_instance_name: VI_CONTROL
729 virtual_router_id: 51
730 keepalive_interface: {get_input: control_virtual_interface}
733 - ip: {get_input: controller_virtual_ip}
734 interface: {get_input: control_virtual_interface}
735 - vrrp_instance_name: VI_PUBLIC
736 virtual_router_id: 52
737 keepalive_interface: {get_input: public_virtual_interface}
740 - ip: {get_input: public_virtual_ip}
741 interface: {get_input: public_virtual_interface}
748 keepalive_interface: {get_input: public_virtual_interface}
752 ip: {get_input: controller_virtual_ip}
753 interface: {get_input: control_virtual_interface}
755 ip: {get_input: public_virtual_ip}
756 interface: {get_input: public_virtual_interface}
759 - ip: {get_input: controller_virtual_ip}
761 - option httpchk GET /
763 - name: keystone_admin
765 net_binds: &public_binds
766 - ip: {get_input: controller_virtual_ip}
767 - ip: {get_input: public_virtual_ip}
768 - name: keystone_public
770 net_binds: *public_binds
773 net_binds: *public_binds
776 net_binds: *public_binds
779 net_binds: *public_binds
782 net_binds: *public_binds
783 - name: glance_registry
785 net_binds: *public_binds
786 options: # overwrite options as glace_reg needs auth for http req
789 net_binds: *public_binds
790 - name: heat_cloudwatch
792 net_binds: *public_binds
795 net_binds: *public_binds
807 net_binds: *public_binds
808 - name: nova_metadata
810 net_binds: *public_binds
811 - name: nova_novncproxy
813 net_binds: *public_binds
816 net_binds: *public_binds
817 options: # overwrite options as ceil needs auth for http req
818 - name: swift_proxy_server
820 net_binds: *public_binds
822 - option httpchk GET /info
830 ControllerDeployment:
831 type: OS::TripleO::SoftwareDeployment
833 signal_transport: NO_SIGNAL
834 config: {get_resource: ControllerConfig}
835 server: {get_resource: Controller}
837 bootstack_nodeid: {get_attr: [Controller, name]}
838 controller_host: {get_attr: [Controller, networks, ctlplane, 0]}
839 controller_virtual_ip: {get_param: VirtualIP}
840 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
841 heat.watch_server_url:
845 - {get_param: VirtualIP}
847 heat.metadata_server_url:
851 - {get_param: VirtualIP}
853 heat.waitcondition_server_url:
857 - {get_param: VirtualIP}
858 - ':8000/v1/waitcondition'
859 admin_password: {get_param: AdminPassword}
860 admin_token: {get_param: AdminToken}
861 neutron_public_interface_ip: {get_param: NeutronPublicInterfaceIP}
862 debug: {get_param: Debug}
863 cinder_lvm_loop_device_size: {get_param: CinderLVMLoopDeviceSize}
864 cinder_password: {get_param: CinderPassword}
865 cinder_iscsi_helper: {get_param: CinderISCSIHelper}
869 - - 'mysql://cinder:'
870 - {get_param: CinderPassword}
872 - {get_param: VirtualIP}
874 glance_port: {get_param: GlancePort}
875 glance_protocol: {get_param: GlanceProtocol}
876 glance_password: {get_param: GlancePassword}
877 glance_notifier_strategy: {get_param: GlanceNotifierStrategy}
878 glance_log_file: {get_param: GlanceLogFile}
882 - - 'mysql://glance:'
883 - {get_param: GlancePassword}
885 - {get_param: VirtualIP}
887 heat_password: {get_param: HeatPassword}
888 heat_stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword}
889 heat_auth_encryption_key: {get_param: HeatAuthEncryptionKey}
894 - {get_param: HeatPassword}
896 - {get_param: VirtualIP}
898 keystone_ca_certificate: {get_param: KeystoneCACertificate}
899 keystone_signing_key: {get_param: KeystoneSigningKey}
900 keystone_signing_certificate: {get_param: KeystoneSigningCertificate}
901 keystone_ssl_certificate: {get_param: KeystoneSSLCertificate}
902 keystone_ssl_certificate_key: {get_param: KeystoneSSLCertificateKey}
906 - - 'mysql://keystone:'
907 - {get_param: AdminToken}
909 - {get_param: VirtualIP}
911 mongodb_no_journal: {get_param: MongoDbNoJournal}
912 mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
913 mysql_root_password: {get_param: MysqlRootPassword}
916 template: tripleo-CLUSTER
918 CLUSTER: {get_param: MysqlClusterUniquePart}
919 neutron_flat_networks: {get_param: NeutronFlatNetworks}
920 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
921 neutron_agent_mode: {get_param: NeutronAgentMode}
922 neutron_router_distributed: {get_param: NeutronDVR}
923 neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
924 neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
925 neutron_l3_ha: {get_param: NeutronL3HA}
926 neutron_dhcp_agents_per_network: {get_param: NeutronDhcpAgentsPerNetwork}
927 neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
928 neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
929 neutron_public_interface: {get_param: NeutronPublicInterface}
930 neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
931 neutron_public_interface_default_route: {get_param: NeutronPublicInterfaceDefaultRoute}
932 neutron_public_interface_tag: {get_param: NeutronPublicInterfaceTag}
933 neutron_tenant_network_type: {get_param: NeutronNetworkType}
934 neutron_tunnel_types: {get_param: NeutronTunnelTypes}
935 neutron_tunnel_id_ranges:
937 template: "['RANGES']"
942 - {get_param: NeutronTunnelIdRanges}
945 template: "['RANGES']"
950 - {get_param: NeutronVniRanges}
951 neutron_password: {get_param: NeutronPassword}
952 neutron_dnsmasq_options: {get_param: NeutronDnsmasqOptions}
956 - - 'mysql://neutron:'
957 - {get_param: NeutronPassword}
959 - {get_param: VirtualIP}
960 - '/ovs_neutron?charset=utf8'
961 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
962 ceilometer_password: {get_param: CeilometerPassword}
966 - - 'mysql://ceilometer:'
967 - {get_param: CeilometerPassword}
969 - {get_param: VirtualIP}
971 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
972 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
973 nova_password: {get_param: NovaPassword}
978 - {get_param: NovaPassword}
980 - {get_param: VirtualIP}
982 rabbit_username: {get_param: RabbitUserName}
983 rabbit_password: {get_param: RabbitPassword}
984 rabbit_cookie: {get_param: RabbitCookie}
985 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
986 rabbit_client_port: {get_param: RabbitClientPort}
987 ntp_server: {get_param: NtpServer}
988 control_virtual_interface: {get_param: ControlVirtualInterface}
989 public_virtual_interface: {get_param: PublicVirtualInterface}
990 public_virtual_ip: {get_param: PublicVirtualIP}
993 type: OS::Heat::StructuredConfig
995 group: os-apply-config
998 ca_certificate: {get_input: ssl_ca_certificate}
1000 cert: {get_input: ssl_certificate}
1001 key: {get_input: ssl_key}
1002 cacert: {get_input: ssl_ca_certificate}
1007 connect_host: {get_input: controller_host}
1011 connect_host: {get_input: controller_host}
1015 connect_host: {get_input: controller_host}
1019 connect_host: {get_input: controller_host}
1023 connect_host: {get_input: controller_host}
1024 - name: 'swift-proxy'
1027 connect_host: {get_input: controller_host}
1031 connect_host: {get_input: controller_host}
1032 - name: 'ceilometer'
1035 connect_host: {get_input: controller_host}
1037 ControllerSSLDeployment:
1038 type: OS::Heat::StructuredDeployment
1040 config: {get_resource: SSLConfig}
1041 server: {get_resource: Controller}
1042 signal_transport: NO_SIGNAL
1044 controller_host: {get_attr: [Controller, networks, ctlplane, 0]}
1045 ssl_certificate: {get_param: SSLCertificate}
1046 ssl_key: {get_param: SSLKey}
1047 ssl_ca_certificate: {get_param: SSLCACertificate}
1049 ControllerPassthroughDeployment:
1050 type: OS::Heat::StructuredDeployment
1052 config: {get_resource: ControllerPassthroughConfig}
1053 server: {get_resource: Controller}
1054 signal_transport: NO_SIGNAL
1056 passthrough_config: {get_param: ExtraConfig}
1058 ControllerPassthroughSpecificDeployment:
1059 depends_on: [ControllerPassthroughDeployment]
1060 type: OS::Heat::StructuredDeployment
1062 config: {get_resource: ControllerPassthroughConfigSpecific}
1063 server: {get_resource: Controller}
1064 signal_transport: NO_SIGNAL
1066 passthrough_config_specific: {get_param: ControllerExtraConfig}
1069 type: OS::Heat::StructuredConfig
1071 group: os-apply-config
1074 hash: { get_input: swift_hash_suffix }
1075 part-power: { get_input: swift_part_power }
1076 mount-check: { get_input: swift_mount_check }
1077 min-part-hours: { get_input: swift_min_part_hours }
1078 replicas: {get_input: swift_replicas }
1079 service-password: { get_input: swift_password }
1082 type: OS::Heat::StructuredDeployment
1084 server: {get_resource: Controller}
1085 config: {get_resource: SwiftConfig}
1086 signal_transport: NO_SIGNAL
1088 swift_hash_suffix: {get_param: SwiftHashSuffix}
1089 swift_mount_check: {get_param: SwiftMountCheck}
1090 swift_password: {get_param: SwiftPassword}
1091 swift_min_part_hours: {get_param: SwiftMinPartHours}
1092 swift_part_power: {get_param: SwiftPartPower}
1093 swift_replicas: { get_param: SwiftReplicas}
1097 description: IP address of the server in the ctlplane network
1098 value: {get_attr: [Controller, networks, ctlplane, 0]}
1099 external_ip_address:
1100 description: IP address of the server in the external network
1101 value: {get_attr: [ExternalPort, ip_address]}
1102 internal_api_ip_address:
1103 description: IP address of the server in the internal_api network
1104 value: {get_attr: [InternalApiPort, ip_address]}
1106 description: IP address of the server in the storage network
1107 value: {get_attr: [StoragePort, ip_address]}
1108 storage_mgmt_ip_address:
1109 description: IP address of the server in the storage_mgmt network
1110 value: {get_attr: [StorageMgmtPort, ip_address]}
1112 description: IP address of the server in the tenant network
1113 value: {get_attr: [TenantPort, ip_address]}
1115 description: Hostname of the server
1116 value: {get_attr: [Controller, name]}
1119 Node object in the format {ip: ..., name: ...} format that the corosync
1122 ip: {get_attr: [Controller, networks, ctlplane, 0]}
1123 name: {get_attr: [Controller, name]}
1126 Server's IP address and hostname in the /etc/hosts format
1129 template: IP HOST CLOUDNAME
1131 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1132 HOST: {get_attr: [Controller, name]}
1133 CLOUDNAME: {get_param: CloudName}
1134 nova_server_resource:
1135 description: Heat resource handle for the Nova compute server
1137 {get_resource: Controller}
1139 description: Swift device formatted for swift-ring-builder
1142 template: 'r1z1-IP:%PORT%/d1'
1144 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1145 swift_proxy_memcache:
1146 description: Swift proxy-memcache value
1149 template: "IP:11211"
1151 IP: {get_attr: [Controller, networks, ctlplane, 0]}
1153 description: identifier which changes if the node configuration may need re-applying
1154 value: "None - NO_SIGNAL"