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:
312 description: Command which will be run whenever configuration data changes
313 default: os-refresh-config --timeout 14400
318 type: OS::TripleO::Server
321 command: {get_param: ConfigCommand}
326 get_param: ImageUpdatePolicy
327 flavor: {get_param: Flavor}
328 key_name: {get_param: KeyName}
331 user_data_format: SOFTWARE_CONFIG
332 user_data: {get_resource: UserData}
335 template: {get_param: Hostname}
336 params: {get_param: HostnameMap}
337 software_config_transport: {get_param: SoftwareConfigTransport}
338 metadata: {get_param: ServerMetadata}
339 scheduler_hints: {get_param: SchedulerHints}
341 # Combine the NodeAdminUserData and NodeUserData mime archives
343 type: OS::Heat::MultipartMime
346 - config: {get_resource: NodeAdminUserData}
348 - config: {get_resource: NodeUserData}
351 # Creates the "heat-admin" user if configured via the environment
352 # Should return a OS::Heat::MultipartMime reference via OS::stack_id
354 type: OS::TripleO::NodeAdminUserData
356 # For optional operator additional userdata
357 # Should return a OS::Heat::MultipartMime reference via OS::stack_id
359 type: OS::TripleO::NodeUserData
362 type: OS::TripleO::Compute::Ports::ExternalPort
364 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
365 IPPool: {get_param: NovaComputeIPs}
366 NodeIndex: {get_param: NodeIndex}
369 type: OS::TripleO::Compute::Ports::InternalApiPort
371 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
372 IPPool: {get_param: NovaComputeIPs}
373 NodeIndex: {get_param: NodeIndex}
376 type: OS::TripleO::Compute::Ports::StoragePort
378 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
379 IPPool: {get_param: NovaComputeIPs}
380 NodeIndex: {get_param: NodeIndex}
383 type: OS::TripleO::Compute::Ports::StorageMgmtPort
385 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
386 IPPool: {get_param: NovaComputeIPs}
387 NodeIndex: {get_param: NodeIndex}
390 type: OS::TripleO::Compute::Ports::TenantPort
392 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
393 IPPool: {get_param: NovaComputeIPs}
394 NodeIndex: {get_param: NodeIndex}
397 type: OS::TripleO::Compute::Ports::ManagementPort
399 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
400 IPPool: {get_param: NovaComputeIPs}
401 NodeIndex: {get_param: NodeIndex}
404 type: OS::TripleO::Network::Ports::NetIpMap
406 ControlPlaneIp: {get_attr: [NovaCompute, networks, ctlplane, 0]}
407 ExternalIp: {get_attr: [ExternalPort, ip_address]}
408 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
409 ExternalIpUri: {get_attr: [ExternalPort, ip_address_uri]}
410 InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
411 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
412 InternalApiIpUri: {get_attr: [InternalApiPort, ip_address_uri]}
413 StorageIp: {get_attr: [StoragePort, ip_address]}
414 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
415 StorageIpUri: {get_attr: [StoragePort, ip_address_uri]}
416 StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}
417 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
418 StorageMgmtIpUri: {get_attr: [StorageMgmtPort, ip_address_uri]}
419 TenantIp: {get_attr: [TenantPort, ip_address]}
420 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
421 TenantIpUri: {get_attr: [TenantPort, ip_address_uri]}
422 ManagementIp: {get_attr: [ManagementPort, ip_address]}
423 ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
424 ManagementIpUri: {get_attr: [ManagementPort, ip_address_uri]}
427 type: OS::TripleO::Compute::Net::SoftwareConfig
429 ControlPlaneIp: {get_attr: [NovaCompute, networks, ctlplane, 0]}
430 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
431 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
432 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
433 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
434 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
435 ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
438 type: OS::TripleO::SoftwareDeployment
440 name: NetworkDeployment
441 config: {get_resource: NetworkConfig}
442 server: {get_resource: NovaCompute}
443 actions: {get_param: NetworkDeploymentActions}
445 bridge_name: {get_param: NeutronPhysicalBridge}
446 interface_name: {get_param: NeutronPublicInterface}
449 type: OS::Heat::StructuredConfig
451 group: os-apply-config
456 - heat_config_%{::deploy_config_name}
457 - compute_extraconfig
461 - ceph_cluster # provided by CephClusterConfig
463 - all_nodes # provided by allNodesConfig
467 - neutron_bigswitch_data # Optionally provided by ComputeExtraConfigPre
468 - cisco_n1kv_data # Optionally provided by ComputeExtraConfigPre
469 - nova_nuage_data # Optionally provided by ComputeExtraConfigPre
470 - midonet_data # Optionally provided by AllNodesExtraConfig
471 - neutron_opencontrail_data # Optionally provided by ComputeExtraConfigPre
472 merge_behavior: deeper
475 mapped_data: {get_param: ServiceConfigSettings}
477 mapped_data: {get_param: NovaComputeExtraConfig}
479 mapped_data: {get_param: ExtraConfig}
481 raw_data: {get_file: hieradata/common.yaml}
484 net_ip_map: {get_attr: [NetIpMap, net_ip_map]}
485 net_ip_subnet_map: {get_attr: [NetIpMap, net_ip_subnet_map]}
486 net_ip_uri_map: {get_attr: [NetIpMap, net_ip_uri_map]}
488 raw_data: {get_file: hieradata/ceph.yaml}
490 raw_data: {get_file: hieradata/compute.yaml}
492 cinder_enable_nfs_backend: {get_input: cinder_enable_nfs_backend}
493 nova::use_ipv6: {get_input: nova_ipv6}
494 nova::debug: {get_input: debug}
495 nova::rabbit_userid: {get_input: rabbit_username}
496 nova::rabbit_password: {get_input: rabbit_password}
497 nova::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
498 nova::rabbit_port: {get_input: rabbit_client_port}
499 nova::upgrade_level_compute: {get_input: upgrade_level_nova_compute}
500 nova_compute_driver: {get_input: nova_compute_driver}
501 # TODO(emilien): move libvirt & migration parameters in libvirt profile
502 # used to deploy libvirt/kvm dependencies:
503 nova::compute::libvirt::services::libvirt_virt_type: {get_input: nova_compute_libvirt_type}
504 # used to configured nova.conf:
505 nova::compute::libvirt::libvirt_virt_type: {get_input: nova_compute_libvirt_type}
506 nova::compute::neutron::libvirt_vif_driver: {get_input: nova_compute_libvirt_vif_driver}
507 nova_api_host: {get_input: nova_api_host}
508 nova::compute::vncproxy_host: {get_input: nova_public_ip}
509 nova::compute::rbd::ephemeral_storage: {get_input: nova_enable_rbd_backend}
510 # TUNNELLED mode provides a security enhancement when using shared storage but is not
511 # supported when not using shared storage.
512 # See https://bugzilla.redhat.com/show_bug.cgi?id=1301986#c12
513 # In future versions of QEMU (2.6, mostly), Dan's native encryption
514 # work will obsolete the need to use TUNNELLED transport mode.
515 nova::migration::live_migration_tunnelled: {get_input: nova_enable_rbd_backend}
516 rbd_persistent_storage: {get_input: cinder_enable_rbd_backend}
517 nova_password: {get_input: nova_password}
518 nova::compute::vncserver_proxyclient_address: {get_input: nova_vnc_proxyclient_address}
519 nova::vncproxy::common::vncproxy_protocol: {get_input: nova_vncproxy_protocol}
520 nova::vncproxy::common::vncproxy_host: {get_input: nova_vncproxy_host}
521 nova::vncproxy::common::vncproxy_port: {get_input: nova_vncproxy_port}
522 nova::network::neutron::neutron_ovs_bridge: {get_input: nova_ovs_bridge}
523 nova::network::neutron::security_group_api: {get_input: nova_security_group_api}
524 ceilometer::debug: {get_input: debug}
525 ceilometer::rabbit_userid: {get_input: rabbit_username}
526 ceilometer::rabbit_password: {get_input: rabbit_password}
527 ceilometer::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
528 ceilometer::rabbit_port: {get_input: rabbit_client_port}
529 ceilometer::telemetry_secret: {get_input: ceilometer_metering_secret}
530 ceilometer::agent::auth::auth_password: {get_input: ceilometer_password}
531 ceilometer::agent::auth::auth_url: {get_input: ceilometer_agent_auth_url}
532 ceilometer_compute_agent: {get_input: ceilometer_compute_agent}
533 nova::glance_api_servers: {get_input: glance_api_servers}
534 neutron::debug: {get_input: debug}
535 neutron::rabbit_password: {get_input: rabbit_password}
536 neutron::rabbit_user: {get_input: rabbit_username}
537 neutron::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
538 neutron::rabbit_port: {get_input: rabbit_client_port}
539 neutron::plugins::ml2::flat_networks: {get_input: neutron_flat_networks}
540 neutron_host: {get_input: neutron_host}
541 neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip}
543 neutron::plugins::ml2::tenant_network_types: {get_input: neutron_tenant_network_types}
544 neutron::agents::ml2::ovs::tunnel_types: {get_input: neutron_tunnel_types}
545 neutron::agents::ml2::ovs::extensions: {get_input: neutron_agent_extensions}
546 neutron::plugins::ml2::network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
547 neutron::plugins::ml2::tunnel_id_ranges: {get_input: neutron_tunnel_id_ranges}
548 neutron::plugins::ml2::vni_ranges: {get_input: neutron_vni_ranges}
549 neutron::agents::ml2::ovs::bridge_mappings: {get_input: neutron_bridge_mappings}
550 neutron::agents::ml2::ovs::enable_tunneling: {get_input: neutron_enable_tunneling}
551 neutron::agents::ml2::ovs::l2_population: {get_input: neutron_enable_l2pop}
552 neutron_physical_bridge: {get_input: neutron_physical_bridge}
553 neutron_public_interface: {get_input: neutron_public_interface}
554 nova::network::neutron::neutron_password: {get_input: neutron_password}
555 nova::network::neutron::neutron_url: {get_input: neutron_internal_url}
556 nova::network::neutron::neutron_auth_url: {get_input: neutron_auth_url}
557 neutron_metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
558 neutron::core_plugin: {get_input: neutron_core_plugin}
559 neutron::service_plugins: {get_input: neutron_service_plugins}
560 neutron::plugins::ml2::type_drivers: {get_input: neutron_type_drivers}
561 neutron::plugins::ml2::mechanism_drivers: {get_input: neutron_mechanism_drivers}
562 keystone_public_api_virtual_ip: {get_input: keystone_vip}
563 admin_password: {get_input: admin_password}
564 tripleo::packages::enable_install: {get_input: enable_package_install}
565 tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
567 NovaComputeDeployment:
568 type: OS::TripleO::SoftwareDeployment
569 depends_on: NetworkDeployment
571 name: NovaComputeDeployment
572 config: {get_resource: NovaComputeConfig}
573 server: {get_resource: NovaCompute}
575 cinder_enable_nfs_backend: {get_param: CinderEnableNfsBackend}
576 debug: {get_param: Debug}
577 nova_compute_driver: {get_param: NovaComputeDriver}
578 nova_compute_libvirt_type: {get_param: NovaComputeLibvirtType}
579 nova_compute_libvirt_vif_driver: {get_param: NovaComputeLibvirtVifDriver}
580 nova_public_ip: {get_param: NovaPublicIP}
581 nova_api_host: {get_param: NovaApiHost}
582 nova_password: {get_param: NovaPassword}
583 nova_enable_rbd_backend: {get_param: NovaEnableRbdBackend}
584 nova_ipv6: {get_param: NovaIPv6}
585 cinder_enable_rbd_backend: {get_param: CinderEnableRbdBackend}
586 nova_vnc_proxyclient_address: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaVncProxyNetwork]}]}
587 nova_vncproxy_protocol: {get_param: [EndpointMap, NovaVNCProxyPublic, protocol]}
588 # Remove brackets that may come if the IP address is IPv6.
589 # For DNS names and IPv4, this will just get the NovaVNCProxyPublic value
592 template: {get_param: [EndpointMap, NovaVNCProxyPublic, host]}
596 nova_vncproxy_port: {get_param: [EndpointMap, NovaVNCProxyPublic, port]}
597 nova_ovs_bridge: {get_param: NovaOVSBridge}
598 nova_security_group_api: {get_param: NovaSecurityGroupAPI}
599 upgrade_level_nova_compute: {get_param: UpgradeLevelNovaCompute}
600 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
601 ceilometer_password: {get_param: CeilometerPassword}
602 ceilometer_compute_agent: {get_param: CeilometerComputeAgent}
603 ceilometer_agent_auth_url: {get_param: [EndpointMap, KeystoneInternal, uri]}
604 glance_api_servers: {get_param: [EndpointMap, GlanceInternal, uri]}
605 neutron_flat_networks:
609 NETWORKS: {get_param: NeutronFlatNetworks}
610 neutron_host: {get_param: NeutronHost}
611 neutron_local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronTenantNetwork]}]}
612 neutron_tunnel_id_ranges:
616 RANGES: {get_param: NeutronTunnelIdRanges}
621 RANGES: {get_param: NeutronVniRanges}
622 neutron_tenant_network_types:
626 TYPES: {get_param: NeutronNetworkType}
627 neutron_tunnel_types:
631 TYPES: {get_param: NeutronTunnelTypes}
632 neutron_network_vlan_ranges:
636 RANGES: {get_param: NeutronNetworkVLANRanges}
637 neutron_bridge_mappings:
641 MAPPINGS: {get_param: NeutronBridgeMappings}
642 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
643 neutron_enable_l2pop: {get_param: NeutronEnableL2Pop}
644 neutron_physical_bridge: {get_param: NeutronPhysicalBridge}
645 neutron_public_interface: {get_param: NeutronPublicInterface}
646 neutron_password: {get_param: NeutronPassword}
647 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
648 neutron_core_plugin: {get_param: NeutronCorePlugin}
649 neutron_service_plugins:
653 PLUGINS: {get_param: NeutronServicePlugins}
654 neutron_type_drivers:
658 DRIVERS: {get_param: NeutronTypeDrivers}
659 neutron_mechanism_drivers:
663 MECHANISMS: {get_param: NeutronMechanismDrivers}
664 neutron_agent_extensions:
666 template: AGENT_EXTENSIONS
668 AGENT_EXTENSIONS: {get_param: NeutronAgentExtensions}
669 neutron_internal_url: {get_param: [EndpointMap, NeutronInternal, uri]}
670 neutron_auth_url: {get_param: [EndpointMap, KeystoneV3Admin, uri]}
671 keystone_vip: {get_param: KeystonePublicApiVirtualIP}
672 admin_password: {get_param: AdminPassword}
673 rabbit_username: {get_param: RabbitUserName}
674 rabbit_password: {get_param: RabbitPassword}
675 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
676 rabbit_client_port: {get_param: RabbitClientPort}
677 enable_package_install: {get_param: EnablePackageInstall}
678 enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]}
680 # Resource for site-specific injection of root certificate
682 depends_on: NovaComputeDeployment
683 type: OS::TripleO::NodeTLSCAData
685 server: {get_resource: NovaCompute}
687 # Hook for site-specific additional pre-deployment config, e.g extra hieradata
688 ComputeExtraConfigPre:
689 depends_on: NovaComputeDeployment
690 type: OS::TripleO::ComputeExtraConfigPre
692 server: {get_resource: NovaCompute}
694 # Hook for site-specific additional pre-deployment config,
695 # applying to all nodes, e.g node registration/unregistration
697 depends_on: [ComputeExtraConfigPre, NodeTLSCAData]
698 type: OS::TripleO::NodeExtraConfig
700 server: {get_resource: NovaCompute}
703 type: OS::TripleO::Tasks::PackageUpdate
706 type: OS::Heat::SoftwareDeployment
708 name: UpdateDeployment
709 config: {get_resource: UpdateConfig}
710 server: {get_resource: NovaCompute}
713 get_param: UpdateIdentifier
717 description: IP address of the server in the ctlplane network
718 value: {get_attr: [NovaCompute, networks, ctlplane, 0]}
720 description: IP address of the server in the external network
721 value: {get_attr: [ExternalPort, ip_address]}
722 internal_api_ip_address:
723 description: IP address of the server in the internal_api network
724 value: {get_attr: [InternalApiPort, ip_address]}
726 description: IP address of the server in the storage network
727 value: {get_attr: [StoragePort, ip_address]}
728 storage_mgmt_ip_address:
729 description: IP address of the server in the storage_mgmt network
730 value: {get_attr: [StorageMgmtPort, ip_address]}
732 description: IP address of the server in the tenant network
733 value: {get_attr: [TenantPort, ip_address]}
734 management_ip_address:
735 description: IP address of the server in the management network
736 value: {get_attr: [ManagementPort, ip_address]}
738 description: Hostname of the server
739 value: {get_attr: [NovaCompute, name]}
742 Server's IP address and hostname in the /etc/hosts format
746 PRIMARYIP PRIMARYHOST.DOMAIN PRIMARYHOST
747 EXTERNALIP EXTERNALHOST.DOMAIN EXTERNALHOST
748 INTERNAL_APIIP INTERNAL_APIHOST.DOMAIN INTERNAL_APIHOST
749 STORAGEIP STORAGEHOST.DOMAIN STORAGEHOST
750 STORAGE_MGMTIP STORAGE_MGMTHOST.DOMAIN STORAGE_MGMTHOST
751 TENANTIP TENANTHOST.DOMAIN TENANTHOST
752 MANAGEMENTIP MANAGEMENTHOST.DOMAIN MANAGEMENTHOST
754 PRIMARYIP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ComputeHostnameResolveNetwork]}]}
755 DOMAIN: {get_param: CloudDomain}
756 PRIMARYHOST: {get_attr: [NovaCompute, name]}
757 EXTERNALIP: {get_attr: [ExternalPort, ip_address]}
761 - - {get_attr: [NovaCompute, name]}
763 INTERNAL_APIIP: {get_attr: [InternalApiPort, ip_address]}
767 - - {get_attr: [NovaCompute, name]}
769 STORAGEIP: {get_attr: [StoragePort, ip_address]}
773 - - {get_attr: [NovaCompute, name]}
775 STORAGE_MGMTIP: {get_attr: [StorageMgmtPort, ip_address]}
779 - - {get_attr: [NovaCompute, name]}
781 TENANTIP: {get_attr: [TenantPort, ip_address]}
785 - - {get_attr: [NovaCompute, name]}
787 MANAGEMENTIP: {get_attr: [ManagementPort, ip_address]}
791 - - {get_attr: [NovaCompute, name]}
793 nova_server_resource:
794 description: Heat resource handle for the Nova compute server
796 {get_resource: NovaCompute}