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
203 default: '' # Has to be here because of the ignored empty value bug
206 default: libvirt.LibvirtDriver
207 NovaComputeExtraConfig:
210 NovaCompute specific configuration to inject into the cluster. Same
211 structure as ExtraConfig.
216 NovaComputeLibvirtType:
219 NovaComputeLibvirtVifDriver:
221 description: Libvirt VIF driver configuration for the network
223 NovaEnableRbdBackend:
225 description: Whether to enable or not the Rbd backend for Nova
229 description: Enable IPv6 features in Nova
232 description: The password for the nova service account, used by nova-api.
237 default: '' # Has to be here because of the ignored empty value bug
240 description: Name of integration bridge used by Open vSwitch
242 NovaSecurityGroupAPI:
244 description: The full class name of the security API class
248 description: Comma-separated list of ntp servers
249 type: comma_delimited_list
252 default: '' # Has to be here because of the ignored empty value bug
255 description: The password for RabbitMQ
260 description: The username for RabbitMQ
265 Rabbit client subscriber parameter to specify
266 an SSL connection to the RabbitMQ host.
270 description: Set rabbit subscriber port, change this if using SSL
272 SnmpdReadonlyUserName:
273 default: ro_snmp_user
274 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
276 SnmpdReadonlyUserPassword:
277 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
280 UpgradeLevelNovaCompute:
282 description: Nova Compute upgrade level
284 EnablePackageInstall:
286 description: Set to true to enable package installation via Puppet
290 description: Mapping of service_name -> network name. Typically set
291 via parameter_defaults in the resource registry.
295 description: Mapping of service endpoint -> protocol. Typically set
296 via parameter_defaults in the resource registry.
300 description: The timezone to be set on compute nodes.
306 Setting to a previously unused value during stack-update will trigger
307 package update on all nodes
310 default: '' # Defaults to Heat created hostname
314 description: Optional mapping to override hostnames
315 NetworkDeploymentActions:
316 type: comma_delimited_list
318 Heat action when to apply network configuration changes
320 SoftwareConfigTransport:
321 default: POLL_SERVER_CFN
323 How the server should receive the metadata required for software configuration.
326 - allowed_values: [POLL_SERVER_CFN, POLL_SERVER_HEAT, POLL_TEMP_URL, ZAQAR_MESSAGE]
331 The DNS domain used for the hosts. This should match the dhcp_domain
332 configured in the Undercloud neutron. Defaults to localdomain.
336 Extra properties or metadata passed to Nova for the created nodes in
337 the overcloud. It's accessible via the Nova metadata API.
341 description: Optional scheduler hints to pass to nova
347 type: OS::Nova::Server
352 get_param: ImageUpdatePolicy
353 flavor: {get_param: Flavor}
354 key_name: {get_param: KeyName}
357 user_data_format: SOFTWARE_CONFIG
358 user_data: {get_resource: UserData}
361 template: {get_param: Hostname}
362 params: {get_param: HostnameMap}
363 software_config_transport: {get_param: SoftwareConfigTransport}
364 metadata: {get_param: ServerMetadata}
365 scheduler_hints: {get_param: SchedulerHints}
367 # Combine the NodeAdminUserData and NodeUserData mime archives
369 type: OS::Heat::MultipartMime
372 - config: {get_resource: NodeAdminUserData}
374 - config: {get_resource: NodeUserData}
377 # Creates the "heat-admin" user if configured via the environment
378 # Should return a OS::Heat::MultipartMime reference via OS::stack_id
380 type: OS::TripleO::NodeAdminUserData
382 # For optional operator additional userdata
383 # Should return a OS::Heat::MultipartMime reference via OS::stack_id
385 type: OS::TripleO::NodeUserData
388 type: OS::TripleO::Compute::Ports::ExternalPort
390 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
391 IPPool: {get_param: NovaComputeIPs}
392 NodeIndex: {get_param: NodeIndex}
395 type: OS::TripleO::Compute::Ports::InternalApiPort
397 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
398 IPPool: {get_param: NovaComputeIPs}
399 NodeIndex: {get_param: NodeIndex}
402 type: OS::TripleO::Compute::Ports::StoragePort
404 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
405 IPPool: {get_param: NovaComputeIPs}
406 NodeIndex: {get_param: NodeIndex}
409 type: OS::TripleO::Compute::Ports::StorageMgmtPort
411 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
412 IPPool: {get_param: NovaComputeIPs}
413 NodeIndex: {get_param: NodeIndex}
416 type: OS::TripleO::Compute::Ports::TenantPort
418 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
419 IPPool: {get_param: NovaComputeIPs}
420 NodeIndex: {get_param: NodeIndex}
423 type: OS::TripleO::Compute::Ports::ManagementPort
425 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
426 IPPool: {get_param: NovaComputeIPs}
427 NodeIndex: {get_param: NodeIndex}
430 type: OS::TripleO::Network::Ports::NetIpMap
432 ControlPlaneIp: {get_attr: [NovaCompute, networks, ctlplane, 0]}
433 ExternalIp: {get_attr: [ExternalPort, ip_address]}
434 ExternalIpUri: {get_attr: [ExternalPort, ip_address_uri]}
435 InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
436 InternalApiIpUri: {get_attr: [InternalApiPort, ip_address_uri]}
437 StorageIp: {get_attr: [StoragePort, ip_address]}
438 StorageIpUri: {get_attr: [StoragePort, ip_address_uri]}
439 StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}
440 StorageMgmtIpUri: {get_attr: [StorageMgmtPort, ip_address_uri]}
441 TenantIp: {get_attr: [TenantPort, ip_address]}
442 TenantIpUri: {get_attr: [TenantPort, ip_address_uri]}
443 ManagementIp: {get_attr: [ManagementPort, ip_address]}
444 ManagementIpUri: {get_attr: [ManagementPort, ip_address_uri]}
447 type: OS::TripleO::Compute::Net::SoftwareConfig
449 ControlPlaneIp: {get_attr: [NovaCompute, networks, ctlplane, 0]}
450 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
451 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
452 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
453 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
454 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
455 ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
458 type: OS::TripleO::SoftwareDeployment
460 name: NetworkDeployment
461 config: {get_resource: NetworkConfig}
462 server: {get_resource: NovaCompute}
463 actions: {get_param: NetworkDeploymentActions}
465 bridge_name: {get_param: NeutronPhysicalBridge}
466 interface_name: {get_param: NeutronPublicInterface}
469 type: OS::Heat::StructuredConfig
471 group: os-apply-config
476 - heat_config_%{::deploy_config_name}
477 - compute_extraconfig
480 - ceph_cluster # provided by CephClusterConfig
482 - all_nodes # provided by allNodesConfig
485 - neutron_bigswitch_data # Optionally provided by ComputeExtraConfigPre
486 - cisco_n1kv_data # Optionally provided by ComputeExtraConfigPre
487 - nova_nuage_data # Optionally provided by ComputeExtraConfigPre
488 - midonet_data # Optionally provided by AllNodesExtraConfig
489 - neutron_opencontrail_data # Optionally provided by ComputeExtraConfigPre
492 mapped_data: {get_param: NovaComputeExtraConfig}
494 mapped_data: {get_param: ExtraConfig}
496 raw_data: {get_file: hieradata/common.yaml}
498 raw_data: {get_file: hieradata/ceph.yaml}
500 raw_data: {get_file: hieradata/compute.yaml}
502 cinder_enable_nfs_backend: {get_input: cinder_enable_nfs_backend}
503 nova::use_ipv6: {get_input: nova_ipv6}
504 nova::debug: {get_input: debug}
505 nova::rabbit_userid: {get_input: rabbit_username}
506 nova::rabbit_password: {get_input: rabbit_password}
507 nova::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
508 nova::rabbit_port: {get_input: rabbit_client_port}
509 nova::upgrade_level_compute: {get_input: upgrade_level_nova_compute}
510 nova_compute_driver: {get_input: nova_compute_driver}
511 nova::compute::libvirt::libvirt_virt_type: {get_input: nova_compute_libvirt_type}
512 nova::compute::neutron::libvirt_vif_driver: {get_input: nova_compute_libvirt_vif_driver}
513 nova_api_host: {get_input: nova_api_host}
514 nova::compute::vncproxy_host: {get_input: nova_public_ip}
515 nova::compute::rbd::ephemeral_storage: {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::network_device_mtu: {get_input: neutron_tenant_mtu}
519 nova::compute::vncserver_proxyclient_address: {get_input: nova_vnc_proxyclient_address}
520 nova::vncproxy::common::vncproxy_protocol: {get_input: nova_vncproxy_protocol}
521 nova::vncproxy::common::vncproxy_host: {get_input: nova_vncproxy_host}
522 nova::vncproxy::common::vncproxy_port: {get_input: nova_vncproxy_port}
523 nova::network::neutron::neutron_ovs_bridge: {get_input: nova_ovs_bridge}
524 nova::network::neutron::security_group_api: {get_input: nova_security_group_api}
525 ceilometer::debug: {get_input: debug}
526 ceilometer::rabbit_userid: {get_input: rabbit_username}
527 ceilometer::rabbit_password: {get_input: rabbit_password}
528 ceilometer::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
529 ceilometer::rabbit_port: {get_input: rabbit_client_port}
530 ceilometer::metering_secret: {get_input: ceilometer_metering_secret}
531 ceilometer::agent::auth::auth_password: {get_input: ceilometer_password}
532 ceilometer::agent::auth::auth_url: {get_input: ceilometer_agent_auth_url}
533 ceilometer_compute_agent: {get_input: ceilometer_compute_agent}
534 snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
535 snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
536 nova::glance_api_servers: {get_input: glance_api_servers}
537 neutron::debug: {get_input: debug}
538 neutron::rabbit_password: {get_input: rabbit_password}
539 neutron::rabbit_user: {get_input: rabbit_username}
540 neutron::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
541 neutron::rabbit_port: {get_input: rabbit_client_port}
542 neutron::plugins::ml2::flat_networks: {get_input: neutron_flat_networks}
543 neutron_host: {get_input: neutron_host}
544 neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip}
546 neutron::network_device_mtu: {get_input: neutron_tenant_mtu}
547 neutron::plugins::ml2::tenant_network_types: {get_input: neutron_tenant_network_types}
548 neutron::agents::ml2::ovs::tunnel_types: {get_input: neutron_tunnel_types}
549 neutron::agents::ml2::ovs::extensions: {get_input: neutron_agent_extensions}
550 neutron::plugins::ml2::network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
551 neutron::plugins::ml2::tunnel_id_ranges: {get_input: neutron_tunnel_id_ranges}
552 neutron::plugins::ml2::vni_ranges: {get_input: neutron_vni_ranges}
553 neutron::agents::ml2::ovs::bridge_mappings: {get_input: neutron_bridge_mappings}
554 neutron::agents::ml2::ovs::enable_tunneling: {get_input: neutron_enable_tunneling}
555 neutron::agents::ml2::ovs::l2_population: {get_input: neutron_enable_l2pop}
556 neutron_physical_bridge: {get_input: neutron_physical_bridge}
557 neutron_public_interface: {get_input: neutron_public_interface}
558 nova::network::neutron::neutron_password: {get_input: neutron_password}
559 nova::network::neutron::neutron_url: {get_input: neutron_internal_url}
560 nova::network::neutron::neutron_auth_url: {get_input: neutron_auth_url}
561 neutron_router_distributed: {get_input: neutron_router_distributed}
562 neutron_agent_mode: {get_input: neutron_agent_mode}
563 neutron_metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
564 neutron::core_plugin: {get_input: neutron_core_plugin}
565 neutron::service_plugins: {get_input: neutron_service_plugins}
566 neutron::plugins::ml2::type_drivers: {get_input: neutron_type_drivers}
567 neutron::plugins::ml2::mechanism_drivers: {get_input: neutron_mechanism_drivers}
568 neutron_public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
569 keystone_public_api_virtual_ip: {get_input: keystone_vip}
570 admin_password: {get_input: admin_password}
571 ntp::servers: {get_input: ntp_servers}
572 timezone::timezone: {get_input: timezone}
573 tripleo::packages::enable_install: {get_input: enable_package_install}
574 tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
576 NovaComputeDeployment:
577 type: OS::TripleO::SoftwareDeployment
578 depends_on: NetworkDeployment
580 name: NovaComputeDeployment
581 config: {get_resource: NovaComputeConfig}
582 server: {get_resource: NovaCompute}
584 cinder_enable_nfs_backend: {get_param: CinderEnableNfsBackend}
585 debug: {get_param: Debug}
586 nova_compute_driver: {get_param: NovaComputeDriver}
587 nova_compute_libvirt_type: {get_param: NovaComputeLibvirtType}
588 nova_compute_libvirt_vif_driver: {get_param: NovaComputeLibvirtVifDriver}
589 nova_public_ip: {get_param: NovaPublicIP}
590 nova_api_host: {get_param: NovaApiHost}
591 nova_password: {get_param: NovaPassword}
592 nova_enable_rbd_backend: {get_param: NovaEnableRbdBackend}
593 nova_ipv6: {get_param: NovaIPv6}
594 cinder_enable_rbd_backend: {get_param: CinderEnableRbdBackend}
595 nova_vnc_proxyclient_address: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaVncProxyNetwork]}]}
596 nova_vncproxy_protocol: {get_param: [EndpointMap, NovaVNCProxyPublic, protocol]}
597 # Remove brackets that may come if the IP address is IPv6.
598 # For DNS names and IPv4, this will just get the NovaVNCProxyPublic value
601 template: {get_param: [EndpointMap, NovaVNCProxyPublic, host]}
605 nova_vncproxy_port: {get_param: [EndpointMap, NovaVNCProxyPublic, port]}
606 nova_ovs_bridge: {get_param: NovaOVSBridge}
607 nova_security_group_api: {get_param: NovaSecurityGroupAPI}
608 upgrade_level_nova_compute: {get_param: UpgradeLevelNovaCompute}
609 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
610 ceilometer_password: {get_param: CeilometerPassword}
611 ceilometer_compute_agent: {get_param: CeilometerComputeAgent}
612 ceilometer_agent_auth_url: {get_param: [EndpointMap, KeystoneInternal, uri]}
613 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
614 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
615 glance_api_servers: {get_param: [EndpointMap, GlanceInternal, uri]}
616 neutron_flat_networks:
620 NETWORKS: {get_param: NeutronFlatNetworks}
621 neutron_host: {get_param: NeutronHost}
622 neutron_local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronTenantNetwork]}]}
623 neutron_tunnel_id_ranges:
627 RANGES: {get_param: NeutronTunnelIdRanges}
632 RANGES: {get_param: NeutronVniRanges}
633 neutron_tenant_network_types:
637 TYPES: {get_param: NeutronNetworkType}
638 neutron_tunnel_types:
642 TYPES: {get_param: NeutronTunnelTypes}
643 neutron_network_vlan_ranges:
647 RANGES: {get_param: NeutronNetworkVLANRanges}
648 neutron_bridge_mappings:
652 MAPPINGS: {get_param: NeutronBridgeMappings}
653 neutron_tenant_mtu: {get_param: NeutronTenantMtu}
654 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
655 neutron_enable_l2pop: {get_param: NeutronEnableL2Pop}
656 neutron_physical_bridge: {get_param: NeutronPhysicalBridge}
657 neutron_public_interface: {get_param: NeutronPublicInterface}
658 neutron_password: {get_param: NeutronPassword}
659 neutron_agent_mode: {get_param: NeutronAgentMode}
660 neutron_router_distributed: {get_param: NeutronDVR}
661 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
662 neutron_core_plugin: {get_param: NeutronCorePlugin}
663 neutron_service_plugins:
667 PLUGINS: {get_param: NeutronServicePlugins}
668 neutron_type_drivers:
672 DRIVERS: {get_param: NeutronTypeDrivers}
673 neutron_mechanism_drivers:
677 MECHANISMS: {get_param: NeutronMechanismDrivers}
678 neutron_agent_extensions:
680 template: AGENT_EXTENSIONS
682 AGENT_EXTENSIONS: {get_param: NeutronAgentExtensions}
683 neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
684 neutron_internal_url: {get_param: [EndpointMap, NeutronInternal, uri]}
685 neutron_auth_url: {get_param: [EndpointMap, KeystoneV3Admin, uri]}
686 keystone_vip: {get_param: KeystonePublicApiVirtualIP}
687 admin_password: {get_param: AdminPassword}
688 rabbit_username: {get_param: RabbitUserName}
689 rabbit_password: {get_param: RabbitPassword}
690 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
691 rabbit_client_port: {get_param: RabbitClientPort}
692 ntp_servers: {get_param: NtpServer}
693 timezone: {get_param: TimeZone}
694 enable_package_install: {get_param: EnablePackageInstall}
695 enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]}
697 # Resource for site-specific injection of root certificate
699 depends_on: NovaComputeDeployment
700 type: OS::TripleO::NodeTLSCAData
702 server: {get_resource: NovaCompute}
704 # Hook for site-specific additional pre-deployment config, e.g extra hieradata
705 ComputeExtraConfigPre:
706 depends_on: NovaComputeDeployment
707 type: OS::TripleO::ComputeExtraConfigPre
709 server: {get_resource: NovaCompute}
711 # Hook for site-specific additional pre-deployment config,
712 # applying to all nodes, e.g node registration/unregistration
714 depends_on: [ComputeExtraConfigPre, NodeTLSCAData]
715 type: OS::TripleO::NodeExtraConfig
717 server: {get_resource: NovaCompute}
720 type: OS::TripleO::Tasks::PackageUpdate
723 type: OS::Heat::SoftwareDeployment
725 name: UpdateDeployment
726 config: {get_resource: UpdateConfig}
727 server: {get_resource: NovaCompute}
730 get_param: UpdateIdentifier
734 description: IP address of the server in the ctlplane network
735 value: {get_attr: [NovaCompute, networks, ctlplane, 0]}
737 description: IP address of the server in the external network
738 value: {get_attr: [ExternalPort, ip_address]}
739 internal_api_ip_address:
740 description: IP address of the server in the internal_api network
741 value: {get_attr: [InternalApiPort, ip_address]}
743 description: IP address of the server in the storage network
744 value: {get_attr: [StoragePort, ip_address]}
745 storage_mgmt_ip_address:
746 description: IP address of the server in the storage_mgmt network
747 value: {get_attr: [StorageMgmtPort, ip_address]}
749 description: IP address of the server in the tenant network
750 value: {get_attr: [TenantPort, ip_address]}
751 management_ip_address:
752 description: IP address of the server in the management network
753 value: {get_attr: [ManagementPort, ip_address]}
755 description: Hostname of the server
756 value: {get_attr: [NovaCompute, name]}
759 Server's IP address and hostname in the /etc/hosts format
763 PRIMARYIP PRIMARYHOST.DOMAIN PRIMARYHOST
764 EXTERNALIP EXTERNALHOST
765 INTERNAL_APIIP INTERNAL_APIHOST
766 STORAGEIP STORAGEHOST
767 STORAGE_MGMTIP STORAGE_MGMTHOST
769 MANAGEMENTIP MANAGEMENTHOST
771 PRIMARYIP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ComputeHostnameResolveNetwork]}]}
772 DOMAIN: {get_param: CloudDomain}
773 PRIMARYHOST: {get_attr: [NovaCompute, name]}
774 EXTERNALIP: {get_attr: [ExternalPort, ip_address]}
778 - - {get_attr: [NovaCompute, name]}
780 INTERNAL_APIIP: {get_attr: [InternalApiPort, ip_address]}
784 - - {get_attr: [NovaCompute, name]}
786 STORAGEIP: {get_attr: [StoragePort, ip_address]}
790 - - {get_attr: [NovaCompute, name]}
792 STORAGE_MGMTIP: {get_attr: [StorageMgmtPort, ip_address]}
796 - - {get_attr: [NovaCompute, name]}
798 TENANTIP: {get_attr: [TenantPort, ip_address]}
802 - - {get_attr: [NovaCompute, name]}
804 MANAGEMENTIP: {get_attr: [ManagementPort, ip_address]}
808 - - {get_attr: [NovaCompute, name]}
810 nova_server_resource:
811 description: Heat resource handle for the Nova compute server
813 {get_resource: NovaCompute}
815 description: identifier which changes if the node configuration may need re-applying
819 - - {get_attr: [NovaComputeDeployment, deploy_stdout]}
820 - {get_attr: [NodeTLSCAData, deploy_stdout]}
821 - {get_attr: [ComputeExtraConfigPre, deploy_stdout]}
822 - {get_param: UpdateIdentifier}