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.
122 type: comma_delimited_list
124 The tunnel types for the Neutron tenant network.
126 NeutronTunnelIdRanges:
128 Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges
129 of GRE tunnel IDs that are available for tenant network allocation
130 default: ["1:4094", ]
131 type: comma_delimited_list
134 Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges
135 of VXLAN VNI IDs that are available for tenant network allocation
136 default: ["1:4094", ]
137 type: comma_delimited_list
138 NeutronMetadataProxySharedSecret:
139 description: Shared secret to prevent spoofing
145 The core plugin for Neutron. The value should be the entrypoint to be loaded
146 from neutron.core_plugins namespace.
148 NeutronServicePlugins:
149 default: "router,qos"
151 Comma-separated list of service plugin entrypoints to be loaded from the
152 neutron.service_plugins namespace.
153 type: comma_delimited_list
155 default: "vxlan,vlan,flat,gre"
157 Comma-separated list of network type driver entrypoints to be loaded.
158 type: comma_delimited_list
159 NeutronMechanismDrivers:
160 default: 'openvswitch'
162 The mechanism drivers for the Neutron tenant network.
163 type: comma_delimited_list
164 NeutronAgentExtensions:
167 Comma-separated list of extensions enabled for the Neutron agents.
168 type: comma_delimited_list
169 # Not relevant for Computes, should be removed
170 NeutronAllowL3AgentFailover:
172 description: Allow automatic l3-agent failover
174 # Not relevant for Computes, should be removed
177 description: Whether to enable l3-agent HA
184 default: '' # Has to be here because of the ignored empty value bug
187 default: libvirt.LibvirtDriver
188 NovaComputeExtraConfig:
191 NovaCompute specific configuration to inject into the cluster. Same
192 structure as ExtraConfig.
197 NovaComputeLibvirtType:
200 NovaComputeLibvirtVifDriver:
202 description: Libvirt VIF driver configuration for the network
204 NovaEnableRbdBackend:
206 description: Whether to enable or not the Rbd backend for Nova
210 description: Enable IPv6 features in Nova
213 description: The password for the nova service account, used by nova-api.
218 default: '' # Has to be here because of the ignored empty value bug
221 description: Name of integration bridge used by Open vSwitch
223 NovaSecurityGroupAPI:
225 description: The full class name of the security API class
229 default: '' # Has to be here because of the ignored empty value bug
231 description: The password for RabbitMQ
236 description: The username for RabbitMQ
241 Rabbit client subscriber parameter to specify
242 an SSL connection to the RabbitMQ host.
246 description: Set rabbit subscriber port, change this if using SSL
248 UpgradeLevelNovaCompute:
250 description: Nova Compute upgrade level
252 EnablePackageInstall:
254 description: Set to true to enable package installation via Puppet
258 description: Mapping of service_name -> network name. Typically set
259 via parameter_defaults in the resource registry.
263 description: Mapping of service endpoint -> protocol. Typically set
264 via parameter_defaults in the resource registry.
270 Setting to a previously unused value during stack-update will trigger
271 package update on all nodes
274 default: '' # Defaults to Heat created hostname
278 description: Optional mapping to override hostnames
279 NetworkDeploymentActions:
280 type: comma_delimited_list
282 Heat action when to apply network configuration changes
284 SoftwareConfigTransport:
285 default: POLL_SERVER_CFN
287 How the server should receive the metadata required for software configuration.
290 - allowed_values: [POLL_SERVER_CFN, POLL_SERVER_HEAT, POLL_TEMP_URL, ZAQAR_MESSAGE]
295 The DNS domain used for the hosts. This should match the dhcp_domain
296 configured in the Undercloud neutron. Defaults to localdomain.
300 Extra properties or metadata passed to Nova for the created nodes in
301 the overcloud. It's accessible via the Nova metadata API.
305 description: Optional scheduler hints to pass to nova
307 ServiceConfigSettings:
314 type: OS::Nova::Server
319 get_param: ImageUpdatePolicy
320 flavor: {get_param: Flavor}
321 key_name: {get_param: KeyName}
324 user_data_format: SOFTWARE_CONFIG
325 user_data: {get_resource: UserData}
328 template: {get_param: Hostname}
329 params: {get_param: HostnameMap}
330 software_config_transport: {get_param: SoftwareConfigTransport}
331 metadata: {get_param: ServerMetadata}
332 scheduler_hints: {get_param: SchedulerHints}
334 # Combine the NodeAdminUserData and NodeUserData mime archives
336 type: OS::Heat::MultipartMime
339 - config: {get_resource: NodeAdminUserData}
341 - config: {get_resource: NodeUserData}
344 # Creates the "heat-admin" user if configured via the environment
345 # Should return a OS::Heat::MultipartMime reference via OS::stack_id
347 type: OS::TripleO::NodeAdminUserData
349 # For optional operator additional userdata
350 # Should return a OS::Heat::MultipartMime reference via OS::stack_id
352 type: OS::TripleO::NodeUserData
355 type: OS::TripleO::Compute::Ports::ExternalPort
357 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
358 IPPool: {get_param: NovaComputeIPs}
359 NodeIndex: {get_param: NodeIndex}
362 type: OS::TripleO::Compute::Ports::InternalApiPort
364 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
365 IPPool: {get_param: NovaComputeIPs}
366 NodeIndex: {get_param: NodeIndex}
369 type: OS::TripleO::Compute::Ports::StoragePort
371 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
372 IPPool: {get_param: NovaComputeIPs}
373 NodeIndex: {get_param: NodeIndex}
376 type: OS::TripleO::Compute::Ports::StorageMgmtPort
378 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
379 IPPool: {get_param: NovaComputeIPs}
380 NodeIndex: {get_param: NodeIndex}
383 type: OS::TripleO::Compute::Ports::TenantPort
385 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
386 IPPool: {get_param: NovaComputeIPs}
387 NodeIndex: {get_param: NodeIndex}
390 type: OS::TripleO::Compute::Ports::ManagementPort
392 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
393 IPPool: {get_param: NovaComputeIPs}
394 NodeIndex: {get_param: NodeIndex}
397 type: OS::TripleO::Network::Ports::NetIpMap
399 ControlPlaneIp: {get_attr: [NovaCompute, networks, ctlplane, 0]}
400 ExternalIp: {get_attr: [ExternalPort, ip_address]}
401 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
402 ExternalIpUri: {get_attr: [ExternalPort, ip_address_uri]}
403 InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
404 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
405 InternalApiIpUri: {get_attr: [InternalApiPort, ip_address_uri]}
406 StorageIp: {get_attr: [StoragePort, ip_address]}
407 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
408 StorageIpUri: {get_attr: [StoragePort, ip_address_uri]}
409 StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}
410 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
411 StorageMgmtIpUri: {get_attr: [StorageMgmtPort, ip_address_uri]}
412 TenantIp: {get_attr: [TenantPort, ip_address]}
413 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
414 TenantIpUri: {get_attr: [TenantPort, ip_address_uri]}
415 ManagementIp: {get_attr: [ManagementPort, ip_address]}
416 ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
417 ManagementIpUri: {get_attr: [ManagementPort, ip_address_uri]}
420 type: OS::TripleO::Compute::Net::SoftwareConfig
422 ControlPlaneIp: {get_attr: [NovaCompute, networks, ctlplane, 0]}
423 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
424 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
425 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
426 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
427 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
428 ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
431 type: OS::TripleO::SoftwareDeployment
433 name: NetworkDeployment
434 config: {get_resource: NetworkConfig}
435 server: {get_resource: NovaCompute}
436 actions: {get_param: NetworkDeploymentActions}
438 bridge_name: {get_param: NeutronPhysicalBridge}
439 interface_name: {get_param: NeutronPublicInterface}
442 type: OS::Heat::StructuredConfig
444 group: os-apply-config
449 - heat_config_%{::deploy_config_name}
450 - compute_extraconfig
454 - ceph_cluster # provided by CephClusterConfig
456 - all_nodes # provided by allNodesConfig
460 - neutron_bigswitch_data # Optionally provided by ComputeExtraConfigPre
461 - cisco_n1kv_data # Optionally provided by ComputeExtraConfigPre
462 - nova_nuage_data # Optionally provided by ComputeExtraConfigPre
463 - midonet_data # Optionally provided by AllNodesExtraConfig
464 - neutron_opencontrail_data # Optionally provided by ComputeExtraConfigPre
465 merge_behavior: deeper
468 mapped_data: {get_param: ServiceConfigSettings}
470 mapped_data: {get_param: NovaComputeExtraConfig}
472 mapped_data: {get_param: ExtraConfig}
474 raw_data: {get_file: hieradata/common.yaml}
477 net_ip_map: {get_attr: [NetIpMap, net_ip_map]}
478 net_ip_subnet_map: {get_attr: [NetIpMap, net_ip_subnet_map]}
479 net_ip_uri_map: {get_attr: [NetIpMap, net_ip_uri_map]}
481 raw_data: {get_file: hieradata/ceph.yaml}
483 raw_data: {get_file: hieradata/compute.yaml}
485 cinder_enable_nfs_backend: {get_input: cinder_enable_nfs_backend}
486 nova::use_ipv6: {get_input: nova_ipv6}
487 nova::debug: {get_input: debug}
488 nova::rabbit_userid: {get_input: rabbit_username}
489 nova::rabbit_password: {get_input: rabbit_password}
490 nova::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
491 nova::rabbit_port: {get_input: rabbit_client_port}
492 nova::upgrade_level_compute: {get_input: upgrade_level_nova_compute}
493 nova_compute_driver: {get_input: nova_compute_driver}
494 # TODO(emilien): move libvirt & migration parameters in libvirt profile
495 # used to deploy libvirt/kvm dependencies:
496 nova::compute::libvirt::services::libvirt_virt_type: {get_input: nova_compute_libvirt_type}
497 # used to configured nova.conf:
498 nova::compute::libvirt::libvirt_virt_type: {get_input: nova_compute_libvirt_type}
499 nova::compute::neutron::libvirt_vif_driver: {get_input: nova_compute_libvirt_vif_driver}
500 nova_api_host: {get_input: nova_api_host}
501 nova::compute::vncproxy_host: {get_input: nova_public_ip}
502 nova::compute::rbd::ephemeral_storage: {get_input: nova_enable_rbd_backend}
503 # TUNNELLED mode provides a security enhancement when using shared storage but is not
504 # supported when not using shared storage.
505 # See https://bugzilla.redhat.com/show_bug.cgi?id=1301986#c12
506 # In future versions of QEMU (2.6, mostly), Dan's native encryption
507 # work will obsolete the need to use TUNNELLED transport mode.
508 nova::migration::live_migration_tunnelled: {get_input: nova_enable_rbd_backend}
509 rbd_persistent_storage: {get_input: cinder_enable_rbd_backend}
510 nova_password: {get_input: nova_password}
511 nova::compute::vncserver_proxyclient_address: {get_input: nova_vnc_proxyclient_address}
512 nova::vncproxy::common::vncproxy_protocol: {get_input: nova_vncproxy_protocol}
513 nova::vncproxy::common::vncproxy_host: {get_input: nova_vncproxy_host}
514 nova::vncproxy::common::vncproxy_port: {get_input: nova_vncproxy_port}
515 nova::network::neutron::neutron_ovs_bridge: {get_input: nova_ovs_bridge}
516 nova::network::neutron::security_group_api: {get_input: nova_security_group_api}
517 ceilometer::debug: {get_input: debug}
518 ceilometer::rabbit_userid: {get_input: rabbit_username}
519 ceilometer::rabbit_password: {get_input: rabbit_password}
520 ceilometer::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
521 ceilometer::rabbit_port: {get_input: rabbit_client_port}
522 ceilometer::telemetry_secret: {get_input: ceilometer_metering_secret}
523 ceilometer::agent::auth::auth_password: {get_input: ceilometer_password}
524 ceilometer::agent::auth::auth_url: {get_input: ceilometer_agent_auth_url}
525 ceilometer_compute_agent: {get_input: ceilometer_compute_agent}
526 nova::glance_api_servers: {get_input: glance_api_servers}
527 neutron::debug: {get_input: debug}
528 neutron::rabbit_password: {get_input: rabbit_password}
529 neutron::rabbit_user: {get_input: rabbit_username}
530 neutron::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
531 neutron::rabbit_port: {get_input: rabbit_client_port}
532 neutron::plugins::ml2::flat_networks: {get_input: neutron_flat_networks}
533 neutron_host: {get_input: neutron_host}
534 neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip}
536 neutron::plugins::ml2::tenant_network_types: {get_input: neutron_tenant_network_types}
537 neutron::agents::ml2::ovs::tunnel_types: {get_input: neutron_tunnel_types}
538 neutron::agents::ml2::ovs::extensions: {get_input: neutron_agent_extensions}
539 neutron::plugins::ml2::network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
540 neutron::plugins::ml2::tunnel_id_ranges: {get_input: neutron_tunnel_id_ranges}
541 neutron::plugins::ml2::vni_ranges: {get_input: neutron_vni_ranges}
542 neutron::agents::ml2::ovs::bridge_mappings: {get_input: neutron_bridge_mappings}
543 neutron::agents::ml2::ovs::enable_tunneling: {get_input: neutron_enable_tunneling}
544 neutron::agents::ml2::ovs::l2_population: {get_input: neutron_enable_l2pop}
545 neutron_physical_bridge: {get_input: neutron_physical_bridge}
546 neutron_public_interface: {get_input: neutron_public_interface}
547 nova::network::neutron::neutron_password: {get_input: neutron_password}
548 nova::network::neutron::neutron_url: {get_input: neutron_internal_url}
549 nova::network::neutron::neutron_auth_url: {get_input: neutron_auth_url}
550 neutron_metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
551 neutron::core_plugin: {get_input: neutron_core_plugin}
552 neutron::service_plugins: {get_input: neutron_service_plugins}
553 neutron::plugins::ml2::type_drivers: {get_input: neutron_type_drivers}
554 neutron::plugins::ml2::mechanism_drivers: {get_input: neutron_mechanism_drivers}
555 keystone_public_api_virtual_ip: {get_input: keystone_vip}
556 admin_password: {get_input: admin_password}
557 tripleo::packages::enable_install: {get_input: enable_package_install}
558 tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
560 NovaComputeDeployment:
561 type: OS::TripleO::SoftwareDeployment
562 depends_on: NetworkDeployment
564 name: NovaComputeDeployment
565 config: {get_resource: NovaComputeConfig}
566 server: {get_resource: NovaCompute}
568 cinder_enable_nfs_backend: {get_param: CinderEnableNfsBackend}
569 debug: {get_param: Debug}
570 nova_compute_driver: {get_param: NovaComputeDriver}
571 nova_compute_libvirt_type: {get_param: NovaComputeLibvirtType}
572 nova_compute_libvirt_vif_driver: {get_param: NovaComputeLibvirtVifDriver}
573 nova_public_ip: {get_param: NovaPublicIP}
574 nova_api_host: {get_param: NovaApiHost}
575 nova_password: {get_param: NovaPassword}
576 nova_enable_rbd_backend: {get_param: NovaEnableRbdBackend}
577 nova_ipv6: {get_param: NovaIPv6}
578 cinder_enable_rbd_backend: {get_param: CinderEnableRbdBackend}
579 nova_vnc_proxyclient_address: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaVncProxyNetwork]}]}
580 nova_vncproxy_protocol: {get_param: [EndpointMap, NovaVNCProxyPublic, protocol]}
581 # Remove brackets that may come if the IP address is IPv6.
582 # For DNS names and IPv4, this will just get the NovaVNCProxyPublic value
585 template: {get_param: [EndpointMap, NovaVNCProxyPublic, host]}
589 nova_vncproxy_port: {get_param: [EndpointMap, NovaVNCProxyPublic, port]}
590 nova_ovs_bridge: {get_param: NovaOVSBridge}
591 nova_security_group_api: {get_param: NovaSecurityGroupAPI}
592 upgrade_level_nova_compute: {get_param: UpgradeLevelNovaCompute}
593 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
594 ceilometer_password: {get_param: CeilometerPassword}
595 ceilometer_compute_agent: {get_param: CeilometerComputeAgent}
596 ceilometer_agent_auth_url: {get_param: [EndpointMap, KeystoneInternal, uri]}
597 glance_api_servers: {get_param: [EndpointMap, GlanceInternal, uri]}
598 neutron_flat_networks:
602 NETWORKS: {get_param: NeutronFlatNetworks}
603 neutron_host: {get_param: NeutronHost}
604 neutron_local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronTenantNetwork]}]}
605 neutron_tunnel_id_ranges:
609 RANGES: {get_param: NeutronTunnelIdRanges}
614 RANGES: {get_param: NeutronVniRanges}
615 neutron_tenant_network_types:
619 TYPES: {get_param: NeutronNetworkType}
620 neutron_tunnel_types:
624 TYPES: {get_param: NeutronTunnelTypes}
625 neutron_network_vlan_ranges:
629 RANGES: {get_param: NeutronNetworkVLANRanges}
630 neutron_bridge_mappings:
634 MAPPINGS: {get_param: NeutronBridgeMappings}
635 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
636 neutron_enable_l2pop: {get_param: NeutronEnableL2Pop}
637 neutron_physical_bridge: {get_param: NeutronPhysicalBridge}
638 neutron_public_interface: {get_param: NeutronPublicInterface}
639 neutron_password: {get_param: NeutronPassword}
640 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
641 neutron_core_plugin: {get_param: NeutronCorePlugin}
642 neutron_service_plugins:
646 PLUGINS: {get_param: NeutronServicePlugins}
647 neutron_type_drivers:
651 DRIVERS: {get_param: NeutronTypeDrivers}
652 neutron_mechanism_drivers:
656 MECHANISMS: {get_param: NeutronMechanismDrivers}
657 neutron_agent_extensions:
659 template: AGENT_EXTENSIONS
661 AGENT_EXTENSIONS: {get_param: NeutronAgentExtensions}
662 neutron_internal_url: {get_param: [EndpointMap, NeutronInternal, uri]}
663 neutron_auth_url: {get_param: [EndpointMap, KeystoneV3Admin, uri]}
664 keystone_vip: {get_param: KeystonePublicApiVirtualIP}
665 admin_password: {get_param: AdminPassword}
666 rabbit_username: {get_param: RabbitUserName}
667 rabbit_password: {get_param: RabbitPassword}
668 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
669 rabbit_client_port: {get_param: RabbitClientPort}
670 enable_package_install: {get_param: EnablePackageInstall}
671 enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]}
673 # Resource for site-specific injection of root certificate
675 depends_on: NovaComputeDeployment
676 type: OS::TripleO::NodeTLSCAData
678 server: {get_resource: NovaCompute}
680 # Hook for site-specific additional pre-deployment config, e.g extra hieradata
681 ComputeExtraConfigPre:
682 depends_on: NovaComputeDeployment
683 type: OS::TripleO::ComputeExtraConfigPre
685 server: {get_resource: NovaCompute}
687 # Hook for site-specific additional pre-deployment config,
688 # applying to all nodes, e.g node registration/unregistration
690 depends_on: [ComputeExtraConfigPre, NodeTLSCAData]
691 type: OS::TripleO::NodeExtraConfig
693 server: {get_resource: NovaCompute}
696 type: OS::TripleO::Tasks::PackageUpdate
699 type: OS::Heat::SoftwareDeployment
701 name: UpdateDeployment
702 config: {get_resource: UpdateConfig}
703 server: {get_resource: NovaCompute}
706 get_param: UpdateIdentifier
710 description: IP address of the server in the ctlplane network
711 value: {get_attr: [NovaCompute, networks, ctlplane, 0]}
713 description: IP address of the server in the external network
714 value: {get_attr: [ExternalPort, ip_address]}
715 internal_api_ip_address:
716 description: IP address of the server in the internal_api network
717 value: {get_attr: [InternalApiPort, ip_address]}
719 description: IP address of the server in the storage network
720 value: {get_attr: [StoragePort, ip_address]}
721 storage_mgmt_ip_address:
722 description: IP address of the server in the storage_mgmt network
723 value: {get_attr: [StorageMgmtPort, ip_address]}
725 description: IP address of the server in the tenant network
726 value: {get_attr: [TenantPort, ip_address]}
727 management_ip_address:
728 description: IP address of the server in the management network
729 value: {get_attr: [ManagementPort, ip_address]}
731 description: Hostname of the server
732 value: {get_attr: [NovaCompute, name]}
735 Server's IP address and hostname in the /etc/hosts format
739 PRIMARYIP PRIMARYHOST.DOMAIN PRIMARYHOST
740 EXTERNALIP EXTERNALHOST.DOMAIN EXTERNALHOST
741 INTERNAL_APIIP INTERNAL_APIHOST.DOMAIN INTERNAL_APIHOST
742 STORAGEIP STORAGEHOST.DOMAIN STORAGEHOST
743 STORAGE_MGMTIP STORAGE_MGMTHOST.DOMAIN STORAGE_MGMTHOST
744 TENANTIP TENANTHOST.DOMAIN TENANTHOST
745 MANAGEMENTIP MANAGEMENTHOST.DOMAIN MANAGEMENTHOST
747 PRIMARYIP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ComputeHostnameResolveNetwork]}]}
748 DOMAIN: {get_param: CloudDomain}
749 PRIMARYHOST: {get_attr: [NovaCompute, name]}
750 EXTERNALIP: {get_attr: [ExternalPort, ip_address]}
754 - - {get_attr: [NovaCompute, name]}
756 INTERNAL_APIIP: {get_attr: [InternalApiPort, ip_address]}
760 - - {get_attr: [NovaCompute, name]}
762 STORAGEIP: {get_attr: [StoragePort, ip_address]}
766 - - {get_attr: [NovaCompute, name]}
768 STORAGE_MGMTIP: {get_attr: [StorageMgmtPort, ip_address]}
772 - - {get_attr: [NovaCompute, name]}
774 TENANTIP: {get_attr: [TenantPort, ip_address]}
778 - - {get_attr: [NovaCompute, name]}
780 MANAGEMENTIP: {get_attr: [ManagementPort, ip_address]}
784 - - {get_attr: [NovaCompute, name]}
786 nova_server_resource:
787 description: Heat resource handle for the Nova compute server
789 {get_resource: NovaCompute}