1 heat_template_version: 2015-10-15
4 OpenStack hypervisor node configured via Puppet.
8 description: The password for the keystone admin account, used for monitoring, querying neutron etc.
11 CeilometerComputeAgent:
12 description: Indicates whether the Compute agent is present and expects nova-compute to be configured accordingly
16 - allowed_values: ['', Present]
17 CeilometerMeteringSecret:
18 description: Secret shared by the ceilometer services.
22 description: The password for the ceilometer service account.
25 CinderEnableNfsBackend:
27 description: Whether to enable or not the NFS backend for Cinder
29 CinderEnableRbdBackend:
31 description: Whether to enable or not the Rbd backend for Cinder
35 description: Set to True to enable debugging on all services.
40 Additional hiera configuration to inject into the cluster. Note
41 that NovaComputeExtraConfig takes precedence over ExtraConfig.
44 description: Flavor for the nova compute node
47 - custom_constraint: nova.flavor
50 default: '' # Has to be here because of the ignored empty value bug
53 default: overcloud-compute
55 - custom_constraint: glance.image
57 default: 'REBUILD_PRESERVE_EPHEMERAL'
58 description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
61 description: Name of an existing Nova key pair to enable SSH access to the instances
65 - custom_constraint: nova.keypair
66 KeystoneAdminApiVirtualIP:
69 KeystonePublicApiVirtualIP:
72 NeutronBridgeMappings:
74 The OVS logical->physical bridge mappings to use. See the Neutron
75 documentation for details. Defaults to mapping br-ex - the external
76 bridge on hosts - to a physical name 'datacentre' which can be used
77 to create provider networks (and we use this for the default floating
78 network) - if changing this either use different post-install network
79 scripts or be sure to keep 'datacentre' as a mapping network name.
80 type: comma_delimited_list
81 default: "datacentre:br-ex"
82 NeutronEnableTunnelling:
88 Enable/disable the L2 population feature in the Neutron agents.
91 type: comma_delimited_list
94 If set, flat networks to configure in neutron plugins.
97 default: '' # Has to be here because of the ignored empty value bug
99 type: comma_delimited_list
100 description: The tenant network type for Neutron.
102 NeutronNetworkVLANRanges:
103 default: 'datacentre:1:1000'
105 The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
106 Neutron documentation for permitted values. Defaults to permitting any
107 VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
108 type: comma_delimited_list
110 description: The password for the neutron service account, used by neutron agents.
113 NeutronPhysicalBridge:
115 description: An OVS bridge to create for accessing external networks.
117 NeutronPublicInterface:
119 description: A port to add to the NeutronPhysicalBridge.
123 The default MTU for tenant networks. For VXLAN/GRE tunneling, this should
124 be at least 50 bytes smaller than the MTU on the physical network. This
125 value will be used to set the MTU on the virtual Ethernet device.
126 This number is related to the value of NeutronDnsmasqOptions, since that
127 will determine the MTU that is assigned to the VM host through DHCP.
131 type: comma_delimited_list
133 The tunnel types for the Neutron tenant network.
135 NeutronTunnelIdRanges:
137 Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges
138 of GRE tunnel IDs that are available for tenant network allocation
139 default: ["1:4094", ]
140 type: comma_delimited_list
143 Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges
144 of VXLAN VNI IDs that are available for tenant network allocation
145 default: ["1:4094", ]
146 type: comma_delimited_list
147 NeutronPublicInterfaceRawDevice:
153 NeutronMetadataProxySharedSecret:
154 description: Shared secret to prevent spoofing
160 The core plugin for Neutron. The value should be the entrypoint to be loaded
161 from neutron.core_plugins namespace.
163 NeutronServicePlugins:
164 default: "router,qos"
166 Comma-separated list of service plugin entrypoints to be loaded from the
167 neutron.service_plugins namespace.
168 type: comma_delimited_list
170 default: "vxlan,vlan,flat,gre"
172 Comma-separated list of network type driver entrypoints to be loaded.
173 type: comma_delimited_list
174 NeutronMechanismDrivers:
175 default: 'openvswitch'
177 The mechanism drivers for the Neutron tenant network.
178 type: comma_delimited_list
179 NeutronAgentExtensions:
182 Comma-separated list of extensions enabled for the Neutron agents.
183 type: comma_delimited_list
184 # Not relevant for Computes, should be removed
185 NeutronAllowL3AgentFailover:
187 description: Allow automatic l3-agent failover
189 # Not relevant for Computes, should be removed
192 description: Whether to enable l3-agent HA
196 description: Agent mode for the neutron-l3-agent on the controller hosts
200 default: '' # Has to be here because of the ignored empty value bug
203 default: libvirt.LibvirtDriver
204 NovaComputeExtraConfig:
207 NovaCompute specific configuration to inject into the cluster. Same
208 structure as ExtraConfig.
210 NovaComputeLibvirtType:
213 NovaComputeLibvirtVifDriver:
215 description: Libvirt VIF driver configuration for the network
217 NovaEnableRbdBackend:
219 description: Whether to enable or not the Rbd backend for Nova
222 description: The password for the nova service account, used by nova-api.
227 default: '' # Has to be here because of the ignored empty value bug
230 description: Name of integration bridge used by Open vSwitch
232 NovaSecurityGroupAPI:
234 description: The full class name of the security API class
238 description: Comma-separated list of ntp servers
239 type: comma_delimited_list
242 default: '' # Has to be here because of the ignored empty value bug
245 description: The password for RabbitMQ
250 description: The username for RabbitMQ
255 Rabbit client subscriber parameter to specify
256 an SSL connection to the RabbitMQ host.
260 description: Set rabbit subscriber port, change this if using SSL
262 SnmpdReadonlyUserName:
263 default: ro_snmp_user
264 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
266 SnmpdReadonlyUserPassword:
267 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
270 UpgradeLevelNovaCompute:
272 description: Nova Compute upgrade level
274 EnablePackageInstall:
276 description: Set to true to enable package installation via Puppet
280 description: Mapping of service_name -> network name. Typically set
281 via parameter_defaults in the resource registry.
285 description: Mapping of service endpoint -> protocol. Typically set
286 via parameter_defaults in the resource registry.
290 description: The timezone to be set on compute nodes.
296 Setting to a previously unused value during stack-update will trigger
297 package update on all nodes
300 default: '' # Defaults to Heat created hostname
301 NetworkDeploymentActions:
302 type: comma_delimited_list
304 Heat action when to apply network configuration changes
306 SoftwareConfigTransport:
307 default: POLL_SERVER_CFN
309 How the server should receive the metadata required for software configuration.
312 - allowed_values: [POLL_SERVER_CFN, POLL_SERVER_HEAT, POLL_TEMP_URL, ZAQAR_MESSAGE]
317 The DNS domain used for the hosts. This should match the dhcp_domain
318 configured in the Undercloud neutron. Defaults to localdomain.
322 Extra properties or metadata passed to Nova for the created nodes in
323 the overcloud. It's accessible via the Nova metadata API.
327 description: Optional scheduler hints to pass to nova
333 type: OS::Nova::Server
338 get_param: ImageUpdatePolicy
339 flavor: {get_param: Flavor}
340 key_name: {get_param: KeyName}
343 user_data_format: SOFTWARE_CONFIG
344 user_data: {get_resource: UserData}
345 name: {get_param: Hostname}
346 software_config_transport: {get_param: SoftwareConfigTransport}
347 metadata: {get_param: ServerMetadata}
348 scheduler_hints: {get_param: SchedulerHints}
350 # Combine the NodeAdminUserData and NodeUserData mime archives
352 type: OS::Heat::MultipartMime
355 - config: {get_resource: NodeAdminUserData}
357 - config: {get_resource: NodeUserData}
360 # Creates the "heat-admin" user if configured via the environment
361 # Should return a OS::Heat::MultipartMime reference via OS::stack_id
363 type: OS::TripleO::NodeAdminUserData
365 # For optional operator additional userdata
366 # Should return a OS::Heat::MultipartMime reference via OS::stack_id
368 type: OS::TripleO::NodeUserData
371 type: OS::TripleO::Compute::Ports::ExternalPort
373 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
376 type: OS::TripleO::Compute::Ports::InternalApiPort
378 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
381 type: OS::TripleO::Compute::Ports::StoragePort
383 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
386 type: OS::TripleO::Compute::Ports::StorageMgmtPort
388 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
391 type: OS::TripleO::Compute::Ports::TenantPort
393 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
396 type: OS::TripleO::Compute::Ports::ManagementPort
398 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
401 type: OS::TripleO::Network::Ports::NetIpMap
403 ControlPlaneIp: {get_attr: [NovaCompute, networks, ctlplane, 0]}
404 ExternalIp: {get_attr: [ExternalPort, ip_address]}
405 InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
406 StorageIp: {get_attr: [StoragePort, ip_address]}
407 StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}
408 TenantIp: {get_attr: [TenantPort, ip_address]}
409 ManagementIp: {get_attr: [ManagementPort, ip_address]}
412 type: OS::TripleO::Compute::Net::SoftwareConfig
414 ControlPlaneIp: {get_attr: [NovaCompute, networks, ctlplane, 0]}
415 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
416 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
417 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
418 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
419 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
420 ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
423 type: OS::TripleO::SoftwareDeployment
425 name: NetworkDeployment
426 config: {get_resource: NetworkConfig}
427 server: {get_resource: NovaCompute}
428 actions: {get_param: NetworkDeploymentActions}
430 bridge_name: {get_param: NeutronPhysicalBridge}
431 interface_name: {get_param: NeutronPublicInterface}
434 type: OS::Heat::StructuredConfig
436 group: os-apply-config
441 - heat_config_%{::deploy_config_name}
442 - compute_extraconfig
445 - ceph_cluster # provided by CephClusterConfig
447 - all_nodes # provided by allNodesConfig
450 - neutron_bigswitch_data # Optionally provided by ComputeExtraConfigPre
451 - cisco_n1kv_data # Optionally provided by ComputeExtraConfigPre
452 - nova_nuage_data # Optionally provided by ComputeExtraConfigPre
453 - midonet_data # Optionally provided by AllNodesExtraConfig
456 mapped_data: {get_param: NovaComputeExtraConfig}
458 mapped_data: {get_param: ExtraConfig}
460 raw_data: {get_file: hieradata/common.yaml}
462 raw_data: {get_file: hieradata/ceph.yaml}
464 raw_data: {get_file: hieradata/compute.yaml}
466 cinder_enable_nfs_backend: {get_input: cinder_enable_nfs_backend}
467 nova::debug: {get_input: debug}
468 nova::rabbit_userid: {get_input: rabbit_username}
469 nova::rabbit_password: {get_input: rabbit_password}
470 nova::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
471 nova::rabbit_port: {get_input: rabbit_client_port}
472 nova::upgrade_level_compute: {get_input: upgrade_level_nova_compute}
473 nova_compute_driver: {get_input: nova_compute_driver}
474 nova::compute::libvirt::libvirt_virt_type: {get_input: nova_compute_libvirt_type}
475 nova::compute::neutron::libvirt_vif_driver: {get_input: nova_compute_libvirt_vif_driver}
476 nova_api_host: {get_input: nova_api_host}
477 nova::compute::vncproxy_host: {get_input: nova_public_ip}
478 nova::compute::rbd::ephemeral_storage: {get_input: nova_enable_rbd_backend}
479 rbd_persistent_storage: {get_input: cinder_enable_rbd_backend}
480 nova_password: {get_input: nova_password}
481 nova::compute::network_device_mtu: {get_input: neutron_tenant_mtu}
482 nova::compute::vncserver_proxyclient_address: {get_input: nova_vnc_proxyclient_address}
483 nova::vncproxy::common::vncproxy_protocol: {get_input: nova_vncproxy_protocol}
484 nova::vncproxy::common::vncproxy_host: {get_input: nova_vncproxy_host}
485 nova::vncproxy::common::vncproxy_port: {get_input: nova_vncproxy_port}
486 nova::network::neutron::neutron_ovs_bridge: {get_input: nova_ovs_bridge}
487 nova::network::neutron::security_group_api: {get_input: nova_security_group_api}
488 ceilometer::debug: {get_input: debug}
489 ceilometer::rabbit_userid: {get_input: rabbit_username}
490 ceilometer::rabbit_password: {get_input: rabbit_password}
491 ceilometer::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
492 ceilometer::rabbit_port: {get_input: rabbit_client_port}
493 ceilometer::metering_secret: {get_input: ceilometer_metering_secret}
494 ceilometer::agent::auth::auth_password: {get_input: ceilometer_password}
495 ceilometer::agent::auth::auth_url: {get_input: ceilometer_agent_auth_url}
496 ceilometer_compute_agent: {get_input: ceilometer_compute_agent}
497 snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
498 snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
499 nova::glance_api_servers: {get_input: glance_api_servers}
500 neutron::debug: {get_input: debug}
501 neutron::rabbit_password: {get_input: rabbit_password}
502 neutron::rabbit_user: {get_input: rabbit_username}
503 neutron::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
504 neutron::rabbit_port: {get_input: rabbit_client_port}
505 neutron::plugins::ml2::flat_networks: {get_input: neutron_flat_networks}
506 neutron_host: {get_input: neutron_host}
507 neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip}
509 neutron::network_device_mtu: {get_input: neutron_tenant_mtu}
510 neutron::plugins::ml2::tenant_network_types: {get_input: neutron_tenant_network_types}
511 neutron::agents::ml2::ovs::tunnel_types: {get_input: neutron_tunnel_types}
512 neutron::agents::ml2::ovs::extensions: {get_input: neutron_agent_extensions}
513 neutron::plugins::ml2::network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
514 neutron::plugins::ml2::tunnel_id_ranges: {get_input: neutron_tunnel_id_ranges}
515 neutron::plugins::ml2::vni_ranges: {get_input: neutron_vni_ranges}
516 neutron::agents::ml2::ovs::bridge_mappings: {get_input: neutron_bridge_mappings}
517 neutron::agents::ml2::ovs::enable_tunneling: {get_input: neutron_enable_tunneling}
518 neutron::agents::ml2::ovs::l2_population: {get_input: neutron_enable_l2pop}
519 neutron_physical_bridge: {get_input: neutron_physical_bridge}
520 neutron_public_interface: {get_input: neutron_public_interface}
521 nova::network::neutron::neutron_password: {get_input: neutron_password}
522 nova::network::neutron::neutron_url: {get_input: neutron_internal_url}
523 nova::network::neutron::neutron_auth_url: {get_input: neutron_auth_url}
524 neutron_router_distributed: {get_input: neutron_router_distributed}
525 neutron_agent_mode: {get_input: neutron_agent_mode}
526 neutron_metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
527 neutron::core_plugin: {get_input: neutron_core_plugin}
528 neutron::service_plugins: {get_input: neutron_service_plugins}
529 neutron::plugins::ml2::type_drivers: {get_input: neutron_type_drivers}
530 neutron::plugins::ml2::mechanism_drivers: {get_input: neutron_mechanism_drivers}
531 neutron_public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
532 keystone_public_api_virtual_ip: {get_input: keystone_vip}
533 admin_password: {get_input: admin_password}
534 ntp::servers: {get_input: ntp_servers}
535 timezone::timezone: {get_input: timezone}
536 tripleo::packages::enable_install: {get_input: enable_package_install}
537 tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
539 NovaComputeDeployment:
540 type: OS::TripleO::SoftwareDeployment
541 depends_on: NetworkDeployment
543 name: NovaComputeDeployment
544 config: {get_resource: NovaComputeConfig}
545 server: {get_resource: NovaCompute}
547 cinder_enable_nfs_backend: {get_param: CinderEnableNfsBackend}
548 debug: {get_param: Debug}
549 nova_compute_driver: {get_param: NovaComputeDriver}
550 nova_compute_libvirt_type: {get_param: NovaComputeLibvirtType}
551 nova_compute_libvirt_vif_driver: {get_param: NovaComputeLibvirtVifDriver}
552 nova_public_ip: {get_param: NovaPublicIP}
553 nova_api_host: {get_param: NovaApiHost}
554 nova_password: {get_param: NovaPassword}
555 nova_enable_rbd_backend: {get_param: NovaEnableRbdBackend}
556 cinder_enable_rbd_backend: {get_param: CinderEnableRbdBackend}
557 nova_vnc_proxyclient_address: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaVncProxyNetwork]}]}
558 nova_vncproxy_protocol: {get_param: [EndpointMap, NovaVNCProxyPublic, protocol]}
559 nova_vncproxy_host: {get_param: [EndpointMap, NovaVNCProxyPublic, host]}
560 nova_vncproxy_port: {get_param: [EndpointMap, NovaVNCProxyPublic, port]}
561 nova_ovs_bridge: {get_param: NovaOVSBridge}
562 nova_security_group_api: {get_param: NovaSecurityGroupAPI}
563 upgrade_level_nova_compute: {get_param: UpgradeLevelNovaCompute}
564 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
565 ceilometer_password: {get_param: CeilometerPassword}
566 ceilometer_compute_agent: {get_param: CeilometerComputeAgent}
567 ceilometer_agent_auth_url: {get_param: [EndpointMap, KeystoneInternal, uri]}
568 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
569 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
570 glance_api_servers: {get_param: [EndpointMap, GlanceInternal, uri]}
571 neutron_flat_networks:
575 NETWORKS: {get_param: NeutronFlatNetworks}
576 neutron_host: {get_param: NeutronHost}
577 neutron_local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronTenantNetwork]}]}
578 neutron_tunnel_id_ranges:
582 RANGES: {get_param: NeutronTunnelIdRanges}
587 RANGES: {get_param: NeutronVniRanges}
588 neutron_tenant_network_types:
592 TYPES: {get_param: NeutronNetworkType}
593 neutron_tunnel_types:
597 TYPES: {get_param: NeutronTunnelTypes}
598 neutron_network_vlan_ranges:
602 RANGES: {get_param: NeutronNetworkVLANRanges}
603 neutron_bridge_mappings:
607 MAPPINGS: {get_param: NeutronBridgeMappings}
608 neutron_tenant_mtu: {get_param: NeutronTenantMtu}
609 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
610 neutron_enable_l2pop: {get_param: NeutronEnableL2Pop}
611 neutron_physical_bridge: {get_param: NeutronPhysicalBridge}
612 neutron_public_interface: {get_param: NeutronPublicInterface}
613 neutron_password: {get_param: NeutronPassword}
614 neutron_agent_mode: {get_param: NeutronAgentMode}
615 neutron_router_distributed: {get_param: NeutronDVR}
616 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
617 neutron_core_plugin: {get_param: NeutronCorePlugin}
618 neutron_service_plugins:
622 PLUGINS: {get_param: NeutronServicePlugins}
623 neutron_type_drivers:
627 DRIVERS: {get_param: NeutronTypeDrivers}
628 neutron_mechanism_drivers:
632 MECHANISMS: {get_param: NeutronMechanismDrivers}
633 neutron_agent_extensions:
635 template: AGENT_EXTENSIONS
637 AGENT_EXTENSIONS: {get_param: NeutronAgentExtensions}
638 neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
639 neutron_internal_url: {get_param: [EndpointMap, NeutronInternal, uri]}
640 neutron_auth_url: {get_param: [EndpointMap, KeystoneV3Admin, uri]}
641 keystone_vip: {get_param: KeystonePublicApiVirtualIP}
642 admin_password: {get_param: AdminPassword}
643 rabbit_username: {get_param: RabbitUserName}
644 rabbit_password: {get_param: RabbitPassword}
645 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
646 rabbit_client_port: {get_param: RabbitClientPort}
647 ntp_servers: {get_param: NtpServer}
648 timezone: {get_param: TimeZone}
649 enable_package_install: {get_param: EnablePackageInstall}
650 enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]}
652 # Resource for site-specific injection of root certificate
654 depends_on: NovaComputeDeployment
655 type: OS::TripleO::NodeTLSCAData
657 server: {get_resource: NovaCompute}
659 # Hook for site-specific additional pre-deployment config, e.g extra hieradata
660 ComputeExtraConfigPre:
661 depends_on: NovaComputeDeployment
662 type: OS::TripleO::ComputeExtraConfigPre
664 server: {get_resource: NovaCompute}
666 # Hook for site-specific additional pre-deployment config,
667 # applying to all nodes, e.g node registration/unregistration
669 depends_on: [ComputeExtraConfigPre, NodeTLSCAData]
670 type: OS::TripleO::NodeExtraConfig
672 server: {get_resource: NovaCompute}
675 type: OS::TripleO::Tasks::PackageUpdate
678 type: OS::Heat::SoftwareDeployment
680 name: UpdateDeployment
681 config: {get_resource: UpdateConfig}
682 server: {get_resource: NovaCompute}
685 get_param: UpdateIdentifier
689 description: IP address of the server in the ctlplane network
690 value: {get_attr: [NovaCompute, networks, ctlplane, 0]}
692 description: IP address of the server in the external network
693 value: {get_attr: [ExternalPort, ip_address]}
694 internal_api_ip_address:
695 description: IP address of the server in the internal_api network
696 value: {get_attr: [InternalApiPort, ip_address]}
698 description: IP address of the server in the storage network
699 value: {get_attr: [StoragePort, ip_address]}
700 storage_mgmt_ip_address:
701 description: IP address of the server in the storage_mgmt network
702 value: {get_attr: [StorageMgmtPort, ip_address]}
704 description: IP address of the server in the tenant network
705 value: {get_attr: [TenantPort, ip_address]}
706 management_ip_address:
707 description: IP address of the server in the management network
708 value: {get_attr: [ManagementPort, ip_address]}
710 description: Hostname of the server
711 value: {get_attr: [NovaCompute, name]}
714 Server's IP address and hostname in the /etc/hosts format
717 template: "IP HOST.DOMAIN HOST"
719 IP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ComputeHostnameResolveNetwork]}]}
720 DOMAIN: {get_param: CloudDomain}
721 HOST: {get_attr: [NovaCompute, name]}
722 nova_server_resource:
723 description: Heat resource handle for the Nova compute server
725 {get_resource: NovaCompute}
727 description: identifier which changes if the node configuration may need re-applying
731 - - {get_attr: [NovaComputeDeployment, deploy_stdout]}
732 - {get_attr: [NodeTLSCAData, deploy_stdout]}
733 - {get_attr: [ComputeExtraConfigPre, deploy_stdout]}
734 - {get_param: UpdateIdentifier}