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 NeutronMetadataProxySharedSecret:
148 description: Shared secret to prevent spoofing
154 The core plugin for Neutron. The value should be the entrypoint to be loaded
155 from neutron.core_plugins namespace.
157 NeutronServicePlugins:
158 default: "router,qos"
160 Comma-separated list of service plugin entrypoints to be loaded from the
161 neutron.service_plugins namespace.
162 type: comma_delimited_list
164 default: "vxlan,vlan,flat,gre"
166 Comma-separated list of network type driver entrypoints to be loaded.
167 type: comma_delimited_list
168 NeutronMechanismDrivers:
169 default: 'openvswitch'
171 The mechanism drivers for the Neutron tenant network.
172 type: comma_delimited_list
173 NeutronAgentExtensions:
176 Comma-separated list of extensions enabled for the Neutron agents.
177 type: comma_delimited_list
178 # Not relevant for Computes, should be removed
179 NeutronAllowL3AgentFailover:
181 description: Allow automatic l3-agent failover
183 # Not relevant for Computes, should be removed
186 description: Whether to enable l3-agent HA
193 default: '' # Has to be here because of the ignored empty value bug
196 default: libvirt.LibvirtDriver
197 NovaComputeExtraConfig:
200 NovaCompute specific configuration to inject into the cluster. Same
201 structure as ExtraConfig.
206 NovaComputeLibvirtType:
209 NovaComputeLibvirtVifDriver:
211 description: Libvirt VIF driver configuration for the network
213 NovaEnableRbdBackend:
215 description: Whether to enable or not the Rbd backend for Nova
219 description: Enable IPv6 features in 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 default: '' # Has to be here because of the ignored empty value bug
240 description: The password for RabbitMQ
245 description: The username for RabbitMQ
250 Rabbit client subscriber parameter to specify
251 an SSL connection to the RabbitMQ host.
255 description: Set rabbit subscriber port, change this if using SSL
257 UpgradeLevelNovaCompute:
259 description: Nova Compute upgrade level
261 EnablePackageInstall:
263 description: Set to true to enable package installation via Puppet
267 description: Mapping of service_name -> network name. Typically set
268 via parameter_defaults in the resource registry.
272 description: Mapping of service endpoint -> protocol. Typically set
273 via parameter_defaults in the resource registry.
279 Setting to a previously unused value during stack-update will trigger
280 package update on all nodes
283 default: '' # Defaults to Heat created hostname
287 description: Optional mapping to override hostnames
288 NetworkDeploymentActions:
289 type: comma_delimited_list
291 Heat action when to apply network configuration changes
293 SoftwareConfigTransport:
294 default: POLL_SERVER_CFN
296 How the server should receive the metadata required for software configuration.
299 - allowed_values: [POLL_SERVER_CFN, POLL_SERVER_HEAT, POLL_TEMP_URL, ZAQAR_MESSAGE]
304 The DNS domain used for the hosts. This should match the dhcp_domain
305 configured in the Undercloud neutron. Defaults to localdomain.
309 Extra properties or metadata passed to Nova for the created nodes in
310 the overcloud. It's accessible via the Nova metadata API.
314 description: Optional scheduler hints to pass to nova
316 ServiceConfigSettings:
323 type: OS::Nova::Server
328 get_param: ImageUpdatePolicy
329 flavor: {get_param: Flavor}
330 key_name: {get_param: KeyName}
333 user_data_format: SOFTWARE_CONFIG
334 user_data: {get_resource: UserData}
337 template: {get_param: Hostname}
338 params: {get_param: HostnameMap}
339 software_config_transport: {get_param: SoftwareConfigTransport}
340 metadata: {get_param: ServerMetadata}
341 scheduler_hints: {get_param: SchedulerHints}
343 # Combine the NodeAdminUserData and NodeUserData mime archives
345 type: OS::Heat::MultipartMime
348 - config: {get_resource: NodeAdminUserData}
350 - config: {get_resource: NodeUserData}
353 # Creates the "heat-admin" user if configured via the environment
354 # Should return a OS::Heat::MultipartMime reference via OS::stack_id
356 type: OS::TripleO::NodeAdminUserData
358 # For optional operator additional userdata
359 # Should return a OS::Heat::MultipartMime reference via OS::stack_id
361 type: OS::TripleO::NodeUserData
364 type: OS::TripleO::Compute::Ports::ExternalPort
366 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
367 IPPool: {get_param: NovaComputeIPs}
368 NodeIndex: {get_param: NodeIndex}
371 type: OS::TripleO::Compute::Ports::InternalApiPort
373 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
374 IPPool: {get_param: NovaComputeIPs}
375 NodeIndex: {get_param: NodeIndex}
378 type: OS::TripleO::Compute::Ports::StoragePort
380 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
381 IPPool: {get_param: NovaComputeIPs}
382 NodeIndex: {get_param: NodeIndex}
385 type: OS::TripleO::Compute::Ports::StorageMgmtPort
387 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
388 IPPool: {get_param: NovaComputeIPs}
389 NodeIndex: {get_param: NodeIndex}
392 type: OS::TripleO::Compute::Ports::TenantPort
394 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
395 IPPool: {get_param: NovaComputeIPs}
396 NodeIndex: {get_param: NodeIndex}
399 type: OS::TripleO::Compute::Ports::ManagementPort
401 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
402 IPPool: {get_param: NovaComputeIPs}
403 NodeIndex: {get_param: NodeIndex}
406 type: OS::TripleO::Network::Ports::NetIpMap
408 ControlPlaneIp: {get_attr: [NovaCompute, networks, ctlplane, 0]}
409 ExternalIp: {get_attr: [ExternalPort, ip_address]}
410 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
411 ExternalIpUri: {get_attr: [ExternalPort, ip_address_uri]}
412 InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
413 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
414 InternalApiIpUri: {get_attr: [InternalApiPort, ip_address_uri]}
415 StorageIp: {get_attr: [StoragePort, ip_address]}
416 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
417 StorageIpUri: {get_attr: [StoragePort, ip_address_uri]}
418 StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}
419 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
420 StorageMgmtIpUri: {get_attr: [StorageMgmtPort, ip_address_uri]}
421 TenantIp: {get_attr: [TenantPort, ip_address]}
422 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
423 TenantIpUri: {get_attr: [TenantPort, ip_address_uri]}
424 ManagementIp: {get_attr: [ManagementPort, ip_address]}
425 ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
426 ManagementIpUri: {get_attr: [ManagementPort, ip_address_uri]}
429 type: OS::TripleO::Compute::Net::SoftwareConfig
431 ControlPlaneIp: {get_attr: [NovaCompute, networks, ctlplane, 0]}
432 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
433 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
434 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
435 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
436 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
437 ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
440 type: OS::TripleO::SoftwareDeployment
442 name: NetworkDeployment
443 config: {get_resource: NetworkConfig}
444 server: {get_resource: NovaCompute}
445 actions: {get_param: NetworkDeploymentActions}
447 bridge_name: {get_param: NeutronPhysicalBridge}
448 interface_name: {get_param: NeutronPublicInterface}
451 type: OS::Heat::StructuredConfig
453 group: os-apply-config
458 - heat_config_%{::deploy_config_name}
459 - compute_extraconfig
463 - ceph_cluster # provided by CephClusterConfig
465 - all_nodes # provided by allNodesConfig
469 - neutron_bigswitch_data # Optionally provided by ComputeExtraConfigPre
470 - cisco_n1kv_data # Optionally provided by ComputeExtraConfigPre
471 - nova_nuage_data # Optionally provided by ComputeExtraConfigPre
472 - midonet_data # Optionally provided by AllNodesExtraConfig
473 - neutron_opencontrail_data # Optionally provided by ComputeExtraConfigPre
474 merge_behavior: deeper
477 mapped_data: {get_param: ServiceConfigSettings}
479 mapped_data: {get_param: NovaComputeExtraConfig}
481 mapped_data: {get_param: ExtraConfig}
483 raw_data: {get_file: hieradata/common.yaml}
486 net_ip_map: {get_attr: [NetIpMap, net_ip_map]}
487 net_ip_subnet_map: {get_attr: [NetIpMap, net_ip_subnet_map]}
488 net_ip_uri_map: {get_attr: [NetIpMap, net_ip_uri_map]}
490 raw_data: {get_file: hieradata/ceph.yaml}
492 raw_data: {get_file: hieradata/compute.yaml}
494 cinder_enable_nfs_backend: {get_input: cinder_enable_nfs_backend}
495 nova::use_ipv6: {get_input: nova_ipv6}
496 nova::debug: {get_input: debug}
497 nova::rabbit_userid: {get_input: rabbit_username}
498 nova::rabbit_password: {get_input: rabbit_password}
499 nova::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
500 nova::rabbit_port: {get_input: rabbit_client_port}
501 nova::upgrade_level_compute: {get_input: upgrade_level_nova_compute}
502 nova_compute_driver: {get_input: nova_compute_driver}
503 nova::compute::libvirt::libvirt_virt_type: {get_input: nova_compute_libvirt_type}
504 nova::compute::neutron::libvirt_vif_driver: {get_input: nova_compute_libvirt_vif_driver}
505 nova_api_host: {get_input: nova_api_host}
506 nova::compute::vncproxy_host: {get_input: nova_public_ip}
507 nova::compute::rbd::ephemeral_storage: {get_input: nova_enable_rbd_backend}
508 # TUNNELLED mode provides a security enhancement when using shared storage but is not
509 # supported when not using shared storage.
510 # See https://bugzilla.redhat.com/show_bug.cgi?id=1301986#c12
511 # In future versions of QEMU (2.6, mostly), Dan's native encryption
512 # work will obsolete the need to use TUNNELLED transport mode.
513 nova::migration::live_migration_tunnelled: {get_input: nova_enable_rbd_backend}
514 rbd_persistent_storage: {get_input: cinder_enable_rbd_backend}
515 nova_password: {get_input: nova_password}
516 nova::compute::network_device_mtu: {get_input: neutron_tenant_mtu}
517 nova::compute::vncserver_proxyclient_address: {get_input: nova_vnc_proxyclient_address}
518 nova::vncproxy::common::vncproxy_protocol: {get_input: nova_vncproxy_protocol}
519 nova::vncproxy::common::vncproxy_host: {get_input: nova_vncproxy_host}
520 nova::vncproxy::common::vncproxy_port: {get_input: nova_vncproxy_port}
521 nova::network::neutron::neutron_ovs_bridge: {get_input: nova_ovs_bridge}
522 nova::network::neutron::security_group_api: {get_input: nova_security_group_api}
523 ceilometer::debug: {get_input: debug}
524 ceilometer::rabbit_userid: {get_input: rabbit_username}
525 ceilometer::rabbit_password: {get_input: rabbit_password}
526 ceilometer::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
527 ceilometer::rabbit_port: {get_input: rabbit_client_port}
528 ceilometer::telemetry_secret: {get_input: ceilometer_metering_secret}
529 ceilometer::agent::auth::auth_password: {get_input: ceilometer_password}
530 ceilometer::agent::auth::auth_url: {get_input: ceilometer_agent_auth_url}
531 ceilometer_compute_agent: {get_input: ceilometer_compute_agent}
532 nova::glance_api_servers: {get_input: glance_api_servers}
533 neutron::debug: {get_input: debug}
534 neutron::rabbit_password: {get_input: rabbit_password}
535 neutron::rabbit_user: {get_input: rabbit_username}
536 neutron::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
537 neutron::rabbit_port: {get_input: rabbit_client_port}
538 neutron::plugins::ml2::flat_networks: {get_input: neutron_flat_networks}
539 neutron_host: {get_input: neutron_host}
540 neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip}
542 neutron::network_device_mtu: {get_input: neutron_tenant_mtu}
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_tenant_mtu: {get_param: NeutronTenantMtu}
643 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
644 neutron_enable_l2pop: {get_param: NeutronEnableL2Pop}
645 neutron_physical_bridge: {get_param: NeutronPhysicalBridge}
646 neutron_public_interface: {get_param: NeutronPublicInterface}
647 neutron_password: {get_param: NeutronPassword}
648 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
649 neutron_core_plugin: {get_param: NeutronCorePlugin}
650 neutron_service_plugins:
654 PLUGINS: {get_param: NeutronServicePlugins}
655 neutron_type_drivers:
659 DRIVERS: {get_param: NeutronTypeDrivers}
660 neutron_mechanism_drivers:
664 MECHANISMS: {get_param: NeutronMechanismDrivers}
665 neutron_agent_extensions:
667 template: AGENT_EXTENSIONS
669 AGENT_EXTENSIONS: {get_param: NeutronAgentExtensions}
670 neutron_internal_url: {get_param: [EndpointMap, NeutronInternal, uri]}
671 neutron_auth_url: {get_param: [EndpointMap, KeystoneV3Admin, uri]}
672 keystone_vip: {get_param: KeystonePublicApiVirtualIP}
673 admin_password: {get_param: AdminPassword}
674 rabbit_username: {get_param: RabbitUserName}
675 rabbit_password: {get_param: RabbitPassword}
676 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
677 rabbit_client_port: {get_param: RabbitClientPort}
678 enable_package_install: {get_param: EnablePackageInstall}
679 enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]}
681 # Resource for site-specific injection of root certificate
683 depends_on: NovaComputeDeployment
684 type: OS::TripleO::NodeTLSCAData
686 server: {get_resource: NovaCompute}
688 # Hook for site-specific additional pre-deployment config, e.g extra hieradata
689 ComputeExtraConfigPre:
690 depends_on: NovaComputeDeployment
691 type: OS::TripleO::ComputeExtraConfigPre
693 server: {get_resource: NovaCompute}
695 # Hook for site-specific additional pre-deployment config,
696 # applying to all nodes, e.g node registration/unregistration
698 depends_on: [ComputeExtraConfigPre, NodeTLSCAData]
699 type: OS::TripleO::NodeExtraConfig
701 server: {get_resource: NovaCompute}
704 type: OS::TripleO::Tasks::PackageUpdate
707 type: OS::Heat::SoftwareDeployment
709 name: UpdateDeployment
710 config: {get_resource: UpdateConfig}
711 server: {get_resource: NovaCompute}
714 get_param: UpdateIdentifier
718 description: IP address of the server in the ctlplane network
719 value: {get_attr: [NovaCompute, networks, ctlplane, 0]}
721 description: IP address of the server in the external network
722 value: {get_attr: [ExternalPort, ip_address]}
723 internal_api_ip_address:
724 description: IP address of the server in the internal_api network
725 value: {get_attr: [InternalApiPort, ip_address]}
727 description: IP address of the server in the storage network
728 value: {get_attr: [StoragePort, ip_address]}
729 storage_mgmt_ip_address:
730 description: IP address of the server in the storage_mgmt network
731 value: {get_attr: [StorageMgmtPort, ip_address]}
733 description: IP address of the server in the tenant network
734 value: {get_attr: [TenantPort, ip_address]}
735 management_ip_address:
736 description: IP address of the server in the management network
737 value: {get_attr: [ManagementPort, ip_address]}
739 description: Hostname of the server
740 value: {get_attr: [NovaCompute, name]}
743 Server's IP address and hostname in the /etc/hosts format
747 PRIMARYIP PRIMARYHOST.DOMAIN PRIMARYHOST
748 EXTERNALIP EXTERNALHOST.DOMAIN EXTERNALHOST
749 INTERNAL_APIIP INTERNAL_APIHOST.DOMAIN INTERNAL_APIHOST
750 STORAGEIP STORAGEHOST.DOMAIN STORAGEHOST
751 STORAGE_MGMTIP STORAGE_MGMTHOST.DOMAIN STORAGE_MGMTHOST
752 TENANTIP TENANTHOST.DOMAIN TENANTHOST
753 MANAGEMENTIP MANAGEMENTHOST.DOMAIN MANAGEMENTHOST
755 PRIMARYIP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ComputeHostnameResolveNetwork]}]}
756 DOMAIN: {get_param: CloudDomain}
757 PRIMARYHOST: {get_attr: [NovaCompute, name]}
758 EXTERNALIP: {get_attr: [ExternalPort, ip_address]}
762 - - {get_attr: [NovaCompute, name]}
764 INTERNAL_APIIP: {get_attr: [InternalApiPort, ip_address]}
768 - - {get_attr: [NovaCompute, name]}
770 STORAGEIP: {get_attr: [StoragePort, ip_address]}
774 - - {get_attr: [NovaCompute, name]}
776 STORAGE_MGMTIP: {get_attr: [StorageMgmtPort, ip_address]}
780 - - {get_attr: [NovaCompute, name]}
782 TENANTIP: {get_attr: [TenantPort, ip_address]}
786 - - {get_attr: [NovaCompute, name]}
788 MANAGEMENTIP: {get_attr: [ManagementPort, ip_address]}
792 - - {get_attr: [NovaCompute, name]}
794 nova_server_resource:
795 description: Heat resource handle for the Nova compute server
797 {get_resource: NovaCompute}
799 description: identifier which changes if the node configuration may need re-applying
803 - - {get_attr: [NovaComputeDeployment, deploy_stdout]}
804 - {get_attr: [NodeTLSCAData, deploy_stdout]}
805 - {get_attr: [ComputeExtraConfigPre, deploy_stdout]}
806 - {get_param: UpdateIdentifier}