1 heat_template_version: 2015-04-30
4 OpenStack controller node configured by Puppet.
9 description: The password for the keystone admin account, used for monitoring, querying neutron etc.
14 description: The keystone auth secret and db password.
19 description: The ceilometer backend type.
21 CeilometerMeteringSecret:
23 description: Secret shared by the ceilometer services.
28 description: The password for the ceilometer service and db account.
31 CinderEnableNfsBackend:
33 description: Whether to enable or not the NFS backend for Cinder
35 CinderEnableIscsiBackend:
37 description: Whether to enable or not the Iscsi backend for Cinder
39 CinderEnableRbdBackend:
41 description: Whether to enable or not the Rbd backend for Cinder
45 description: The iSCSI helper to use with cinder.
47 CinderLVMLoopDeviceSize:
49 description: The size of the loopback file used by the cinder LVM driver.
51 CinderNfsMountOptions:
54 Mount options for NFS mounts used by Cinder NFS backend. Effective
55 when CinderEnableNfsBackend is true.
60 NFS servers used by Cinder NFS backend. Effective when
61 CinderEnableNfsBackend is true.
62 type: comma_delimited_list
65 description: The password for the cinder service and db account, used by cinder-api.
70 description: Contains parameters to configure Cinder backends. Typically
71 set via parameter_defaults in the resource registry.
75 description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
77 ControllerExtraConfig:
80 Controller specific hiera configuration data to inject into the cluster.
82 ControlVirtualInterface:
84 description: Interface where virtual ip will be assigned.
88 description: Set to True to enable debugging on all services.
92 description: Whether to enable fencing in Pacemaker or not.
96 description: Whether to use Galera instead of regular MariaDB.
100 description: Whether to deploy Ceph Storage (OSD) on the Controller
104 description: Whether to enable Swift Storage on the Controller
109 Additional hieradata to inject into the cluster, note that
110 ControllerExtraConfig takes precedence over ExtraConfig.
115 Pacemaker fencing configuration. The JSON should have
116 the following structure:
120 "agent": "AGENT_NAME",
121 "host_mac": "HOST_MAC_ADDRESS",
122 "params": {"PARAM_NAME": "PARAM_VALUE"}
130 "agent": "fence_xvm",
131 "host_mac": "52:54:00:aa:bb:cc",
133 "multicast_address": "225.0.0.12",
134 "port": "baremetal_0",
136 "manage_key_file": true,
137 "key_file": "/etc/fence_xvm.key",
138 "key_file_password": "abcdef"
145 description: Flavor for control nodes to request when deploying.
148 - custom_constraint: nova.flavor
149 GlanceNotifierStrategy:
150 description: Strategy to use for Glance notification queue
154 description: The filepath of the file to use for logging messages from Glance.
159 description: The password for the glance service and db account, used by the glance services.
164 description: Glance port.
168 description: Protocol to use when connecting to glance, set to https for SSL.
172 description: The short name of the Glance backend to use. Should be one
173 of swift, rbd, or file
176 - allowed_values: ['swift', 'file', 'rbd']
179 description: The password for the Heat service and db account, used by the Heat services.
182 HeatStackDomainAdminPassword:
183 description: Password for heat_domain_admin user.
187 HeatAuthEncryptionKey:
188 description: Auth encryption key for heat-engine
191 description: Secret key for Django
195 default: overcloud-control
197 - custom_constraint: glance.image
199 default: 'REBUILD_PRESERVE_EPHEMERAL'
200 description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
204 description: Name of an existing EC2 KeyPair to enable SSH access to the instances
207 - custom_constraint: nova.keypair
208 KeystoneCACertificate:
210 description: Keystone self-signed certificate authority certificate.
212 KeystoneSigningCertificate:
214 description: Keystone certificate for verifying token validity.
218 description: Keystone key for signing tokens.
221 KeystoneSSLCertificate:
223 description: Keystone certificate for verifying token validity.
225 KeystoneSSLCertificateKey:
227 description: Keystone key for signing tokens.
230 KeystoneNotificationDriver:
231 description: Comma-separated list of Oslo notification drivers used by Keystone
232 default: ['messaging']
233 type: comma_delimited_list
234 KeystoneNotificationFormat:
235 description: The Keystone notification format
239 - allowed_values: [ 'basic', 'cadf' ]
240 MysqlClusterUniquePart:
241 description: A unique identifier of the MySQL cluster the controller is in.
243 default: 'unset' # Has to be here because of the ignored empty value bug
244 # Drop the validation: https://bugs.launchpad.net/tripleo/+bug/1405446
246 # - length: {min: 4, max: 10}
247 MysqlInnodbBufferPoolSize:
249 Specifies the size of the buffer pool in megabytes. Setting to
250 zero should be interpreted as "no value" and will defer to the
255 description: Configures MySQL max_connections config setting
261 default: '' # Has to be here because of the ignored empty value bug
262 NeutronExternalNetworkBridge:
263 description: Name of bridge used for external network traffic.
266 NeutronBridgeMappings:
268 The OVS logical->physical bridge mappings to use. See the Neutron
269 documentation for details. Defaults to mapping br-ex - the external
270 bridge on hosts - to a physical name 'datacentre' which can be used
271 to create provider networks (and we use this for the default floating
272 network) - if changing this either use different post-install network
273 scripts or be sure to keep 'datacentre' as a mapping network name.
275 default: "datacentre:br-ex"
276 NeutronDnsmasqOptions:
277 default: 'dhcp-option-force=26,1400'
278 description: Dnsmasq options for neutron-dhcp-agent. The default value here forces MTU to be set to 1400 to account for the gre tunnel overhead.
282 description: Agent mode for the neutron-l3-agent on the controller hosts
286 description: Whether to enable l3-agent HA
288 NeutronDhcpAgentsPerNetwork:
291 description: The number of neutron dhcp agents to schedule per network
294 description: Whether to configure Neutron Distributed Virtual Routers
296 NeutronMetadataProxySharedSecret:
298 description: Shared secret to prevent spoofing
303 The core plugin for Neutron. The value should be the entrypoint to be loaded
304 from neutron.core_plugins namespace.
306 NeutronServicePlugins:
309 Comma-separated list of service plugin entrypoints to be loaded from the
310 neutron.service_plugins namespace.
311 type: comma_delimited_list
313 default: "vxlan,vlan,flat,gre"
315 Comma-separated list of network type driver entrypoints to be loaded.
316 type: comma_delimited_list
317 NeutronMechanismDrivers:
318 default: 'openvswitch'
320 The mechanism drivers for the Neutron tenant network. To specify multiple
321 values, use a comma separated string, like so: 'openvswitch,l2_population'
323 NeutronAllowL3AgentFailover:
325 description: Allow automatic l3-agent failover
327 NeutronEnableTunnelling:
332 default: 'datacentre'
333 description: If set, flat networks to configure in neutron plugins.
336 description: Whether to enable l3-agent HA
340 description: The tenant network type for Neutron, either gre or vxlan.
342 NeutronNetworkVLANRanges:
343 default: 'datacentre'
345 The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
346 Neutron documentation for permitted values. Defaults to permitting any
347 VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
348 type: comma_delimited_list
351 description: The password for the neutron service and db account, used by neutron agents.
354 NeutronPublicInterface:
356 description: What interface to bridge onto br-ex for network nodes.
358 NeutronPublicInterfaceTag:
361 VLAN tag for creating a public VLAN. The tag will be used to
362 create an access port on the exterior bridge for each control plane node,
363 and that port will be given the IP address returned by neutron from the
364 public network. Set CONTROLEXTRA=overcloud-vlan-port.yaml when compiling
365 overcloud.yaml to include the deployment of VLAN ports to the control
368 NeutronPublicInterfaceDefaultRoute:
370 description: A custom default route for the NeutronPublicInterface.
372 NeutronPublicInterfaceIP:
374 description: A custom IP address to put onto the NeutronPublicInterface.
376 NeutronPublicInterfaceRawDevice:
378 description: If set, the public interface is a vlan with this device as the raw device.
383 The tunnel types for the Neutron tenant network. To specify multiple
384 values, use a comma separated string, like so: 'gre,vxlan'
386 NeutronTunnelIdRanges:
388 Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges
389 of GRE tunnel IDs that are available for tenant network allocation
390 default: ["1:1000", ]
391 type: comma_delimited_list
394 Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges
395 of VXLAN VNI IDs that are available for tenant network allocation
396 default: ["1:1000", ]
397 type: comma_delimited_list
400 description: The password for the nova service and db account, used by nova-api.
405 description: Should MongoDb journaling be disabled
412 description: The password for the 'pcsd' user.
413 PublicVirtualInterface:
416 Specifies the interface where the public-facing virtual ip will be assigned.
417 This should be int_public when a VLAN is being used.
419 PublicVirtualIP: # DEPRECATED: use per service settings instead
421 default: '' # Has to be here because of the ignored empty value bug
424 default: '' # Has to be here because of the ignored empty value bug
428 description: The password for RabbitMQ
433 description: The username for RabbitMQ
438 Rabbit client subscriber parameter to specify
439 an SSL connection to the RabbitMQ host.
443 description: Set rabbit subscriber port, change this if using SSL
447 default: '' # Has to be here because of the ignored empty value bug
448 SnmpdReadonlyUserName:
449 default: ro_snmp_user
450 description: The user name for SNMPd with readonly rights running on all Overcloud nodes
452 SnmpdReadonlyUserPassword:
454 description: The user password for SNMPd with readonly rights running on all Overcloud nodes
459 description: If set, the contents of an SSL certificate authority file.
463 description: If set, the contents of an SSL certificate .crt file for encrypting SSL endpoints.
468 description: If set, the contents of an SSL certificate .key file for encrypting SSL endpoints.
473 description: A random string to be used as a salt when hashing to determine mappings
479 description: Value of mount_check in Swift account/container/object -server.conf
484 description: The minimum time (in hours) before a partition in a ring can be moved following a rebalance.
487 description: Partition Power to use when building Swift rings
491 description: The password for the swift service account, used by the swift proxy
498 description: How many replicas to use in the swift rings.
499 VirtualIP: # DEPRECATED: use per service settings instead
501 default: '' # Has to be here because of the ignored empty value bug
511 KeystoneAdminApiVirtualIP:
514 KeystonePublicApiVirtualIP:
520 EnablePackageInstall:
522 description: Set to true to enable package installation via Puppet
526 description: Mapping of service_name -> network name. Typically set
527 via parameter_defaults in the resource registry.
533 Setting to a previously unused value during stack-update will trigger
534 package update on all nodes
537 default: '' # Defaults to Heat created hostname
542 type: OS::Nova::Server
544 image: {get_param: Image}
545 image_update_policy: {get_param: ImageUpdatePolicy}
546 flavor: {get_param: Flavor}
547 key_name: {get_param: KeyName}
550 user_data_format: SOFTWARE_CONFIG
551 user_data: {get_resource: UserData}
552 name: {get_param: Hostname}
554 # Combine the NodeAdminUserData and NodeUserData mime archives
556 type: OS::Heat::MultipartMime
559 - config: {get_resource: NodeAdminUserData}
561 - config: {get_resource: NodeUserData}
564 # Creates the "heat-admin" user if configured via the environment
565 # Should return a OS::Heat::MultipartMime reference via OS::stack_id
567 type: OS::TripleO::NodeAdminUserData
569 # For optional operator additional userdata
570 # Should return a OS::Heat::MultipartMime reference via OS::stack_id
572 type: OS::TripleO::NodeUserData
575 type: OS::TripleO::Controller::Ports::ExternalPort
577 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
580 type: OS::TripleO::Controller::Ports::InternalApiPort
582 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
585 type: OS::TripleO::Controller::Ports::StoragePort
587 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
590 type: OS::TripleO::Controller::Ports::StorageMgmtPort
592 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
595 type: OS::TripleO::Controller::Ports::TenantPort
597 ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
600 type: OS::TripleO::Network::Ports::NetIpMap
602 ControlPlaneIp: {get_attr: [Controller, networks, ctlplane, 0]}
603 ExternalIp: {get_attr: [ExternalPort, ip_address]}
604 InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
605 StorageIp: {get_attr: [StoragePort, ip_address]}
606 StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}
607 TenantIp: {get_attr: [TenantPort, ip_address]}
610 type: OS::TripleO::Network::Ports::NetIpSubnetMap
612 ControlPlaneIp: {get_attr: [Controller, networks, ctlplane, 0]}
613 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
614 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
615 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
616 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
617 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
620 type: OS::TripleO::Controller::Net::SoftwareConfig
622 ControlPlaneIp: {get_attr: [Controller, networks, ctlplane, 0]}
623 ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
624 InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
625 StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
626 StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
627 TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
630 type: OS::TripleO::SoftwareDeployment
632 config: {get_resource: NetworkConfig}
633 server: {get_resource: Controller}
636 interface_name: {get_param: NeutronPublicInterface}
638 ControllerDeployment:
639 type: OS::TripleO::SoftwareDeployment
640 depends_on: NetworkDeployment
642 config: {get_resource: ControllerConfig}
643 server: {get_resource: Controller}
645 bootstack_nodeid: {get_attr: [Controller, name]}
646 neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
647 heat.watch_server_url:
651 - {get_param: HeatApiVirtualIP}
653 heat.metadata_server_url:
657 - {get_param: HeatApiVirtualIP}
659 heat.waitcondition_server_url:
663 - {get_param: HeatApiVirtualIP}
664 - ':8000/v1/waitcondition'
665 heat_auth_encryption_key: {get_param: HeatAuthEncryptionKey}
666 horizon_secret: {get_param: HorizonSecret}
667 admin_password: {get_param: AdminPassword}
668 admin_token: {get_param: AdminToken}
669 neutron_public_interface_ip: {get_param: NeutronPublicInterfaceIP}
670 debug: {get_param: Debug}
671 cinder_enable_nfs_backend: {get_param: CinderEnableNfsBackend}
672 cinder_enable_rbd_backend: {get_param: CinderEnableRbdBackend}
673 cinder_nfs_mount_options: {get_param: CinderNfsMountOptions}
676 template: "['SERVERS']"
681 - {get_param: CinderNfsServers}
682 cinder_lvm_loop_device_size: {get_param: CinderLVMLoopDeviceSize}
683 cinder_password: {get_param: CinderPassword}
684 cinder_enable_iscsi_backend: {get_param: CinderEnableIscsiBackend}
685 cinder_iscsi_helper: {get_param: CinderISCSIHelper}
686 cinder_backend_config: {get_param: CinderBackendConfig}
690 - - 'mysql://cinder:'
691 - {get_param: CinderPassword}
693 - {get_param: MysqlVirtualIP}
695 glance_port: {get_param: GlancePort}
696 glance_password: {get_param: GlancePassword}
697 glance_backend: {get_param: GlanceBackend}
698 glance_notifier_strategy: {get_param: GlanceNotifierStrategy}
699 glance_log_file: {get_param: GlanceLogFile}
703 - - 'mysql://glance:'
704 - {get_param: GlancePassword}
706 - {get_param: MysqlVirtualIP}
708 heat_password: {get_param: HeatPassword}
709 heat_stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword}
714 - {get_param: HeatPassword}
716 - {get_param: MysqlVirtualIP}
718 keystone_auth_address: {list_join: ['', ['http://', {get_param: KeystonePublicApiVirtualIP} , ':5000/v2.0']]}
719 keystone_ca_certificate: {get_param: KeystoneCACertificate}
720 keystone_signing_key: {get_param: KeystoneSigningKey}
721 keystone_signing_certificate: {get_param: KeystoneSigningCertificate}
722 keystone_ssl_certificate: {get_param: KeystoneSSLCertificate}
723 keystone_ssl_certificate_key: {get_param: KeystoneSSLCertificateKey}
724 keystone_notification_driver: {get_param: KeystoneNotificationDriver}
725 keystone_notification_format: {get_param: KeystoneNotificationFormat}
729 - - 'mysql://keystone:'
730 - {get_param: AdminToken}
732 - {get_param: MysqlVirtualIP}
734 keystone_identity_uri:
738 - {get_param: KeystoneAdminApiVirtualIP}
744 - {get_param: KeystonePublicApiVirtualIP}
750 - {get_param: KeystonePublicApiVirtualIP}
751 - ':5000/v2.0/ec2tokens'
752 enable_fencing: {get_param: EnableFencing}
753 enable_galera: {get_param: EnableGalera}
754 enable_ceph_storage: {get_param: EnableCephStorage}
755 enable_swift_storage: {get_param: EnableSwiftStorage}
756 mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
757 mysql_max_connections: {get_param: MysqlMaxConnections}
758 mysql_root_password: {get_param: MysqlRootPassword}
761 template: tripleo-CLUSTER
763 CLUSTER: {get_param: MysqlClusterUniquePart}
764 neutron_flat_networks: {get_param: NeutronFlatNetworks}
765 neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
766 neutron_agent_mode: {get_param: NeutronAgentMode}
767 neutron_router_distributed: {get_param: NeutronDVR}
768 neutron_core_plugin: {get_param: NeutronCorePlugin}
769 neutron_service_plugins:
771 template: "['PLUGINS']"
776 - {get_param: NeutronServicePlugins}
777 neutron_type_drivers:
779 template: "['DRIVERS']"
784 - {get_param: NeutronTypeDrivers}
785 neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
786 neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
787 neutron_l3_ha: {get_param: NeutronL3HA}
788 neutron_dhcp_agents_per_network: {get_param: NeutronDhcpAgentsPerNetwork}
789 neutron_network_vlan_ranges:
791 template: "['RANGES']"
796 - {get_param: NeutronNetworkVLANRanges}
797 neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
798 neutron_external_network_bridge: {get_param: NeutronExternalNetworkBridge}
799 neutron_public_interface: {get_param: NeutronPublicInterface}
800 neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
801 neutron_public_interface_default_route: {get_param: NeutronPublicInterfaceDefaultRoute}
802 neutron_public_interface_tag: {get_param: NeutronPublicInterfaceTag}
803 neutron_tenant_network_type: {get_param: NeutronNetworkType}
804 neutron_tunnel_types: {get_param: NeutronTunnelTypes}
805 neutron_tunnel_id_ranges:
807 template: "['RANGES']"
812 - {get_param: NeutronTunnelIdRanges}
815 template: "['RANGES']"
820 - {get_param: NeutronVniRanges}
821 neutron_password: {get_param: NeutronPassword}
822 neutron_dnsmasq_options: {get_param: NeutronDnsmasqOptions}
826 - - 'mysql://neutron:'
827 - {get_param: NeutronPassword}
829 - {get_param: MysqlVirtualIP}
830 - '/ovs_neutron?charset=utf8'
835 - {get_param: NeutronApiVirtualIP}
837 neutron_admin_auth_url:
841 - {get_param: KeystoneAdminApiVirtualIP}
843 ceilometer_backend: {get_param: CeilometerBackend}
844 ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
845 ceilometer_password: {get_param: CeilometerPassword}
846 ceilometer_coordination_url:
850 - {get_param: RedisVirtualIP}
855 - - 'mysql://ceilometer:unset@'
856 - {get_param: MysqlVirtualIP}
858 snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
859 snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
860 nova_password: {get_param: NovaPassword}
865 - {get_param: NovaPassword}
867 - {get_param: MysqlVirtualIP}
869 fencing_config: {get_param: FencingConfig}
870 pcsd_password: {get_param: PcsdPassword}
871 rabbit_username: {get_param: RabbitUserName}
872 rabbit_password: {get_param: RabbitPassword}
873 rabbit_cookie: {get_param: RabbitCookie}
874 rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
875 rabbit_client_port: {get_param: RabbitClientPort}
876 mongodb_no_journal: {get_param: MongoDbNoJournal}
879 template: '["server"]'
881 server: {get_param: NtpServer}
882 control_virtual_interface: {get_param: ControlVirtualInterface}
883 public_virtual_interface: {get_param: PublicVirtualInterface}
884 swift_hash_suffix: {get_param: SwiftHashSuffix}
885 swift_password: {get_param: SwiftPassword}
886 swift_part_power: {get_param: SwiftPartPower}
887 swift_replicas: {get_param: SwiftReplicas}
888 swift_min_part_hours: {get_param: SwiftMinPartHours}
889 swift_mount_check: {get_param: SwiftMountCheck}
890 enable_package_install: {get_param: EnablePackageInstall}
891 swift_proxy_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
892 swift_management_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftMgmtNetwork]}]}
893 cinder_iscsi_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CinderIscsiNetwork]}]}
894 cinder_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
895 glance_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
896 glance_registry_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
900 - - {get_param: GlanceProtocol}
902 - {get_param: GlanceApiVirtualIP}
904 - {get_param: GlancePort}
905 heat_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
906 keystone_public_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
907 keystone_admin_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
908 mongo_db_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MongoDbNetwork]}]}
909 neutron_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
910 neutron_local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronTenantNetwork]}]}
911 ceilometer_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
912 nova_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
913 nova_metadata_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]}
914 horizon_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
915 rabbitmq_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
916 redis_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, RedisNetwork]}]}
917 redis_vip: {get_param: RedisVirtualIP}
918 memcached_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
919 mysql_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
920 mysql_virtual_ip: {get_param: MysqlVirtualIP}
921 ceph_cluster_network: {get_attr: [NetIpSubnetMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephClusterNetwork]}]}
922 ceph_public_network: {get_attr: [NetIpSubnetMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
923 ceph_public_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]}
925 # Map heat metadata into hiera datafiles
927 type: OS::Heat::StructuredConfig
929 group: os-apply-config
934 - heat_config_%{::deploy_config_name}
935 - controller_extraconfig
940 - swift_devices_and_proxy # provided by SwiftDevicesAndProxyConfig
941 - ceph_cluster # provided by CephClusterConfig
943 - bootstrap_node # provided by BootstrapNodeConfig
944 - all_nodes # provided by allNodesConfig
945 - vip_data # provided by vip-config
948 - cinder_netapp_data # Optionally provided by ControllerExtraConfigPre
949 - neutron_bigswitch_data # Optionally provided by ControllerExtraConfigPre
950 - neutron_cisco_data # Optionally provided by ControllerExtraConfigPre
952 controller_extraconfig:
953 mapped_data: {get_param: ControllerExtraConfig}
955 mapped_data: {get_param: ExtraConfig}
957 raw_data: {get_file: hieradata/common.yaml}
959 raw_data: {get_file: hieradata/ceph.yaml}
961 ceph::profile::params::cluster_network: {get_input: ceph_cluster_network}
962 ceph::profile::params::public_network: {get_input: ceph_public_network}
963 ceph::mon::public_addr: {get_input: ceph_public_ip}
965 raw_data: {get_file: hieradata/database.yaml}
967 raw_data: {get_file: hieradata/object.yaml}
969 raw_data: {get_file: hieradata/controller.yaml}
970 mapped_data: # data supplied directly to this deployment configuration, etc
971 bootstack_nodeid: {get_input: bootstack_nodeid}
974 enable_fencing: {get_input: enable_fencing}
975 hacluster_pwd: {get_input: pcsd_password}
976 tripleo::fencing::config: {get_input: fencing_config}
979 swift::proxy::proxy_local_net_ip: {get_input: swift_proxy_network}
980 swift::proxy::authtoken::auth_uri: {get_input: keystone_auth_uri}
981 swift::proxy::authtoken::identity_uri: {get_input: keystone_identity_uri}
982 swift::storage::all::storage_local_net_ip: {get_input: swift_management_network}
983 swift::swift_hash_suffix: {get_input: swift_hash_suffix}
984 swift::proxy::authtoken::admin_password: {get_input: swift_password}
985 tripleo::ringbuilder::part_power: {get_input: swift_part_power}
986 tripleo::ringbuilder::replicas: {get_input: swift_replicas}
987 tripleo::ringbuilder::min_part_hours: {get_input: swift_min_part_hours}
988 swift_mount_check: {get_input: swift_mount_check}
990 # NOTE(dprince): build_ring support is currently not wired in.
991 # See: https://review.openstack.org/#/c/109225/
992 tripleo::ringbuilder::build_ring: True
995 cinder_enable_nfs_backend: {get_input: cinder_enable_nfs_backend}
996 cinder_enable_rbd_backend: {get_input: cinder_enable_rbd_backend}
997 cinder_nfs_mount_options: {get_input: cinder_nfs_mount_options}
998 cinder_nfs_servers: {get_input: cinder_nfs_servers}
999 cinder_lvm_loop_device_size: {get_input: cinder_lvm_loop_device_size}
1000 cinder_iscsi_helper: {get_input: cinder_iscsi_helper}
1001 cinder_iscsi_ip_address: {get_input: cinder_iscsi_network}
1002 cinder::database_connection: {get_input: cinder_dsn}
1003 cinder::api::keystone_password: {get_input: cinder_password}
1004 cinder::api::auth_uri: {get_input: keystone_auth_uri}
1005 cinder::api::identity_uri: {get_input: keystone_identity_uri}
1006 cinder::api::bind_host: {get_input: cinder_api_network}
1007 cinder::rabbit_userid: {get_input: rabbit_username}
1008 cinder::rabbit_password: {get_input: rabbit_password}
1009 cinder::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
1010 cinder::rabbit_port: {get_input: rabbit_client_port}
1011 cinder::debug: {get_input: debug}
1012 cinder_enable_iscsi_backend: {get_input: cinder_enable_iscsi_backend}
1013 cinder::glance::glance_api_servers: {get_input: glance_api_servers}
1014 cinder_backend_config: {get_input: CinderBackendConfig}
1015 cinder::db::mysql::password: {get_input: cinder_password}
1018 glance::api::bind_port: {get_input: glance_port}
1019 glance::api::bind_host: {get_input: glance_api_network}
1020 glance::api::auth_uri: {get_input: keystone_auth_uri}
1021 glance::api::identity_uri: {get_input: keystone_identity_uri}
1022 glance::api::registry_host: {get_input: glance_registry_network}
1023 glance::api::keystone_password: {get_input: glance_password}
1024 glance::api::debug: {get_input: debug}
1025 glance_notifier_strategy: {get_input: glance_notifier_strategy}
1026 glance_log_file: {get_input: glance_log_file}
1027 glance_log_file: {get_input: glance_log_file}
1028 glance::api::database_connection: {get_input: glance_dsn}
1029 glance::registry::keystone_password: {get_input: glance_password}
1030 glance::registry::database_connection: {get_input: glance_dsn}
1031 glance::registry::bind_host: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
1032 glance::registry::auth_uri: {get_input: keystone_auth_uri}
1033 glance::registry::identity_uri: {get_input: keystone_identity_uri}
1034 glance::registry::debug: {get_input: debug}
1035 glance::backend::swift::swift_store_auth_address: {get_input: keystone_auth_address}
1036 glance::backend::swift::swift_store_user: service:glance
1037 glance::backend::swift::swift_store_key: {get_input: glance_password}
1038 glance_backend: {get_input: glance_backend}
1039 glance::db::mysql::password: {get_input: glance_password}
1042 heat_stack_domain_admin_password: {get_input: heat_stack_domain_admin_password}
1043 heat::engine::heat_watch_server_url: {get_input: heat.watch_server_url}
1044 heat::engine::heat_metadata_server_url: {get_input: heat.metadata_server_url}
1045 heat::engine::heat_waitcondition_server_url: {get_input: heat.waitcondition_server_url}
1046 heat::engine::auth_encryption_key: {get_input: heat_auth_encryption_key}
1047 heat::rabbit_userid: {get_input: rabbit_username}
1048 heat::rabbit_password: {get_input: rabbit_password}
1049 heat::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
1050 heat::rabbit_port: {get_input: rabbit_client_port}
1051 heat::auth_uri: {get_input: keystone_auth_uri}
1052 heat::keystone_ec2_uri: {get_input: keystone_ec2_uri}
1053 heat::identity_uri: {get_input: keystone_identity_uri}
1054 heat::keystone_password: {get_input: heat_password}
1055 heat::api::bind_host: {get_input: heat_api_network}
1056 heat::api_cloudwatch::bind_host: {get_input: heat_api_network}
1057 heat::api_cfn::bind_host: {get_input: heat_api_network}
1058 heat::database_connection: {get_input: heat_dsn}
1059 heat::debug: {get_input: debug}
1060 heat::db::mysql::password: {get_input: heat_password}
1063 keystone::admin_token: {get_input: admin_token}
1064 keystone_ca_certificate: {get_input: keystone_ca_certificate}
1065 keystone_signing_key: {get_input: keystone_signing_key}
1066 keystone_signing_certificate: {get_input: keystone_signing_certificate}
1067 keystone_ssl_certificate: {get_input: keystone_ssl_certificate}
1068 keystone_ssl_certificate_key: {get_input: keystone_ssl_certificate_key}
1069 keystone::database_connection: {get_input: keystone_dsn}
1070 keystone::public_bind_host: {get_input: keystone_public_api_network}
1071 keystone::admin_bind_host: {get_input: keystone_admin_api_network}
1072 keystone::debug: {get_input: debug}
1073 keystone::db::mysql::password: {get_input: admin_token}
1074 keystone::rabbit_userid: {get_input: rabbit_username}
1075 keystone::rabbit_password: {get_input: rabbit_password}
1076 keystone::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
1077 keystone::rabbit_port: {get_input: rabbit_client_port}
1078 keystone::notification_driver: {get_input: keystone_notification_driver}
1079 keystone::notification_format: {get_input: keystone_notification_format}
1081 mongodb::server::bind_ip: {get_input: mongo_db_network}
1082 mongodb::server::nojournal: {get_input: mongodb_no_journal}
1084 admin_password: {get_input: admin_password}
1085 enable_galera: {get_input: enable_galera}
1086 enable_ceph_storage: {get_input: enable_ceph_storage}
1087 enable_swift_storage: {get_input: enable_swift_storage}
1088 mysql_innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
1089 mysql_max_connections: {get_input: mysql_max_connections}
1090 mysql::server::root_password: {get_input: mysql_root_password}
1091 mysql_cluster_name: {get_input: mysql_cluster_name}
1092 mysql_bind_host: {get_input: mysql_network}
1093 mysql_virtual_ip: {get_input: mysql_virtual_ip}
1096 neutron::bind_host: {get_input: neutron_api_network}
1097 neutron::rabbit_password: {get_input: rabbit_password}
1098 neutron::rabbit_user: {get_input: rabbit_user}
1099 neutron::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
1100 neutron::rabbit_port: {get_input: rabbit_client_port}
1101 neutron::debug: {get_input: debug}
1102 neutron::server::auth_uri: {get_input: keystone_auth_uri}
1103 neutron::server::identity_uri: {get_input: keystone_identity_uri}
1104 neutron::server::database_connection: {get_input: neutron_dsn}
1105 neutron::agents::l3::external_network_bridge: {get_input: neutron_external_network_bridge}
1106 neutron::agents::ml2::ovs::enable_tunneling: {get_input: neutron_enable_tunneling}
1107 neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip}
1108 neutron_flat_networks: {get_input: neutron_flat_networks}
1109 neutron::agents::metadata::shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
1110 neutron::agents::metadata::metadata_ip: {get_input: neutron_api_network}
1111 neutron_agent_mode: {get_input: neutron_agent_mode}
1112 neutron_router_distributed: {get_input: neutron_router_distributed}
1113 neutron::core_plugin: {get_input: neutron_core_plugin}
1114 neutron::service_plugins: {get_input: neutron_service_plugins}
1115 neutron::plugins::ml2::type_drivers: {get_input: neutron_type_drivers}
1116 neutron_mechanism_drivers: {get_input: neutron_mechanism_drivers}
1117 neutron::server::allow_automatic_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
1118 neutron::server::l3_ha: {get_input: neutron_l3_ha}
1119 neutron::dhcp_agents_per_network: {get_input: neutron_dhcp_agents_per_network}
1120 neutron::plugins::ml2::network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
1121 neutron::plugins::ml2::tunnel_id_ranges: {get_input: neutron_tunnel_id_ranges}
1122 neutron::plugins::ml2::vni_ranges: {get_input: neutron_vni_ranges}
1123 neutron_bridge_mappings: {get_input: neutron_bridge_mappings}
1124 neutron_public_interface: {get_input: neutron_public_interface}
1125 neutron_public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
1126 neutron_public_interface_default_route: {get_input: neutron_public_interface_default_route}
1127 neutron_public_interface_tag: {get_input: neutron_public_interface_tag}
1128 neutron_tenant_network_type: {get_input: neutron_tenant_network_type}
1129 neutron_tunnel_types: {get_input: neutron_tunnel_types}
1130 neutron::server::auth_password: {get_input: neutron_password}
1131 neutron::agents::metadata::auth_password: {get_input: neutron_password}
1132 neutron_dnsmasq_options: {get_input: neutron_dnsmasq_options}
1133 neutron_dsn: {get_input: neutron_dsn}
1134 neutron::agents::metadata::auth_url: {get_input: keystone_identity_uri}
1135 neutron::db::mysql::password: {get_input: neutron_password}
1138 ceilometer_backend: {get_input: ceilometer_backend}
1139 ceilometer_mysql_conn_string: {get_input: ceilometer_dsn}
1140 ceilometer::metering_secret: {get_input: ceilometer_metering_secret}
1141 ceilometer::rabbit_userid: {get_input: rabbit_username}
1142 ceilometer::rabbit_password: {get_input: rabbit_password}
1143 ceilometer::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
1144 ceilometer::rabbit_port: {get_input: rabbit_client_port}
1145 ceilometer::debug: {get_input: debug}
1146 ceilometer::api::host: {get_input: ceilometer_api_network}
1147 ceilometer::api::keystone_password: {get_input: ceilometer_password}
1148 ceilometer::api::keystone_auth_uri: {get_input: keystone_auth_uri}
1149 ceilometer::api::keystone_identity_uri: {get_input: keystone_identity_uri}
1150 ceilometer::agent::auth::auth_password: {get_input: ceilometer_password}
1151 ceilometer::agent::auth::auth_url: {get_input: keystone_auth_address}
1152 ceilometer::agent::central::coordination_url: {get_input: ceilometer_coordination_url}
1153 ceilometer::db::mysql::password: {get_input: ceilometer_password}
1154 snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
1155 snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
1158 nova::rabbit_userid: {get_input: rabbit_username}
1159 nova::rabbit_password: {get_input: rabbit_password}
1160 nova::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
1161 nova::rabbit_port: {get_input: rabbit_client_port}
1162 nova::debug: {get_input: debug}
1163 nova::api::auth_uri: {get_input: keystone_auth_uri}
1164 nova::api::identity_uri: {get_input: keystone_identity_uri}
1165 nova::api::api_bind_address: {get_input: nova_api_network}
1166 nova::api::metadata_listen: {get_input: nova_metadata_network}
1167 nova::api::admin_password: {get_input: nova_password}
1168 nova::database_connection: {get_input: nova_dsn}
1169 nova::glance_api_servers: {get_input: glance_api_servers}
1170 nova::api::neutron_metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
1171 nova::network::neutron::neutron_admin_password: {get_input: neutron_password}
1172 nova::network::neutron::neutron_url: {get_input: neutron_url}
1173 nova::network::neutron::neutron_admin_auth_url: {get_input: neutron_admin_auth_url}
1174 nova::vncproxy::host: {get_input: nova_api_network}
1175 nova::db::mysql::password: {get_input: nova_password}
1178 apache::ip: {get_input: horizon_network}
1179 horizon::django_debug: {get_input: debug}
1180 horizon::secret_key: {get_input: horizon_secret}
1181 horizon::bind_address: {get_input: horizon_network}
1182 horizon::keystone_url: {get_input: keystone_auth_uri}
1185 rabbitmq::node_ip_address: {get_input: rabbitmq_network}
1186 rabbitmq::erlang_cookie: {get_input: rabbit_cookie}
1188 redis::bind: {get_input: redis_network}
1189 redis_vip: {get_input: redis_vip}
1191 memcached::listen_ip: {get_input: memcached_network}
1192 neutron_public_interface_ip: {get_input: neutron_public_interface_ip}
1193 ntp::servers: {get_input: ntp_servers}
1194 control_virtual_interface: {get_input: control_virtual_interface}
1195 public_virtual_interface: {get_input: public_virtual_interface}
1196 tripleo::loadbalancer::control_virtual_interface: {get_input: control_virtual_interface}
1197 tripleo::loadbalancer::public_virtual_interface: {get_input: public_virtual_interface}
1198 tripleo::packages::enable_install: {get_input: enable_package_install}
1200 # Hook for site-specific additional pre-deployment config, e.g extra hieradata
1201 ControllerExtraConfigPre:
1202 depends_on: ControllerDeployment
1203 type: OS::TripleO::ControllerExtraConfigPre
1205 server: {get_resource: Controller}
1208 type: OS::TripleO::Tasks::PackageUpdate
1211 type: OS::Heat::SoftwareDeployment
1213 config: {get_resource: UpdateConfig}
1214 server: {get_resource: Controller}
1217 get_param: UpdateIdentifier
1221 description: IP address of the server in the ctlplane network
1222 value: {get_attr: [Controller, networks, ctlplane, 0]}
1223 external_ip_address:
1224 description: IP address of the server in the external network
1225 value: {get_attr: [ExternalPort, ip_address]}
1226 internal_api_ip_address:
1227 description: IP address of the server in the internal_api network
1228 value: {get_attr: [InternalApiPort, ip_address]}
1230 description: IP address of the server in the storage network
1231 value: {get_attr: [StoragePort, ip_address]}
1232 storage_mgmt_ip_address:
1233 description: IP address of the server in the storage_mgmt network
1234 value: {get_attr: [StorageMgmtPort, ip_address]}
1236 description: IP address of the server in the tenant network
1237 value: {get_attr: [TenantPort, ip_address]}
1239 description: Hostname of the server
1240 value: {get_attr: [Controller, name]}
1243 Node object in the format {ip: ..., name: ...} format that the corosync
1246 ip: {get_attr: [Controller, networks, ctlplane, 0]}
1247 name: {get_attr: [Controller, name]}
1250 Server's IP address and hostname in the /etc/hosts format
1253 template: IP HOST.localdomain HOST CLOUDNAME
1255 IP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ControllerHostnameResolveNetwork]}]}
1256 HOST: {get_attr: [Controller, name]}
1257 CLOUDNAME: {get_param: CloudName}
1258 nova_server_resource:
1259 description: Heat resource handle for the Nova compute server
1261 {get_resource: Controller}
1263 description: Swift device formatted for swift-ring-builder
1266 template: 'r1z1-IP:%PORT%/d1'
1268 IP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftMgmtNetwork]}]}
1269 swift_proxy_memcache:
1270 description: Swift proxy-memcache value
1273 template: "IP:11211"
1275 IP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]}
1277 description: identifier which changes if the controller configuration may need re-applying
1281 - - {get_attr: [ControllerDeployment, deploy_stdout]}
1282 - {get_attr: [ControllerExtraConfigPre, deploy_stdout]}