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
342 ServiceConfigSettings:
349 type: OS::Nova::Server
354 get_param: ImageUpdatePolicy
355 flavor: {get_param: Flavor}
356 key_name: {get_param: KeyName}
359 user_data_format: SOFTWARE_CONFIG
360 user_data: {get_resource: UserData}
363 template: {get_param: Hostname}
364 params: {get_param: HostnameMap}
365 software_config_transport: {get_param: SoftwareConfigTransport}
366 metadata: {get_param: ServerMetadata}
367 scheduler_hints: {get_param: SchedulerHints}
369 # Combine the NodeAdminUserData and NodeUserData mime archives
371 type: OS::Heat::MultipartMime
374 - config: {get_resource: NodeAdminUserData}
376 - config: {get_resource: NodeUserData}
379 # Creates the "heat-admin" user if configured via the environment
380 # Should return a OS::Heat::MultipartMime reference via OS::stack_id
382 type: OS::TripleO::NodeAdminUserData
384 # For optional operator additional userdata
385 # Should return a OS::Heat::MultipartMime reference via OS::stack_id
387 type: OS::TripleO::NodeUserData
390 type: OS::TripleO::Compute::Ports::ExternalPort
392 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
393 IPPool: {get_param: NovaComputeIPs}
394 NodeIndex: {get_param: NodeIndex}
397 type: OS::TripleO::Compute::Ports::InternalApiPort
399 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
400 IPPool: {get_param: NovaComputeIPs}
401 NodeIndex: {get_param: NodeIndex}
404 type: OS::TripleO::Compute::Ports::StoragePort
406 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
407 IPPool: {get_param: NovaComputeIPs}
408 NodeIndex: {get_param: NodeIndex}
411 type: OS::TripleO::Compute::Ports::StorageMgmtPort
413 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
414 IPPool: {get_param: NovaComputeIPs}
415 NodeIndex: {get_param: NodeIndex}
418 type: OS::TripleO::Compute::Ports::TenantPort
420 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
421 IPPool: {get_param: NovaComputeIPs}
422 NodeIndex: {get_param: NodeIndex}
425 type: OS::TripleO::Compute::Ports::ManagementPort
427 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
428 IPPool: {get_param: NovaComputeIPs}
429 NodeIndex: {get_param: NodeIndex}
432 type: OS::TripleO::Network::Ports::NetIpMap
434 ControlPlaneIp: {get_attr: [NovaCompute, networks, ctlplane, 0]}
435 ExternalIp: {get_attr: [ExternalPort, ip_address]}
436 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
437 ExternalIpUri: {get_attr: [ExternalPort, ip_address_uri]}
438 InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
439 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
440 InternalApiIpUri: {get_attr: [InternalApiPort, ip_address_uri]}
441 StorageIp: {get_attr: [StoragePort, ip_address]}
442 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
443 StorageIpUri: {get_attr: [StoragePort, ip_address_uri]}
444 StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}
445 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
446 StorageMgmtIpUri: {get_attr: [StorageMgmtPort, ip_address_uri]}
447 TenantIp: {get_attr: [TenantPort, ip_address]}
448 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
449 TenantIpUri: {get_attr: [TenantPort, ip_address_uri]}
450 ManagementIp: {get_attr: [ManagementPort, ip_address]}
451 ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
452 ManagementIpUri: {get_attr: [ManagementPort, ip_address_uri]}
455 type: OS::TripleO::Compute::Net::SoftwareConfig
457 ControlPlaneIp: {get_attr: [NovaCompute, networks, ctlplane, 0]}
458 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
459 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
460 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
461 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
462 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
463 ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
466 type: OS::TripleO::SoftwareDeployment
468 name: NetworkDeployment
469 config: {get_resource: NetworkConfig}
470 server: {get_resource: NovaCompute}
471 actions: {get_param: NetworkDeploymentActions}
473 bridge_name: {get_param: NeutronPhysicalBridge}
474 interface_name: {get_param: NeutronPublicInterface}
477 type: OS::Heat::StructuredConfig
479 group: os-apply-config
484 - heat_config_%{::deploy_config_name}
485 - compute_extraconfig
489 - ceph_cluster # provided by CephClusterConfig
491 - all_nodes # provided by allNodesConfig
495 - neutron_bigswitch_data # Optionally provided by ComputeExtraConfigPre
496 - cisco_n1kv_data # Optionally provided by ComputeExtraConfigPre
497 - nova_nuage_data # Optionally provided by ComputeExtraConfigPre
498 - midonet_data # Optionally provided by AllNodesExtraConfig
499 - neutron_opencontrail_data # Optionally provided by ComputeExtraConfigPre
500 merge_behavior: deeper
503 mapped_data: {get_param: ServiceConfigSettings}
505 mapped_data: {get_param: NovaComputeExtraConfig}
507 mapped_data: {get_param: ExtraConfig}
509 raw_data: {get_file: hieradata/common.yaml}
512 net_ip_map: {get_attr: [NetIpMap, net_ip_map]}
513 net_ip_subnet_map: {get_attr: [NetIpMap, net_ip_subnet_map]}
514 net_ip_uri_map: {get_attr: [NetIpMap, net_ip_uri_map]}
516 raw_data: {get_file: hieradata/ceph.yaml}
518 raw_data: {get_file: hieradata/compute.yaml}
520 cinder_enable_nfs_backend: {get_input: cinder_enable_nfs_backend}
521 nova::use_ipv6: {get_input: nova_ipv6}
522 nova::debug: {get_input: debug}
523 nova::rabbit_userid: {get_input: rabbit_username}
524 nova::rabbit_password: {get_input: rabbit_password}
525 nova::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
526 nova::rabbit_port: {get_input: rabbit_client_port}
527 nova::upgrade_level_compute: {get_input: upgrade_level_nova_compute}
528 nova_compute_driver: {get_input: nova_compute_driver}
529 nova::compute::libvirt::libvirt_virt_type: {get_input: nova_compute_libvirt_type}
530 nova::compute::neutron::libvirt_vif_driver: {get_input: nova_compute_libvirt_vif_driver}
531 nova_api_host: {get_input: nova_api_host}
532 nova::compute::vncproxy_host: {get_input: nova_public_ip}
533 nova::compute::rbd::ephemeral_storage: {get_input: nova_enable_rbd_backend}
534 # TUNNELLED mode provides a security enhancement when using shared storage but is not
535 # supported when not using shared storage.
536 # See https://bugzilla.redhat.com/show_bug.cgi?id=1301986#c12
537 # In future versions of QEMU (2.6, mostly), Dan's native encryption
538 # work will obsolete the need to use TUNNELLED transport mode.
539 nova::migration::live_migration_tunnelled: {get_input: nova_enable_rbd_backend}
540 rbd_persistent_storage: {get_input: cinder_enable_rbd_backend}
541 nova_password: {get_input: nova_password}
542 nova::compute::network_device_mtu: {get_input: neutron_tenant_mtu}
543 nova::compute::vncserver_proxyclient_address: {get_input: nova_vnc_proxyclient_address}
544 nova::vncproxy::common::vncproxy_protocol: {get_input: nova_vncproxy_protocol}
545 nova::vncproxy::common::vncproxy_host: {get_input: nova_vncproxy_host}
546 nova::vncproxy::common::vncproxy_port: {get_input: nova_vncproxy_port}
547 nova::network::neutron::neutron_ovs_bridge: {get_input: nova_ovs_bridge}
548 nova::network::neutron::security_group_api: {get_input: nova_security_group_api}
549 ceilometer::debug: {get_input: debug}
550 ceilometer::rabbit_userid: {get_input: rabbit_username}
551 ceilometer::rabbit_password: {get_input: rabbit_password}
552 ceilometer::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
553 ceilometer::rabbit_port: {get_input: rabbit_client_port}
554 ceilometer::telemetry_secret: {get_input: ceilometer_metering_secret}
555 ceilometer::agent::auth::auth_password: {get_input: ceilometer_password}
556 ceilometer::agent::auth::auth_url: {get_input: ceilometer_agent_auth_url}
557 ceilometer_compute_agent: {get_input: ceilometer_compute_agent}
558 snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
559 snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
560 nova::glance_api_servers: {get_input: glance_api_servers}
561 neutron::debug: {get_input: debug}
562 neutron::rabbit_password: {get_input: rabbit_password}
563 neutron::rabbit_user: {get_input: rabbit_username}
564 neutron::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
565 neutron::rabbit_port: {get_input: rabbit_client_port}
566 neutron::plugins::ml2::flat_networks: {get_input: neutron_flat_networks}
567 neutron_host: {get_input: neutron_host}
568 neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip}
570 neutron::network_device_mtu: {get_input: neutron_tenant_mtu}
571 neutron::plugins::ml2::tenant_network_types: {get_input: neutron_tenant_network_types}
572 neutron::agents::ml2::ovs::tunnel_types: {get_input: neutron_tunnel_types}
573 neutron::agents::ml2::ovs::extensions: {get_input: neutron_agent_extensions}
574 neutron::plugins::ml2::network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
575 neutron::plugins::ml2::tunnel_id_ranges: {get_input: neutron_tunnel_id_ranges}
576 neutron::plugins::ml2::vni_ranges: {get_input: neutron_vni_ranges}
577 neutron::agents::ml2::ovs::bridge_mappings: {get_input: neutron_bridge_mappings}
578 neutron::agents::ml2::ovs::enable_tunneling: {get_input: neutron_enable_tunneling}
579 neutron::agents::ml2::ovs::l2_population: {get_input: neutron_enable_l2pop}
580 neutron_physical_bridge: {get_input: neutron_physical_bridge}
581 neutron_public_interface: {get_input: neutron_public_interface}
582 nova::network::neutron::neutron_password: {get_input: neutron_password}
583 nova::network::neutron::neutron_url: {get_input: neutron_internal_url}
584 nova::network::neutron::neutron_auth_url: {get_input: neutron_auth_url}
585 neutron_router_distributed: {get_input: neutron_router_distributed}
586 neutron_agent_mode: {get_input: neutron_agent_mode}
587 neutron_metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
588 neutron::core_plugin: {get_input: neutron_core_plugin}
589 neutron::service_plugins: {get_input: neutron_service_plugins}
590 neutron::plugins::ml2::type_drivers: {get_input: neutron_type_drivers}
591 neutron::plugins::ml2::mechanism_drivers: {get_input: neutron_mechanism_drivers}
592 neutron_public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
593 keystone_public_api_virtual_ip: {get_input: keystone_vip}
594 admin_password: {get_input: admin_password}
595 ntp::servers: {get_input: ntp_servers}
596 timezone::timezone: {get_input: timezone}
597 tripleo::packages::enable_install: {get_input: enable_package_install}
598 tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
600 NovaComputeDeployment:
601 type: OS::TripleO::SoftwareDeployment
602 depends_on: NetworkDeployment
604 name: NovaComputeDeployment
605 config: {get_resource: NovaComputeConfig}
606 server: {get_resource: NovaCompute}
608 cinder_enable_nfs_backend: {get_param: CinderEnableNfsBackend}
609 debug: {get_param: Debug}
610 nova_compute_driver: {get_param: NovaComputeDriver}
611 nova_compute_libvirt_type: {get_param: NovaComputeLibvirtType}
612 nova_compute_libvirt_vif_driver: {get_param: NovaComputeLibvirtVifDriver}
613 nova_public_ip: {get_param: NovaPublicIP}
614 nova_api_host: {get_param: NovaApiHost}
615 nova_password: {get_param: NovaPassword}
616 nova_enable_rbd_backend: {get_param: NovaEnableRbdBackend}
617 nova_ipv6: {get_param: NovaIPv6}
618 cinder_enable_rbd_backend: {get_param: CinderEnableRbdBackend}
619 nova_vnc_proxyclient_address: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaVncProxyNetwork]}]}
620 nova_vncproxy_protocol: {get_param: [EndpointMap, NovaVNCProxyPublic, protocol]}
621 # Remove brackets that may come if the IP address is IPv6.
622 # For DNS names and IPv4, this will just get the NovaVNCProxyPublic value
625 template: {get_param: [EndpointMap, NovaVNCProxyPublic, host]}
629 nova_vncproxy_port: {get_param: [EndpointMap, NovaVNCProxyPublic, port]}
630 nova_ovs_bridge: {get_param: NovaOVSBridge}
631 nova_security_group_api: {get_param: NovaSecurityGroupAPI}
632 upgrade_level_nova_compute: {get_param: UpgradeLevelNovaCompute}
633 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
634 ceilometer_password: {get_param: CeilometerPassword}
635 ceilometer_compute_agent: {get_param: CeilometerComputeAgent}
636 ceilometer_agent_auth_url: {get_param: [EndpointMap, KeystoneInternal, uri]}
637 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
638 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
639 glance_api_servers: {get_param: [EndpointMap, GlanceInternal, uri]}
640 neutron_flat_networks:
644 NETWORKS: {get_param: NeutronFlatNetworks}
645 neutron_host: {get_param: NeutronHost}
646 neutron_local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronTenantNetwork]}]}
647 neutron_tunnel_id_ranges:
651 RANGES: {get_param: NeutronTunnelIdRanges}
656 RANGES: {get_param: NeutronVniRanges}
657 neutron_tenant_network_types:
661 TYPES: {get_param: NeutronNetworkType}
662 neutron_tunnel_types:
666 TYPES: {get_param: NeutronTunnelTypes}
667 neutron_network_vlan_ranges:
671 RANGES: {get_param: NeutronNetworkVLANRanges}
672 neutron_bridge_mappings:
676 MAPPINGS: {get_param: NeutronBridgeMappings}
677 neutron_tenant_mtu: {get_param: NeutronTenantMtu}
678 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
679 neutron_enable_l2pop: {get_param: NeutronEnableL2Pop}
680 neutron_physical_bridge: {get_param: NeutronPhysicalBridge}
681 neutron_public_interface: {get_param: NeutronPublicInterface}
682 neutron_password: {get_param: NeutronPassword}
683 neutron_agent_mode: {get_param: NeutronAgentMode}
684 neutron_router_distributed: {get_param: NeutronDVR}
685 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
686 neutron_core_plugin: {get_param: NeutronCorePlugin}
687 neutron_service_plugins:
691 PLUGINS: {get_param: NeutronServicePlugins}
692 neutron_type_drivers:
696 DRIVERS: {get_param: NeutronTypeDrivers}
697 neutron_mechanism_drivers:
701 MECHANISMS: {get_param: NeutronMechanismDrivers}
702 neutron_agent_extensions:
704 template: AGENT_EXTENSIONS
706 AGENT_EXTENSIONS: {get_param: NeutronAgentExtensions}
707 neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
708 neutron_internal_url: {get_param: [EndpointMap, NeutronInternal, uri]}
709 neutron_auth_url: {get_param: [EndpointMap, KeystoneV3Admin, uri]}
710 keystone_vip: {get_param: KeystonePublicApiVirtualIP}
711 admin_password: {get_param: AdminPassword}
712 rabbit_username: {get_param: RabbitUserName}
713 rabbit_password: {get_param: RabbitPassword}
714 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
715 rabbit_client_port: {get_param: RabbitClientPort}
716 ntp_servers: {get_param: NtpServer}
717 timezone: {get_param: TimeZone}
718 enable_package_install: {get_param: EnablePackageInstall}
719 enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]}
721 # Resource for site-specific injection of root certificate
723 depends_on: NovaComputeDeployment
724 type: OS::TripleO::NodeTLSCAData
726 server: {get_resource: NovaCompute}
728 # Hook for site-specific additional pre-deployment config, e.g extra hieradata
729 ComputeExtraConfigPre:
730 depends_on: NovaComputeDeployment
731 type: OS::TripleO::ComputeExtraConfigPre
733 server: {get_resource: NovaCompute}
735 # Hook for site-specific additional pre-deployment config,
736 # applying to all nodes, e.g node registration/unregistration
738 depends_on: [ComputeExtraConfigPre, NodeTLSCAData]
739 type: OS::TripleO::NodeExtraConfig
741 server: {get_resource: NovaCompute}
744 type: OS::TripleO::Tasks::PackageUpdate
747 type: OS::Heat::SoftwareDeployment
749 name: UpdateDeployment
750 config: {get_resource: UpdateConfig}
751 server: {get_resource: NovaCompute}
754 get_param: UpdateIdentifier
758 description: IP address of the server in the ctlplane network
759 value: {get_attr: [NovaCompute, networks, ctlplane, 0]}
761 description: IP address of the server in the external network
762 value: {get_attr: [ExternalPort, ip_address]}
763 internal_api_ip_address:
764 description: IP address of the server in the internal_api network
765 value: {get_attr: [InternalApiPort, ip_address]}
767 description: IP address of the server in the storage network
768 value: {get_attr: [StoragePort, ip_address]}
769 storage_mgmt_ip_address:
770 description: IP address of the server in the storage_mgmt network
771 value: {get_attr: [StorageMgmtPort, ip_address]}
773 description: IP address of the server in the tenant network
774 value: {get_attr: [TenantPort, ip_address]}
775 management_ip_address:
776 description: IP address of the server in the management network
777 value: {get_attr: [ManagementPort, ip_address]}
779 description: Hostname of the server
780 value: {get_attr: [NovaCompute, name]}
783 Server's IP address and hostname in the /etc/hosts format
787 PRIMARYIP PRIMARYHOST.DOMAIN PRIMARYHOST
788 EXTERNALIP EXTERNALHOST.DOMAIN EXTERNALHOST
789 INTERNAL_APIIP INTERNAL_APIHOST.DOMAIN INTERNAL_APIHOST
790 STORAGEIP STORAGEHOST.DOMAIN STORAGEHOST
791 STORAGE_MGMTIP STORAGE_MGMTHOST.DOMAIN STORAGE_MGMTHOST
792 TENANTIP TENANTHOST.DOMAIN TENANTHOST
793 MANAGEMENTIP MANAGEMENTHOST.DOMAIN MANAGEMENTHOST
795 PRIMARYIP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ComputeHostnameResolveNetwork]}]}
796 DOMAIN: {get_param: CloudDomain}
797 PRIMARYHOST: {get_attr: [NovaCompute, name]}
798 EXTERNALIP: {get_attr: [ExternalPort, ip_address]}
802 - - {get_attr: [NovaCompute, name]}
804 INTERNAL_APIIP: {get_attr: [InternalApiPort, ip_address]}
808 - - {get_attr: [NovaCompute, name]}
810 STORAGEIP: {get_attr: [StoragePort, ip_address]}
814 - - {get_attr: [NovaCompute, name]}
816 STORAGE_MGMTIP: {get_attr: [StorageMgmtPort, ip_address]}
820 - - {get_attr: [NovaCompute, name]}
822 TENANTIP: {get_attr: [TenantPort, ip_address]}
826 - - {get_attr: [NovaCompute, name]}
828 MANAGEMENTIP: {get_attr: [ManagementPort, ip_address]}
832 - - {get_attr: [NovaCompute, name]}
834 nova_server_resource:
835 description: Heat resource handle for the Nova compute server
837 {get_resource: NovaCompute}
839 description: identifier which changes if the node configuration may need re-applying
843 - - {get_attr: [NovaComputeDeployment, deploy_stdout]}
844 - {get_attr: [NodeTLSCAData, deploy_stdout]}
845 - {get_attr: [ComputeExtraConfigPre, deploy_stdout]}
846 - {get_param: UpdateIdentifier}