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
254 description: The password for RabbitMQ
259 description: The username for RabbitMQ
264 Rabbit client subscriber parameter to specify
265 an SSL connection to the RabbitMQ host.
269 description: Set rabbit subscriber port, change this if using SSL
271 SnmpdReadonlyUserName:
272 default: ro_snmp_user
273 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
275 SnmpdReadonlyUserPassword:
276 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
279 UpgradeLevelNovaCompute:
281 description: Nova Compute upgrade level
283 EnablePackageInstall:
285 description: Set to true to enable package installation via Puppet
289 description: Mapping of service_name -> network name. Typically set
290 via parameter_defaults in the resource registry.
294 description: Mapping of service endpoint -> protocol. Typically set
295 via parameter_defaults in the resource registry.
299 description: The timezone to be set on compute nodes.
305 Setting to a previously unused value during stack-update will trigger
306 package update on all nodes
309 default: '' # Defaults to Heat created hostname
313 description: Optional mapping to override hostnames
314 NetworkDeploymentActions:
315 type: comma_delimited_list
317 Heat action when to apply network configuration changes
319 SoftwareConfigTransport:
320 default: POLL_SERVER_CFN
322 How the server should receive the metadata required for software configuration.
325 - allowed_values: [POLL_SERVER_CFN, POLL_SERVER_HEAT, POLL_TEMP_URL, ZAQAR_MESSAGE]
330 The DNS domain used for the hosts. This should match the dhcp_domain
331 configured in the Undercloud neutron. Defaults to localdomain.
335 Extra properties or metadata passed to Nova for the created nodes in
336 the overcloud. It's accessible via the Nova metadata API.
340 description: Optional scheduler hints to pass to nova
346 type: OS::Nova::Server
351 get_param: ImageUpdatePolicy
352 flavor: {get_param: Flavor}
353 key_name: {get_param: KeyName}
356 user_data_format: SOFTWARE_CONFIG
357 user_data: {get_resource: UserData}
360 template: {get_param: Hostname}
361 params: {get_param: HostnameMap}
362 software_config_transport: {get_param: SoftwareConfigTransport}
363 metadata: {get_param: ServerMetadata}
364 scheduler_hints: {get_param: SchedulerHints}
366 # Combine the NodeAdminUserData and NodeUserData mime archives
368 type: OS::Heat::MultipartMime
371 - config: {get_resource: NodeAdminUserData}
373 - config: {get_resource: NodeUserData}
376 # Creates the "heat-admin" user if configured via the environment
377 # Should return a OS::Heat::MultipartMime reference via OS::stack_id
379 type: OS::TripleO::NodeAdminUserData
381 # For optional operator additional userdata
382 # Should return a OS::Heat::MultipartMime reference via OS::stack_id
384 type: OS::TripleO::NodeUserData
387 type: OS::TripleO::Compute::Ports::ExternalPort
389 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
390 IPPool: {get_param: NovaComputeIPs}
391 NodeIndex: {get_param: NodeIndex}
394 type: OS::TripleO::Compute::Ports::InternalApiPort
396 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
397 IPPool: {get_param: NovaComputeIPs}
398 NodeIndex: {get_param: NodeIndex}
401 type: OS::TripleO::Compute::Ports::StoragePort
403 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
404 IPPool: {get_param: NovaComputeIPs}
405 NodeIndex: {get_param: NodeIndex}
408 type: OS::TripleO::Compute::Ports::StorageMgmtPort
410 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
411 IPPool: {get_param: NovaComputeIPs}
412 NodeIndex: {get_param: NodeIndex}
415 type: OS::TripleO::Compute::Ports::TenantPort
417 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
418 IPPool: {get_param: NovaComputeIPs}
419 NodeIndex: {get_param: NodeIndex}
422 type: OS::TripleO::Compute::Ports::ManagementPort
424 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
425 IPPool: {get_param: NovaComputeIPs}
426 NodeIndex: {get_param: NodeIndex}
429 type: OS::TripleO::Network::Ports::NetIpMap
431 ControlPlaneIp: {get_attr: [NovaCompute, networks, ctlplane, 0]}
432 ExternalIp: {get_attr: [ExternalPort, ip_address]}
433 ExternalIpUri: {get_attr: [ExternalPort, ip_address_uri]}
434 InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
435 InternalApiIpUri: {get_attr: [InternalApiPort, ip_address_uri]}
436 StorageIp: {get_attr: [StoragePort, ip_address]}
437 StorageIpUri: {get_attr: [StoragePort, ip_address_uri]}
438 StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}
439 StorageMgmtIpUri: {get_attr: [StorageMgmtPort, ip_address_uri]}
440 TenantIp: {get_attr: [TenantPort, ip_address]}
441 TenantIpUri: {get_attr: [TenantPort, ip_address_uri]}
442 ManagementIp: {get_attr: [ManagementPort, ip_address]}
443 ManagementIpUri: {get_attr: [ManagementPort, ip_address_uri]}
446 type: OS::TripleO::Compute::Net::SoftwareConfig
448 ControlPlaneIp: {get_attr: [NovaCompute, networks, ctlplane, 0]}
449 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
450 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
451 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
452 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
453 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
454 ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
457 type: OS::TripleO::SoftwareDeployment
459 name: NetworkDeployment
460 config: {get_resource: NetworkConfig}
461 server: {get_resource: NovaCompute}
462 actions: {get_param: NetworkDeploymentActions}
464 bridge_name: {get_param: NeutronPhysicalBridge}
465 interface_name: {get_param: NeutronPublicInterface}
468 type: OS::Heat::StructuredConfig
470 group: os-apply-config
475 - heat_config_%{::deploy_config_name}
476 - compute_extraconfig
479 - ceph_cluster # provided by CephClusterConfig
481 - all_nodes # provided by allNodesConfig
484 - neutron_bigswitch_data # Optionally provided by ComputeExtraConfigPre
485 - cisco_n1kv_data # Optionally provided by ComputeExtraConfigPre
486 - nova_nuage_data # Optionally provided by ComputeExtraConfigPre
487 - midonet_data # Optionally provided by AllNodesExtraConfig
488 - neutron_opencontrail_data # Optionally provided by ComputeExtraConfigPre
491 mapped_data: {get_param: NovaComputeExtraConfig}
493 mapped_data: {get_param: ExtraConfig}
495 raw_data: {get_file: hieradata/common.yaml}
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 nova::compute::libvirt::libvirt_virt_type: {get_input: nova_compute_libvirt_type}
511 nova::compute::neutron::libvirt_vif_driver: {get_input: nova_compute_libvirt_vif_driver}
512 nova_api_host: {get_input: nova_api_host}
513 nova::compute::vncproxy_host: {get_input: nova_public_ip}
514 nova::compute::rbd::ephemeral_storage: {get_input: nova_enable_rbd_backend}
515 rbd_persistent_storage: {get_input: cinder_enable_rbd_backend}
516 nova_password: {get_input: nova_password}
517 nova::compute::network_device_mtu: {get_input: neutron_tenant_mtu}
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::metering_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 snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
534 snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
535 nova::glance_api_servers: {get_input: glance_api_servers}
536 neutron::debug: {get_input: debug}
537 neutron::rabbit_password: {get_input: rabbit_password}
538 neutron::rabbit_user: {get_input: rabbit_username}
539 neutron::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
540 neutron::rabbit_port: {get_input: rabbit_client_port}
541 neutron::plugins::ml2::flat_networks: {get_input: neutron_flat_networks}
542 neutron_host: {get_input: neutron_host}
543 neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip}
545 neutron::network_device_mtu: {get_input: neutron_tenant_mtu}
546 neutron::plugins::ml2::tenant_network_types: {get_input: neutron_tenant_network_types}
547 neutron::agents::ml2::ovs::tunnel_types: {get_input: neutron_tunnel_types}
548 neutron::agents::ml2::ovs::extensions: {get_input: neutron_agent_extensions}
549 neutron::plugins::ml2::network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
550 neutron::plugins::ml2::tunnel_id_ranges: {get_input: neutron_tunnel_id_ranges}
551 neutron::plugins::ml2::vni_ranges: {get_input: neutron_vni_ranges}
552 neutron::agents::ml2::ovs::bridge_mappings: {get_input: neutron_bridge_mappings}
553 neutron::agents::ml2::ovs::enable_tunneling: {get_input: neutron_enable_tunneling}
554 neutron::agents::ml2::ovs::l2_population: {get_input: neutron_enable_l2pop}
555 neutron_physical_bridge: {get_input: neutron_physical_bridge}
556 neutron_public_interface: {get_input: neutron_public_interface}
557 nova::network::neutron::neutron_password: {get_input: neutron_password}
558 nova::network::neutron::neutron_url: {get_input: neutron_internal_url}
559 nova::network::neutron::neutron_auth_url: {get_input: neutron_auth_url}
560 neutron_router_distributed: {get_input: neutron_router_distributed}
561 neutron_agent_mode: {get_input: neutron_agent_mode}
562 neutron_metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
563 neutron::core_plugin: {get_input: neutron_core_plugin}
564 neutron::service_plugins: {get_input: neutron_service_plugins}
565 neutron::plugins::ml2::type_drivers: {get_input: neutron_type_drivers}
566 neutron::plugins::ml2::mechanism_drivers: {get_input: neutron_mechanism_drivers}
567 neutron_public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
568 keystone_public_api_virtual_ip: {get_input: keystone_vip}
569 admin_password: {get_input: admin_password}
570 ntp::servers: {get_input: ntp_servers}
571 timezone::timezone: {get_input: timezone}
572 tripleo::packages::enable_install: {get_input: enable_package_install}
573 tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
575 NovaComputeDeployment:
576 type: OS::TripleO::SoftwareDeployment
577 depends_on: NetworkDeployment
579 name: NovaComputeDeployment
580 config: {get_resource: NovaComputeConfig}
581 server: {get_resource: NovaCompute}
583 cinder_enable_nfs_backend: {get_param: CinderEnableNfsBackend}
584 debug: {get_param: Debug}
585 nova_compute_driver: {get_param: NovaComputeDriver}
586 nova_compute_libvirt_type: {get_param: NovaComputeLibvirtType}
587 nova_compute_libvirt_vif_driver: {get_param: NovaComputeLibvirtVifDriver}
588 nova_public_ip: {get_param: NovaPublicIP}
589 nova_api_host: {get_param: NovaApiHost}
590 nova_password: {get_param: NovaPassword}
591 nova_enable_rbd_backend: {get_param: NovaEnableRbdBackend}
592 nova_ipv6: {get_param: NovaIPv6}
593 cinder_enable_rbd_backend: {get_param: CinderEnableRbdBackend}
594 nova_vnc_proxyclient_address: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaVncProxyNetwork]}]}
595 nova_vncproxy_protocol: {get_param: [EndpointMap, NovaVNCProxyPublic, protocol]}
596 # Remove brackets that may come if the IP address is IPv6.
597 # For DNS names and IPv4, this will just get the NovaVNCProxyPublic value
600 template: {get_param: [EndpointMap, NovaVNCProxyPublic, host]}
604 nova_vncproxy_port: {get_param: [EndpointMap, NovaVNCProxyPublic, port]}
605 nova_ovs_bridge: {get_param: NovaOVSBridge}
606 nova_security_group_api: {get_param: NovaSecurityGroupAPI}
607 upgrade_level_nova_compute: {get_param: UpgradeLevelNovaCompute}
608 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
609 ceilometer_password: {get_param: CeilometerPassword}
610 ceilometer_compute_agent: {get_param: CeilometerComputeAgent}
611 ceilometer_agent_auth_url: {get_param: [EndpointMap, KeystoneInternal, uri]}
612 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
613 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
614 glance_api_servers: {get_param: [EndpointMap, GlanceInternal, uri]}
615 neutron_flat_networks:
619 NETWORKS: {get_param: NeutronFlatNetworks}
620 neutron_host: {get_param: NeutronHost}
621 neutron_local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronTenantNetwork]}]}
622 neutron_tunnel_id_ranges:
626 RANGES: {get_param: NeutronTunnelIdRanges}
631 RANGES: {get_param: NeutronVniRanges}
632 neutron_tenant_network_types:
636 TYPES: {get_param: NeutronNetworkType}
637 neutron_tunnel_types:
641 TYPES: {get_param: NeutronTunnelTypes}
642 neutron_network_vlan_ranges:
646 RANGES: {get_param: NeutronNetworkVLANRanges}
647 neutron_bridge_mappings:
651 MAPPINGS: {get_param: NeutronBridgeMappings}
652 neutron_tenant_mtu: {get_param: NeutronTenantMtu}
653 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
654 neutron_enable_l2pop: {get_param: NeutronEnableL2Pop}
655 neutron_physical_bridge: {get_param: NeutronPhysicalBridge}
656 neutron_public_interface: {get_param: NeutronPublicInterface}
657 neutron_password: {get_param: NeutronPassword}
658 neutron_agent_mode: {get_param: NeutronAgentMode}
659 neutron_router_distributed: {get_param: NeutronDVR}
660 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
661 neutron_core_plugin: {get_param: NeutronCorePlugin}
662 neutron_service_plugins:
666 PLUGINS: {get_param: NeutronServicePlugins}
667 neutron_type_drivers:
671 DRIVERS: {get_param: NeutronTypeDrivers}
672 neutron_mechanism_drivers:
676 MECHANISMS: {get_param: NeutronMechanismDrivers}
677 neutron_agent_extensions:
679 template: AGENT_EXTENSIONS
681 AGENT_EXTENSIONS: {get_param: NeutronAgentExtensions}
682 neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
683 neutron_internal_url: {get_param: [EndpointMap, NeutronInternal, uri]}
684 neutron_auth_url: {get_param: [EndpointMap, KeystoneV3Admin, uri]}
685 keystone_vip: {get_param: KeystonePublicApiVirtualIP}
686 admin_password: {get_param: AdminPassword}
687 rabbit_username: {get_param: RabbitUserName}
688 rabbit_password: {get_param: RabbitPassword}
689 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
690 rabbit_client_port: {get_param: RabbitClientPort}
691 ntp_servers: {get_param: NtpServer}
692 timezone: {get_param: TimeZone}
693 enable_package_install: {get_param: EnablePackageInstall}
694 enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]}
696 # Resource for site-specific injection of root certificate
698 depends_on: NovaComputeDeployment
699 type: OS::TripleO::NodeTLSCAData
701 server: {get_resource: NovaCompute}
703 # Hook for site-specific additional pre-deployment config, e.g extra hieradata
704 ComputeExtraConfigPre:
705 depends_on: NovaComputeDeployment
706 type: OS::TripleO::ComputeExtraConfigPre
708 server: {get_resource: NovaCompute}
710 # Hook for site-specific additional pre-deployment config,
711 # applying to all nodes, e.g node registration/unregistration
713 depends_on: [ComputeExtraConfigPre, NodeTLSCAData]
714 type: OS::TripleO::NodeExtraConfig
716 server: {get_resource: NovaCompute}
719 type: OS::TripleO::Tasks::PackageUpdate
722 type: OS::Heat::SoftwareDeployment
724 name: UpdateDeployment
725 config: {get_resource: UpdateConfig}
726 server: {get_resource: NovaCompute}
729 get_param: UpdateIdentifier
733 description: IP address of the server in the ctlplane network
734 value: {get_attr: [NovaCompute, networks, ctlplane, 0]}
736 description: IP address of the server in the external network
737 value: {get_attr: [ExternalPort, ip_address]}
738 internal_api_ip_address:
739 description: IP address of the server in the internal_api network
740 value: {get_attr: [InternalApiPort, ip_address]}
742 description: IP address of the server in the storage network
743 value: {get_attr: [StoragePort, ip_address]}
744 storage_mgmt_ip_address:
745 description: IP address of the server in the storage_mgmt network
746 value: {get_attr: [StorageMgmtPort, ip_address]}
748 description: IP address of the server in the tenant network
749 value: {get_attr: [TenantPort, ip_address]}
750 management_ip_address:
751 description: IP address of the server in the management network
752 value: {get_attr: [ManagementPort, ip_address]}
754 description: Hostname of the server
755 value: {get_attr: [NovaCompute, name]}
758 Server's IP address and hostname in the /etc/hosts format
762 PRIMARYIP PRIMARYHOST.DOMAIN PRIMARYHOST
763 EXTERNALIP EXTERNALHOST.DOMAIN EXTERNALHOST
764 INTERNAL_APIIP INTERNAL_APIHOST.DOMAIN INTERNAL_APIHOST
765 STORAGEIP STORAGEHOST.DOMAIN STORAGEHOST
766 STORAGE_MGMTIP STORAGE_MGMTHOST.DOMAIN STORAGE_MGMTHOST
767 TENANTIP TENANTHOST.DOMAIN TENANTHOST
768 MANAGEMENTIP MANAGEMENTHOST.DOMAIN MANAGEMENTHOST
770 PRIMARYIP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ComputeHostnameResolveNetwork]}]}
771 DOMAIN: {get_param: CloudDomain}
772 PRIMARYHOST: {get_attr: [NovaCompute, name]}
773 EXTERNALIP: {get_attr: [ExternalPort, ip_address]}
777 - - {get_attr: [NovaCompute, name]}
779 INTERNAL_APIIP: {get_attr: [InternalApiPort, ip_address]}
783 - - {get_attr: [NovaCompute, name]}
785 STORAGEIP: {get_attr: [StoragePort, ip_address]}
789 - - {get_attr: [NovaCompute, name]}
791 STORAGE_MGMTIP: {get_attr: [StorageMgmtPort, ip_address]}
795 - - {get_attr: [NovaCompute, name]}
797 TENANTIP: {get_attr: [TenantPort, ip_address]}
801 - - {get_attr: [NovaCompute, name]}
803 MANAGEMENTIP: {get_attr: [ManagementPort, ip_address]}
807 - - {get_attr: [NovaCompute, name]}
809 nova_server_resource:
810 description: Heat resource handle for the Nova compute server
812 {get_resource: NovaCompute}
814 description: identifier which changes if the node configuration may need re-applying
818 - - {get_attr: [NovaComputeDeployment, deploy_stdout]}
819 - {get_attr: [NodeTLSCAData, deploy_stdout]}
820 - {get_attr: [ComputeExtraConfigPre, deploy_stdout]}
821 - {get_param: UpdateIdentifier}