aboutsummaryrefslogtreecommitdiffstats
path: root/deprecated
diff options
context:
space:
mode:
authorDan Prince <dprince@redhat.com>2015-02-23 14:22:12 -0500
committerDan Prince <dprince@redhat.com>2015-02-23 20:50:59 -0500
commitc82b6cec10e1b411774d2f4d5d51565ba7c3550c (patch)
treee80a999cba61fb0d75fc847c031a112195b236d2 /deprecated
parent112a42f34d4384eab729f039ad60b88cc714d09b (diff)
Deprecate the old mergepy overcloud templates
This patch moves all the related mergepy templates for the overcloud into a deprecated directory. The Makefile has been updated so that overcloud.yaml is still generated at the top level so this shouldn't break end users. This is to reduce confusion for new users who are learning the TripleO heat templates and find the fact that we have two full implementations very confusing. Change-Id: I0848aca4dee3e37cb4c6089c5f655ad22ac6c5fd
Diffstat (limited to 'deprecated')
-rw-r--r--deprecated/block-storage.yaml92
-rw-r--r--deprecated/nfs-source.yaml36
-rw-r--r--deprecated/nova-compute-config.yaml69
-rw-r--r--deprecated/nova-compute-instance.yaml273
-rw-r--r--deprecated/overcloud-source.yaml965
-rw-r--r--deprecated/overcloud-vlan-port.yaml39
-rw-r--r--deprecated/ssl-source.yaml54
-rw-r--r--deprecated/swift-deploy.yaml69
-rw-r--r--deprecated/swift-source.yaml15
-rw-r--r--deprecated/swift-storage-source.yaml77
10 files changed, 1689 insertions, 0 deletions
diff --git a/deprecated/block-storage.yaml b/deprecated/block-storage.yaml
new file mode 100644
index 00000000..c288044a
--- /dev/null
+++ b/deprecated/block-storage.yaml
@@ -0,0 +1,92 @@
+heat_template_version: 2013-05-23
+description: 'Common Block Storage Configuration'
+parameters:
+ BlockStorageImage:
+ type: string
+ default: overcloud-cinder-volume
+ OvercloudBlockStorageFlavor:
+ description: Flavor for block storage nodes to request when deploying.
+ type: string
+ constraints:
+ - custom_constraint: nova.flavor
+ BlockStorageExtraConfig:
+ default: {}
+ description: |
+ Controller specific configuration to inject into the cluster. Same
+ structure as ExtraConfig.
+ type: json
+resources:
+ BlockStorage0:
+ type: OS::Nova::Server
+ properties:
+ image:
+ {get_param: BlockStorageImage}
+ flavor: {get_param: OvercloudBlockStorageFlavor}
+ key_name: {get_param: KeyName}
+ user_data_format: SOFTWARE_CONFIG
+ BlockStorage0AllNodesDeployment:
+ depends_on: [BlockStorage0Deployment,BlockStorage0PassthroughSpecific]
+ type: OS::Heat::StructuredDeployment
+ properties:
+ signal_transport: {get_param: DefaultSignalTransport}
+ config: {get_resource: allNodesConfig}
+ server: {get_resource: BlockStorage0}
+ BlockStorage0Deployment:
+ type: OS::Heat::StructuredDeployment
+ properties:
+ server: {get_resource: BlockStorage0}
+ config: {get_resource: BlockStorageConfig}
+ input_values:
+ controller_virtual_ip: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
+ cinder_dsn: {"Fn::Join": ['', ['mysql://cinder:unset@', {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} , '/cinder']]}
+ signal_transport: NO_SIGNAL
+ BlockStorage0Passthrough:
+ type: OS::Heat::StructuredDeployment
+ properties:
+ config: {get_resource: BlockStoragePassthrough}
+ server: {get_resource: BlockStorage0}
+ signal_transport: NO_SIGNAL
+ input_values:
+ passthrough_config: {get_param: ExtraConfig}
+ BlockStorage0PassthroughSpecific:
+ depends_on: [BlockStorage0Passthrough]
+ type: OS::Heat::StructuredDeployment
+ properties:
+ config: {get_resource: BlockStoragePassthroughSpecific}
+ server: {get_resource: BlockStorage0}
+ signal_transport: NO_SIGNAL
+ input_values:
+ passthrough_config_specific: {get_param: BlockStorageExtraConfig}
+ BlockStorageConfig:
+ type: OS::Heat::StructuredConfig
+ properties:
+ group: os-apply-config
+ config:
+ admin-password: {get_param: AdminPassword}
+ keystone:
+ host: {get_input: controller_virtual_ip}
+ cinder:
+ db: {get_input: cinder_dsn}
+ volume_size_mb:
+ get_param: CinderLVMLoopDeviceSize
+ service-password:
+ get_param: CinderPassword
+ iscsi-helper:
+ get_param: CinderISCSIHelper
+ rabbit:
+ host: {get_input: controller_virtual_ip}
+ username: {get_param: RabbitUserName}
+ password: {get_param: RabbitPassword}
+ glance:
+ host: {get_input: controller_virtual_ip}
+ port: {get_param: GlancePort}
+ BlockStoragePassthrough:
+ type: OS::Heat::StructuredConfig
+ properties:
+ group: os-apply-config
+ config: {get_input: passthrough_config}
+ BlockStoragePassthroughSpecific:
+ type: OS::Heat::StructuredConfig
+ properties:
+ group: os-apply-config
+ config: {get_input: passthrough_config_specific}
diff --git a/deprecated/nfs-source.yaml b/deprecated/nfs-source.yaml
new file mode 100644
index 00000000..5d865ea7
--- /dev/null
+++ b/deprecated/nfs-source.yaml
@@ -0,0 +1,36 @@
+resources:
+ controllerNfsServerConfig:
+ type: OS::Heat::StructuredConfig
+ properties:
+ group: os-apply-config
+ config:
+ nfs_server:
+ shares:
+ - name: cinder
+ clients:
+ - machine: 192.0.2.0/24
+ options: rw,async,all_squash,anonuid=0,anongid=0
+ controllerCinderNfsConfig:
+ type: OS::Heat::StructuredConfig
+ properties:
+ group: os-apply-config
+ config:
+ cinder:
+ include_nfs_backend: true
+ nfs_shares:
+ Fn::Join:
+ - ':'
+ - - {get_attr: [controller0, networks, ctlplane, 0]}
+ - /mnt/state/var/lib/nfs/cinder
+ controllerNfsServerDeployment:
+ type: OS::Heat::StructuredDeployment
+ properties:
+ config: {get_resource: controllerNfsServerConfig}
+ server: {get_resource: controller0}
+ signal_transport: NO_SIGNAL
+ controller0CinderNfsDeployment:
+ type: OS::Heat::StructuredDeployment
+ properties:
+ config: {get_resource: controllerCinderNfsConfig}
+ server: {get_resource: controller0}
+ signal_transport: NO_SIGNAL
diff --git a/deprecated/nova-compute-config.yaml b/deprecated/nova-compute-config.yaml
new file mode 100644
index 00000000..1fe787e3
--- /dev/null
+++ b/deprecated/nova-compute-config.yaml
@@ -0,0 +1,69 @@
+resources:
+ NovaComputeConfig:
+ type: OS::Heat::StructuredConfig
+ properties:
+ group: os-apply-config
+ config:
+ nova:
+ compute_driver: { get_input: nova_compute_driver }
+ compute_libvirt_type: { get_input: nova_compute_libvirt_type }
+ debug: {get_param: Debug}
+ host: {get_input: nova_api_host}
+ public_ip: {get_input: nova_public_ip}
+ service-password: {get_input: nova_password}
+ ceilometer:
+ debug: {get_param: Debug}
+ metering_secret: {get_input: ceilometer_metering_secret}
+ service-password: {get_input: ceilometer_password}
+ compute_agent: {get_input: ceilometer_compute_agent}
+ snmpd:
+ export_MIB: UCD-SNMP-MIB
+ readonly_user_name: {get_input: snmpd_readonly_user_name}
+ readonly_user_password: {get_input: snmpd_readonly_user_password}
+ glance:
+ debug: {get_param: Debug}
+ host: {get_input: glance_host}
+ port: {get_input: glance_port}
+ protocol: {get_input: glance_protocol}
+ keystone:
+ debug: {get_param: Debug}
+ host: {get_input: keystone_host}
+ neutron:
+ debug: {get_param: Debug}
+ flat-networks: {get_input: neutron_flat_networks}
+ host: {get_input: neutron_host}
+ router_distributed: {get_input: neutron_router_distributed}
+ agent_mode: {get_input: neutron_agent_mode}
+ metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
+ mechanism_drivers: {get_input: neutron_mechanism_drivers}
+ allow_automatic_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
+ l3_ha: {get_input: neutron_l3_ha}
+ ovs:
+ local_ip: {get_input: neutron_local_ip}
+ tenant_network_type: {get_input: neutron_tenant_network_type}
+ tunnel_types: {get_input: neutron_tunnel_types}
+ network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
+ bridge_mappings: {get_input: neutron_bridge_mappings}
+ enable_tunneling: {get_input: neutron_enable_tunneling}
+ physical_bridge: {get_input: neutron_physical_bridge}
+ public_interface: {get_input: neutron_public_interface}
+ public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
+ service-password: {get_input: neutron_password}
+ admin-password: {get_input: admin_password}
+ rabbit:
+ host: {get_input: rabbit_host}
+ username: {get_input: rabbit_username}
+ password: {get_input: rabbit_password}
+ ntp:
+ servers:
+ - {server: {get_input: ntp_server}}
+ NovaComputePassthrough:
+ type: OS::Heat::StructuredConfig
+ properties:
+ group: os-apply-config
+ config: {get_input: passthrough_config}
+ NovaComputePassthroughSpecific:
+ type: OS::Heat::StructuredConfig
+ properties:
+ group: os-apply-config
+ config: {get_input: passthrough_config_specific}
diff --git a/deprecated/nova-compute-instance.yaml b/deprecated/nova-compute-instance.yaml
new file mode 100644
index 00000000..e68c61f9
--- /dev/null
+++ b/deprecated/nova-compute-instance.yaml
@@ -0,0 +1,273 @@
+heat_template_version: 2013-05-23
+description: 'Nova Compute'
+parameters:
+ AdminPassword:
+ default: unset
+ description: The password for the keystone admin account, used for monitoring, querying neutron etc.
+ type: string
+ hidden: true
+ AllNodesConfig:
+ type: string
+ description: OS::Heat::Config to use for all nodes deployment
+ CeilometerComputeAgent:
+ description: Indicates whether the Compute agent is present and expects nova-compute to be configured accordingly
+ type: string
+ default: ''
+ constraints:
+ - allowed_values: ['', Present]
+ CeilometerMeteringSecret:
+ default: unset
+ description: Secret shared by the ceilometer services.
+ type: string
+ hidden: true
+ CeilometerPassword:
+ default: unset
+ description: The password for the ceilometer service account.
+ type: string
+ hidden: true
+ DefaultSignalTransport:
+ default: CFN_SIGNAL
+ description: Transport to use for software-config signals.
+ type: string
+ constraints:
+ - allowed_values: [ CFN_SIGNAL, HEAT_SIGNAL, NO_SIGNAL ]
+ ExtraConfig:
+ default: {}
+ description: |
+ Additional configuration to inject into the cluster. The JSON should have
+ the following structure:
+ {"FILEKEY":
+ {"config":
+ [{"section": "SECTIONNAME",
+ "values":
+ [{"option": "OPTIONNAME",
+ "value": "VALUENAME"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ For instance:
+ {"nova":
+ {"config":
+ [{"section": "default",
+ "values":
+ [{"option": "force_config_drive",
+ "value": "always"
+ }
+ ]
+ },
+ {"section": "cells",
+ "values":
+ [{"option": "driver",
+ "value": "nova.cells.rpc_driver.CellsRPCDriver"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ type: json
+ GlanceHost:
+ type: string
+ GlancePort:
+ default: 9292
+ description: Glance port.
+ type: string
+ GlanceProtocol:
+ default: http
+ description: Protocol to use when connecting to glance, set to https for SSL.
+ type: string
+ ImageUpdatePolicy:
+ default: 'REBUILD_PRESERVE_EPHEMERAL'
+ description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
+ type: string
+ KeyName:
+ description: Name of an existing EC2 KeyPair to enable SSH access to the instances
+ type: string
+ default: default
+ KeystoneHost:
+ type: string
+ NeutronBridgeMappings:
+ type: string
+ NeutronEnableTunnelling:
+ type: string
+ NeutronFlatNetworks:
+ type: string
+ default: ''
+ description: If set, flat networks to configure in neutron plugins.
+ NeutronHost:
+ type: string
+ NeutronNetworkType:
+ default: 'gre'
+ description: The tenant network type for Neutron, either gre or vxlan.
+ type: string
+ NeutronNetworkVLANRanges:
+ type: string
+ NeutronPhysicalBridge:
+ default: ''
+ description: An OVS bridge to create for accessing external networks.
+ type: string
+ NeutronPublicInterface:
+ default: ''
+ description: A port to add to the NeutronPhysicalBridge.
+ type: string
+ NeutronTunnelTypes:
+ default: 'gre'
+ description: |
+ The tunnel types for the Neutron tenant network. To specify multiple
+ values, use a comma separated string, like so: 'gre,vxlan'
+ type: string
+ NeutronPublicInterfaceRawDevice:
+ default: ''
+ type: string
+ NeutronDVR:
+ default: 'False'
+ type: string
+ NeutronMechanismDrivers:
+ default: 'openvswitch'
+ description: |
+ The mechanism drivers for the Neutron tenant network. To specify multiple
+ values, use a comma separated string, like so: 'openvswitch,l2_population'
+ type: string
+ NeutronAllowL3AgentFailover:
+ default: 'True'
+ description: Allow automatic l3-agent failover
+ type: string
+ NeutronL3HA:
+ default: 'False'
+ description: Whether to enable l3-agent HA
+ type: string
+ NovaApiHost:
+ type: string
+ NovaComputeDriver:
+ type: string
+ default: libvirt.LibvirtDriver
+ NovaComputeExtraConfig:
+ default: {}
+ description: |
+ NovaCompute specific configuration to inject into the cluster. Same
+ structure as ExtraConfig.
+ type: json
+ NovaComputeLibvirtType:
+ type: string
+ default: ''
+ NovaImage:
+ type: string
+ default: overcloud-compute
+ NovaPassword:
+ default: unset
+ description: The password for the nova service account, used by nova-api.
+ type: string
+ hidden: true
+ NovaPublicIP:
+ type: string
+ NtpServer:
+ type: string
+ default: ''
+ OvercloudComputeFlavor:
+ description: Use this flavor
+ type: string
+ constraints:
+ - custom_constraint: nova.flavor
+ RabbitHost:
+ type: string
+ RabbitUserName:
+ type: string
+ RabbitPassword:
+ type: string
+ hidden: true
+ SnmpdReadonlyUserName:
+ default: ro_snmp_user
+ description: The user name for SNMPd with readonly rights running on all Overcloud nodes
+ type: string
+ SnmpdReadonlyUserPassword:
+ default: unset
+ description: The user password for SNMPd with readonly rights running on all Overcloud nodes
+ type: string
+ hidden: true
+resources:
+ NovaCompute0:
+ type: OS::Nova::Server
+ properties:
+ image:
+ {get_param: NovaImage}
+ image_update_policy:
+ get_param: ImageUpdatePolicy
+ flavor: {get_param: OvercloudComputeFlavor}
+ key_name: {get_param: KeyName}
+ networks:
+ - network: ctlplane
+ user_data_format: SOFTWARE_CONFIG
+ NovaCompute0Deployment:
+ type: OS::Heat::StructuredDeployment
+ properties:
+ signal_transport: NO_SIGNAL
+ config: {get_resource: NovaComputeConfig}
+ server: {get_resource: NovaCompute0}
+ input_values:
+ nova_compute_driver: {get_param: NovaComputeDriver}
+ nova_compute_libvirt_type: {get_param: NovaComputeLibvirtType}
+ nova_public_ip: {get_param: NovaPublicIP}
+ nova_api_host: {get_param: NovaApiHost}
+ nova_password: {get_param: NovaPassword}
+ ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
+ ceilometer_password: {get_param: CeilometerPassword}
+ ceilometer_compute_agent: {get_param: CeilometerComputeAgent}
+ snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
+ snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
+ glance_host: {get_param: GlanceHost}
+ glance_port: {get_param: GlancePort}
+ glance_protocol: {get_param: GlanceProtocol}
+ keystone_host: {get_param: KeystoneHost}
+ neutron_flat_networks: {get_param: NeutronFlatNetworks}
+ neutron_host: {get_param: NeutronHost}
+ neutron_local_ip: {get_attr: [NovaCompute0, networks, ctlplane, 0]}
+ neutron_tenant_network_type: {get_param: NeutronNetworkType}
+ neutron_tunnel_types: {get_param: NeutronTunnelTypes}
+ neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
+ neutron_bridge_mappings: {get_param: NeutronBridgeMappings}
+ neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
+ neutron_physical_bridge: {get_param: NeutronPhysicalBridge}
+ neutron_public_interface: {get_param: NeutronPublicInterface}
+ neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
+ neutron_password: {get_param: NeutronPassword}
+ neutron_agent_mode: {get_param: NeutronComputeAgentMode}
+ neutron_router_distributed: {get_param: NeutronDVR}
+ neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
+ neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
+ neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
+ neutron_l3_ha: {get_param: NeutronL3HA}
+ admin_password: {get_param: AdminPassword}
+ rabbit_host: {get_param: RabbitHost}
+ rabbit_username: {get_param: RabbitUserName}
+ rabbit_password: {get_param: RabbitPassword}
+ ntp_server: {get_param: NtpServer}
+ NovaCompute0AllNodesDeployment:
+ depends_on:
+ - controller0AllNodesDeployment
+ - NovaCompute0Deployment
+ - NovaCompute0PassthroughSpecific
+ type: OS::Heat::StructuredDeployment
+ properties:
+ signal_transport: {get_param: DefaultSignalTransport}
+ config: {get_param: AllNodesConfig}
+ server: {get_resource: NovaCompute0}
+ NovaCompute0Passthrough:
+ type: OS::Heat::StructuredDeployment
+ properties:
+ config: {get_resource: NovaComputePassthrough}
+ server: {get_resource: NovaCompute0}
+ signal_transport: NO_SIGNAL
+ input_values:
+ passthrough_config: {get_param: ExtraConfig}
+ NovaCompute0PassthroughSpecific:
+ depends_on: [NovaCompute0Passthrough]
+ type: OS::Heat::StructuredDeployment
+ properties:
+ config: {get_resource: NovaComputePassthroughSpecific}
+ server: {get_resource: NovaCompute0}
+ signal_transport: NO_SIGNAL
+ input_values:
+ passthrough_config_specific: {get_param: NovaComputeExtraConfig}
diff --git a/deprecated/overcloud-source.yaml b/deprecated/overcloud-source.yaml
new file mode 100644
index 00000000..91b6b7fd
--- /dev/null
+++ b/deprecated/overcloud-source.yaml
@@ -0,0 +1,965 @@
+description: Deprecated. Please migrate to use overcloud-without-mergepy instead.
+heat_template_version: 2013-05-23
+parameters:
+ AdminPassword:
+ default: unset
+ description: The password for the keystone admin account, used for monitoring, querying neutron etc.
+ type: string
+ hidden: true
+ AdminToken:
+ default: unset
+ description: The keystone auth secret.
+ type: string
+ hidden: true
+ CeilometerComputeAgent:
+ description: Indicates whether the Compute agent is present and expects nova-compute to be configured accordingly
+ type: string
+ default: ''
+ constraints:
+ - allowed_values: ['', Present]
+ CeilometerMeteringSecret:
+ default: unset
+ description: Secret shared by the ceilometer services.
+ type: string
+ hidden: true
+ CeilometerPassword:
+ default: unset
+ description: The password for the ceilometer service account.
+ type: string
+ hidden: true
+ CinderISCSIHelper:
+ default: tgtadm
+ description: The iSCSI helper to use with cinder.
+ type: string
+ CinderLVMLoopDeviceSize:
+ default: 5000
+ description: The size of the loopback file used by the cinder LVM driver.
+ type: number
+ CinderPassword:
+ default: unset
+ description: The password for the cinder service account, used by cinder-api.
+ type: string
+ hidden: true
+ CloudName:
+ default: ''
+ description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
+ type: string
+ ControlFixedIPs:
+ default: []
+ description: Should be used for arbitrary ips.
+ type: json
+ controllerExtraConfig:
+ default: {}
+ description: |
+ Controller specific configuration to inject into the cluster. Same
+ structure as ExtraConfig.
+ type: json
+ controllerImage:
+ type: string
+ default: overcloud-control
+ constraints:
+ - custom_constraint: glance.image
+ ControlVirtualInterface:
+ default: 'br-ex'
+ description: Interface where virtual ip will be assigned.
+ type: string
+ Debug:
+ default: ''
+ description: Set to True to enable debugging on all services.
+ type: string
+ DefaultSignalTransport:
+ default: CFN_SIGNAL
+ description: Transport to use for software-config signals.
+ type: string
+ constraints:
+ - allowed_values: [ CFN_SIGNAL, HEAT_SIGNAL, NO_SIGNAL ]
+ ExtraConfig:
+ default: {}
+ description: |
+ Additional configuration to inject into the cluster. The JSON should have
+ the following structure:
+ {"FILEKEY":
+ {"config":
+ [{"section": "SECTIONNAME",
+ "values":
+ [{"option": "OPTIONNAME",
+ "value": "VALUENAME"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ For instance:
+ {"nova":
+ {"config":
+ [{"section": "default",
+ "values":
+ [{"option": "force_config_drive",
+ "value": "always"
+ }
+ ]
+ },
+ {"section": "cells",
+ "values":
+ [{"option": "driver",
+ "value": "nova.cells.rpc_driver.CellsRPCDriver"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ type: json
+ GlanceLogFile:
+ description: The filepath of the file to use for logging messages from Glance.
+ type: string
+ default: ''
+ HorizonPort:
+ type: number
+ default: 80
+ description: Horizon web server port.
+ GlancePassword:
+ default: unset
+ description: The password for the glance service account, used by the glance services.
+ type: string
+ hidden: true
+ GlancePort:
+ default: 9292
+ description: Glance port.
+ type: string
+ GlanceProtocol:
+ default: http
+ description: Protocol to use when connecting to glance, set to https for SSL.
+ type: string
+ GlanceNotifierStrategy:
+ description: Strategy to use for Glance notification queue
+ type: string
+ default: noop
+ HeatPassword:
+ default: unset
+ description: The password for the Heat service account, used by the Heat services.
+ type: string
+ hidden: true
+ HeatStackDomainAdminPassword:
+ description: Password for heat_domain_admin user.
+ type: string
+ default: ''
+ hidden: true
+ HypervisorNeutronPhysicalBridge:
+ default: 'br-ex'
+ description: >
+ An OVS bridge to create on each hypervisor. This defaults to br-ex the
+ same as the control plane nodes, as we have a uniform configuration of
+ the openvswitch agent. Typically should not need to be changed.
+ type: string
+ HypervisorNeutronPublicInterface:
+ default: nic1
+ description: What interface to add to the HypervisorNeutronPhysicalBridge.
+ type: string
+ ImageUpdatePolicy:
+ default: 'REBUILD_PRESERVE_EPHEMERAL'
+ description: What policy to use when reconstructing instances. REBUILD for rebuilds, REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
+ type: string
+ KeyName:
+ default: default
+ description: Name of an existing EC2 KeyPair to enable SSH access to the instances
+ type: string
+ constraints:
+ - custom_constraint: nova.keypair
+ KeystoneCACertificate:
+ default: ''
+ description: Keystone self-signed certificate authority certificate.
+ type: string
+ KeystoneSigningCertificate:
+ default: ''
+ description: Keystone certificate for verifying token validity.
+ type: string
+ KeystoneSigningKey:
+ default: ''
+ description: Keystone key for signing tokens.
+ type: string
+ hidden: true
+ KeystoneSSLCertificate:
+ default: ''
+ description: Keystone certificate for verifying token validity.
+ type: string
+ KeystoneSSLCertificateKey:
+ default: ''
+ description: Keystone key for signing tokens.
+ type: string
+ hidden: true
+ MysqlInnodbBufferPoolSize:
+ description: >
+ Specifies the size of the buffer pool in megabytes. Setting to
+ zero should be interpreted as "no value" and will defer to the
+ lower level default.
+ type: number
+ default: 0
+ NeutronBridgeMappings:
+ description: >
+ The OVS logical->physical bridge mappings to use. See the Neutron
+ documentation for details. Defaults to mapping br-ex - the external
+ bridge on hosts - to a physical name 'datacentre' which can be used
+ to create provider networks (and we use this for the default floating
+ network) - if changing this either use different post-install network
+ scripts or be sure to keep 'datacentre' as a mapping network name.
+ type: string
+ default: "datacentre:br-ex"
+ NeutronControlPlaneID:
+ default: ''
+ type: string
+ description: Neutron ID for ctlplane network.
+ NeutronDnsmasqOptions:
+ default: 'dhcp-option-force=26,1400'
+ description: Dnsmasq options for neutron-dhcp-agent. The default value here forces MTU to be set to 1400 to account for the tunnel overhead.
+ type: string
+ NeutronFlatNetworks:
+ type: string
+ default: 'datacentre'
+ description: >
+ If set, flat networks to configure in neutron plugins. Defaults to
+ 'datacentre' to permit external network creation.
+ NeutronNetworkType:
+ default: 'gre'
+ description: The tenant network type for Neutron, either gre or vxlan.
+ type: string
+ NeutronNetworkVLANRanges:
+ default: 'datacentre'
+ description: >
+ The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
+ Neutron documentation for permitted values. Defaults to permitting any
+ VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
+ type: string
+ NeutronPassword:
+ default: unset
+ description: The password for the neutron service account, used by neutron agents.
+ type: string
+ hidden: true
+ NeutronPublicInterface:
+ default: nic1
+ description: What interface to bridge onto br-ex for network nodes.
+ type: string
+ NeutronPublicInterfaceDefaultRoute:
+ default: ''
+ description: A custom default route for the NeutronPublicInterface.
+ type: string
+ NeutronPublicInterfaceIP:
+ default: ''
+ description: A custom IP address to put onto the NeutronPublicInterface.
+ type: string
+ NeutronPublicInterfaceRawDevice:
+ default: ''
+ description: If set, the public interface is a vlan with this device as the raw device.
+ type: string
+ NeutronPublicInterfaceTag:
+ default: ''
+ description: >
+ VLAN tag for creating a public VLAN. The tag will be used to
+ create an access port on the exterior bridge for each control plane node,
+ and that port will be given the IP address returned by neutron from the
+ public network. Set CONTROLEXTRA=overcloud-vlan-port.yaml when compiling
+ overcloud.yaml to include the deployment of VLAN ports to the control
+ plane.
+ type: string
+ NeutronComputeAgentMode:
+ default: 'dvr'
+ description: Agent mode for the neutron-l3-agent on the compute hosts
+ type: string
+ NeutronAgentMode:
+ default: 'dvr_snat'
+ description: Agent mode for the neutron-l3-agent on the controller hosts
+ type: string
+ NeutronDVR:
+ default: 'False'
+ description: Whether to configure Neutron Distributed Virtual Routers
+ type: string
+ NeutronMetadataProxySharedSecret:
+ default: 'unset'
+ description: Shared secret to prevent spoofing
+ type: string
+ NeutronTunnelTypes:
+ default: 'gre'
+ description: |
+ The tunnel types for the Neutron tenant network. To specify multiple
+ values, use a comma separated string, like so: 'gre,vxlan'
+ type: string
+ NeutronMechanismDrivers:
+ default: 'openvswitch'
+ description: |
+ The mechanism drivers for the Neutron tenant network. To specify multiple
+ values, use a comma separated string, like so: 'openvswitch,l2_population'
+ type: string
+ NeutronAllowL3AgentFailover:
+ default: 'True'
+ description: Allow automatic l3-agent failover
+ type: string
+ NeutronL3HA:
+ default: 'False'
+ description: Whether to enable l3-agent HA
+ type: string
+ NovaComputeDriver:
+ default: libvirt.LibvirtDriver
+ type: string
+ NovaComputeExtraConfig:
+ default: {}
+ description: |
+ NovaCompute specific configuration to inject into the cluster. Same
+ structure as ExtraConfig.
+ type: json
+ NovaComputeLibvirtType:
+ default: ''
+ type: string
+ NovaImage:
+ type: string
+ default: overcloud-compute
+ constraints:
+ - custom_constraint: glance.image
+ NovaPassword:
+ default: unset
+ description: The password for the nova service account, used by nova-api.
+ type: string
+ hidden: true
+ NtpServer:
+ type: string
+ default: ''
+ OvercloudComputeFlavor:
+ description: Flavor for compute nodes to request when deploying.
+ type: string
+ constraints:
+ - custom_constraint: nova.flavor
+ OvercloudControlFlavor:
+ description: Flavor for control nodes to request when deploying.
+ type: string
+ constraints:
+ - custom_constraint: nova.flavor
+ PublicVirtualFixedIPs:
+ default: []
+ description: >
+ Control the IP allocation for the PublicVirtualInterface port. E.g.
+ [{'ip_address':'1.2.3.4'}]
+ type: json
+ PublicVirtualInterface:
+ default: 'br-ex'
+ description: >
+ Specifies the interface where the public-facing virtual ip will be assigned.
+ This should be int_public when a VLAN is being used.
+ type: string
+ PublicVirtualNetwork:
+ default: 'ctlplane'
+ type: string
+ description: >
+ Neutron network to allocate public virtual IP port on.
+ RabbitCookieSalt:
+ type: string
+ default: unset
+ description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change.
+ RabbitPassword:
+ default: guest
+ description: The password for RabbitMQ
+ type: string
+ hidden: true
+ RabbitUserName:
+ default: guest
+ description: The username for RabbitMQ
+ type: string
+ RabbitClientUseSSL:
+ default: false
+ description: >
+ Rabbit client subscriber parameter to specify
+ an SSL connection to the RabbitMQ host.
+ type: string
+ RabbitClientPort:
+ default: 5672
+ description: Set rabbit subscriber port, change this if using SSL
+ type: number
+ SnmpdReadonlyUserName:
+ default: ro_snmp_user
+ description: The user name for SNMPd with readonly rights running on all Overcloud nodes
+ type: string
+ SnmpdReadonlyUserPassword:
+ default: unset
+ description: The user password for SNMPd with readonly rights running on all Overcloud nodes
+ type: string
+ hidden: true
+resources:
+ ControlVirtualIP:
+ type: OS::Neutron::Port
+ properties:
+ name: control_virtual_ip
+ network_id: {get_param: NeutronControlPlaneID}
+ fixed_ips:
+ get_param: ControlFixedIPs
+ replacement_policy: AUTO
+ MysqlClusterUniquePart:
+ type: OS::Heat::RandomString
+ properties:
+ length: 10
+ MysqlRootPassword:
+ type: OS::Heat::RandomString
+ properties:
+ length: 10
+ PublicVirtualIP:
+ type: OS::Neutron::Port
+ properties:
+ name: public_virtual_ip
+ network: {get_param: PublicVirtualNetwork}
+ fixed_ips:
+ get_param: PublicVirtualFixedIPs
+ replacement_policy: AUTO
+ RabbitCookie:
+ type: OS::Heat::RandomString
+ properties:
+ length: 20
+ salt:
+ get_param: RabbitCookieSalt
+ NovaCompute0Deployment:
+ type: FileInclude
+ Path: deprecated/nova-compute-instance.yaml
+ SubKey: resources.NovaCompute0Deployment
+ parameters:
+ DefaultSignalTransport:
+ get_param: DefaultSignalTransport
+ NovaApiHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
+ KeystoneHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
+ NeutronHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
+ GlanceHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
+ RabbitHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
+ NovaPublicIP: {get_attr: [PublicVirtualIP, fixed_ips, 0, ip_address]}
+ NeutronNetworkType:
+ get_param: NeutronNetworkType
+ NeutronTunnelTypes:
+ get_param: NeutronTunnelTypes
+ NeutronEnableTunnelling: "True"
+ NeutronFlatNetworks:
+ get_param: NeutronFlatNetworks
+ NeutronNetworkVLANRanges:
+ get_param: NeutronNetworkVLANRanges
+ NeutronPhysicalBridge:
+ get_param: HypervisorNeutronPhysicalBridge
+ NeutronPublicInterface:
+ get_param: HypervisorNeutronPublicInterface
+ NeutronBridgeMappings:
+ get_param: NeutronBridgeMappings
+ NeutronDVR:
+ get_param: NeutronDVR
+ NeutronAgentMode:
+ get_param: NeutronComputeAgentMode
+ NeutronPublicInterfaceRawDevice:
+ get_param: NeutronPublicInterfaceRawDevice
+ NeutronMechanismDrivers:
+ get_param: NeutronMechanismDrivers
+ NeutronAllowL3AgentFailover:
+ get_param: NeutronAllowL3AgentFailover
+ NeutronL3HA:
+ get_param: NeutronL3HA
+ NovaCompute0AllNodesDeployment:
+ type: FileInclude
+ Path: deprecated/nova-compute-instance.yaml
+ SubKey: resources.NovaCompute0AllNodesDeployment
+ parameters:
+ AllNodesConfig: {get_resource: allNodesConfig}
+ NovaCompute0:
+ type: FileInclude
+ Path: deprecated/nova-compute-instance.yaml
+ SubKey: resources.NovaCompute0
+ NovaCompute0Passthrough:
+ type: FileInclude
+ Path: deprecated/nova-compute-instance.yaml
+ SubKey: resources.NovaCompute0Passthrough
+ parameters:
+ passthrough_config: {get_param: ExtraConfig}
+ NovaCompute0PassthroughSpecific:
+ type: FileInclude
+ Path: deprecated/nova-compute-instance.yaml
+ SubKey: resources.NovaCompute0PassthroughSpecific
+ parameters:
+ passthrough_config_specific: {get_param: NovaComputeExtraConfig}
+ controllerConfig:
+ type: OS::Heat::StructuredConfig
+ properties:
+ group: os-apply-config
+ config:
+ admin-password:
+ get_param: AdminPassword
+ admin-token:
+ get_param: AdminToken
+ bootstack:
+ public_interface_ip:
+ get_param: NeutronPublicInterfaceIP
+ bootstrap_host:
+ bootstrap_nodeid:
+ Fn::Select:
+ - 0
+ - Fn::Select:
+ - 0
+ - Merge::Map:
+ controller0:
+ - get_attr:
+ - controller0
+ - name
+ nodeid: {get_input: bootstack_nodeid}
+ database:
+ host: &database_host
+ {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
+ cinder:
+ db:
+ Fn::Join:
+ - ''
+ - - mysql://cinder:unset@
+ - *database_host
+ - /cinder
+ debug: {get_param: Debug}
+ volume_size_mb:
+ get_param: CinderLVMLoopDeviceSize
+ service-password:
+ get_param: CinderPassword
+ iscsi-helper:
+ get_param: CinderISCSIHelper
+ controller-address:
+ get_input: controller_host
+ corosync:
+ bindnetaddr: {get_input: controller_host}
+ mcastport: 5577
+ nodes:
+ Merge::Map:
+ controller0:
+ ip: {get_attr: [controller0, networks, ctlplane, 0]}
+ pacemaker:
+ stonith_enabled : false
+ recheck_interval : 5
+ quorum_policy : ignore
+ db-password: unset
+ glance:
+ registry:
+ host: {get_input: controller_virtual_ip}
+ backend: swift
+ db:
+ Fn::Join:
+ - ''
+ - - mysql://glance:unset@
+ - *database_host
+ - /glance
+ debug: {get_param: Debug}
+ host:
+ get_input: controller_virtual_ip
+ port:
+ get_param: GlancePort
+ protocol:
+ get_param: GlanceProtocol
+ service-password:
+ get_param: GlancePassword
+ swift-store-user: service:glance
+ swift-store-key:
+ get_param: GlancePassword
+ notifier-strategy:
+ get_param: GlanceNotifierStrategy
+ log-file:
+ get_param: GlanceLogFile
+ heat:
+ admin_password:
+ get_param: HeatPassword
+ admin_tenant_name: service
+ admin_user: heat
+ auth_encryption_key: unset___________
+ db:
+ Fn::Join:
+ - ''
+ - - mysql://heat:unset@
+ - *database_host
+ - /heat
+ debug: {get_param: Debug}
+ stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword}
+ watch_server_url: {get_input: heat.watch_server_url}
+ metadata_server_url: {get_input: heat.metadata_server_url}
+ waitcondition_server_url: {get_input: heat.waitcondition_server_url}
+ horizon:
+ port: {get_param: HorizonPort}
+ caches:
+ memcached:
+ nodes:
+ Merge::Map:
+ controller0:
+ {get_attr: [controller0, name]}
+ keystone:
+ db:
+ Fn::Join:
+ - ''
+ - - mysql://keystone:unset@
+ - *database_host
+ - /keystone
+ debug: {get_param: Debug}
+ host:
+ get_input: controller_virtual_ip
+ ca_certificate: {get_param: KeystoneCACertificate}
+ signing_key: {get_param: KeystoneSigningKey}
+ signing_certificate: {get_param: KeystoneSigningCertificate}
+ ssl:
+ certificate: {get_param: KeystoneSSLCertificate}
+ certificate_key: {get_param: KeystoneSSLCertificateKey}
+ mysql:
+ innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
+ local_bind: true
+ root-password: {get_resource: MysqlRootPassword}
+ nodes:
+ Merge::Map:
+ controller0:
+ ip: {get_attr: [controller0, networks, ctlplane, 0]}
+ cluster_name:
+ Fn::Join:
+ - '-'
+ - - 'tripleo'
+ - {get_resource: MysqlClusterUniquePart}
+ neutron:
+ debug: {get_param: Debug}
+ flat-networks: {get_param: NeutronFlatNetworks}
+ host: {get_input: controller_virtual_ip}
+ metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
+ agent_mode: {get_param: NeutronAgentMode}
+ router_distributed: {get_param: NeutronDVR}
+ mechanism_drivers: {get_param: NeutronMechanismDrivers}
+ allow_automatic_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
+ l3_ha: {get_param: NeutronL3HA}
+ ovs:
+ enable_tunneling: 'True'
+ local_ip:
+ get_input: controller_host
+ network_vlan_ranges: {get_param: NeutronNetworkVLANRanges}
+ bridge_mappings: {get_param: NeutronBridgeMappings}
+ public_interface:
+ get_param: NeutronPublicInterface
+ public_interface_raw_device:
+ get_param: NeutronPublicInterfaceRawDevice
+ public_interface_route:
+ get_param: NeutronPublicInterfaceDefaultRoute
+ public_interface_tag:
+ get_param: NeutronPublicInterfaceTag
+ physical_bridge: br-ex
+ tenant_network_type:
+ get_param: NeutronNetworkType
+ tunnel_types:
+ get_param: NeutronTunnelTypes
+ ovs_db:
+ Fn::Join:
+ - ''
+ - - mysql://neutron:unset@
+ - *database_host
+ - /ovs_neutron?charset=utf8
+ service-password:
+ get_param: NeutronPassword
+ dnsmasq-options:
+ get_param: NeutronDnsmasqOptions
+ ceilometer:
+ db:
+ Fn::Join:
+ - ''
+ - - mysql://ceilometer:unset@
+ - *database_host
+ - /ceilometer
+ debug: {get_param: Debug}
+ metering_secret: {get_param: CeilometerMeteringSecret}
+ service-password:
+ get_param: CeilometerPassword
+ snmpd:
+ export_MIB: UCD-SNMP-MIB
+ readonly_user_name:
+ get_param: SnmpdReadonlyUserName
+ readonly_user_password:
+ get_param: SnmpdReadonlyUserPassword
+ nova:
+ compute_driver: libvirt.LibvirtDriver
+ db:
+ Fn::Join:
+ - ''
+ - - mysql://nova:unset@
+ - *database_host
+ - /nova
+ default_floating_pool:
+ ext-net
+ host: {get_input: controller_virtual_ip}
+ metadata-proxy: true
+ service-password:
+ get_param: NovaPassword
+ rabbit:
+ host: {get_input: controller_virtual_ip}
+ username:
+ get_param: RabbitUserName
+ password:
+ get_param: RabbitPassword
+ cookie:
+ get_attr:
+ - RabbitCookie
+ - value
+ rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
+ rabbit_port: {get_param: RabbitClientPort}
+ ntp:
+ servers:
+ - {server: {get_param: NtpServer}}
+ virtual_interfaces:
+ instances:
+ - vrrp_instance_name: VI_CONTROL
+ virtual_router_id: 51
+ keepalive_interface:
+ get_param: ControlVirtualInterface
+ priority: 101
+ virtual_ips:
+ - ip: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
+ interface:
+ get_param: ControlVirtualInterface
+ - vrrp_instance_name: VI_PUBLIC
+ virtual_router_id: 52
+ keepalive_interface:
+ get_param: PublicVirtualInterface
+ priority: 101
+ virtual_ips:
+ - ip: {get_attr: [PublicVirtualIP, fixed_ips, 0, ip_address]}
+ interface:
+ get_param: PublicVirtualInterface
+ vrrp_sync_groups:
+ - name: VG1
+ members:
+ - VI_CONTROL
+ - VI_PUBLIC
+ keepalived:
+ keepalive_interface:
+ get_param: PublicVirtualInterface
+ priority: 101
+ virtual_ips:
+ -
+ ip: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
+ interface:
+ get_param: ControlVirtualInterface
+ -
+ ip: {get_attr: [PublicVirtualIP, fixed_ips, 0, ip_address]}
+ interface:
+ get_param: PublicVirtualInterface
+ haproxy:
+ nodes:
+ Merge::Map:
+ controller0:
+ ip: {get_attr: [controller0, networks, ctlplane, 0]}
+ name: {get_attr: [controller0, name]}
+ net_binds:
+ - &control_vip {ip: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}}
+ - &public_vip {ip: {get_attr: [PublicVirtualIP, fixed_ips, 0, ip_address]}}
+ options:
+ - option httpchk GET /
+ services:
+ - name: keystone_admin
+ port: 35357
+ - name: keystone_public
+ port: 5000
+ - name: horizon
+ port: 80
+ - name: neutron
+ port: 9696
+ - name: cinder
+ port: 8776
+ - name: glance_api
+ port: 9292
+ - name: glance_registry
+ port: 9191
+ options: # overwrite options as glace_reg needs auth for http req
+ - name: heat_api
+ port: 8004
+ - name: heat_cloudwatch
+ port: 8003
+ - name: heat_cfn
+ port: 8000
+ - name: mysql
+ port: 3306
+ net_binds:
+ - *control_vip
+ extra_server_params:
+ - backup
+ options:
+ - timeout client 0
+ - timeout server 0
+ - name: nova_ec2
+ port: 8773
+ - name: nova_osapi
+ port: 8774
+ - name: nova_metadata
+ port: 8775
+ - name: nova_novncproxy
+ port: 6080
+ - name: ceilometer
+ port: 8777
+ options: # overwrite options as ceil needs auth for http req
+ - name: swift_proxy_server
+ port: 8080
+ options:
+ - option httpchk GET /info
+ - name: rabbitmq
+ port: 5672
+ net_binds:
+ - *control_vip
+ options:
+ - timeout client 0
+ - timeout server 0
+ - maxconn 1500
+ controllerPassthrough:
+ type: OS::Heat::StructuredConfig
+ properties:
+ group: os-apply-config
+ config: {get_input: passthrough_config}
+ controllerPassthroughSpecific:
+ type: OS::Heat::StructuredConfig
+ properties:
+ group: os-apply-config
+ config: {get_input: passthrough_config_specific}
+ controller0:
+ type: OS::Nova::Server
+ properties:
+ image:
+ get_param: controllerImage
+ image_update_policy:
+ get_param: ImageUpdatePolicy
+ flavor:
+ get_param: OvercloudControlFlavor
+ key_name:
+ get_param: KeyName
+ networks:
+ - network: ctlplane
+ user_data_format: SOFTWARE_CONFIG
+ controller0AllNodesDeployment:
+ depends_on: [controller0Deployment,controller0SSLDeployment,controller0Swift,controller0PassthroughSpecific]
+ type: OS::Heat::StructuredDeployment
+ properties:
+ signal_transport: {get_param: DefaultSignalTransport}
+ config: {get_resource: allNodesConfig}
+ server: {get_resource: controller0}
+ controller0Deployment:
+ type: OS::Heat::StructuredDeployment
+ properties:
+ signal_transport: NO_SIGNAL
+ config: {get_resource: controllerConfig}
+ server: {get_resource: controller0}
+ input_values:
+ bootstack_nodeid: {get_attr: [controller0, name]}
+ controller_host: {get_attr: [controller0, networks, ctlplane, 0]}
+ controller_virtual_ip:
+ {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
+ heat.watch_server_url:
+ Fn::Join:
+ - ''
+ - - 'http://'
+ - {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
+ - ':8003'
+ heat.metadata_server_url:
+ Fn::Join:
+ - ''
+ - - 'http://'
+ - {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
+ - ':8000'
+ heat.waitcondition_server_url:
+ Fn::Join:
+ - ''
+ - - 'http://'
+ - {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
+ - ':8000/v1/waitcondition'
+ allNodesConfig:
+ type: OS::Heat::StructuredConfig
+ properties:
+ config:
+ completion-signal: {get_input: deploy_signal_id}
+ hosts:
+ Fn::Join:
+ - "\n"
+ - - Fn::Join:
+ - "\n"
+ - Merge::Map:
+ NovaCompute0:
+ Fn::Join:
+ - ' '
+ - - {get_attr: [NovaCompute0, networks, ctlplane, 0]}
+ - {get_attr: [NovaCompute0, name]}
+ - Fn::Join:
+ - '.'
+ - - {get_attr: [NovaCompute0, name]}
+ - 'novalocal'
+ - Fn::Join:
+ - "\n"
+ - Merge::Map:
+ BlockStorage0:
+ Fn::Join:
+ - ' '
+ - - {get_attr: [BlockStorage0, networks, ctlplane, 0]}
+ - {get_attr: [BlockStorage0, name]}
+ - Fn::Join:
+ - '.'
+ - - {get_attr: [BlockStorage0, name]}
+ - 'novalocal'
+ - Fn::Join:
+ - "\n"
+ - Merge::Map:
+ SwiftStorage0:
+ Fn::Join:
+ - ' '
+ - - {get_attr: [SwiftStorage0, networks, ctlplane, 0]}
+ - {get_attr: [SwiftStorage0, name]}
+ - Fn::Join:
+ - '.'
+ - - {get_attr: [SwiftStorage0, name]}
+ - 'novalocal'
+ - Fn::Join:
+ - "\n"
+ - Merge::Map:
+ controller0:
+ Fn::Join:
+ - ' '
+ - - {get_attr: [controller0, networks, ctlplane, 0]}
+ - {get_attr: [controller0, name]}
+ - Fn::Join:
+ - '.'
+ - - {get_attr: [controller0, name]}
+ - 'novalocal'
+ - {get_param: CloudName}
+ rabbit:
+ nodes:
+ Fn::Join:
+ - ','
+ - Merge::Map:
+ controller0:
+ {get_attr: [controller0, name]}
+ sysctl:
+ net.ipv4.tcp_keepalive_time: 5
+ net.ipv4.tcp_keepalive_probes: 5
+ net.ipv4.tcp_keepalive_intvl: 1
+ controller0SSLDeployment:
+ type: OS::Heat::StructuredDeployment
+ properties:
+ config: {get_resource: SSLConfig}
+ server: {get_resource: controller0}
+ signal_transport: NO_SIGNAL
+ input_values:
+ controller_host: {get_attr: [controller0, networks, ctlplane, 0]}
+ ssl_certificate: {get_param: SSLCertificate}
+ ssl_key: {get_param: SSLKey}
+ ssl_ca_certificate: {get_param: SSLCACertificate}
+ controller0Passthrough:
+ type: OS::Heat::StructuredDeployment
+ properties:
+ config: {get_resource: controllerPassthrough}
+ server: {get_resource: controller0}
+ signal_transport: NO_SIGNAL
+ input_values:
+ passthrough_config: {get_param: ExtraConfig}
+ controller0PassthroughSpecific:
+ depends_on: [controller0Passthrough]
+ type: OS::Heat::StructuredDeployment
+ properties:
+ config: {get_resource: controllerPassthroughSpecific}
+ server: {get_resource: controller0}
+ signal_transport: NO_SIGNAL
+ input_values:
+ passthrough_config_specific: {get_param: controllerExtraConfig}
+outputs:
+ KeystoneURL:
+ description: URL for the Overcloud Keystone service
+ value:
+ Fn::Join:
+ - ''
+ - - http://
+ - {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
+ - :5000/v2.0/
diff --git a/deprecated/overcloud-vlan-port.yaml b/deprecated/overcloud-vlan-port.yaml
new file mode 100644
index 00000000..8f6f6937
--- /dev/null
+++ b/deprecated/overcloud-vlan-port.yaml
@@ -0,0 +1,39 @@
+outputs:
+ controller0PublicIP:
+ description: Address for registering endpoints in the cloud.
+ value: {get_attr: [controller0_VLANPort, fixed_ips, 0, ip_address]}
+resources:
+ # Override the main template which can also supply a static route.
+ controller0_99_VLANPort:
+ type: OS::Heat::StructuredDeployment
+ properties:
+ config: {get_resource: ControllerVLANPortConfig}
+ server: {get_resource: controller0}
+ signal_transport: NO_SIGNAL
+ input_values:
+ vlan_port:
+ list_join:
+ - '/'
+ - - {get_attr: [controller0_VLANPort, fixed_ips, 0, ip_address]}
+ # This should also be pulled out of the subnet. May need a
+ # neutron fix too - XXX make into a parameter and feed it
+ # in via _overcloud.sh for now.
+ - '24'
+ # Tell the instance to apply the default route.
+ # Reinstate when https://bugs.launchpad.net/heat/+bug/1336656 is
+ # sorted
+ # public_interface_route:
+ # get_attr: [controller0_VLANPort, fixed_ips, 0, subnet, gateway_ip]
+ ControllerVLANPortConfig:
+ type: OS::Heat::StructuredConfig
+ properties:
+ config:
+ neutron:
+ ovs:
+ public_interface_tag_ip: {get_input: vlan_port}
+ controller0_VLANPort:
+ type: OS::Neutron::Port
+ properties:
+ name: controller0_vlan
+ network: public
+ replacement_policy: AUTO
diff --git a/deprecated/ssl-source.yaml b/deprecated/ssl-source.yaml
new file mode 100644
index 00000000..a9357323
--- /dev/null
+++ b/deprecated/ssl-source.yaml
@@ -0,0 +1,54 @@
+description: 'ssl-source: SSL endpoint metadata for openstack'
+parameters:
+ SSLCACertificate:
+ default: ''
+ description: If set, the contents of an SSL certificate authority file.
+ type: string
+ SSLCertificate:
+ default: ''
+ description: If set, the contents of an SSL certificate .crt file for encrypting SSL endpoints.
+ type: string
+ hidden: true
+ SSLKey:
+ default: ''
+ description: If set, the contents of an SSL certificate .key file for encrypting SSL endpoints.
+ type: string
+ hidden: true
+resources:
+ SSLConfig:
+ type: OS::Heat::StructuredConfig
+ properties:
+ group: os-apply-config
+ config:
+ ssl:
+ ca_certificate: {get_input: ssl_ca_certificate}
+ stunnel:
+ cert: {get_input: ssl_certificate}
+ key: {get_input: ssl_key}
+ cacert: {get_input: ssl_ca_certificate}
+ connect_host: {get_input: controller_host}
+ ports:
+ - name: 'ec2'
+ accept: 13773
+ connect: 8773
+ - name: 'image'
+ accept: 13292
+ connect: 9292
+ - name: 'identity'
+ accept: 13000
+ connect: 5000
+ - name: 'network'
+ accept: 13696
+ connect: 9696
+ - name: 'compute'
+ accept: 13774
+ connect: 8774
+ - name: 'swift-proxy'
+ accept: 13080
+ connect: 8080
+ - name: 'cinder'
+ accept: 13776
+ connect: 8776
+ - name: 'ceilometer'
+ accept: 13777
+ connect: 8777
diff --git a/deprecated/swift-deploy.yaml b/deprecated/swift-deploy.yaml
new file mode 100644
index 00000000..d4d32cbd
--- /dev/null
+++ b/deprecated/swift-deploy.yaml
@@ -0,0 +1,69 @@
+description: 'Swift-proxy: OpenStack object storage proxy'
+parameters:
+ SwiftHashSuffix:
+ default: unset
+ description: A random string to be used as a salt when hashing to determine mappings in the ring.
+ type: string
+ hidden: true
+ SwiftMountCheck:
+ default: 'false'
+ description: Value of mount_check in Swift account/container/object -server.conf
+ type: boolean
+ SwiftMinPartHours:
+ type: number
+ default: 1
+ description: The minimum time (in hours) before a partition in a ring can be moved following a rebalance.
+ SwiftPartPower:
+ default: 10
+ description: Partition Power to use when building Swift rings
+ type: number
+ SwiftPassword:
+ default: unset
+ description: The password for the swift service account, used by the swift proxy services.
+ type: string
+ hidden: true
+ SwiftReplicas:
+ type: number
+ default: 3
+ description: How many replicas to use in the swift rings.
+resources:
+ controller0Swift:
+ type: OS::Heat::StructuredDeployment
+ properties:
+ config: {get_resource: SwiftConfig}
+ server: {get_resource: controller0}
+ signal_transport: NO_SIGNAL
+ input_values:
+ swift_hash_suffix: {get_param: SwiftHashSuffix}
+ swift_mount_check: {get_param: SwiftMountCheck}
+ swift_password: {get_param: SwiftPassword}
+ swift_part_power: {get_param: SwiftPartPower}
+ swift_devices:
+ Fn::Join:
+ - ', '
+ - Merge::Map:
+ controller0:
+ Fn::Join:
+ - ''
+ - - 'r1z1-'
+ - {get_attr: [controller0, networks, ctlplane, 0]}
+ - ':%PORT%/d1'
+ SwiftStorage0:
+ Fn::Join:
+ - ''
+ - - 'r1z1-'
+ - {get_attr: [SwiftStorage0, networks, ctlplane, 0]}
+ - ':%PORT%/d1'
+ swift_proxy_memcache:
+ Fn::Join:
+ - ','
+ - Merge::Map:
+ controller0:
+ Fn::Join:
+ - ', '
+ - - Fn::Join:
+ - ''
+ - - {get_attr: [controller0, networks, ctlplane, 0]}
+ - ':11211'
+ swift_replicas: { get_param: SwiftReplicas}
+ swift_min_part_hours: { get_param: SwiftMinPartHours}
diff --git a/deprecated/swift-source.yaml b/deprecated/swift-source.yaml
new file mode 100644
index 00000000..e6fd951e
--- /dev/null
+++ b/deprecated/swift-source.yaml
@@ -0,0 +1,15 @@
+resources:
+ SwiftConfig:
+ type: OS::Heat::StructuredConfig
+ properties:
+ group: os-apply-config
+ config:
+ swift:
+ devices: { get_input: swift_devices }
+ hash: { get_input: swift_hash_suffix }
+ mount-check: { get_input: swift_mount_check }
+ part-power: { get_input: swift_part_power }
+ proxy-memcache: { get_input: swift_proxy_memcache }
+ replicas: {get_input: swift_replicas }
+ min-part-hours: {get_input: swift_min_part_hours }
+ service-password: { get_input: swift_password }
diff --git a/deprecated/swift-storage-source.yaml b/deprecated/swift-storage-source.yaml
new file mode 100644
index 00000000..176925b6
--- /dev/null
+++ b/deprecated/swift-storage-source.yaml
@@ -0,0 +1,77 @@
+heat_template_version: 2013-05-23
+description: 'Common Swift Storage Configuration'
+parameters:
+ OvercloudSwiftStorageFlavor:
+ description: Flavor for Swift storage nodes to request when deploying.
+ type: string
+ constraints:
+ - custom_constraint: nova.flavor
+ SwiftReplicas:
+ type: number
+ default: 1
+ description: How many replicas to use in the swift rings.
+ SwiftStorageImage:
+ type: string
+ default: overcloud-swift-storage
+resources:
+ SwiftStorage0:
+ type: OS::Nova::Server
+ properties:
+ image: {get_param: SwiftStorageImage}
+ flavor: {get_param: OvercloudSwiftStorageFlavor}
+ key_name: {get_param: KeyName}
+ user_data_format: SOFTWARE_CONFIG
+ SwiftKeystoneConfig:
+ type: OS::Heat::StructuredConfig
+ properties:
+ config:
+ keystone:
+ host: {get_input: keystone_host}
+ SwiftStorage0Keystone:
+ type: OS::Heat::StructuredDeployment
+ properties:
+ server: {get_resource: SwiftStorage0}
+ config: {get_resource: SwiftKeystoneConfig}
+ signal_transport: NO_SIGNAL
+ input_values:
+ keystone_host: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
+ SwiftStorage0Deploy:
+ type: OS::Heat::StructuredDeployment
+ properties:
+ server: {get_resource: SwiftStorage0}
+ config: {get_resource: SwiftConfig}
+ signal_transport: NO_SIGNAL
+ input_values:
+ swift_hash_suffix: {get_param: SwiftHashSuffix}
+ swift_mount_check: {get_param: SwiftMountCheck}
+ swift_password: {get_param: SwiftPassword}
+ swift_part_power: {get_param: SwiftPartPower}
+ swift_devices:
+ Fn::Join:
+ - ', '
+ - Merge::Map:
+ controller0:
+ Fn::Join:
+ - ''
+ - - 'r1z1-'
+ - {get_attr: [controller0, networks, ctlplane, 0]}
+ - ':%PORT%/d1'
+ SwiftStorage0:
+ Fn::Join:
+ - ''
+ - - 'r1z1-'
+ - {get_attr: [SwiftStorage0, networks, ctlplane, 0]}
+ - ':%PORT%/d1'
+ swift_proxy_memcache:
+ Fn::Join:
+ - ','
+ - Merge::Map:
+ controller0:
+ Fn::Join:
+ - ', '
+ - - Fn::Join:
+ - ''
+ - - {get_attr: [controller0, networks, ctlplane, 0]}
+ - ':11211'
+ swift_replicas: { get_param: SwiftReplicas}
+ swift_min_part_hours: { get_param: SwiftMinPartHours}