1 heat_template_version: 2015-04-30
4 OpenStack controller node configured by Puppet.
8 default: 'admin@example.com'
9 description: The email for the keystone admin account.
14 description: The password for the keystone admin account, used for monitoring, querying neutron etc.
19 description: The keystone auth secret and db password.
22 CeilometerApiVirtualIP:
27 description: The ceilometer backend type.
29 CeilometerMeteringSecret:
31 description: Secret shared by the ceilometer services.
36 description: The password for the ceilometer service and db account.
42 CinderEnableNfsBackend:
44 description: Whether to enable or not the NFS backend for Cinder
46 CinderEnableIscsiBackend:
48 description: Whether to enable or not the Iscsi backend for Cinder
50 CinderEnableRbdBackend:
52 description: Whether to enable or not the Rbd backend for Cinder
56 description: The iSCSI helper to use with cinder.
58 CinderLVMLoopDeviceSize:
60 description: The size of the loopback file used by the cinder LVM driver.
62 CinderNfsMountOptions:
65 Mount options for NFS mounts used by Cinder NFS backend. Effective
66 when CinderEnableNfsBackend is true.
71 NFS servers used by Cinder NFS backend. Effective when
72 CinderEnableNfsBackend is true.
73 type: comma_delimited_list
76 description: The password for the cinder service and db account, used by cinder-api.
81 description: Contains parameters to configure Cinder backends. Typically
82 set via parameter_defaults in the resource registry.
86 description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
88 ControllerExtraConfig:
91 Controller specific hiera configuration data to inject into the cluster.
93 ControlVirtualInterface:
95 description: Interface where virtual ip will be assigned.
99 description: Set to True to enable debugging on all services.
103 description: Whether to enable fencing in Pacemaker or not.
107 description: Whether to use Galera instead of regular MariaDB.
111 description: Whether to deploy a LoadBalancer on the Controller
115 description: Whether to deploy Ceph Storage (OSD) on the Controller
119 description: Whether to enable Swift Storage on the Controller
124 Additional hieradata to inject into the cluster, note that
125 ControllerExtraConfig takes precedence over ExtraConfig.
130 Pacemaker fencing configuration. The JSON should have
131 the following structure:
135 "agent": "AGENT_NAME",
136 "host_mac": "HOST_MAC_ADDRESS",
137 "params": {"PARAM_NAME": "PARAM_VALUE"}
145 "agent": "fence_xvm",
146 "host_mac": "52:54:00:aa:bb:cc",
148 "multicast_address": "225.0.0.12",
149 "port": "baremetal_0",
151 "manage_key_file": true,
152 "key_file": "/etc/fence_xvm.key",
153 "key_file_password": "abcdef"
160 description: Flavor for control nodes to request when deploying.
163 - custom_constraint: nova.flavor
164 GlanceNotifierStrategy:
165 description: Strategy to use for Glance notification queue
169 description: The filepath of the file to use for logging messages from Glance.
174 description: The password for the glance service and db account, used by the glance services.
179 description: The short name of the Glance backend to use. Should be one
180 of swift, rbd, or file
183 - allowed_values: ['swift', 'file', 'rbd']
184 GlanceFilePcmkDevice:
187 An exported storage device that should be mounted by Pacemaker
188 as Glance storage. Effective when GlanceFilePcmkManage is true.
190 GlanceFilePcmkFstype:
193 Filesystem type for Pacemaker mount used as Glance storage.
194 Effective when GlanceFilePcmkManage is true.
196 GlanceFilePcmkManage:
199 Whether to make Glance file backend a mount managed by Pacemaker.
200 Effective when GlanceBackend is 'file'.
202 GlanceFilePcmkOptions:
205 Mount options for Pacemaker mount used as Glance storage.
206 Effective when GlanceFilePcmkManage is true.
208 HAProxySyslogAddress:
210 description: Syslog address where HAproxy will send its log
214 description: The password for the Heat service and db account, used by the Heat services.
217 HeatStackDomainAdminPassword:
218 description: Password for heat_domain_admin user.
222 HeatAuthEncryptionKey:
223 description: Auth encryption key for heat-engine
228 description: A list of IP/Hostname allowed to connect to horizon
229 type: comma_delimited_list
231 description: Secret key for Django
236 default: overcloud-control
238 - custom_constraint: glance.image
240 default: 'REBUILD_PRESERVE_EPHEMERAL'
241 description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
245 description: Name of an existing EC2 KeyPair to enable SSH access to the instances
248 - custom_constraint: nova.keypair
249 KeystoneCACertificate:
251 description: Keystone self-signed certificate authority certificate.
253 KeystoneSigningCertificate:
255 description: Keystone certificate for verifying token validity.
259 description: Keystone key for signing tokens.
262 KeystoneSSLCertificate:
264 description: Keystone certificate for verifying token validity.
266 KeystoneSSLCertificateKey:
268 description: Keystone key for signing tokens.
271 KeystoneNotificationDriver:
272 description: Comma-separated list of Oslo notification drivers used by Keystone
273 default: ['messaging']
274 type: comma_delimited_list
275 KeystoneNotificationFormat:
276 description: The Keystone notification format
280 - allowed_values: [ 'basic', 'cadf' ]
284 description: Keystone region for endpoint
285 MysqlClusterUniquePart:
286 description: A unique identifier of the MySQL cluster the controller is in.
288 default: 'unset' # Has to be here because of the ignored empty value bug
289 # Drop the validation: https://bugs.launchpad.net/tripleo/+bug/1405446
291 # - length: {min: 4, max: 10}
292 MysqlInnodbBufferPoolSize:
294 Specifies the size of the buffer pool in megabytes. Setting to
295 zero should be interpreted as "no value" and will defer to the
300 description: Configures MySQL max_connections config setting
306 default: '' # Has to be here because of the ignored empty value bug
307 NeutronExternalNetworkBridge:
308 description: Name of bridge used for external network traffic.
311 NeutronBridgeMappings:
313 The OVS logical->physical bridge mappings to use. See the Neutron
314 documentation for details. Defaults to mapping br-ex - the external
315 bridge on hosts - to a physical name 'datacentre' which can be used
316 to create provider networks (and we use this for the default floating
317 network) - if changing this either use different post-install network
318 scripts or be sure to keep 'datacentre' as a mapping network name.
320 default: "datacentre:br-ex"
321 NeutronDnsmasqOptions:
322 default: 'dhcp-option-force=26,1400'
323 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.
327 description: Agent mode for the neutron-l3-agent on the controller hosts
331 description: Whether to enable l3-agent HA
333 NeutronDhcpAgentsPerNetwork:
336 description: The number of neutron dhcp agents to schedule per network
339 description: Whether to configure Neutron Distributed Virtual Routers
341 NeutronMetadataProxySharedSecret:
343 description: Shared secret to prevent spoofing
349 The core plugin for Neutron. The value should be the entrypoint to be loaded
350 from neutron.core_plugins namespace.
352 NeutronServicePlugins:
355 Comma-separated list of service plugin entrypoints to be loaded from the
356 neutron.service_plugins namespace.
357 type: comma_delimited_list
359 default: "vxlan,vlan,flat,gre"
361 Comma-separated list of network type driver entrypoints to be loaded.
362 type: comma_delimited_list
363 NeutronMechanismDrivers:
364 default: 'openvswitch'
366 The mechanism drivers for the Neutron tenant network. To specify multiple
367 values, use a comma separated string, like so: 'openvswitch,l2_population'
369 NeutronAllowL3AgentFailover:
371 description: Allow automatic l3-agent failover
373 NeutronEnableIsolatedMetadata:
375 description: If True, DHCP provide metadata route to VM.
377 NeutronEnableTunnelling:
383 Enable/disable the L2 population feature in the Neutron agents.
387 default: 'datacentre'
388 description: If set, flat networks to configure in neutron plugins.
391 description: Whether to enable l3-agent HA
395 description: The tenant network type for Neutron, either gre or vxlan.
397 NeutronNetworkVLANRanges:
398 default: 'datacentre'
400 The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
401 Neutron documentation for permitted values. Defaults to permitting any
402 VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
403 type: comma_delimited_list
406 description: The password for the neutron service and db account, used by neutron agents.
409 NeutronPublicInterface:
411 description: What interface to bridge onto br-ex for network nodes.
413 NeutronPublicInterfaceTag:
416 VLAN tag for creating a public VLAN. The tag will be used to
417 create an access port on the exterior bridge for each control plane node,
418 and that port will be given the IP address returned by neutron from the
419 public network. Set CONTROLEXTRA=overcloud-vlan-port.yaml when compiling
420 overcloud.yaml to include the deployment of VLAN ports to the control
423 NeutronPublicInterfaceDefaultRoute:
425 description: A custom default route for the NeutronPublicInterface.
427 NeutronPublicInterfaceIP:
429 description: A custom IP address to put onto the NeutronPublicInterface.
431 NeutronPublicInterfaceRawDevice:
433 description: If set, the public interface is a vlan with this device as the raw device.
438 The tunnel types for the Neutron tenant network. To specify multiple
439 values, use a comma separated string, like so: 'gre,vxlan'
441 NeutronTunnelIdRanges:
443 Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges
444 of GRE tunnel IDs that are available for tenant network allocation
445 default: ["1:1000", ]
446 type: comma_delimited_list
449 Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges
450 of VXLAN VNI IDs that are available for tenant network allocation
451 default: ["1:1000", ]
452 type: comma_delimited_list
458 description: The password for the nova service and db account, used by nova-api.
463 description: Should MongoDb journaling be disabled
467 description: Comma-separated list of ntp servers
468 type: comma_delimited_list
471 description: The password for the 'pcsd' user.
473 PublicVirtualInterface:
476 Specifies the interface where the public-facing virtual ip will be assigned.
477 This should be int_public when a VLAN is being used.
481 default: '' # Has to be here because of the ignored empty value bug
484 default: '' # Has to be here because of the ignored empty value bug
488 description: The password for RabbitMQ
493 description: The username for RabbitMQ
498 Rabbit client subscriber parameter to specify
499 an SSL connection to the RabbitMQ host.
503 description: Set rabbit subscriber port, change this if using SSL
507 description: Configures RabbitMQ FD limit
511 default: '' # Has to be here because of the ignored empty value bug
512 SnmpdReadonlyUserName:
513 default: ro_snmp_user
514 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
516 SnmpdReadonlyUserPassword:
518 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
523 description: If set, the contents of an SSL certificate authority file.
527 description: If set, the contents of an SSL certificate .crt file for encrypting SSL endpoints.
532 description: If set, the contents of an SSL certificate .key file for encrypting SSL endpoints.
537 description: A random string to be used as a salt when hashing to determine mappings
543 description: Value of mount_check in Swift account/container/object -server.conf
548 description: The minimum time (in hours) before a partition in a ring can be moved following a rebalance.
551 description: Partition Power to use when building Swift rings
555 description: The password for the swift service account, used by the swift proxy
565 description: How many replicas to use in the swift rings.
566 VirtualIP: # DEPRECATED: use per service settings instead
568 default: '' # Has to be here because of the ignored empty value bug
575 GlanceRegistryVirtualIP:
581 KeystoneAdminApiVirtualIP:
584 KeystonePublicApiVirtualIP:
590 EnablePackageInstall:
592 description: Set to true to enable package installation via Puppet
596 description: Mapping of service_name -> network name. Typically set
597 via parameter_defaults in the resource registry.
601 description: Mapping of service endpoint -> protocol. Typically set
602 via parameter_defaults in the resource registry.
608 Setting to a previously unused value during stack-update will trigger
609 package update on all nodes
612 default: '' # Defaults to Heat created hostname
613 NetworkDeploymentActions:
614 type: comma_delimited_list
616 Heat action when to apply network configuration changes
622 type: OS::Nova::Server
624 image: {get_param: Image}
625 image_update_policy: {get_param: ImageUpdatePolicy}
626 flavor: {get_param: Flavor}
627 key_name: {get_param: KeyName}
630 user_data_format: SOFTWARE_CONFIG
631 user_data: {get_resource: UserData}
632 name: {get_param: Hostname}
634 # Combine the NodeAdminUserData and NodeUserData mime archives
636 type: OS::Heat::MultipartMime
639 - config: {get_resource: NodeAdminUserData}
641 - config: {get_resource: NodeUserData}
644 # Creates the "heat-admin" user if configured via the environment
645 # Should return a OS::Heat::MultipartMime reference via OS::stack_id
647 type: OS::TripleO::NodeAdminUserData
649 # For optional operator additional userdata
650 # Should return a OS::Heat::MultipartMime reference via OS::stack_id
652 type: OS::TripleO::NodeUserData
655 type: OS::TripleO::Controller::Ports::ExternalPort
657 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
660 type: OS::TripleO::Controller::Ports::InternalApiPort
662 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
665 type: OS::TripleO::Controller::Ports::StoragePort
667 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
670 type: OS::TripleO::Controller::Ports::StorageMgmtPort
672 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
675 type: OS::TripleO::Controller::Ports::TenantPort
677 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
680 type: OS::TripleO::Network::Ports::NetIpMap
682 ControlPlaneIp: {get_attr: [Controller, networks, ctlplane, 0]}
683 ExternalIp: {get_attr: [ExternalPort, ip_address]}
684 InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
685 StorageIp: {get_attr: [StoragePort, ip_address]}
686 StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}
687 TenantIp: {get_attr: [TenantPort, ip_address]}
690 type: OS::TripleO::Network::Ports::NetIpSubnetMap
692 ControlPlaneIp: {get_attr: [Controller, networks, ctlplane, 0]}
693 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
694 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
695 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
696 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
697 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
700 type: OS::TripleO::Controller::Net::SoftwareConfig
702 ControlPlaneIp: {get_attr: [Controller, networks, ctlplane, 0]}
703 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
704 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
705 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
706 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
707 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
710 type: OS::TripleO::SoftwareDeployment
712 config: {get_resource: NetworkConfig}
713 server: {get_resource: Controller}
714 actions: {get_param: NetworkDeploymentActions}
717 interface_name: {get_param: NeutronPublicInterface}
719 ControllerDeployment:
720 type: OS::TripleO::SoftwareDeployment
721 depends_on: NetworkDeployment
723 config: {get_resource: ControllerConfig}
724 server: {get_resource: Controller}
726 bootstack_nodeid: {get_attr: [Controller, name]}
727 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
728 neutron_enable_l2pop: {get_param: NeutronEnableL2Pop}
729 neutron_enable_isolated_metadata: {get_param: NeutronEnableIsolatedMetadata}
730 haproxy_log_address: {get_param: HAProxySyslogAddress}
731 heat.watch_server_url:
735 - {get_param: HeatApiVirtualIP}
737 heat.metadata_server_url:
741 - {get_param: HeatApiVirtualIP}
743 heat.waitcondition_server_url:
747 - {get_param: HeatApiVirtualIP}
748 - ':8000/v1/waitcondition'
749 heat_auth_encryption_key: {get_param: HeatAuthEncryptionKey}
750 horizon_allowed_hosts: {get_param: HorizonAllowedHosts}
751 horizon_secret: {get_param: HorizonSecret}
752 admin_email: {get_param: AdminEmail}
753 admin_password: {get_param: AdminPassword}
754 admin_token: {get_param: AdminToken}
755 neutron_public_interface_ip: {get_param: NeutronPublicInterfaceIP}
756 debug: {get_param: Debug}
757 cinder_enable_nfs_backend: {get_param: CinderEnableNfsBackend}
758 cinder_enable_rbd_backend: {get_param: CinderEnableRbdBackend}
759 cinder_nfs_mount_options: {get_param: CinderNfsMountOptions}
762 template: "['SERVERS']"
767 - {get_param: CinderNfsServers}
768 cinder_lvm_loop_device_size: {get_param: CinderLVMLoopDeviceSize}
769 cinder_password: {get_param: CinderPassword}
770 cinder_enable_iscsi_backend: {get_param: CinderEnableIscsiBackend}
771 cinder_iscsi_helper: {get_param: CinderISCSIHelper}
772 cinder_backend_config: {get_param: CinderBackendConfig}
776 - - 'mysql://cinder:'
777 - {get_param: CinderPassword}
779 - {get_param: MysqlVirtualIP}
781 glance_port: {get_param: [EndpointMap, GlanceInternal, port]}
782 glance_password: {get_param: GlancePassword}
783 glance_backend: {get_param: GlanceBackend}
784 glance_file_pcmk_device: {get_param: GlanceFilePcmkDevice}
785 glance_file_pcmk_fstype: {get_param: GlanceFilePcmkFstype}
786 glance_file_pcmk_manage: {get_param: GlanceFilePcmkManage}
787 glance_file_pcmk_options: {get_param: GlanceFilePcmkOptions}
788 glance_notifier_strategy: {get_param: GlanceNotifierStrategy}
789 glance_log_file: {get_param: GlanceLogFile}
793 - - 'mysql://glance:'
794 - {get_param: GlancePassword}
796 - {get_param: MysqlVirtualIP}
798 heat_password: {get_param: HeatPassword}
799 heat_stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword}
804 - {get_param: HeatPassword}
806 - {get_param: MysqlVirtualIP}
808 keystone_ca_certificate: {get_param: KeystoneCACertificate}
809 keystone_signing_key: {get_param: KeystoneSigningKey}
810 keystone_signing_certificate: {get_param: KeystoneSigningCertificate}
811 keystone_ssl_certificate: {get_param: KeystoneSSLCertificate}
812 keystone_ssl_certificate_key: {get_param: KeystoneSSLCertificateKey}
813 keystone_notification_driver: {get_param: KeystoneNotificationDriver}
814 keystone_notification_format: {get_param: KeystoneNotificationFormat}
818 - - 'mysql://keystone:'
819 - {get_param: AdminToken}
821 - {get_param: MysqlVirtualIP}
823 keystone_identity_uri: { get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix] }
824 keystone_auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri] }
825 keystone_public_url: { get_param: [EndpointMap, KeystonePublic, uri_no_suffix] }
826 keystone_internal_url: { get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] }
827 keystone_ec2_uri: { get_param: [EndpointMap, KeystoneEC2, uri] }
828 enable_fencing: {get_param: EnableFencing}
829 enable_galera: {get_param: EnableGalera}
830 enable_load_balancer: {get_param: EnableLoadBalancer}
831 enable_ceph_storage: {get_param: EnableCephStorage}
832 enable_swift_storage: {get_param: EnableSwiftStorage}
833 mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
834 mysql_max_connections: {get_param: MysqlMaxConnections}
835 mysql_root_password: {get_param: MysqlRootPassword}
838 template: tripleo-CLUSTER
840 CLUSTER: {get_param: MysqlClusterUniquePart}
841 neutron_flat_networks: {get_param: NeutronFlatNetworks}
842 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
843 neutron_agent_mode: {get_param: NeutronAgentMode}
844 neutron_router_distributed: {get_param: NeutronDVR}
845 neutron_core_plugin: {get_param: NeutronCorePlugin}
846 neutron_service_plugins:
848 template: "['PLUGINS']"
853 - {get_param: NeutronServicePlugins}
854 neutron_type_drivers:
856 template: "['DRIVERS']"
861 - {get_param: NeutronTypeDrivers}
862 neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
863 neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
864 neutron_l3_ha: {get_param: NeutronL3HA}
865 neutron_dhcp_agents_per_network: {get_param: NeutronDhcpAgentsPerNetwork}
866 neutron_network_vlan_ranges:
868 template: "['RANGES']"
873 - {get_param: NeutronNetworkVLANRanges}
874 neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
875 neutron_external_network_bridge: {get_param: NeutronExternalNetworkBridge}
876 neutron_public_interface: {get_param: NeutronPublicInterface}
877 neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
878 neutron_public_interface_default_route: {get_param: NeutronPublicInterfaceDefaultRoute}
879 neutron_public_interface_tag: {get_param: NeutronPublicInterfaceTag}
880 neutron_tenant_network_type: {get_param: NeutronNetworkType}
881 neutron_tunnel_types: {get_param: NeutronTunnelTypes}
882 neutron_tunnel_id_ranges:
884 template: "['RANGES']"
889 - {get_param: NeutronTunnelIdRanges}
892 template: "['RANGES']"
897 - {get_param: NeutronVniRanges}
898 neutron_password: {get_param: NeutronPassword}
899 neutron_dnsmasq_options: {get_param: NeutronDnsmasqOptions}
903 - - 'mysql://neutron:'
904 - {get_param: NeutronPassword}
906 - {get_param: MysqlVirtualIP}
907 - '/ovs_neutron?charset=utf8'
908 neutron_internal_url: { get_param: [ EndpointMap, NeutronInternal, uri ] }
909 neutron_public_url: { get_param: [ EndpointMap, NeutronPublic, uri ] }
910 neutron_admin_url: { get_param: [ EndpointMap, NeutronAdmin, uri ] }
911 neutron_admin_auth_url: { get_param: [ EndpointMap, KeystoneAdmin, uri ] }
912 nova_internal_url: { get_param: [ EndpointMap, NovaInternal, uri ] }
913 ceilometer_backend: {get_param: CeilometerBackend}
914 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
915 ceilometer_password: {get_param: CeilometerPassword}
916 ceilometer_coordination_url:
920 - {get_param: RedisVirtualIP}
925 - - 'mysql://ceilometer:'
926 - {get_param: CeilometerPassword}
928 - {get_param: MysqlVirtualIP}
930 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
931 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
932 nova_password: {get_param: NovaPassword}
937 - {get_param: NovaPassword}
939 - {get_param: MysqlVirtualIP}
941 fencing_config: {get_param: FencingConfig}
942 pcsd_password: {get_param: PcsdPassword}
943 rabbit_username: {get_param: RabbitUserName}
944 rabbit_password: {get_param: RabbitPassword}
945 rabbit_cookie: {get_param: RabbitCookie}
946 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
947 rabbit_client_port: {get_param: RabbitClientPort}
948 mongodb_no_journal: {get_param: MongoDbNoJournal}
949 # We need to force this into quotes or hiera will return integer causing
950 # the puppet module validation regexp to fail.
951 # Remove when: https://github.com/puppetlabs/puppetlabs-rabbitmq/pull/401
956 LIMIT: {get_param: RabbitFDLimit}
957 ntp_servers: {get_param: NtpServer}
958 control_virtual_interface: {get_param: ControlVirtualInterface}
959 public_virtual_interface: {get_param: PublicVirtualInterface}
960 swift_hash_suffix: {get_param: SwiftHashSuffix}
961 swift_password: {get_param: SwiftPassword}
962 swift_part_power: {get_param: SwiftPartPower}
963 swift_replicas: {get_param: SwiftReplicas}
964 swift_min_part_hours: {get_param: SwiftMinPartHours}
965 swift_mount_check: {get_param: SwiftMountCheck}
966 enable_package_install: {get_param: EnablePackageInstall}
967 enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]}
968 swift_proxy_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
969 swift_management_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftMgmtNetwork]}]}
970 cinder_iscsi_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CinderIscsiNetwork]}]}
971 cinder_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
972 glance_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
973 glance_registry_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
974 glance_api_servers: { get_param: [EndpointMap, GlanceInternal, uri]}
975 glance_registry_host: {get_param: GlanceRegistryVirtualIP}
976 heat_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
977 keystone_public_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
978 keystone_admin_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
979 keystone_region: {get_param: KeystoneRegion}
980 mongo_db_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MongoDbNetwork]}]}
981 neutron_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
982 neutron_local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronTenantNetwork]}]}
983 ceilometer_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
984 nova_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
985 nova_metadata_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
986 horizon_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
987 rabbitmq_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
988 redis_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, RedisNetwork]}]}
989 redis_vip: {get_param: RedisVirtualIP}
990 memcached_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
991 mysql_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
992 mysql_virtual_ip: {get_param: MysqlVirtualIP}
993 ceph_cluster_network: {get_attr: [NetIpSubnetMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephClusterNetwork]}]}
994 ceph_public_network: {get_attr: [NetIpSubnetMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
995 ceph_public_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
997 # Map heat metadata into hiera datafiles
999 type: OS::Heat::StructuredConfig
1001 group: os-apply-config
1006 - heat_config_%{::deploy_config_name}
1007 - controller_extraconfig
1012 - swift_devices_and_proxy # provided by SwiftDevicesAndProxyConfig
1013 - ceph_cluster # provided by CephClusterConfig
1015 - bootstrap_node # provided by BootstrapNodeConfig
1016 - all_nodes # provided by allNodesConfig
1017 - vip_data # provided by vip-config
1020 - cinder_netapp_data # Optionally provided by ControllerExtraConfigPre
1021 - neutron_bigswitch_data # Optionally provided by ControllerExtraConfigPre
1022 - neutron_cisco_data # Optionally provided by ControllerExtraConfigPre
1023 - cisco_n1kv_data # Optionally provided by ControllerExtraConfigPre
1025 controller_extraconfig:
1026 mapped_data: {get_param: ControllerExtraConfig}
1028 mapped_data: {get_param: ExtraConfig}
1030 raw_data: {get_file: hieradata/common.yaml}
1032 raw_data: {get_file: hieradata/ceph.yaml}
1034 ceph::profile::params::cluster_network: {get_input: ceph_cluster_network}
1035 ceph::profile::params::public_network: {get_input: ceph_public_network}
1036 ceph::mon::public_addr: {get_input: ceph_public_ip}
1038 raw_data: {get_file: hieradata/database.yaml}
1040 raw_data: {get_file: hieradata/object.yaml}
1042 raw_data: {get_file: hieradata/controller.yaml}
1043 mapped_data: # data supplied directly to this deployment configuration, etc
1044 bootstack_nodeid: {get_input: bootstack_nodeid}
1047 enable_fencing: {get_input: enable_fencing}
1048 enable_load_balancer: {get_input: enable_load_balancer}
1049 hacluster_pwd: {get_input: pcsd_password}
1050 tripleo::fencing::config: {get_input: fencing_config}
1053 swift::proxy::proxy_local_net_ip: {get_input: swift_proxy_network}
1054 swift::proxy::authtoken::auth_uri: {get_input: keystone_auth_uri}
1055 swift::proxy::authtoken::identity_uri: {get_input: keystone_identity_uri}
1056 swift::storage::all::storage_local_net_ip: {get_input: swift_management_network}
1057 swift::swift_hash_suffix: {get_input: swift_hash_suffix}
1058 swift::proxy::authtoken::admin_password: {get_input: swift_password}
1059 tripleo::ringbuilder::part_power: {get_input: swift_part_power}
1060 tripleo::ringbuilder::replicas: {get_input: swift_replicas}
1061 tripleo::ringbuilder::min_part_hours: {get_input: swift_min_part_hours}
1062 swift_mount_check: {get_input: swift_mount_check}
1064 # NOTE(dprince): build_ring support is currently not wired in.
1065 # See: https://review.openstack.org/#/c/109225/
1066 tripleo::ringbuilder::build_ring: True
1069 cinder_enable_nfs_backend: {get_input: cinder_enable_nfs_backend}
1070 cinder_enable_rbd_backend: {get_input: cinder_enable_rbd_backend}
1071 cinder_nfs_mount_options: {get_input: cinder_nfs_mount_options}
1072 cinder_nfs_servers: {get_input: cinder_nfs_servers}
1073 cinder_lvm_loop_device_size: {get_input: cinder_lvm_loop_device_size}
1074 cinder_iscsi_helper: {get_input: cinder_iscsi_helper}
1075 cinder_iscsi_ip_address: {get_input: cinder_iscsi_network}
1076 cinder::database_connection: {get_input: cinder_dsn}
1077 cinder::api::keystone_password: {get_input: cinder_password}
1078 cinder::api::auth_uri: {get_input: keystone_auth_uri}
1079 cinder::api::identity_uri: {get_input: keystone_identity_uri}
1080 cinder::api::bind_host: {get_input: cinder_api_network}
1081 cinder::rabbit_userid: {get_input: rabbit_username}
1082 cinder::rabbit_password: {get_input: rabbit_password}
1083 cinder::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
1084 cinder::rabbit_port: {get_input: rabbit_client_port}
1085 cinder::debug: {get_input: debug}
1086 cinder_enable_iscsi_backend: {get_input: cinder_enable_iscsi_backend}
1087 cinder::glance::glance_api_servers: {get_input: glance_api_servers}
1088 cinder_backend_config: {get_input: CinderBackendConfig}
1089 cinder::db::mysql::password: {get_input: cinder_password}
1092 glance::api::bind_port: {get_input: glance_port}
1093 glance::api::bind_host: {get_input: glance_api_network}
1094 glance::api::auth_uri: {get_input: keystone_auth_uri}
1095 glance::api::identity_uri: {get_input: keystone_identity_uri}
1096 glance::api::registry_host: {get_input: glance_registry_host}
1097 glance::api::keystone_password: {get_input: glance_password}
1098 glance::api::debug: {get_input: debug}
1099 glance_notifier_strategy: {get_input: glance_notifier_strategy}
1100 glance_log_file: {get_input: glance_log_file}
1101 glance_log_file: {get_input: glance_log_file}
1102 glance::api::database_connection: {get_input: glance_dsn}
1103 glance::registry::keystone_password: {get_input: glance_password}
1104 glance::registry::database_connection: {get_input: glance_dsn}
1105 glance::registry::bind_host: {get_input: glance_registry_network}
1106 glance::registry::auth_uri: {get_input: keystone_auth_uri}
1107 glance::registry::identity_uri: {get_input: keystone_identity_uri}
1108 glance::registry::debug: {get_input: debug}
1109 glance::backend::swift::swift_store_auth_address: {get_input: keystone_auth_uri}
1110 glance::backend::swift::swift_store_user: service:glance
1111 glance::backend::swift::swift_store_key: {get_input: glance_password}
1112 glance_backend: {get_input: glance_backend}
1113 glance::db::mysql::password: {get_input: glance_password}
1114 glance_file_pcmk_device: {get_input: glance_file_pcmk_device}
1115 glance_file_pcmk_fstype: {get_input: glance_file_pcmk_fstype}
1116 glance_file_pcmk_manage: {get_input: glance_file_pcmk_manage}
1117 glance_file_pcmk_options: {get_input: glance_file_pcmk_options}
1120 heat_stack_domain_admin_password: {get_input: heat_stack_domain_admin_password}
1121 heat::engine::heat_watch_server_url: {get_input: heat.watch_server_url}
1122 heat::engine::heat_metadata_server_url: {get_input: heat.metadata_server_url}
1123 heat::engine::heat_waitcondition_server_url: {get_input: heat.waitcondition_server_url}
1124 heat::engine::auth_encryption_key: {get_input: heat_auth_encryption_key}
1125 heat::rabbit_userid: {get_input: rabbit_username}
1126 heat::rabbit_password: {get_input: rabbit_password}
1127 heat::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
1128 heat::rabbit_port: {get_input: rabbit_client_port}
1129 heat::auth_uri: {get_input: keystone_auth_uri}
1130 heat::keystone_ec2_uri: {get_input: keystone_ec2_uri}
1131 heat::identity_uri: {get_input: keystone_identity_uri}
1132 heat::keystone_password: {get_input: heat_password}
1133 heat::api::bind_host: {get_input: heat_api_network}
1134 heat::api_cloudwatch::bind_host: {get_input: heat_api_network}
1135 heat::api_cfn::bind_host: {get_input: heat_api_network}
1136 heat::database_connection: {get_input: heat_dsn}
1137 heat::debug: {get_input: debug}
1138 heat::db::mysql::password: {get_input: heat_password}
1141 keystone::admin_token: {get_input: admin_token}
1142 keystone_ca_certificate: {get_input: keystone_ca_certificate}
1143 keystone_signing_key: {get_input: keystone_signing_key}
1144 keystone_signing_certificate: {get_input: keystone_signing_certificate}
1145 keystone_ssl_certificate: {get_input: keystone_ssl_certificate}
1146 keystone_ssl_certificate_key: {get_input: keystone_ssl_certificate_key}
1147 keystone::database_connection: {get_input: keystone_dsn}
1148 keystone::public_bind_host: {get_input: keystone_public_api_network}
1149 keystone::admin_bind_host: {get_input: keystone_admin_api_network}
1150 keystone::debug: {get_input: debug}
1151 keystone::db::mysql::password: {get_input: admin_token}
1152 keystone::rabbit_userid: {get_input: rabbit_username}
1153 keystone::rabbit_password: {get_input: rabbit_password}
1154 keystone::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
1155 keystone::rabbit_port: {get_input: rabbit_client_port}
1156 keystone::notification_driver: {get_input: keystone_notification_driver}
1157 keystone::notification_format: {get_input: keystone_notification_format}
1158 keystone::roles::admin::email: {get_input: admin_email}
1159 keystone::roles::admin::password: {get_input: admin_password}
1160 keystone::endpoint::public_url: {get_input: keystone_public_url}
1161 keystone::endpoint::internal_url: {get_input: keystone_internal_url}
1162 keystone::endpoint::admin_url: {get_input: keystone_identity_uri}
1163 keystone::endpoint::region: {get_input: keystone_region}
1165 mongodb::server::bind_ip: {get_input: mongo_db_network}
1166 mongodb::server::nojournal: {get_input: mongodb_no_journal}
1168 admin_password: {get_input: admin_password}
1169 enable_galera: {get_input: enable_galera}
1170 enable_ceph_storage: {get_input: enable_ceph_storage}
1171 enable_swift_storage: {get_input: enable_swift_storage}
1172 mysql_innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
1173 mysql_max_connections: {get_input: mysql_max_connections}
1174 mysql::server::root_password: {get_input: mysql_root_password}
1175 mysql_cluster_name: {get_input: mysql_cluster_name}
1176 mysql_bind_host: {get_input: mysql_network}
1177 mysql_virtual_ip: {get_input: mysql_virtual_ip}
1180 neutron::bind_host: {get_input: neutron_api_network}
1181 neutron::rabbit_password: {get_input: rabbit_password}
1182 neutron::rabbit_user: {get_input: rabbit_username}
1183 neutron::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
1184 neutron::rabbit_port: {get_input: rabbit_client_port}
1185 neutron::debug: {get_input: debug}
1186 neutron::server::auth_uri: {get_input: keystone_auth_uri}
1187 neutron::server::identity_uri: {get_input: keystone_identity_uri}
1188 neutron::server::database_connection: {get_input: neutron_dsn}
1189 neutron::agents::l3::external_network_bridge: {get_input: neutron_external_network_bridge}
1190 neutron::agents::ml2::ovs::enable_tunneling: {get_input: neutron_enable_tunneling}
1191 neutron::agents::ml2::ovs::l2_population: {get_input: neutron_enable_l2pop}
1192 neutron::agents::dhcp::enable_isolated_metadata: {get_input: neutron_enable_isolated_metadata}
1193 neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip}
1194 neutron_flat_networks: {get_input: neutron_flat_networks}
1195 neutron::agents::metadata::shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
1196 neutron::agents::metadata::metadata_ip: {get_input: neutron_api_network}
1197 neutron_agent_mode: {get_input: neutron_agent_mode}
1198 neutron_router_distributed: {get_input: neutron_router_distributed}
1199 neutron::core_plugin: {get_input: neutron_core_plugin}
1200 neutron::service_plugins: {get_input: neutron_service_plugins}
1201 neutron::plugins::ml2::type_drivers: {get_input: neutron_type_drivers}
1202 neutron_mechanism_drivers: {get_input: neutron_mechanism_drivers}
1203 neutron::server::allow_automatic_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
1204 neutron::server::l3_ha: {get_input: neutron_l3_ha}
1205 neutron::dhcp_agents_per_network: {get_input: neutron_dhcp_agents_per_network}
1206 neutron::plugins::ml2::network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
1207 neutron::plugins::ml2::tunnel_id_ranges: {get_input: neutron_tunnel_id_ranges}
1208 neutron::plugins::ml2::vni_ranges: {get_input: neutron_vni_ranges}
1209 neutron_bridge_mappings: {get_input: neutron_bridge_mappings}
1210 neutron_public_interface: {get_input: neutron_public_interface}
1211 neutron_public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
1212 neutron_public_interface_default_route: {get_input: neutron_public_interface_default_route}
1213 neutron_public_interface_tag: {get_input: neutron_public_interface_tag}
1214 neutron_tenant_network_type: {get_input: neutron_tenant_network_type}
1215 neutron_tunnel_types: {get_input: neutron_tunnel_types}
1216 neutron::server::auth_password: {get_input: neutron_password}
1217 neutron::agents::metadata::auth_password: {get_input: neutron_password}
1218 neutron_dnsmasq_options: {get_input: neutron_dnsmasq_options}
1219 neutron_dsn: {get_input: neutron_dsn}
1220 neutron::agents::metadata::auth_url: {get_input: keystone_identity_uri}
1221 neutron::db::mysql::password: {get_input: neutron_password}
1222 neutron::keystone::auth::public_url: {get_input: neutron_public_url }
1223 neutron::keystone::auth::internal_url: {get_input: neutron_internal_url }
1224 neutron::keystone::auth::admin_url: {get_input: neutron_admin_url }
1225 neutron::keystone::auth::password: {get_input: neutron_password }
1226 neutron::keystone::auth::region: {get_input: keystone_region}
1227 neutron::server::notifications::nova_url: {get_input: nova_internal_url}
1228 neutron::server::notifications::auth_url: {get_input: neutron_admin_auth_url}
1229 neutron::server::notifications::tenant_name: 'service'
1230 neutron::server::notifications::password: {get_input: nova_password}
1233 ceilometer_backend: {get_input: ceilometer_backend}
1234 ceilometer_mysql_conn_string: {get_input: ceilometer_dsn}
1235 ceilometer::metering_secret: {get_input: ceilometer_metering_secret}
1236 ceilometer::rabbit_userid: {get_input: rabbit_username}
1237 ceilometer::rabbit_password: {get_input: rabbit_password}
1238 ceilometer::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
1239 ceilometer::rabbit_port: {get_input: rabbit_client_port}
1240 ceilometer::debug: {get_input: debug}
1241 ceilometer::api::host: {get_input: ceilometer_api_network}
1242 ceilometer::api::keystone_password: {get_input: ceilometer_password}
1243 ceilometer::api::keystone_auth_uri: {get_input: keystone_auth_uri}
1244 ceilometer::api::keystone_identity_uri: {get_input: keystone_identity_uri}
1245 ceilometer::agent::auth::auth_password: {get_input: ceilometer_password}
1246 ceilometer::agent::auth::auth_url: {get_input: keystone_auth_uri}
1247 ceilometer::agent::central::coordination_url: {get_input: ceilometer_coordination_url}
1248 ceilometer::db::mysql::password: {get_input: ceilometer_password}
1249 snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
1250 snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
1253 nova::rabbit_userid: {get_input: rabbit_username}
1254 nova::rabbit_password: {get_input: rabbit_password}
1255 nova::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
1256 nova::rabbit_port: {get_input: rabbit_client_port}
1257 nova::debug: {get_input: debug}
1258 nova::api::auth_uri: {get_input: keystone_auth_uri}
1259 nova::api::identity_uri: {get_input: keystone_identity_uri}
1260 nova::api::api_bind_address: {get_input: nova_api_network}
1261 nova::api::metadata_listen: {get_input: nova_metadata_network}
1262 nova::api::admin_password: {get_input: nova_password}
1263 nova::database_connection: {get_input: nova_dsn}
1264 nova::glance_api_servers: {get_input: glance_api_servers}
1265 nova::api::neutron_metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
1266 nova::network::neutron::neutron_admin_password: {get_input: neutron_password}
1267 nova::network::neutron::neutron_url: {get_input: neutron_internal_url}
1268 nova::network::neutron::neutron_admin_auth_url: {get_input: neutron_admin_auth_url}
1269 nova::vncproxy::host: {get_input: nova_api_network}
1270 nova::db::mysql::password: {get_input: nova_password}
1273 apache::ip: {get_input: horizon_network}
1274 horizon::allowed_hosts: {get_input: horizon_allowed_hosts}
1275 horizon::django_debug: {get_input: debug}
1276 horizon::secret_key: {get_input: horizon_secret}
1277 horizon::bind_address: {get_input: horizon_network}
1278 horizon::keystone_url: {get_input: keystone_auth_uri}
1281 rabbitmq::node_ip_address: {get_input: rabbitmq_network}
1282 rabbitmq::erlang_cookie: {get_input: rabbit_cookie}
1283 rabbitmq::file_limit: {get_input: rabbit_fd_limit}
1284 rabbitmq::default_user: {get_input: rabbit_username}
1285 rabbitmq::default_pass: {get_input: rabbit_password}
1287 redis::bind: {get_input: redis_network}
1288 redis_vip: {get_input: redis_vip}
1290 memcached::listen_ip: {get_input: memcached_network}
1291 neutron_public_interface_ip: {get_input: neutron_public_interface_ip}
1292 ntp::servers: {get_input: ntp_servers}
1293 control_virtual_interface: {get_input: control_virtual_interface}
1294 public_virtual_interface: {get_input: public_virtual_interface}
1295 tripleo::loadbalancer::control_virtual_interface: {get_input: control_virtual_interface}
1296 tripleo::loadbalancer::public_virtual_interface: {get_input: public_virtual_interface}
1297 tripleo::loadbalancer::haproxy_log_address: {get_input: haproxy_log_address}
1298 tripleo::packages::enable_install: {get_input: enable_package_install}
1299 tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
1301 # Hook for site-specific additional pre-deployment config, e.g extra hieradata
1302 ControllerExtraConfigPre:
1303 depends_on: ControllerDeployment
1304 type: OS::TripleO::ControllerExtraConfigPre
1306 server: {get_resource: Controller}
1308 # Hook for site-specific additional pre-deployment config,
1309 # applying to all nodes, e.g node registration/unregistration
1311 depends_on: ControllerExtraConfigPre
1312 type: OS::TripleO::NodeExtraConfig
1314 server: {get_resource: Controller}
1317 type: OS::TripleO::Tasks::PackageUpdate
1320 type: OS::Heat::SoftwareDeployment
1322 config: {get_resource: UpdateConfig}
1323 server: {get_resource: Controller}
1326 get_param: UpdateIdentifier
1330 description: IP address of the server in the ctlplane network
1331 value: {get_attr: [Controller, networks, ctlplane, 0]}
1332 external_ip_address:
1333 description: IP address of the server in the external network
1334 value: {get_attr: [ExternalPort, ip_address]}
1335 internal_api_ip_address:
1336 description: IP address of the server in the internal_api network
1337 value: {get_attr: [InternalApiPort, ip_address]}
1339 description: IP address of the server in the storage network
1340 value: {get_attr: [StoragePort, ip_address]}
1341 storage_mgmt_ip_address:
1342 description: IP address of the server in the storage_mgmt network
1343 value: {get_attr: [StorageMgmtPort, ip_address]}
1345 description: IP address of the server in the tenant network
1346 value: {get_attr: [TenantPort, ip_address]}
1348 description: Hostname of the server
1349 value: {get_attr: [Controller, name]}
1352 Node object in the format {ip: ..., name: ...} format that the corosync
1355 ip: {get_attr: [Controller, networks, ctlplane, 0]}
1356 name: {get_attr: [Controller, name]}
1359 Server's IP address and hostname in the /etc/hosts format
1362 template: IP HOST.localdomain HOST CLOUDNAME
1364 IP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ControllerHostnameResolveNetwork]}]}
1365 HOST: {get_attr: [Controller, name]}
1366 CLOUDNAME: {get_param: CloudName}
1367 nova_server_resource:
1368 description: Heat resource handle for the Nova compute server
1370 {get_resource: Controller}
1372 description: Swift device formatted for swift-ring-builder
1375 template: 'r1z1-IP:%PORT%/d1'
1377 IP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftMgmtNetwork]}]}
1378 swift_proxy_memcache:
1379 description: Swift proxy-memcache value
1382 template: "IP:11211"
1384 IP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
1386 description: identifier which changes if the controller configuration may need re-applying
1390 - - {get_attr: [ControllerDeployment, deploy_stdout]}
1391 - {get_attr: [ControllerExtraConfigPre, deploy_stdout]}
1392 - {get_param: UpdateIdentifier}