1 heat_template_version: 2016-10-14
4 OpenStack controller node configured by Puppet.
8 description: The password for the aodh services.
11 controllerExtraConfig:
14 Deprecated. Use ControllerExtraConfig via parameter_defaults instead.
16 ControllerExtraConfig:
19 Controller specific hiera configuration data to inject into the cluster.
24 A network mapped list of IPs to assign to Controllers in the following form:
26 "internal_api": ["a.b.c.d", "e.f.g.h"],
32 description: Enable IPv6 in Corosync
36 description: Set to True to enable debugging on all services.
40 description: Whether to enable fencing in Pacemaker or not.
44 description: Whether to deploy a LoadBalancer on the Controller
49 Additional hieradata to inject into the cluster, note that
50 ControllerExtraConfig takes precedence over ExtraConfig.
55 Pacemaker fencing configuration. The JSON should have
56 the following structure:
60 "agent": "AGENT_NAME",
61 "host_mac": "HOST_MAC_ADDRESS",
62 "params": {"PARAM_NAME": "PARAM_VALUE"}
71 "host_mac": "52:54:00:aa:bb:cc",
73 "multicast_address": "225.0.0.12",
74 "port": "baremetal_0",
76 "manage_key_file": true,
77 "key_file": "/etc/fence_xvm.key",
78 "key_file_password": "abcdef"
84 OvercloudControlFlavor:
85 description: Flavor for control nodes to request when deploying.
89 - custom_constraint: nova.flavor
91 description: Secret key for Django
96 default: overcloud-full
98 - custom_constraint: glance.image
100 default: 'REBUILD_PRESERVE_EPHEMERAL'
101 description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
103 InstanceNameTemplate:
104 default: 'instance-%08x'
105 description: Template string to be used to generate instance names
109 description: Name of an existing Nova key pair to enable SSH access to the instances
112 - custom_constraint: nova.keypair
115 description: Whether to manage IPtables rules.
119 description: Enable IPv6 features in Memcached.
123 description: Whether IPtables rules should be purged before setting up the new ones.
125 NeutronMetadataProxySharedSecret:
126 description: Shared secret to prevent spoofing
130 description: The password for the neutron service and db account, used by neutron agents.
133 NeutronPublicInterface:
135 description: What interface to bridge onto br-ex for network nodes.
140 Whether to create cron job for purging soft deleted rows in Nova database.
144 description: Enable IPv6 features in Nova
147 description: The password for the nova service and db account, used by nova-api.
152 description: The password for the 'pcsd' user.
155 description: The password for Redis
160 default: '' # Has to be here because of the ignored empty value bug
163 default: '' # Has to be here because of the ignored empty value bug
164 description: An IP address which is wrapped in brackets in case of IPv6
166 description: A random string to be used as a salt when hashing to determine mappings
172 description: 'A hash of additional raw devices to use as Swift backend (eg. {sdb: {}})'
174 UpgradeLevelNovaCompute:
176 description: Nova Compute upgrade level
180 description: Mapping of service_name -> network name. Typically set
181 via parameter_defaults in the resource registry.
185 description: Mapping of service endpoint -> protocol. Typically set
186 via parameter_defaults in the resource registry.
192 Setting to a previously unused value during stack-update will trigger
193 package update on all nodes
196 default: '' # Defaults to Heat created hostname
200 description: Optional mapping to override hostnames
201 NetworkDeploymentActions:
202 type: comma_delimited_list
204 Heat action when to apply network configuration changes
209 SoftwareConfigTransport:
210 default: POLL_SERVER_CFN
212 How the server should receive the metadata required for software configuration.
215 - allowed_values: [POLL_SERVER_CFN, POLL_SERVER_HEAT, POLL_TEMP_URL, ZAQAR_MESSAGE]
219 The DNS domain used for the hosts. This should match the dhcp_domain
220 configured in the Undercloud neutron. Defaults to localdomain.
224 Extra properties or metadata passed to Nova for the created nodes in
225 the overcloud. It's accessible via the Nova metadata API.
227 ControllerSchedulerHints:
229 description: Optional scheduler hints to pass to nova
231 ServiceConfigSettings:
235 type: comma_delimited_list
239 description: Command which will be run whenever configuration data changes
240 default: os-refresh-config --timeout 14400
244 description: Do not use deprecated params, they will be removed.
246 - controllerExtraConfig
251 type: OS::TripleO::Server
254 command: {get_param: ConfigCommand}
256 image: {get_param: controllerImage}
257 image_update_policy: {get_param: ImageUpdatePolicy}
258 flavor: {get_param: OvercloudControlFlavor}
259 key_name: {get_param: KeyName}
262 user_data_format: SOFTWARE_CONFIG
263 user_data: {get_resource: UserData}
266 template: {get_param: Hostname}
267 params: {get_param: HostnameMap}
268 software_config_transport: {get_param: SoftwareConfigTransport}
269 metadata: {get_param: ServerMetadata}
270 scheduler_hints: {get_param: ControllerSchedulerHints}
272 # Combine the NodeAdminUserData and NodeUserData mime archives
274 type: OS::Heat::MultipartMime
277 - config: {get_resource: NodeAdminUserData}
279 - config: {get_resource: NodeUserData}
282 # Creates the "heat-admin" user if configured via the environment
283 # Should return a OS::Heat::MultipartMime reference via OS::stack_id
285 type: OS::TripleO::NodeAdminUserData
287 # For optional operator additional userdata
288 # Should return a OS::Heat::MultipartMime reference via OS::stack_id
290 type: OS::TripleO::NodeUserData
293 type: OS::TripleO::Controller::Ports::ExternalPort
295 IPPool: {get_param: ControllerIPs}
296 NodeIndex: {get_param: NodeIndex}
297 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
300 type: OS::TripleO::Controller::Ports::InternalApiPort
302 IPPool: {get_param: ControllerIPs}
303 NodeIndex: {get_param: NodeIndex}
304 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
307 type: OS::TripleO::Controller::Ports::StoragePort
309 IPPool: {get_param: ControllerIPs}
310 NodeIndex: {get_param: NodeIndex}
311 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
314 type: OS::TripleO::Controller::Ports::StorageMgmtPort
316 IPPool: {get_param: ControllerIPs}
317 NodeIndex: {get_param: NodeIndex}
318 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
321 type: OS::TripleO::Controller::Ports::TenantPort
323 IPPool: {get_param: ControllerIPs}
324 NodeIndex: {get_param: NodeIndex}
325 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
328 type: OS::TripleO::Controller::Ports::ManagementPort
330 IPPool: {get_param: ControllerIPs}
331 NodeIndex: {get_param: NodeIndex}
332 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
335 type: OS::TripleO::Network::Ports::NetIpMap
337 ControlPlaneIp: {get_attr: [Controller, networks, ctlplane, 0]}
338 ExternalIp: {get_attr: [ExternalPort, ip_address]}
339 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
340 ExternalIpUri: {get_attr: [ExternalPort, ip_address_uri]}
341 InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
342 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
343 InternalApiIpUri: {get_attr: [InternalApiPort, ip_address_uri]}
344 StorageIp: {get_attr: [StoragePort, ip_address]}
345 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
346 StorageIpUri: {get_attr: [StoragePort, ip_address_uri]}
347 StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}
348 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
349 StorageMgmtIpUri: {get_attr: [StorageMgmtPort, ip_address_uri]}
350 TenantIp: {get_attr: [TenantPort, ip_address]}
351 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
352 TenantIpUri: {get_attr: [TenantPort, ip_address_uri]}
353 ManagementIp: {get_attr: [ManagementPort, ip_address]}
354 ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
355 ManagementIpUri: {get_attr: [ManagementPort, ip_address_uri]}
358 type: OS::TripleO::Controller::Net::SoftwareConfig
360 ControlPlaneIp: {get_attr: [Controller, networks, ctlplane, 0]}
361 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
362 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
363 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
364 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
365 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
366 ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
369 type: OS::TripleO::SoftwareDeployment
371 name: NetworkDeployment
372 config: {get_resource: NetworkConfig}
373 server: {get_resource: Controller}
374 actions: {get_param: NetworkDeploymentActions}
377 interface_name: {get_param: NeutronPublicInterface}
379 # Resource for site-specific injection of root certificate
381 depends_on: NetworkDeployment
382 type: OS::TripleO::NodeTLSCAData
384 server: {get_resource: Controller}
386 # Resource for site-specific passing of private keys/certificates
388 depends_on: NodeTLSCAData
389 type: OS::TripleO::NodeTLSData
391 server: {get_resource: Controller}
392 NodeIndex: {get_param: NodeIndex}
395 ControllerDeployment:
396 type: OS::TripleO::SoftwareDeployment
397 depends_on: NetworkDeployment
399 name: ControllerDeployment
400 config: {get_resource: ControllerConfig}
401 server: {get_resource: Controller}
403 bootstack_nodeid: {get_attr: [Controller, name]}
404 horizon_secret: {get_param: HorizonSecret}
405 debug: {get_param: Debug}
406 keystone_identity_uri: { get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix] }
407 keystone_auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri] }
408 keystone_ec2_uri: { get_param: [EndpointMap, KeystoneEC2, uri] }
409 enable_fencing: {get_param: EnableFencing}
410 enable_load_balancer: {get_param: EnableLoadBalancer}
411 manage_firewall: {get_param: ManageFirewall}
412 purge_firewall_rules: {get_param: PurgeFirewallRules}
413 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
414 aodh_internal_url: { get_param: [ EndpointMap, AodhInternal, uri ] }
415 aodh_public_url: { get_param: [ EndpointMap, AodhPublic, uri ] }
416 aodh_admin_url: { get_param: [ EndpointMap, AodhAdmin, uri ] }
417 ceilometer_coordination_url:
421 - {get_param: RedisPassword}
423 - {get_param: RedisVirtualIPUri}
425 nova_enable_db_purge: {get_param: NovaEnableDBPurge}
426 nova_ipv6: {get_param: NovaIPv6}
427 corosync_ipv6: {get_param: CorosyncIPv6}
428 memcached_ipv6: {get_param: MemcachedIPv6}
429 nova_password: {get_param: NovaPassword}
430 upgrade_level_nova_compute: {get_param: UpgradeLevelNovaCompute}
431 instance_name_template: {get_param: InstanceNameTemplate}
432 fencing_config: {get_param: FencingConfig}
433 pcsd_password: {get_param: PcsdPassword}
434 swift_hash_suffix: {get_param: SwiftHashSuffix}
435 enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]}
436 swift_proxy_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
437 swift_management_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftMgmtNetwork]}]}
438 glance_api_servers: { get_param: [EndpointMap, GlanceInternal, uri]}
439 keystone_public_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
440 keystone_admin_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
441 manila_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ManilaApiNetwork]}]}
442 mongo_db_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MongodbNetwork]}]}
443 neutron_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
444 neutron_local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronTenantNetwork]}]}
445 ceilometer_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
446 aodh_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
447 gnocchi_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]}
448 nova_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
449 nova_metadata_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
450 horizon_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
453 template: "['SUBNET']"
460 template: "NETWORK_subnet"
462 NETWORK: {get_param: [ServiceNetMap, HorizonNetwork]}
463 redis_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, RedisNetwork]}]}
464 redis_vip: {get_param: RedisVirtualIP}
465 sahara_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
466 memcached_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
467 ceph_cluster_network:
472 template: "NETWORK_subnet"
474 NETWORK: {get_param: [ServiceNetMap, CephClusterNetwork]}
480 template: "NETWORK_subnet"
482 NETWORK: {get_param: [ServiceNetMap, CephPublicNetwork]}
483 ceph_public_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
484 ironic_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
486 # Map heat metadata into hiera datafiles
488 type: OS::Heat::StructuredConfig
490 group: os-apply-config
495 - heat_config_%{::deploy_config_name}
496 - controller_extraconfig
501 - swift_devices_and_proxy # provided by SwiftDevicesAndProxyConfig
502 - ceph_cluster # provided by CephClusterConfig
504 - bootstrap_node # provided by BootstrapNodeConfig
505 - all_nodes # provided by allNodesConfig
506 - vip_data # provided by vip-config
508 - cinder_dellsc_data # Optionally provided by ControllerExtraConfigPre
509 - cinder_netapp_data # Optionally provided by ControllerExtraConfigPre
510 - cinder_eqlx_data # Optionally provided by ControllerExtraConfigPre
511 - neutron_bigswitch_data # Optionally provided by ControllerExtraConfigPre
512 - neutron_cisco_data # Optionally provided by ControllerExtraConfigPre
513 - cisco_n1kv_data # Optionally provided by ControllerExtraConfigPre
514 - midonet_data #Optionally provided by AllNodesExtraConfig
515 merge_behavior: deeper
519 service_names: {get_param: ServiceNames}
523 - {get_param: ServiceConfigSettings}
524 - values: {get_attr: [NetIpMap, net_ip_map]}
525 controller_extraconfig:
528 - {get_param: controllerExtraConfig}
529 - {get_param: ControllerExtraConfig}
531 mapped_data: {get_param: ExtraConfig}
534 ceph::profile::params::cluster_network: {get_input: ceph_cluster_network}
535 ceph::profile::params::public_network: {get_input: ceph_public_network}
536 ceph::profile::params::public_addr: {get_input: ceph_public_ip}
538 mapped_data: # data supplied directly to this deployment configuration, etc
539 bootstack_nodeid: {get_input: bootstack_nodeid}
542 enable_fencing: {get_input: enable_fencing}
543 enable_load_balancer: {get_input: enable_load_balancer}
544 hacluster_pwd: {get_input: pcsd_password}
545 corosync_ipv6: {get_input: corosync_ipv6}
546 tripleo::fencing::config: {get_input: fencing_config}
549 # FIXME: need to move proxy_local_net_ip into swift-proxy.yaml
550 swift::proxy::proxy_local_net_ip: {get_input: swift_proxy_network}
551 swift::storage::all::storage_local_net_ip: {get_input: swift_management_network}
552 swift::swift_hash_path_suffix: {get_input: swift_hash_suffix}
555 keystone::admin_bind_host: {get_input: keystone_admin_api_network}
556 keystone::public_bind_host: {get_input: keystone_public_api_network}
557 keystone::wsgi::apache::bind_host: {get_input: keystone_public_api_network}
558 keystone::wsgi::apache::admin_bind_host: {get_input: keystone_admin_api_network}
561 manila::api::bind_host: {get_input: manila_api_network}
564 mongodb::server::bind_ip: {get_input: mongo_db_network}
567 neutron::bind_host: {get_input: neutron_api_network}
568 neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip}
569 neutron::agents::metadata::metadata_ip: {get_input: neutron_api_network}
572 aodh::api::host: {get_input: aodh_api_network}
573 aodh::wsgi::apache::bind_host: {get_input: aodh_api_network}
576 ceilometer::api::host: {get_input: ceilometer_api_network}
577 snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
578 snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
581 gnocchi::wsgi::apache::bind_host: {get_input: gnocchi_api_network}
582 gnocchi::api::host: {get_input: gnocchi_api_network}
583 gnocchi::api::keystone_auth_uri: {get_input: keystone_auth_uri}
584 gnocchi::api::keystone_identity_uri: {get_input: keystone_identity_uri}
585 gnocchi::storage::swift::swift_authurl: {get_input: keystone_auth_uri}
588 nova::upgrade_level_compute: {get_input: upgrade_level_nova_compute}
589 nova::use_ipv6: {get_input: nova_ipv6}
590 nova::api::api_bind_address: {get_input: nova_api_network}
591 nova::api::metadata_listen: {get_input: nova_metadata_network}
592 nova::glance_api_servers: {get_input: glance_api_servers}
593 nova::api::neutron_metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
594 nova::api::instance_name_template: {get_input: instance_name_template}
595 nova::vncproxy::host: {get_input: nova_api_network}
596 nova_enable_db_purge: {get_input: nova_enable_db_purge}
599 apache::mod::remoteip::proxy_ips: {get_input: horizon_subnet}
600 apache::ip: {get_input: horizon_network}
601 horizon::django_debug: {get_input: debug}
602 horizon::secret_key: {get_input: horizon_secret}
603 horizon::bind_address: {get_input: horizon_network}
604 horizon::keystone_url: {get_input: keystone_auth_uri}
607 sahara::host: {get_input: sahara_api_network}
610 redis::bind: {get_input: redis_network}
611 redis_vip: {get_input: redis_vip}
613 tripleo::firewall::manage_firewall: {get_input: manage_firewall}
614 tripleo::firewall::purge_firewall_rules: {get_input: purge_firewall_rules}
616 memcached_ipv6: {get_input: memcached_ipv6}
617 memcached::listen_ip: {get_input: memcached_network}
618 tripleo::haproxy::service_certificate: {get_attr: [NodeTLSData, deployed_ssl_certificate_path]}
619 tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade}
621 # Hook for site-specific additional pre-deployment config, e.g extra hieradata
622 ControllerExtraConfigPre:
623 depends_on: ControllerDeployment
624 type: OS::TripleO::ControllerExtraConfigPre
626 server: {get_resource: Controller}
628 # Hook for site-specific additional pre-deployment config,
629 # applying to all nodes, e.g node registration/unregistration
631 depends_on: [ControllerExtraConfigPre, NodeTLSData]
632 type: OS::TripleO::NodeExtraConfig
634 server: {get_resource: Controller}
637 type: OS::TripleO::Tasks::PackageUpdate
640 type: OS::Heat::SoftwareDeployment
642 name: UpdateDeployment
643 config: {get_resource: UpdateConfig}
644 server: {get_resource: Controller}
647 get_param: UpdateIdentifier
651 description: IP address of the server in the ctlplane network
652 value: {get_attr: [Controller, networks, ctlplane, 0]}
654 description: IP address of the server in the external network
655 value: {get_attr: [ExternalPort, ip_address]}
656 internal_api_ip_address:
657 description: IP address of the server in the internal_api network
658 value: {get_attr: [InternalApiPort, ip_address]}
660 description: IP address of the server in the storage network
661 value: {get_attr: [StoragePort, ip_address]}
662 storage_mgmt_ip_address:
663 description: IP address of the server in the storage_mgmt network
664 value: {get_attr: [StorageMgmtPort, ip_address]}
666 description: IP address of the server in the tenant network
667 value: {get_attr: [TenantPort, ip_address]}
668 management_ip_address:
669 description: IP address of the server in the management network
670 value: {get_attr: [ManagementPort, ip_address]}
672 description: Hostname of the server
673 value: {get_attr: [Controller, name]}
676 Server's IP address and hostname in the /etc/hosts format
680 PRIMARYIP PRIMARYHOST.DOMAIN PRIMARYHOST
681 EXTERNALIP EXTERNALHOST.DOMAIN EXTERNALHOST
682 INTERNAL_APIIP INTERNAL_APIHOST.DOMAIN INTERNAL_APIHOST
683 STORAGEIP STORAGEHOST.DOMAIN STORAGEHOST
684 STORAGE_MGMTIP STORAGE_MGMTHOST.DOMAIN STORAGE_MGMTHOST
685 TENANTIP TENANTHOST.DOMAIN TENANTHOST
686 MANAGEMENTIP MANAGEMENTHOST.DOMAIN MANAGEMENTHOST
688 PRIMARYIP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ControllerHostnameResolveNetwork]}]}
689 DOMAIN: {get_param: CloudDomain}
690 PRIMARYHOST: {get_attr: [Controller, name]}
691 EXTERNALIP: {get_attr: [ExternalPort, ip_address]}
695 - - {get_attr: [Controller, name]}
697 INTERNAL_APIIP: {get_attr: [InternalApiPort, ip_address]}
701 - - {get_attr: [Controller, name]}
703 STORAGEIP: {get_attr: [StoragePort, ip_address]}
707 - - {get_attr: [Controller, name]}
709 STORAGE_MGMTIP: {get_attr: [StorageMgmtPort, ip_address]}
713 - - {get_attr: [Controller, name]}
715 TENANTIP: {get_attr: [TenantPort, ip_address]}
719 - - {get_attr: [Controller, name]}
721 MANAGEMENTIP: {get_attr: [ManagementPort, ip_address]}
725 - - {get_attr: [Controller, name]}
727 nova_server_resource:
728 description: Heat resource handle for the Nova compute server
730 {get_resource: Controller}
732 description: Swift device formatted for swift-ring-builder
738 - ['r1z1-IP:%PORT%/d1']
740 template: 'r1z1-IP:%PORT%/DEVICE'
742 DEVICE: {get_param: SwiftRawDisks}
749 template: "NETWORK_uri"
751 NETWORK: {get_param: [ServiceNetMap, SwiftMgmtNetwork]}
752 swift_proxy_memcache:
753 description: Swift proxy-memcache value
763 template: "NETWORK_uri"
765 NETWORK: {get_param: [ServiceNetMap, MemcachedNetwork]}
767 description: MD5 checksum of the TLS Key Modulus
768 value: {get_attr: [NodeTLSData, key_modulus_md5]}
769 tls_cert_modulus_md5:
770 description: MD5 checksum of the TLS Certificate Modulus
771 value: {get_attr: [NodeTLSData, cert_modulus_md5]}