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:
321 description: Command which will be run whenever configuration data changes
322 default: os-refresh-config --timeout 14400
327 type: OS::Nova::Server
330 command: {get_param: ConfigCommand}
335 get_param: ImageUpdatePolicy
336 flavor: {get_param: Flavor}
337 key_name: {get_param: KeyName}
340 user_data_format: SOFTWARE_CONFIG
341 user_data: {get_resource: UserData}
344 template: {get_param: Hostname}
345 params: {get_param: HostnameMap}
346 software_config_transport: {get_param: SoftwareConfigTransport}
347 metadata: {get_param: ServerMetadata}
348 scheduler_hints: {get_param: SchedulerHints}
350 # Combine the NodeAdminUserData and NodeUserData mime archives
352 type: OS::Heat::MultipartMime
355 - config: {get_resource: NodeAdminUserData}
357 - config: {get_resource: NodeUserData}
360 # Creates the "heat-admin" user if configured via the environment
361 # Should return a OS::Heat::MultipartMime reference via OS::stack_id
363 type: OS::TripleO::NodeAdminUserData
365 # For optional operator additional userdata
366 # Should return a OS::Heat::MultipartMime reference via OS::stack_id
368 type: OS::TripleO::NodeUserData
371 type: OS::TripleO::Compute::Ports::ExternalPort
373 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
374 IPPool: {get_param: NovaComputeIPs}
375 NodeIndex: {get_param: NodeIndex}
378 type: OS::TripleO::Compute::Ports::InternalApiPort
380 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
381 IPPool: {get_param: NovaComputeIPs}
382 NodeIndex: {get_param: NodeIndex}
385 type: OS::TripleO::Compute::Ports::StoragePort
387 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
388 IPPool: {get_param: NovaComputeIPs}
389 NodeIndex: {get_param: NodeIndex}
392 type: OS::TripleO::Compute::Ports::StorageMgmtPort
394 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
395 IPPool: {get_param: NovaComputeIPs}
396 NodeIndex: {get_param: NodeIndex}
399 type: OS::TripleO::Compute::Ports::TenantPort
401 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
402 IPPool: {get_param: NovaComputeIPs}
403 NodeIndex: {get_param: NodeIndex}
406 type: OS::TripleO::Compute::Ports::ManagementPort
408 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
409 IPPool: {get_param: NovaComputeIPs}
410 NodeIndex: {get_param: NodeIndex}
413 type: OS::TripleO::Network::Ports::NetIpMap
415 ControlPlaneIp: {get_attr: [NovaCompute, networks, ctlplane, 0]}
416 ExternalIp: {get_attr: [ExternalPort, ip_address]}
417 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
418 ExternalIpUri: {get_attr: [ExternalPort, ip_address_uri]}
419 InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
420 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
421 InternalApiIpUri: {get_attr: [InternalApiPort, ip_address_uri]}
422 StorageIp: {get_attr: [StoragePort, ip_address]}
423 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
424 StorageIpUri: {get_attr: [StoragePort, ip_address_uri]}
425 StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}
426 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
427 StorageMgmtIpUri: {get_attr: [StorageMgmtPort, ip_address_uri]}
428 TenantIp: {get_attr: [TenantPort, ip_address]}
429 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
430 TenantIpUri: {get_attr: [TenantPort, ip_address_uri]}
431 ManagementIp: {get_attr: [ManagementPort, ip_address]}
432 ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
433 ManagementIpUri: {get_attr: [ManagementPort, ip_address_uri]}
436 type: OS::TripleO::Compute::Net::SoftwareConfig
438 ControlPlaneIp: {get_attr: [NovaCompute, networks, ctlplane, 0]}
439 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
440 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
441 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
442 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
443 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
444 ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
447 type: OS::TripleO::SoftwareDeployment
449 name: NetworkDeployment
450 config: {get_resource: NetworkConfig}
451 server: {get_resource: NovaCompute}
452 actions: {get_param: NetworkDeploymentActions}
454 bridge_name: {get_param: NeutronPhysicalBridge}
455 interface_name: {get_param: NeutronPublicInterface}
458 type: OS::Heat::StructuredConfig
460 group: os-apply-config
465 - heat_config_%{::deploy_config_name}
466 - compute_extraconfig
470 - ceph_cluster # provided by CephClusterConfig
472 - all_nodes # provided by allNodesConfig
476 - neutron_bigswitch_data # Optionally provided by ComputeExtraConfigPre
477 - cisco_n1kv_data # Optionally provided by ComputeExtraConfigPre
478 - nova_nuage_data # Optionally provided by ComputeExtraConfigPre
479 - midonet_data # Optionally provided by AllNodesExtraConfig
480 - neutron_opencontrail_data # Optionally provided by ComputeExtraConfigPre
481 merge_behavior: deeper
484 mapped_data: {get_param: ServiceConfigSettings}
486 mapped_data: {get_param: NovaComputeExtraConfig}
488 mapped_data: {get_param: ExtraConfig}
490 raw_data: {get_file: hieradata/common.yaml}
493 net_ip_map: {get_attr: [NetIpMap, net_ip_map]}
494 net_ip_subnet_map: {get_attr: [NetIpMap, net_ip_subnet_map]}
495 net_ip_uri_map: {get_attr: [NetIpMap, net_ip_uri_map]}
497 raw_data: {get_file: hieradata/ceph.yaml}
499 raw_data: {get_file: hieradata/compute.yaml}
501 cinder_enable_nfs_backend: {get_input: cinder_enable_nfs_backend}
502 nova::use_ipv6: {get_input: nova_ipv6}
503 nova::debug: {get_input: debug}
504 nova::rabbit_userid: {get_input: rabbit_username}
505 nova::rabbit_password: {get_input: rabbit_password}
506 nova::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
507 nova::rabbit_port: {get_input: rabbit_client_port}
508 nova::upgrade_level_compute: {get_input: upgrade_level_nova_compute}
509 nova_compute_driver: {get_input: nova_compute_driver}
510 # TODO(emilien): move libvirt & migration parameters in libvirt profile
511 # used to deploy libvirt/kvm dependencies:
512 nova::compute::libvirt::services::libvirt_virt_type: {get_input: nova_compute_libvirt_type}
513 # used to configured nova.conf:
514 nova::compute::libvirt::libvirt_virt_type: {get_input: nova_compute_libvirt_type}
515 nova::compute::neutron::libvirt_vif_driver: {get_input: nova_compute_libvirt_vif_driver}
516 nova_api_host: {get_input: nova_api_host}
517 nova::compute::vncproxy_host: {get_input: nova_public_ip}
518 nova::compute::rbd::ephemeral_storage: {get_input: nova_enable_rbd_backend}
519 # TUNNELLED mode provides a security enhancement when using shared storage but is not
520 # supported when not using shared storage.
521 # See https://bugzilla.redhat.com/show_bug.cgi?id=1301986#c12
522 # In future versions of QEMU (2.6, mostly), Dan's native encryption
523 # work will obsolete the need to use TUNNELLED transport mode.
524 nova::migration::live_migration_tunnelled: {get_input: nova_enable_rbd_backend}
525 rbd_persistent_storage: {get_input: cinder_enable_rbd_backend}
526 nova_password: {get_input: nova_password}
527 nova::compute::network_device_mtu: {get_input: neutron_tenant_mtu}
528 nova::compute::vncserver_proxyclient_address: {get_input: nova_vnc_proxyclient_address}
529 nova::vncproxy::common::vncproxy_protocol: {get_input: nova_vncproxy_protocol}
530 nova::vncproxy::common::vncproxy_host: {get_input: nova_vncproxy_host}
531 nova::vncproxy::common::vncproxy_port: {get_input: nova_vncproxy_port}
532 nova::network::neutron::neutron_ovs_bridge: {get_input: nova_ovs_bridge}
533 nova::network::neutron::security_group_api: {get_input: nova_security_group_api}
534 ceilometer::debug: {get_input: debug}
535 ceilometer::rabbit_userid: {get_input: rabbit_username}
536 ceilometer::rabbit_password: {get_input: rabbit_password}
537 ceilometer::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
538 ceilometer::rabbit_port: {get_input: rabbit_client_port}
539 ceilometer::telemetry_secret: {get_input: ceilometer_metering_secret}
540 ceilometer::agent::auth::auth_password: {get_input: ceilometer_password}
541 ceilometer::agent::auth::auth_url: {get_input: ceilometer_agent_auth_url}
542 ceilometer_compute_agent: {get_input: ceilometer_compute_agent}
543 nova::glance_api_servers: {get_input: glance_api_servers}
544 neutron::debug: {get_input: debug}
545 neutron::rabbit_password: {get_input: rabbit_password}
546 neutron::rabbit_user: {get_input: rabbit_username}
547 neutron::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
548 neutron::rabbit_port: {get_input: rabbit_client_port}
549 neutron::plugins::ml2::flat_networks: {get_input: neutron_flat_networks}
550 neutron_host: {get_input: neutron_host}
551 neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip}
553 neutron::network_device_mtu: {get_input: neutron_tenant_mtu}
554 neutron::plugins::ml2::tenant_network_types: {get_input: neutron_tenant_network_types}
555 neutron::agents::ml2::ovs::tunnel_types: {get_input: neutron_tunnel_types}
556 neutron::agents::ml2::ovs::extensions: {get_input: neutron_agent_extensions}
557 neutron::plugins::ml2::network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
558 neutron::plugins::ml2::tunnel_id_ranges: {get_input: neutron_tunnel_id_ranges}
559 neutron::plugins::ml2::vni_ranges: {get_input: neutron_vni_ranges}
560 neutron::agents::ml2::ovs::bridge_mappings: {get_input: neutron_bridge_mappings}
561 neutron::agents::ml2::ovs::enable_tunneling: {get_input: neutron_enable_tunneling}
562 neutron::agents::ml2::ovs::l2_population: {get_input: neutron_enable_l2pop}
563 neutron_physical_bridge: {get_input: neutron_physical_bridge}
564 neutron_public_interface: {get_input: neutron_public_interface}
565 nova::network::neutron::neutron_password: {get_input: neutron_password}
566 nova::network::neutron::neutron_url: {get_input: neutron_internal_url}
567 nova::network::neutron::neutron_auth_url: {get_input: neutron_auth_url}
568 neutron_metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
569 neutron::core_plugin: {get_input: neutron_core_plugin}
570 neutron::service_plugins: {get_input: neutron_service_plugins}
571 neutron::plugins::ml2::type_drivers: {get_input: neutron_type_drivers}
572 neutron::plugins::ml2::mechanism_drivers: {get_input: neutron_mechanism_drivers}
573 keystone_public_api_virtual_ip: {get_input: keystone_vip}
574 admin_password: {get_input: admin_password}
575 tripleo::packages::enable_install: {get_input: enable_package_install}
576 tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
578 NovaComputeDeployment:
579 type: OS::TripleO::SoftwareDeployment
580 depends_on: NetworkDeployment
582 name: NovaComputeDeployment
583 config: {get_resource: NovaComputeConfig}
584 server: {get_resource: NovaCompute}
586 cinder_enable_nfs_backend: {get_param: CinderEnableNfsBackend}
587 debug: {get_param: Debug}
588 nova_compute_driver: {get_param: NovaComputeDriver}
589 nova_compute_libvirt_type: {get_param: NovaComputeLibvirtType}
590 nova_compute_libvirt_vif_driver: {get_param: NovaComputeLibvirtVifDriver}
591 nova_public_ip: {get_param: NovaPublicIP}
592 nova_api_host: {get_param: NovaApiHost}
593 nova_password: {get_param: NovaPassword}
594 nova_enable_rbd_backend: {get_param: NovaEnableRbdBackend}
595 nova_ipv6: {get_param: NovaIPv6}
596 cinder_enable_rbd_backend: {get_param: CinderEnableRbdBackend}
597 nova_vnc_proxyclient_address: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaVncProxyNetwork]}]}
598 nova_vncproxy_protocol: {get_param: [EndpointMap, NovaVNCProxyPublic, protocol]}
599 # Remove brackets that may come if the IP address is IPv6.
600 # For DNS names and IPv4, this will just get the NovaVNCProxyPublic value
603 template: {get_param: [EndpointMap, NovaVNCProxyPublic, host]}
607 nova_vncproxy_port: {get_param: [EndpointMap, NovaVNCProxyPublic, port]}
608 nova_ovs_bridge: {get_param: NovaOVSBridge}
609 nova_security_group_api: {get_param: NovaSecurityGroupAPI}
610 upgrade_level_nova_compute: {get_param: UpgradeLevelNovaCompute}
611 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
612 ceilometer_password: {get_param: CeilometerPassword}
613 ceilometer_compute_agent: {get_param: CeilometerComputeAgent}
614 ceilometer_agent_auth_url: {get_param: [EndpointMap, KeystoneInternal, uri]}
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_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
660 neutron_core_plugin: {get_param: NeutronCorePlugin}
661 neutron_service_plugins:
665 PLUGINS: {get_param: NeutronServicePlugins}
666 neutron_type_drivers:
670 DRIVERS: {get_param: NeutronTypeDrivers}
671 neutron_mechanism_drivers:
675 MECHANISMS: {get_param: NeutronMechanismDrivers}
676 neutron_agent_extensions:
678 template: AGENT_EXTENSIONS
680 AGENT_EXTENSIONS: {get_param: NeutronAgentExtensions}
681 neutron_internal_url: {get_param: [EndpointMap, NeutronInternal, uri]}
682 neutron_auth_url: {get_param: [EndpointMap, KeystoneV3Admin, uri]}
683 keystone_vip: {get_param: KeystonePublicApiVirtualIP}
684 admin_password: {get_param: AdminPassword}
685 rabbit_username: {get_param: RabbitUserName}
686 rabbit_password: {get_param: RabbitPassword}
687 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
688 rabbit_client_port: {get_param: RabbitClientPort}
689 enable_package_install: {get_param: EnablePackageInstall}
690 enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]}
692 # Resource for site-specific injection of root certificate
694 depends_on: NovaComputeDeployment
695 type: OS::TripleO::NodeTLSCAData
697 server: {get_resource: NovaCompute}
699 # Hook for site-specific additional pre-deployment config, e.g extra hieradata
700 ComputeExtraConfigPre:
701 depends_on: NovaComputeDeployment
702 type: OS::TripleO::ComputeExtraConfigPre
704 server: {get_resource: NovaCompute}
706 # Hook for site-specific additional pre-deployment config,
707 # applying to all nodes, e.g node registration/unregistration
709 depends_on: [ComputeExtraConfigPre, NodeTLSCAData]
710 type: OS::TripleO::NodeExtraConfig
712 server: {get_resource: NovaCompute}
715 type: OS::TripleO::Tasks::PackageUpdate
718 type: OS::Heat::SoftwareDeployment
720 name: UpdateDeployment
721 config: {get_resource: UpdateConfig}
722 server: {get_resource: NovaCompute}
725 get_param: UpdateIdentifier
729 description: IP address of the server in the ctlplane network
730 value: {get_attr: [NovaCompute, networks, ctlplane, 0]}
732 description: IP address of the server in the external network
733 value: {get_attr: [ExternalPort, ip_address]}
734 internal_api_ip_address:
735 description: IP address of the server in the internal_api network
736 value: {get_attr: [InternalApiPort, ip_address]}
738 description: IP address of the server in the storage network
739 value: {get_attr: [StoragePort, ip_address]}
740 storage_mgmt_ip_address:
741 description: IP address of the server in the storage_mgmt network
742 value: {get_attr: [StorageMgmtPort, ip_address]}
744 description: IP address of the server in the tenant network
745 value: {get_attr: [TenantPort, ip_address]}
746 management_ip_address:
747 description: IP address of the server in the management network
748 value: {get_attr: [ManagementPort, ip_address]}
750 description: Hostname of the server
751 value: {get_attr: [NovaCompute, name]}
754 Server's IP address and hostname in the /etc/hosts format
758 PRIMARYIP PRIMARYHOST.DOMAIN PRIMARYHOST
759 EXTERNALIP EXTERNALHOST.DOMAIN EXTERNALHOST
760 INTERNAL_APIIP INTERNAL_APIHOST.DOMAIN INTERNAL_APIHOST
761 STORAGEIP STORAGEHOST.DOMAIN STORAGEHOST
762 STORAGE_MGMTIP STORAGE_MGMTHOST.DOMAIN STORAGE_MGMTHOST
763 TENANTIP TENANTHOST.DOMAIN TENANTHOST
764 MANAGEMENTIP MANAGEMENTHOST.DOMAIN MANAGEMENTHOST
766 PRIMARYIP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ComputeHostnameResolveNetwork]}]}
767 DOMAIN: {get_param: CloudDomain}
768 PRIMARYHOST: {get_attr: [NovaCompute, name]}
769 EXTERNALIP: {get_attr: [ExternalPort, ip_address]}
773 - - {get_attr: [NovaCompute, name]}
775 INTERNAL_APIIP: {get_attr: [InternalApiPort, ip_address]}
779 - - {get_attr: [NovaCompute, name]}
781 STORAGEIP: {get_attr: [StoragePort, ip_address]}
785 - - {get_attr: [NovaCompute, name]}
787 STORAGE_MGMTIP: {get_attr: [StorageMgmtPort, ip_address]}
791 - - {get_attr: [NovaCompute, name]}
793 TENANTIP: {get_attr: [TenantPort, ip_address]}
797 - - {get_attr: [NovaCompute, name]}
799 MANAGEMENTIP: {get_attr: [ManagementPort, ip_address]}
803 - - {get_attr: [NovaCompute, name]}
805 nova_server_resource:
806 description: Heat resource handle for the Nova compute server
808 {get_resource: NovaCompute}