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 Ceph Storage (OSD) on the Controller
115 description: Whether to enable Swift Storage on the Controller
120 Additional hieradata to inject into the cluster, note that
121 ControllerExtraConfig takes precedence over ExtraConfig.
126 Pacemaker fencing configuration. The JSON should have
127 the following structure:
131 "agent": "AGENT_NAME",
132 "host_mac": "HOST_MAC_ADDRESS",
133 "params": {"PARAM_NAME": "PARAM_VALUE"}
141 "agent": "fence_xvm",
142 "host_mac": "52:54:00:aa:bb:cc",
144 "multicast_address": "225.0.0.12",
145 "port": "baremetal_0",
147 "manage_key_file": true,
148 "key_file": "/etc/fence_xvm.key",
149 "key_file_password": "abcdef"
156 description: Flavor for control nodes to request when deploying.
159 - custom_constraint: nova.flavor
160 GlanceNotifierStrategy:
161 description: Strategy to use for Glance notification queue
165 description: The filepath of the file to use for logging messages from Glance.
170 description: The password for the glance service and db account, used by the glance services.
175 description: The short name of the Glance backend to use. Should be one
176 of swift, rbd, or file
179 - allowed_values: ['swift', 'file', 'rbd']
180 GlanceFilePcmkDevice:
183 An exported storage device that should be mounted by Pacemaker
184 as Glance storage. Effective when GlanceFilePcmkManage is true.
186 GlanceFilePcmkFstype:
189 Filesystem type for Pacemaker mount used as Glance storage.
190 Effective when GlanceFilePcmkManage is true.
192 GlanceFilePcmkManage:
195 Whether to make Glance file backend a mount managed by Pacemaker.
196 Effective when GlanceBackend is 'file'.
198 GlanceFilePcmkOptions:
201 Mount options for Pacemaker mount used as Glance storage.
202 Effective when GlanceFilePcmkManage is true.
204 HAProxySyslogAddress:
206 description: Syslog address where HAproxy will send its log
210 description: The password for the Heat service and db account, used by the Heat services.
213 HeatStackDomainAdminPassword:
214 description: Password for heat_domain_admin user.
218 HeatAuthEncryptionKey:
219 description: Auth encryption key for heat-engine
224 description: A list of IP/Hostname allowed to connect to horizon
225 type: comma_delimited_list
227 description: Secret key for Django
232 default: overcloud-control
234 - custom_constraint: glance.image
236 default: 'REBUILD_PRESERVE_EPHEMERAL'
237 description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
241 description: Name of an existing EC2 KeyPair to enable SSH access to the instances
244 - custom_constraint: nova.keypair
245 KeystoneCACertificate:
247 description: Keystone self-signed certificate authority certificate.
249 KeystoneSigningCertificate:
251 description: Keystone certificate for verifying token validity.
255 description: Keystone key for signing tokens.
258 KeystoneSSLCertificate:
260 description: Keystone certificate for verifying token validity.
262 KeystoneSSLCertificateKey:
264 description: Keystone key for signing tokens.
267 KeystoneNotificationDriver:
268 description: Comma-separated list of Oslo notification drivers used by Keystone
269 default: ['messaging']
270 type: comma_delimited_list
271 KeystoneNotificationFormat:
272 description: The Keystone notification format
276 - allowed_values: [ 'basic', 'cadf' ]
280 description: Keystone region for endpoint
281 MysqlClusterUniquePart:
282 description: A unique identifier of the MySQL cluster the controller is in.
284 default: 'unset' # Has to be here because of the ignored empty value bug
285 # Drop the validation: https://bugs.launchpad.net/tripleo/+bug/1405446
287 # - length: {min: 4, max: 10}
288 MysqlInnodbBufferPoolSize:
290 Specifies the size of the buffer pool in megabytes. Setting to
291 zero should be interpreted as "no value" and will defer to the
296 description: Configures MySQL max_connections config setting
302 default: '' # Has to be here because of the ignored empty value bug
303 NeutronExternalNetworkBridge:
304 description: Name of bridge used for external network traffic.
307 NeutronBridgeMappings:
309 The OVS logical->physical bridge mappings to use. See the Neutron
310 documentation for details. Defaults to mapping br-ex - the external
311 bridge on hosts - to a physical name 'datacentre' which can be used
312 to create provider networks (and we use this for the default floating
313 network) - if changing this either use different post-install network
314 scripts or be sure to keep 'datacentre' as a mapping network name.
316 default: "datacentre:br-ex"
317 NeutronDnsmasqOptions:
318 default: 'dhcp-option-force=26,1400'
319 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.
323 description: Agent mode for the neutron-l3-agent on the controller hosts
327 description: Whether to enable l3-agent HA
329 NeutronDhcpAgentsPerNetwork:
332 description: The number of neutron dhcp agents to schedule per network
335 description: Whether to configure Neutron Distributed Virtual Routers
337 NeutronMetadataProxySharedSecret:
339 description: Shared secret to prevent spoofing
345 The core plugin for Neutron. The value should be the entrypoint to be loaded
346 from neutron.core_plugins namespace.
348 NeutronServicePlugins:
351 Comma-separated list of service plugin entrypoints to be loaded from the
352 neutron.service_plugins namespace.
353 type: comma_delimited_list
355 default: "vxlan,vlan,flat,gre"
357 Comma-separated list of network type driver entrypoints to be loaded.
358 type: comma_delimited_list
359 NeutronMechanismDrivers:
360 default: 'openvswitch'
362 The mechanism drivers for the Neutron tenant network. To specify multiple
363 values, use a comma separated string, like so: 'openvswitch,l2_population'
365 NeutronAllowL3AgentFailover:
367 description: Allow automatic l3-agent failover
369 NeutronEnableIsolatedMetadata:
371 description: If True, DHCP provide metadata route to VM.
373 NeutronEnableTunnelling:
379 Enable/disable the L2 population feature in the Neutron agents.
383 default: 'datacentre'
384 description: If set, flat networks to configure in neutron plugins.
387 description: Whether to enable l3-agent HA
391 description: The tenant network type for Neutron, either gre or vxlan.
393 NeutronNetworkVLANRanges:
394 default: 'datacentre'
396 The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
397 Neutron documentation for permitted values. Defaults to permitting any
398 VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
399 type: comma_delimited_list
402 description: The password for the neutron service and db account, used by neutron agents.
405 NeutronPublicInterface:
407 description: What interface to bridge onto br-ex for network nodes.
409 NeutronPublicInterfaceTag:
412 VLAN tag for creating a public VLAN. The tag will be used to
413 create an access port on the exterior bridge for each control plane node,
414 and that port will be given the IP address returned by neutron from the
415 public network. Set CONTROLEXTRA=overcloud-vlan-port.yaml when compiling
416 overcloud.yaml to include the deployment of VLAN ports to the control
419 NeutronPublicInterfaceDefaultRoute:
421 description: A custom default route for the NeutronPublicInterface.
423 NeutronPublicInterfaceIP:
425 description: A custom IP address to put onto the NeutronPublicInterface.
427 NeutronPublicInterfaceRawDevice:
429 description: If set, the public interface is a vlan with this device as the raw device.
434 The tunnel types for the Neutron tenant network. To specify multiple
435 values, use a comma separated string, like so: 'gre,vxlan'
437 NeutronTunnelIdRanges:
439 Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges
440 of GRE tunnel IDs that are available for tenant network allocation
441 default: ["1:1000", ]
442 type: comma_delimited_list
445 Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges
446 of VXLAN VNI IDs that are available for tenant network allocation
447 default: ["1:1000", ]
448 type: comma_delimited_list
454 description: The password for the nova service and db account, used by nova-api.
459 description: Should MongoDb journaling be disabled
463 description: Comma-separated list of ntp servers
464 type: comma_delimited_list
467 description: The password for the 'pcsd' user.
469 PublicVirtualInterface:
472 Specifies the interface where the public-facing virtual ip will be assigned.
473 This should be int_public when a VLAN is being used.
477 default: '' # Has to be here because of the ignored empty value bug
480 default: '' # Has to be here because of the ignored empty value bug
484 description: The password for RabbitMQ
489 description: The username for RabbitMQ
494 Rabbit client subscriber parameter to specify
495 an SSL connection to the RabbitMQ host.
499 description: Set rabbit subscriber port, change this if using SSL
503 description: Configures RabbitMQ FD limit
507 default: '' # Has to be here because of the ignored empty value bug
508 SnmpdReadonlyUserName:
509 default: ro_snmp_user
510 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
512 SnmpdReadonlyUserPassword:
514 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
519 description: A random string to be used as a salt when hashing to determine mappings
525 description: Value of mount_check in Swift account/container/object -server.conf
530 description: The minimum time (in hours) before a partition in a ring can be moved following a rebalance.
533 description: Partition Power to use when building Swift rings
537 description: The password for the swift service account, used by the swift proxy
547 description: How many replicas to use in the swift rings.
548 VirtualIP: # DEPRECATED: use per service settings instead
550 default: '' # Has to be here because of the ignored empty value bug
557 GlanceRegistryVirtualIP:
563 KeystoneAdminApiVirtualIP:
566 KeystonePublicApiVirtualIP:
572 EnablePackageInstall:
574 description: Set to true to enable package installation via Puppet
578 description: Mapping of service_name -> network name. Typically set
579 via parameter_defaults in the resource registry.
583 description: Mapping of service endpoint -> protocol. Typically set
584 via parameter_defaults in the resource registry.
590 Setting to a previously unused value during stack-update will trigger
591 package update on all nodes
594 default: '' # Defaults to Heat created hostname
595 NetworkDeploymentActions:
596 type: comma_delimited_list
598 Heat action when to apply network configuration changes
607 type: OS::Nova::Server
609 image: {get_param: Image}
610 image_update_policy: {get_param: ImageUpdatePolicy}
611 flavor: {get_param: Flavor}
612 key_name: {get_param: KeyName}
615 user_data_format: SOFTWARE_CONFIG
616 user_data: {get_resource: UserData}
617 name: {get_param: Hostname}
619 # Combine the NodeAdminUserData and NodeUserData mime archives
621 type: OS::Heat::MultipartMime
624 - config: {get_resource: NodeAdminUserData}
626 - config: {get_resource: NodeUserData}
629 # Creates the "heat-admin" user if configured via the environment
630 # Should return a OS::Heat::MultipartMime reference via OS::stack_id
632 type: OS::TripleO::NodeAdminUserData
634 # For optional operator additional userdata
635 # Should return a OS::Heat::MultipartMime reference via OS::stack_id
637 type: OS::TripleO::NodeUserData
640 type: OS::TripleO::Controller::Ports::ExternalPort
642 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
645 type: OS::TripleO::Controller::Ports::InternalApiPort
647 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
650 type: OS::TripleO::Controller::Ports::StoragePort
652 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
655 type: OS::TripleO::Controller::Ports::StorageMgmtPort
657 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
660 type: OS::TripleO::Controller::Ports::TenantPort
662 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
665 type: OS::TripleO::Network::Ports::NetIpMap
667 ControlPlaneIp: {get_attr: [Controller, networks, ctlplane, 0]}
668 ExternalIp: {get_attr: [ExternalPort, ip_address]}
669 InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
670 StorageIp: {get_attr: [StoragePort, ip_address]}
671 StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}
672 TenantIp: {get_attr: [TenantPort, ip_address]}
675 type: OS::TripleO::Network::Ports::NetIpSubnetMap
677 ControlPlaneIp: {get_attr: [Controller, networks, ctlplane, 0]}
678 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
679 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
680 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
681 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
682 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
685 type: OS::TripleO::Controller::Net::SoftwareConfig
687 ControlPlaneIp: {get_attr: [Controller, networks, ctlplane, 0]}
688 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
689 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
690 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
691 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
692 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
695 type: OS::TripleO::SoftwareDeployment
697 config: {get_resource: NetworkConfig}
698 server: {get_resource: Controller}
699 actions: {get_param: NetworkDeploymentActions}
702 interface_name: {get_param: NeutronPublicInterface}
704 # Hook for site-specific passing of private keys/certificates
706 depends_on: NetworkDeployment
707 type: OS::TripleO::NodeTLSData
709 server: {get_resource: Controller}
710 NodeIndex: {get_param: NodeIndex}
712 ControllerDeployment:
713 type: OS::TripleO::SoftwareDeployment
714 depends_on: NetworkDeployment
716 config: {get_resource: ControllerConfig}
717 server: {get_resource: Controller}
719 bootstack_nodeid: {get_attr: [Controller, name]}
720 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
721 neutron_enable_l2pop: {get_param: NeutronEnableL2Pop}
722 neutron_enable_isolated_metadata: {get_param: NeutronEnableIsolatedMetadata}
723 haproxy_log_address: {get_param: HAProxySyslogAddress}
724 heat.watch_server_url:
728 - {get_param: HeatApiVirtualIP}
730 heat.metadata_server_url:
734 - {get_param: HeatApiVirtualIP}
736 heat.waitcondition_server_url:
740 - {get_param: HeatApiVirtualIP}
741 - ':8000/v1/waitcondition'
742 heat_auth_encryption_key: {get_param: HeatAuthEncryptionKey}
743 horizon_allowed_hosts: {get_param: HorizonAllowedHosts}
744 horizon_secret: {get_param: HorizonSecret}
745 admin_email: {get_param: AdminEmail}
746 admin_password: {get_param: AdminPassword}
747 admin_token: {get_param: AdminToken}
748 neutron_public_interface_ip: {get_param: NeutronPublicInterfaceIP}
749 debug: {get_param: Debug}
750 cinder_enable_nfs_backend: {get_param: CinderEnableNfsBackend}
751 cinder_enable_rbd_backend: {get_param: CinderEnableRbdBackend}
752 cinder_nfs_mount_options: {get_param: CinderNfsMountOptions}
755 template: "['SERVERS']"
760 - {get_param: CinderNfsServers}
761 cinder_lvm_loop_device_size: {get_param: CinderLVMLoopDeviceSize}
762 cinder_password: {get_param: CinderPassword}
763 cinder_enable_iscsi_backend: {get_param: CinderEnableIscsiBackend}
764 cinder_iscsi_helper: {get_param: CinderISCSIHelper}
765 cinder_backend_config: {get_param: CinderBackendConfig}
769 - - 'mysql://cinder:'
770 - {get_param: CinderPassword}
772 - {get_param: MysqlVirtualIP}
774 glance_port: {get_param: [EndpointMap, GlanceInternal, port]}
775 glance_password: {get_param: GlancePassword}
776 glance_backend: {get_param: GlanceBackend}
777 glance_file_pcmk_device: {get_param: GlanceFilePcmkDevice}
778 glance_file_pcmk_fstype: {get_param: GlanceFilePcmkFstype}
779 glance_file_pcmk_manage: {get_param: GlanceFilePcmkManage}
780 glance_file_pcmk_options: {get_param: GlanceFilePcmkOptions}
781 glance_notifier_strategy: {get_param: GlanceNotifierStrategy}
782 glance_log_file: {get_param: GlanceLogFile}
786 - - 'mysql://glance:'
787 - {get_param: GlancePassword}
789 - {get_param: MysqlVirtualIP}
791 heat_password: {get_param: HeatPassword}
792 heat_stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword}
797 - {get_param: HeatPassword}
799 - {get_param: MysqlVirtualIP}
801 keystone_ca_certificate: {get_param: KeystoneCACertificate}
802 keystone_signing_key: {get_param: KeystoneSigningKey}
803 keystone_signing_certificate: {get_param: KeystoneSigningCertificate}
804 keystone_ssl_certificate: {get_param: KeystoneSSLCertificate}
805 keystone_ssl_certificate_key: {get_param: KeystoneSSLCertificateKey}
806 keystone_notification_driver: {get_param: KeystoneNotificationDriver}
807 keystone_notification_format: {get_param: KeystoneNotificationFormat}
811 - - 'mysql://keystone:'
812 - {get_param: AdminToken}
814 - {get_param: MysqlVirtualIP}
816 keystone_identity_uri: { get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix] }
817 keystone_auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri] }
818 keystone_public_url: { get_param: [EndpointMap, KeystonePublic, uri_no_suffix] }
819 keystone_internal_url: { get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] }
820 keystone_ec2_uri: { get_param: [EndpointMap, KeystoneEC2, uri] }
821 enable_fencing: {get_param: EnableFencing}
822 enable_galera: {get_param: EnableGalera}
823 enable_ceph_storage: {get_param: EnableCephStorage}
824 enable_swift_storage: {get_param: EnableSwiftStorage}
825 mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
826 mysql_max_connections: {get_param: MysqlMaxConnections}
827 mysql_root_password: {get_param: MysqlRootPassword}
830 template: tripleo-CLUSTER
832 CLUSTER: {get_param: MysqlClusterUniquePart}
833 neutron_flat_networks: {get_param: NeutronFlatNetworks}
834 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
835 neutron_agent_mode: {get_param: NeutronAgentMode}
836 neutron_router_distributed: {get_param: NeutronDVR}
837 neutron_core_plugin: {get_param: NeutronCorePlugin}
838 neutron_service_plugins:
840 template: "['PLUGINS']"
845 - {get_param: NeutronServicePlugins}
846 neutron_type_drivers:
848 template: "['DRIVERS']"
853 - {get_param: NeutronTypeDrivers}
854 neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
855 neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
856 neutron_l3_ha: {get_param: NeutronL3HA}
857 neutron_dhcp_agents_per_network: {get_param: NeutronDhcpAgentsPerNetwork}
858 neutron_network_vlan_ranges:
860 template: "['RANGES']"
865 - {get_param: NeutronNetworkVLANRanges}
866 neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
867 neutron_external_network_bridge: {get_param: NeutronExternalNetworkBridge}
868 neutron_public_interface: {get_param: NeutronPublicInterface}
869 neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
870 neutron_public_interface_default_route: {get_param: NeutronPublicInterfaceDefaultRoute}
871 neutron_public_interface_tag: {get_param: NeutronPublicInterfaceTag}
872 neutron_tenant_network_type: {get_param: NeutronNetworkType}
873 neutron_tunnel_types: {get_param: NeutronTunnelTypes}
874 neutron_tunnel_id_ranges:
876 template: "['RANGES']"
881 - {get_param: NeutronTunnelIdRanges}
884 template: "['RANGES']"
889 - {get_param: NeutronVniRanges}
890 neutron_password: {get_param: NeutronPassword}
891 neutron_dnsmasq_options: {get_param: NeutronDnsmasqOptions}
895 - - 'mysql://neutron:'
896 - {get_param: NeutronPassword}
898 - {get_param: MysqlVirtualIP}
899 - '/ovs_neutron?charset=utf8'
900 neutron_internal_url: { get_param: [ EndpointMap, NeutronInternal, uri ] }
901 neutron_public_url: { get_param: [ EndpointMap, NeutronPublic, uri ] }
902 neutron_admin_url: { get_param: [ EndpointMap, NeutronAdmin, uri ] }
903 neutron_admin_auth_url: { get_param: [ EndpointMap, KeystoneAdmin, uri ] }
904 nova_internal_url: { get_param: [ EndpointMap, NovaInternal, uri ] }
905 ceilometer_backend: {get_param: CeilometerBackend}
906 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
907 ceilometer_password: {get_param: CeilometerPassword}
908 ceilometer_coordination_url:
912 - {get_param: RedisVirtualIP}
917 - - 'mysql://ceilometer:'
918 - {get_param: CeilometerPassword}
920 - {get_param: MysqlVirtualIP}
922 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
923 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
924 nova_password: {get_param: NovaPassword}
929 - {get_param: NovaPassword}
931 - {get_param: MysqlVirtualIP}
933 fencing_config: {get_param: FencingConfig}
934 pcsd_password: {get_param: PcsdPassword}
935 rabbit_username: {get_param: RabbitUserName}
936 rabbit_password: {get_param: RabbitPassword}
937 rabbit_cookie: {get_param: RabbitCookie}
938 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
939 rabbit_client_port: {get_param: RabbitClientPort}
940 mongodb_no_journal: {get_param: MongoDbNoJournal}
941 # We need to force this into quotes or hiera will return integer causing
942 # the puppet module validation regexp to fail.
943 # Remove when: https://github.com/puppetlabs/puppetlabs-rabbitmq/pull/401
948 LIMIT: {get_param: RabbitFDLimit}
949 ntp_servers: {get_param: NtpServer}
950 control_virtual_interface: {get_param: ControlVirtualInterface}
951 public_virtual_interface: {get_param: PublicVirtualInterface}
952 swift_hash_suffix: {get_param: SwiftHashSuffix}
953 swift_password: {get_param: SwiftPassword}
954 swift_part_power: {get_param: SwiftPartPower}
955 swift_replicas: {get_param: SwiftReplicas}
956 swift_min_part_hours: {get_param: SwiftMinPartHours}
957 swift_mount_check: {get_param: SwiftMountCheck}
958 enable_package_install: {get_param: EnablePackageInstall}
959 enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]}
960 swift_proxy_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
961 swift_management_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftMgmtNetwork]}]}
962 cinder_iscsi_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CinderIscsiNetwork]}]}
963 cinder_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
964 glance_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
965 glance_registry_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
966 glance_api_servers: { get_param: [EndpointMap, GlanceInternal, uri]}
967 glance_registry_host: {get_param: GlanceRegistryVirtualIP}
968 heat_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
969 keystone_public_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
970 keystone_admin_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
971 keystone_region: {get_param: KeystoneRegion}
972 mongo_db_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MongoDbNetwork]}]}
973 neutron_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
974 neutron_local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronTenantNetwork]}]}
975 ceilometer_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
976 nova_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
977 nova_metadata_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
978 horizon_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
979 rabbitmq_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
980 redis_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, RedisNetwork]}]}
981 redis_vip: {get_param: RedisVirtualIP}
982 memcached_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
983 mysql_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
984 mysql_virtual_ip: {get_param: MysqlVirtualIP}
985 ceph_cluster_network: {get_attr: [NetIpSubnetMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephClusterNetwork]}]}
986 ceph_public_network: {get_attr: [NetIpSubnetMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
987 ceph_public_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
989 # Map heat metadata into hiera datafiles
991 type: OS::Heat::StructuredConfig
993 group: os-apply-config
998 - heat_config_%{::deploy_config_name}
999 - controller_extraconfig
1004 - swift_devices_and_proxy # provided by SwiftDevicesAndProxyConfig
1005 - ceph_cluster # provided by CephClusterConfig
1007 - bootstrap_node # provided by BootstrapNodeConfig
1008 - all_nodes # provided by allNodesConfig
1009 - vip_data # provided by vip-config
1012 - cinder_netapp_data # Optionally provided by ControllerExtraConfigPre
1013 - neutron_bigswitch_data # Optionally provided by ControllerExtraConfigPre
1014 - neutron_cisco_data # Optionally provided by ControllerExtraConfigPre
1015 - cisco_n1kv_data # Optionally provided by ControllerExtraConfigPre
1017 controller_extraconfig:
1018 mapped_data: {get_param: ControllerExtraConfig}
1020 mapped_data: {get_param: ExtraConfig}
1022 raw_data: {get_file: hieradata/common.yaml}
1024 raw_data: {get_file: hieradata/ceph.yaml}
1026 ceph::profile::params::cluster_network: {get_input: ceph_cluster_network}
1027 ceph::profile::params::public_network: {get_input: ceph_public_network}
1028 ceph::mon::public_addr: {get_input: ceph_public_ip}
1030 raw_data: {get_file: hieradata/database.yaml}
1032 raw_data: {get_file: hieradata/object.yaml}
1034 raw_data: {get_file: hieradata/controller.yaml}
1035 mapped_data: # data supplied directly to this deployment configuration, etc
1036 bootstack_nodeid: {get_input: bootstack_nodeid}
1039 enable_fencing: {get_input: enable_fencing}
1040 hacluster_pwd: {get_input: pcsd_password}
1041 tripleo::fencing::config: {get_input: fencing_config}
1044 swift::proxy::proxy_local_net_ip: {get_input: swift_proxy_network}
1045 swift::proxy::authtoken::auth_uri: {get_input: keystone_auth_uri}
1046 swift::proxy::authtoken::identity_uri: {get_input: keystone_identity_uri}
1047 swift::storage::all::storage_local_net_ip: {get_input: swift_management_network}
1048 swift::swift_hash_suffix: {get_input: swift_hash_suffix}
1049 swift::proxy::authtoken::admin_password: {get_input: swift_password}
1050 tripleo::ringbuilder::part_power: {get_input: swift_part_power}
1051 tripleo::ringbuilder::replicas: {get_input: swift_replicas}
1052 tripleo::ringbuilder::min_part_hours: {get_input: swift_min_part_hours}
1053 swift_mount_check: {get_input: swift_mount_check}
1055 # NOTE(dprince): build_ring support is currently not wired in.
1056 # See: https://review.openstack.org/#/c/109225/
1057 tripleo::ringbuilder::build_ring: True
1060 cinder_enable_nfs_backend: {get_input: cinder_enable_nfs_backend}
1061 cinder_enable_rbd_backend: {get_input: cinder_enable_rbd_backend}
1062 cinder_nfs_mount_options: {get_input: cinder_nfs_mount_options}
1063 cinder_nfs_servers: {get_input: cinder_nfs_servers}
1064 cinder_lvm_loop_device_size: {get_input: cinder_lvm_loop_device_size}
1065 cinder_iscsi_helper: {get_input: cinder_iscsi_helper}
1066 cinder_iscsi_ip_address: {get_input: cinder_iscsi_network}
1067 cinder::database_connection: {get_input: cinder_dsn}
1068 cinder::api::keystone_password: {get_input: cinder_password}
1069 cinder::api::auth_uri: {get_input: keystone_auth_uri}
1070 cinder::api::identity_uri: {get_input: keystone_identity_uri}
1071 cinder::api::bind_host: {get_input: cinder_api_network}
1072 cinder::rabbit_userid: {get_input: rabbit_username}
1073 cinder::rabbit_password: {get_input: rabbit_password}
1074 cinder::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
1075 cinder::rabbit_port: {get_input: rabbit_client_port}
1076 cinder::debug: {get_input: debug}
1077 cinder_enable_iscsi_backend: {get_input: cinder_enable_iscsi_backend}
1078 cinder::glance::glance_api_servers: {get_input: glance_api_servers}
1079 cinder_backend_config: {get_input: CinderBackendConfig}
1080 cinder::db::mysql::password: {get_input: cinder_password}
1083 glance::api::bind_port: {get_input: glance_port}
1084 glance::api::bind_host: {get_input: glance_api_network}
1085 glance::api::auth_uri: {get_input: keystone_auth_uri}
1086 glance::api::identity_uri: {get_input: keystone_identity_uri}
1087 glance::api::registry_host: {get_input: glance_registry_host}
1088 glance::api::keystone_password: {get_input: glance_password}
1089 glance::api::debug: {get_input: debug}
1090 glance_notifier_strategy: {get_input: glance_notifier_strategy}
1091 glance_log_file: {get_input: glance_log_file}
1092 glance_log_file: {get_input: glance_log_file}
1093 glance::api::database_connection: {get_input: glance_dsn}
1094 glance::registry::keystone_password: {get_input: glance_password}
1095 glance::registry::database_connection: {get_input: glance_dsn}
1096 glance::registry::bind_host: {get_input: glance_registry_network}
1097 glance::registry::auth_uri: {get_input: keystone_auth_uri}
1098 glance::registry::identity_uri: {get_input: keystone_identity_uri}
1099 glance::registry::debug: {get_input: debug}
1100 glance::backend::swift::swift_store_auth_address: {get_input: keystone_auth_uri}
1101 glance::backend::swift::swift_store_user: service:glance
1102 glance::backend::swift::swift_store_key: {get_input: glance_password}
1103 glance_backend: {get_input: glance_backend}
1104 glance::db::mysql::password: {get_input: glance_password}
1105 glance_file_pcmk_device: {get_input: glance_file_pcmk_device}
1106 glance_file_pcmk_fstype: {get_input: glance_file_pcmk_fstype}
1107 glance_file_pcmk_manage: {get_input: glance_file_pcmk_manage}
1108 glance_file_pcmk_options: {get_input: glance_file_pcmk_options}
1111 heat_stack_domain_admin_password: {get_input: heat_stack_domain_admin_password}
1112 heat::engine::heat_watch_server_url: {get_input: heat.watch_server_url}
1113 heat::engine::heat_metadata_server_url: {get_input: heat.metadata_server_url}
1114 heat::engine::heat_waitcondition_server_url: {get_input: heat.waitcondition_server_url}
1115 heat::engine::auth_encryption_key: {get_input: heat_auth_encryption_key}
1116 heat::rabbit_userid: {get_input: rabbit_username}
1117 heat::rabbit_password: {get_input: rabbit_password}
1118 heat::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
1119 heat::rabbit_port: {get_input: rabbit_client_port}
1120 heat::auth_uri: {get_input: keystone_auth_uri}
1121 heat::keystone_ec2_uri: {get_input: keystone_ec2_uri}
1122 heat::identity_uri: {get_input: keystone_identity_uri}
1123 heat::keystone_password: {get_input: heat_password}
1124 heat::api::bind_host: {get_input: heat_api_network}
1125 heat::api_cloudwatch::bind_host: {get_input: heat_api_network}
1126 heat::api_cfn::bind_host: {get_input: heat_api_network}
1127 heat::database_connection: {get_input: heat_dsn}
1128 heat::debug: {get_input: debug}
1129 heat::db::mysql::password: {get_input: heat_password}
1132 keystone::admin_token: {get_input: admin_token}
1133 keystone_ca_certificate: {get_input: keystone_ca_certificate}
1134 keystone_signing_key: {get_input: keystone_signing_key}
1135 keystone_signing_certificate: {get_input: keystone_signing_certificate}
1136 keystone_ssl_certificate: {get_input: keystone_ssl_certificate}
1137 keystone_ssl_certificate_key: {get_input: keystone_ssl_certificate_key}
1138 keystone::database_connection: {get_input: keystone_dsn}
1139 keystone::public_bind_host: {get_input: keystone_public_api_network}
1140 keystone::admin_bind_host: {get_input: keystone_admin_api_network}
1141 keystone::debug: {get_input: debug}
1142 keystone::db::mysql::password: {get_input: admin_token}
1143 keystone::rabbit_userid: {get_input: rabbit_username}
1144 keystone::rabbit_password: {get_input: rabbit_password}
1145 keystone::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
1146 keystone::rabbit_port: {get_input: rabbit_client_port}
1147 keystone::notification_driver: {get_input: keystone_notification_driver}
1148 keystone::notification_format: {get_input: keystone_notification_format}
1149 keystone::roles::admin::email: {get_input: admin_email}
1150 keystone::roles::admin::password: {get_input: admin_password}
1151 keystone::endpoint::public_url: {get_input: keystone_public_url}
1152 keystone::endpoint::internal_url: {get_input: keystone_internal_url}
1153 keystone::endpoint::admin_url: {get_input: keystone_identity_uri}
1154 keystone::endpoint::region: {get_input: keystone_region}
1156 mongodb::server::bind_ip: {get_input: mongo_db_network}
1157 mongodb::server::nojournal: {get_input: mongodb_no_journal}
1159 admin_password: {get_input: admin_password}
1160 enable_galera: {get_input: enable_galera}
1161 enable_ceph_storage: {get_input: enable_ceph_storage}
1162 enable_swift_storage: {get_input: enable_swift_storage}
1163 mysql_innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
1164 mysql_max_connections: {get_input: mysql_max_connections}
1165 mysql::server::root_password: {get_input: mysql_root_password}
1166 mysql_cluster_name: {get_input: mysql_cluster_name}
1167 mysql_bind_host: {get_input: mysql_network}
1168 mysql_virtual_ip: {get_input: mysql_virtual_ip}
1171 neutron::bind_host: {get_input: neutron_api_network}
1172 neutron::rabbit_password: {get_input: rabbit_password}
1173 neutron::rabbit_user: {get_input: rabbit_username}
1174 neutron::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
1175 neutron::rabbit_port: {get_input: rabbit_client_port}
1176 neutron::debug: {get_input: debug}
1177 neutron::server::auth_uri: {get_input: keystone_auth_uri}
1178 neutron::server::identity_uri: {get_input: keystone_identity_uri}
1179 neutron::server::database_connection: {get_input: neutron_dsn}
1180 neutron::agents::l3::external_network_bridge: {get_input: neutron_external_network_bridge}
1181 neutron::agents::ml2::ovs::enable_tunneling: {get_input: neutron_enable_tunneling}
1182 neutron::agents::ml2::ovs::l2_population: {get_input: neutron_enable_l2pop}
1183 neutron::agents::dhcp::enable_isolated_metadata: {get_input: neutron_enable_isolated_metadata}
1184 neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip}
1185 neutron_flat_networks: {get_input: neutron_flat_networks}
1186 neutron::agents::metadata::shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
1187 neutron::agents::metadata::metadata_ip: {get_input: neutron_api_network}
1188 neutron_agent_mode: {get_input: neutron_agent_mode}
1189 neutron_router_distributed: {get_input: neutron_router_distributed}
1190 neutron::core_plugin: {get_input: neutron_core_plugin}
1191 neutron::service_plugins: {get_input: neutron_service_plugins}
1192 neutron::plugins::ml2::type_drivers: {get_input: neutron_type_drivers}
1193 neutron_mechanism_drivers: {get_input: neutron_mechanism_drivers}
1194 neutron::server::allow_automatic_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
1195 neutron::server::l3_ha: {get_input: neutron_l3_ha}
1196 neutron::dhcp_agents_per_network: {get_input: neutron_dhcp_agents_per_network}
1197 neutron::plugins::ml2::network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
1198 neutron::plugins::ml2::tunnel_id_ranges: {get_input: neutron_tunnel_id_ranges}
1199 neutron::plugins::ml2::vni_ranges: {get_input: neutron_vni_ranges}
1200 neutron_bridge_mappings: {get_input: neutron_bridge_mappings}
1201 neutron_public_interface: {get_input: neutron_public_interface}
1202 neutron_public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
1203 neutron_public_interface_default_route: {get_input: neutron_public_interface_default_route}
1204 neutron_public_interface_tag: {get_input: neutron_public_interface_tag}
1205 neutron_tenant_network_type: {get_input: neutron_tenant_network_type}
1206 neutron_tunnel_types: {get_input: neutron_tunnel_types}
1207 neutron::server::auth_password: {get_input: neutron_password}
1208 neutron::agents::metadata::auth_password: {get_input: neutron_password}
1209 neutron_dnsmasq_options: {get_input: neutron_dnsmasq_options}
1210 neutron_dsn: {get_input: neutron_dsn}
1211 neutron::agents::metadata::auth_url: {get_input: keystone_identity_uri}
1212 neutron::db::mysql::password: {get_input: neutron_password}
1213 neutron::keystone::auth::public_url: {get_input: neutron_public_url }
1214 neutron::keystone::auth::internal_url: {get_input: neutron_internal_url }
1215 neutron::keystone::auth::admin_url: {get_input: neutron_admin_url }
1216 neutron::keystone::auth::password: {get_input: neutron_password }
1217 neutron::keystone::auth::region: {get_input: keystone_region}
1218 neutron::server::notifications::nova_url: {get_input: nova_internal_url}
1219 neutron::server::notifications::auth_url: {get_input: neutron_admin_auth_url}
1220 neutron::server::notifications::tenant_name: 'service'
1221 neutron::server::notifications::password: {get_input: nova_password}
1224 ceilometer_backend: {get_input: ceilometer_backend}
1225 ceilometer_mysql_conn_string: {get_input: ceilometer_dsn}
1226 ceilometer::metering_secret: {get_input: ceilometer_metering_secret}
1227 ceilometer::rabbit_userid: {get_input: rabbit_username}
1228 ceilometer::rabbit_password: {get_input: rabbit_password}
1229 ceilometer::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
1230 ceilometer::rabbit_port: {get_input: rabbit_client_port}
1231 ceilometer::debug: {get_input: debug}
1232 ceilometer::api::host: {get_input: ceilometer_api_network}
1233 ceilometer::api::keystone_password: {get_input: ceilometer_password}
1234 ceilometer::api::keystone_auth_uri: {get_input: keystone_auth_uri}
1235 ceilometer::api::keystone_identity_uri: {get_input: keystone_identity_uri}
1236 ceilometer::agent::auth::auth_password: {get_input: ceilometer_password}
1237 ceilometer::agent::auth::auth_url: {get_input: keystone_auth_uri}
1238 ceilometer::agent::central::coordination_url: {get_input: ceilometer_coordination_url}
1239 ceilometer::db::mysql::password: {get_input: ceilometer_password}
1240 snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
1241 snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
1244 nova::rabbit_userid: {get_input: rabbit_username}
1245 nova::rabbit_password: {get_input: rabbit_password}
1246 nova::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
1247 nova::rabbit_port: {get_input: rabbit_client_port}
1248 nova::debug: {get_input: debug}
1249 nova::api::auth_uri: {get_input: keystone_auth_uri}
1250 nova::api::identity_uri: {get_input: keystone_identity_uri}
1251 nova::api::api_bind_address: {get_input: nova_api_network}
1252 nova::api::metadata_listen: {get_input: nova_metadata_network}
1253 nova::api::admin_password: {get_input: nova_password}
1254 nova::database_connection: {get_input: nova_dsn}
1255 nova::glance_api_servers: {get_input: glance_api_servers}
1256 nova::api::neutron_metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
1257 nova::network::neutron::neutron_admin_password: {get_input: neutron_password}
1258 nova::network::neutron::neutron_url: {get_input: neutron_internal_url}
1259 nova::network::neutron::neutron_admin_auth_url: {get_input: neutron_admin_auth_url}
1260 nova::vncproxy::host: {get_input: nova_api_network}
1261 nova::db::mysql::password: {get_input: nova_password}
1264 apache::ip: {get_input: horizon_network}
1265 horizon::allowed_hosts: {get_input: horizon_allowed_hosts}
1266 horizon::django_debug: {get_input: debug}
1267 horizon::secret_key: {get_input: horizon_secret}
1268 horizon::bind_address: {get_input: horizon_network}
1269 horizon::keystone_url: {get_input: keystone_auth_uri}
1272 rabbitmq::node_ip_address: {get_input: rabbitmq_network}
1273 rabbitmq::erlang_cookie: {get_input: rabbit_cookie}
1274 rabbitmq::file_limit: {get_input: rabbit_fd_limit}
1275 rabbitmq::default_user: {get_input: rabbit_username}
1276 rabbitmq::default_pass: {get_input: rabbit_password}
1278 redis::bind: {get_input: redis_network}
1279 redis_vip: {get_input: redis_vip}
1281 memcached::listen_ip: {get_input: memcached_network}
1282 neutron_public_interface_ip: {get_input: neutron_public_interface_ip}
1283 ntp::servers: {get_input: ntp_servers}
1284 control_virtual_interface: {get_input: control_virtual_interface}
1285 public_virtual_interface: {get_input: public_virtual_interface}
1286 tripleo::loadbalancer::control_virtual_interface: {get_input: control_virtual_interface}
1287 tripleo::loadbalancer::public_virtual_interface: {get_input: public_virtual_interface}
1288 tripleo::loadbalancer::haproxy_log_address: {get_input: haproxy_log_address}
1289 # NOTE(jaosorior): The service certificate configuration for
1290 # HAProxy was left commented because to properly use this, we
1291 # need to be able to set up the keystone endpoints. And
1292 # currently that is not possible, but is being addressed by
1293 # other commits. A subsequent commit will uncomment this.
1294 #tripleo::loadbalancer::service_certificate: {get_attr: [NodeTLSData, deployed_ssl_certificate_path]}
1295 tripleo::packages::enable_install: {get_input: enable_package_install}
1296 tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
1298 # Hook for site-specific additional pre-deployment config, e.g extra hieradata
1299 ControllerExtraConfigPre:
1300 depends_on: ControllerDeployment
1301 type: OS::TripleO::ControllerExtraConfigPre
1303 server: {get_resource: Controller}
1305 # Hook for site-specific additional pre-deployment config,
1306 # applying to all nodes, e.g node registration/unregistration
1308 depends_on: ControllerExtraConfigPre
1309 type: OS::TripleO::NodeExtraConfig
1311 server: {get_resource: Controller}
1314 type: OS::TripleO::Tasks::PackageUpdate
1317 type: OS::Heat::SoftwareDeployment
1319 config: {get_resource: UpdateConfig}
1320 server: {get_resource: Controller}
1323 get_param: UpdateIdentifier
1327 description: IP address of the server in the ctlplane network
1328 value: {get_attr: [Controller, networks, ctlplane, 0]}
1329 external_ip_address:
1330 description: IP address of the server in the external network
1331 value: {get_attr: [ExternalPort, ip_address]}
1332 internal_api_ip_address:
1333 description: IP address of the server in the internal_api network
1334 value: {get_attr: [InternalApiPort, ip_address]}
1336 description: IP address of the server in the storage network
1337 value: {get_attr: [StoragePort, ip_address]}
1338 storage_mgmt_ip_address:
1339 description: IP address of the server in the storage_mgmt network
1340 value: {get_attr: [StorageMgmtPort, ip_address]}
1342 description: IP address of the server in the tenant network
1343 value: {get_attr: [TenantPort, ip_address]}
1345 description: Hostname of the server
1346 value: {get_attr: [Controller, name]}
1349 Node object in the format {ip: ..., name: ...} format that the corosync
1352 ip: {get_attr: [Controller, networks, ctlplane, 0]}
1353 name: {get_attr: [Controller, name]}
1356 Server's IP address and hostname in the /etc/hosts format
1359 template: IP HOST.localdomain HOST CLOUDNAME
1361 IP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ControllerHostnameResolveNetwork]}]}
1362 HOST: {get_attr: [Controller, name]}
1363 CLOUDNAME: {get_param: CloudName}
1364 nova_server_resource:
1365 description: Heat resource handle for the Nova compute server
1367 {get_resource: Controller}
1369 description: Swift device formatted for swift-ring-builder
1372 template: 'r1z1-IP:%PORT%/d1'
1374 IP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftMgmtNetwork]}]}
1375 swift_proxy_memcache:
1376 description: Swift proxy-memcache value
1379 template: "IP:11211"
1381 IP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
1383 description: identifier which changes if the controller configuration may need re-applying
1387 - - {get_attr: [ControllerDeployment, deploy_stdout]}
1388 - {get_attr: [NodeTLSData, deploy_stdout]}
1389 - {get_attr: [ControllerExtraConfigPre, deploy_stdout]}
1390 - {get_param: UpdateIdentifier}