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 description: Comma-separated list of ntp servers
239 type: comma_delimited_list
242 default: '' # Has to be here because of the ignored empty value bug
244 description: The password for RabbitMQ
249 description: The username for RabbitMQ
254 Rabbit client subscriber parameter to specify
255 an SSL connection to the RabbitMQ host.
259 description: Set rabbit subscriber port, change this if using SSL
261 SnmpdReadonlyUserName:
262 default: ro_snmp_user
263 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
265 SnmpdReadonlyUserPassword:
266 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
269 UpgradeLevelNovaCompute:
271 description: Nova Compute upgrade level
273 EnablePackageInstall:
275 description: Set to true to enable package installation via Puppet
279 description: Mapping of service_name -> network name. Typically set
280 via parameter_defaults in the resource registry.
284 description: Mapping of service endpoint -> protocol. Typically set
285 via parameter_defaults in the resource registry.
289 description: The timezone to be set on compute nodes.
295 Setting to a previously unused value during stack-update will trigger
296 package update on all nodes
299 default: '' # Defaults to Heat created hostname
303 description: Optional mapping to override hostnames
304 NetworkDeploymentActions:
305 type: comma_delimited_list
307 Heat action when to apply network configuration changes
309 SoftwareConfigTransport:
310 default: POLL_SERVER_CFN
312 How the server should receive the metadata required for software configuration.
315 - allowed_values: [POLL_SERVER_CFN, POLL_SERVER_HEAT, POLL_TEMP_URL, ZAQAR_MESSAGE]
320 The DNS domain used for the hosts. This should match the dhcp_domain
321 configured in the Undercloud neutron. Defaults to localdomain.
325 Extra properties or metadata passed to Nova for the created nodes in
326 the overcloud. It's accessible via the Nova metadata API.
330 description: Optional scheduler hints to pass to nova
332 ServiceConfigSettings:
339 type: OS::Nova::Server
344 get_param: ImageUpdatePolicy
345 flavor: {get_param: Flavor}
346 key_name: {get_param: KeyName}
349 user_data_format: SOFTWARE_CONFIG
350 user_data: {get_resource: UserData}
353 template: {get_param: Hostname}
354 params: {get_param: HostnameMap}
355 software_config_transport: {get_param: SoftwareConfigTransport}
356 metadata: {get_param: ServerMetadata}
357 scheduler_hints: {get_param: SchedulerHints}
359 # Combine the NodeAdminUserData and NodeUserData mime archives
361 type: OS::Heat::MultipartMime
364 - config: {get_resource: NodeAdminUserData}
366 - config: {get_resource: NodeUserData}
369 # Creates the "heat-admin" user if configured via the environment
370 # Should return a OS::Heat::MultipartMime reference via OS::stack_id
372 type: OS::TripleO::NodeAdminUserData
374 # For optional operator additional userdata
375 # Should return a OS::Heat::MultipartMime reference via OS::stack_id
377 type: OS::TripleO::NodeUserData
380 type: OS::TripleO::Compute::Ports::ExternalPort
382 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
383 IPPool: {get_param: NovaComputeIPs}
384 NodeIndex: {get_param: NodeIndex}
387 type: OS::TripleO::Compute::Ports::InternalApiPort
389 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
390 IPPool: {get_param: NovaComputeIPs}
391 NodeIndex: {get_param: NodeIndex}
394 type: OS::TripleO::Compute::Ports::StoragePort
396 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
397 IPPool: {get_param: NovaComputeIPs}
398 NodeIndex: {get_param: NodeIndex}
401 type: OS::TripleO::Compute::Ports::StorageMgmtPort
403 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
404 IPPool: {get_param: NovaComputeIPs}
405 NodeIndex: {get_param: NodeIndex}
408 type: OS::TripleO::Compute::Ports::TenantPort
410 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
411 IPPool: {get_param: NovaComputeIPs}
412 NodeIndex: {get_param: NodeIndex}
415 type: OS::TripleO::Compute::Ports::ManagementPort
417 ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
418 IPPool: {get_param: NovaComputeIPs}
419 NodeIndex: {get_param: NodeIndex}
422 type: OS::TripleO::Network::Ports::NetIpMap
424 ControlPlaneIp: {get_attr: [NovaCompute, networks, ctlplane, 0]}
425 ExternalIp: {get_attr: [ExternalPort, ip_address]}
426 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
427 ExternalIpUri: {get_attr: [ExternalPort, ip_address_uri]}
428 InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
429 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
430 InternalApiIpUri: {get_attr: [InternalApiPort, ip_address_uri]}
431 StorageIp: {get_attr: [StoragePort, ip_address]}
432 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
433 StorageIpUri: {get_attr: [StoragePort, ip_address_uri]}
434 StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}
435 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
436 StorageMgmtIpUri: {get_attr: [StorageMgmtPort, ip_address_uri]}
437 TenantIp: {get_attr: [TenantPort, ip_address]}
438 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
439 TenantIpUri: {get_attr: [TenantPort, ip_address_uri]}
440 ManagementIp: {get_attr: [ManagementPort, ip_address]}
441 ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
442 ManagementIpUri: {get_attr: [ManagementPort, ip_address_uri]}
445 type: OS::TripleO::Compute::Net::SoftwareConfig
447 ControlPlaneIp: {get_attr: [NovaCompute, networks, ctlplane, 0]}
448 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
449 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
450 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
451 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
452 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
453 ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
456 type: OS::TripleO::SoftwareDeployment
458 name: NetworkDeployment
459 config: {get_resource: NetworkConfig}
460 server: {get_resource: NovaCompute}
461 actions: {get_param: NetworkDeploymentActions}
463 bridge_name: {get_param: NeutronPhysicalBridge}
464 interface_name: {get_param: NeutronPublicInterface}
467 type: OS::Heat::StructuredConfig
469 group: os-apply-config
474 - heat_config_%{::deploy_config_name}
475 - compute_extraconfig
479 - ceph_cluster # provided by CephClusterConfig
481 - 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
490 merge_behavior: deeper
493 mapped_data: {get_param: ServiceConfigSettings}
495 mapped_data: {get_param: NovaComputeExtraConfig}
497 mapped_data: {get_param: ExtraConfig}
499 raw_data: {get_file: hieradata/common.yaml}
502 net_ip_map: {get_attr: [NetIpMap, net_ip_map]}
503 net_ip_subnet_map: {get_attr: [NetIpMap, net_ip_subnet_map]}
504 net_ip_uri_map: {get_attr: [NetIpMap, net_ip_uri_map]}
506 raw_data: {get_file: hieradata/ceph.yaml}
508 raw_data: {get_file: hieradata/compute.yaml}
510 cinder_enable_nfs_backend: {get_input: cinder_enable_nfs_backend}
511 nova::use_ipv6: {get_input: nova_ipv6}
512 nova::debug: {get_input: debug}
513 nova::rabbit_userid: {get_input: rabbit_username}
514 nova::rabbit_password: {get_input: rabbit_password}
515 nova::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
516 nova::rabbit_port: {get_input: rabbit_client_port}
517 nova::upgrade_level_compute: {get_input: upgrade_level_nova_compute}
518 nova_compute_driver: {get_input: nova_compute_driver}
519 nova::compute::libvirt::libvirt_virt_type: {get_input: nova_compute_libvirt_type}
520 nova::compute::neutron::libvirt_vif_driver: {get_input: nova_compute_libvirt_vif_driver}
521 nova_api_host: {get_input: nova_api_host}
522 nova::compute::vncproxy_host: {get_input: nova_public_ip}
523 nova::compute::rbd::ephemeral_storage: {get_input: nova_enable_rbd_backend}
524 # TUNNELLED mode provides a security enhancement when using shared storage but is not
525 # supported when not using shared storage.
526 # See https://bugzilla.redhat.com/show_bug.cgi?id=1301986#c12
527 # In future versions of QEMU (2.6, mostly), Dan's native encryption
528 # work will obsolete the need to use TUNNELLED transport mode.
529 nova::migration::live_migration_tunnelled: {get_input: nova_enable_rbd_backend}
530 rbd_persistent_storage: {get_input: cinder_enable_rbd_backend}
531 nova_password: {get_input: nova_password}
532 nova::compute::network_device_mtu: {get_input: neutron_tenant_mtu}
533 nova::compute::vncserver_proxyclient_address: {get_input: nova_vnc_proxyclient_address}
534 nova::vncproxy::common::vncproxy_protocol: {get_input: nova_vncproxy_protocol}
535 nova::vncproxy::common::vncproxy_host: {get_input: nova_vncproxy_host}
536 nova::vncproxy::common::vncproxy_port: {get_input: nova_vncproxy_port}
537 nova::network::neutron::neutron_ovs_bridge: {get_input: nova_ovs_bridge}
538 nova::network::neutron::security_group_api: {get_input: nova_security_group_api}
539 ceilometer::debug: {get_input: debug}
540 ceilometer::rabbit_userid: {get_input: rabbit_username}
541 ceilometer::rabbit_password: {get_input: rabbit_password}
542 ceilometer::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
543 ceilometer::rabbit_port: {get_input: rabbit_client_port}
544 ceilometer::telemetry_secret: {get_input: ceilometer_metering_secret}
545 ceilometer::agent::auth::auth_password: {get_input: ceilometer_password}
546 ceilometer::agent::auth::auth_url: {get_input: ceilometer_agent_auth_url}
547 ceilometer_compute_agent: {get_input: ceilometer_compute_agent}
548 snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
549 snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
550 nova::glance_api_servers: {get_input: glance_api_servers}
551 neutron::debug: {get_input: debug}
552 neutron::rabbit_password: {get_input: rabbit_password}
553 neutron::rabbit_user: {get_input: rabbit_username}
554 neutron::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
555 neutron::rabbit_port: {get_input: rabbit_client_port}
556 neutron::plugins::ml2::flat_networks: {get_input: neutron_flat_networks}
557 neutron_host: {get_input: neutron_host}
558 neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip}
560 neutron::network_device_mtu: {get_input: neutron_tenant_mtu}
561 neutron::plugins::ml2::tenant_network_types: {get_input: neutron_tenant_network_types}
562 neutron::agents::ml2::ovs::tunnel_types: {get_input: neutron_tunnel_types}
563 neutron::agents::ml2::ovs::extensions: {get_input: neutron_agent_extensions}
564 neutron::plugins::ml2::network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
565 neutron::plugins::ml2::tunnel_id_ranges: {get_input: neutron_tunnel_id_ranges}
566 neutron::plugins::ml2::vni_ranges: {get_input: neutron_vni_ranges}
567 neutron::agents::ml2::ovs::bridge_mappings: {get_input: neutron_bridge_mappings}
568 neutron::agents::ml2::ovs::enable_tunneling: {get_input: neutron_enable_tunneling}
569 neutron::agents::ml2::ovs::l2_population: {get_input: neutron_enable_l2pop}
570 neutron_physical_bridge: {get_input: neutron_physical_bridge}
571 neutron_public_interface: {get_input: neutron_public_interface}
572 nova::network::neutron::neutron_password: {get_input: neutron_password}
573 nova::network::neutron::neutron_url: {get_input: neutron_internal_url}
574 nova::network::neutron::neutron_auth_url: {get_input: neutron_auth_url}
575 neutron_metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
576 neutron::core_plugin: {get_input: neutron_core_plugin}
577 neutron::service_plugins: {get_input: neutron_service_plugins}
578 neutron::plugins::ml2::type_drivers: {get_input: neutron_type_drivers}
579 neutron::plugins::ml2::mechanism_drivers: {get_input: neutron_mechanism_drivers}
580 keystone_public_api_virtual_ip: {get_input: keystone_vip}
581 admin_password: {get_input: admin_password}
582 ntp::servers: {get_input: ntp_servers}
583 timezone::timezone: {get_input: timezone}
584 tripleo::packages::enable_install: {get_input: enable_package_install}
585 tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
587 NovaComputeDeployment:
588 type: OS::TripleO::SoftwareDeployment
589 depends_on: NetworkDeployment
591 name: NovaComputeDeployment
592 config: {get_resource: NovaComputeConfig}
593 server: {get_resource: NovaCompute}
595 cinder_enable_nfs_backend: {get_param: CinderEnableNfsBackend}
596 debug: {get_param: Debug}
597 nova_compute_driver: {get_param: NovaComputeDriver}
598 nova_compute_libvirt_type: {get_param: NovaComputeLibvirtType}
599 nova_compute_libvirt_vif_driver: {get_param: NovaComputeLibvirtVifDriver}
600 nova_public_ip: {get_param: NovaPublicIP}
601 nova_api_host: {get_param: NovaApiHost}
602 nova_password: {get_param: NovaPassword}
603 nova_enable_rbd_backend: {get_param: NovaEnableRbdBackend}
604 nova_ipv6: {get_param: NovaIPv6}
605 cinder_enable_rbd_backend: {get_param: CinderEnableRbdBackend}
606 nova_vnc_proxyclient_address: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaVncProxyNetwork]}]}
607 nova_vncproxy_protocol: {get_param: [EndpointMap, NovaVNCProxyPublic, protocol]}
608 # Remove brackets that may come if the IP address is IPv6.
609 # For DNS names and IPv4, this will just get the NovaVNCProxyPublic value
612 template: {get_param: [EndpointMap, NovaVNCProxyPublic, host]}
616 nova_vncproxy_port: {get_param: [EndpointMap, NovaVNCProxyPublic, port]}
617 nova_ovs_bridge: {get_param: NovaOVSBridge}
618 nova_security_group_api: {get_param: NovaSecurityGroupAPI}
619 upgrade_level_nova_compute: {get_param: UpgradeLevelNovaCompute}
620 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
621 ceilometer_password: {get_param: CeilometerPassword}
622 ceilometer_compute_agent: {get_param: CeilometerComputeAgent}
623 ceilometer_agent_auth_url: {get_param: [EndpointMap, KeystoneInternal, uri]}
624 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
625 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
626 glance_api_servers: {get_param: [EndpointMap, GlanceInternal, uri]}
627 neutron_flat_networks:
631 NETWORKS: {get_param: NeutronFlatNetworks}
632 neutron_host: {get_param: NeutronHost}
633 neutron_local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronTenantNetwork]}]}
634 neutron_tunnel_id_ranges:
638 RANGES: {get_param: NeutronTunnelIdRanges}
643 RANGES: {get_param: NeutronVniRanges}
644 neutron_tenant_network_types:
648 TYPES: {get_param: NeutronNetworkType}
649 neutron_tunnel_types:
653 TYPES: {get_param: NeutronTunnelTypes}
654 neutron_network_vlan_ranges:
658 RANGES: {get_param: NeutronNetworkVLANRanges}
659 neutron_bridge_mappings:
663 MAPPINGS: {get_param: NeutronBridgeMappings}
664 neutron_tenant_mtu: {get_param: NeutronTenantMtu}
665 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
666 neutron_enable_l2pop: {get_param: NeutronEnableL2Pop}
667 neutron_physical_bridge: {get_param: NeutronPhysicalBridge}
668 neutron_public_interface: {get_param: NeutronPublicInterface}
669 neutron_password: {get_param: NeutronPassword}
670 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
671 neutron_core_plugin: {get_param: NeutronCorePlugin}
672 neutron_service_plugins:
676 PLUGINS: {get_param: NeutronServicePlugins}
677 neutron_type_drivers:
681 DRIVERS: {get_param: NeutronTypeDrivers}
682 neutron_mechanism_drivers:
686 MECHANISMS: {get_param: NeutronMechanismDrivers}
687 neutron_agent_extensions:
689 template: AGENT_EXTENSIONS
691 AGENT_EXTENSIONS: {get_param: NeutronAgentExtensions}
692 neutron_internal_url: {get_param: [EndpointMap, NeutronInternal, uri]}
693 neutron_auth_url: {get_param: [EndpointMap, KeystoneV3Admin, uri]}
694 keystone_vip: {get_param: KeystonePublicApiVirtualIP}
695 admin_password: {get_param: AdminPassword}
696 rabbit_username: {get_param: RabbitUserName}
697 rabbit_password: {get_param: RabbitPassword}
698 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
699 rabbit_client_port: {get_param: RabbitClientPort}
700 ntp_servers: {get_param: NtpServer}
701 timezone: {get_param: TimeZone}
702 enable_package_install: {get_param: EnablePackageInstall}
703 enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]}
705 # Resource for site-specific injection of root certificate
707 depends_on: NovaComputeDeployment
708 type: OS::TripleO::NodeTLSCAData
710 server: {get_resource: NovaCompute}
712 # Hook for site-specific additional pre-deployment config, e.g extra hieradata
713 ComputeExtraConfigPre:
714 depends_on: NovaComputeDeployment
715 type: OS::TripleO::ComputeExtraConfigPre
717 server: {get_resource: NovaCompute}
719 # Hook for site-specific additional pre-deployment config,
720 # applying to all nodes, e.g node registration/unregistration
722 depends_on: [ComputeExtraConfigPre, NodeTLSCAData]
723 type: OS::TripleO::NodeExtraConfig
725 server: {get_resource: NovaCompute}
728 type: OS::TripleO::Tasks::PackageUpdate
731 type: OS::Heat::SoftwareDeployment
733 name: UpdateDeployment
734 config: {get_resource: UpdateConfig}
735 server: {get_resource: NovaCompute}
738 get_param: UpdateIdentifier
742 description: IP address of the server in the ctlplane network
743 value: {get_attr: [NovaCompute, networks, ctlplane, 0]}
745 description: IP address of the server in the external network
746 value: {get_attr: [ExternalPort, ip_address]}
747 internal_api_ip_address:
748 description: IP address of the server in the internal_api network
749 value: {get_attr: [InternalApiPort, ip_address]}
751 description: IP address of the server in the storage network
752 value: {get_attr: [StoragePort, ip_address]}
753 storage_mgmt_ip_address:
754 description: IP address of the server in the storage_mgmt network
755 value: {get_attr: [StorageMgmtPort, ip_address]}
757 description: IP address of the server in the tenant network
758 value: {get_attr: [TenantPort, ip_address]}
759 management_ip_address:
760 description: IP address of the server in the management network
761 value: {get_attr: [ManagementPort, ip_address]}
763 description: Hostname of the server
764 value: {get_attr: [NovaCompute, name]}
767 Server's IP address and hostname in the /etc/hosts format
771 PRIMARYIP PRIMARYHOST.DOMAIN PRIMARYHOST
772 EXTERNALIP EXTERNALHOST.DOMAIN EXTERNALHOST
773 INTERNAL_APIIP INTERNAL_APIHOST.DOMAIN INTERNAL_APIHOST
774 STORAGEIP STORAGEHOST.DOMAIN STORAGEHOST
775 STORAGE_MGMTIP STORAGE_MGMTHOST.DOMAIN STORAGE_MGMTHOST
776 TENANTIP TENANTHOST.DOMAIN TENANTHOST
777 MANAGEMENTIP MANAGEMENTHOST.DOMAIN MANAGEMENTHOST
779 PRIMARYIP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ComputeHostnameResolveNetwork]}]}
780 DOMAIN: {get_param: CloudDomain}
781 PRIMARYHOST: {get_attr: [NovaCompute, name]}
782 EXTERNALIP: {get_attr: [ExternalPort, ip_address]}
786 - - {get_attr: [NovaCompute, name]}
788 INTERNAL_APIIP: {get_attr: [InternalApiPort, ip_address]}
792 - - {get_attr: [NovaCompute, name]}
794 STORAGEIP: {get_attr: [StoragePort, ip_address]}
798 - - {get_attr: [NovaCompute, name]}
800 STORAGE_MGMTIP: {get_attr: [StorageMgmtPort, ip_address]}
804 - - {get_attr: [NovaCompute, name]}
806 TENANTIP: {get_attr: [TenantPort, ip_address]}
810 - - {get_attr: [NovaCompute, name]}
812 MANAGEMENTIP: {get_attr: [ManagementPort, ip_address]}
816 - - {get_attr: [NovaCompute, name]}
818 nova_server_resource:
819 description: Heat resource handle for the Nova compute server
821 {get_resource: NovaCompute}
823 description: identifier which changes if the node configuration may need re-applying
827 - - {get_attr: [NovaComputeDeployment, deploy_stdout]}
828 - {get_attr: [NodeTLSCAData, deploy_stdout]}
829 - {get_attr: [ComputeExtraConfigPre, deploy_stdout]}
830 - {get_param: UpdateIdentifier}