summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile11
-rw-r--r--block-storage-nfs.yaml69
-rw-r--r--compute-config.yaml1
-rw-r--r--compute.yaml3
-rw-r--r--controller.yaml5
-rw-r--r--nfs-server-source.yaml24
-rw-r--r--nfs-source.yaml36
-rw-r--r--nova-compute-config.yaml1
-rw-r--r--nova-compute-instance.yaml3
-rw-r--r--overcloud-source.yaml11
-rw-r--r--overcloud-without-mergepy.yaml8
11 files changed, 49 insertions, 123 deletions
diff --git a/Makefile b/Makefile
index 349a0778..2db9d45e 100644
--- a/Makefile
+++ b/Makefile
@@ -15,18 +15,13 @@ validate-all: $(VALIDATE)
$(VALIDATE):
heat template-validate -f $(subst validate-,,$@)
-# set CONTROLEXTRA to overcloud-vlan-port.yaml to activate the VLAN
-# auto-assignment from Neutron.
+# You can define in CONTROLEXTRA one or more additional YAML files to further extend the template, some additions could be:
+# - overcloud-vlan-port.yaml to activate the VLAN auto-assignment from Neutron
+# - nfs-source.yaml to configure Cinder with NFS
overcloud.yaml: overcloud-source.yaml block-storage.yaml swift-deploy.yaml swift-source.yaml swift-storage-source.yaml ssl-source.yaml nova-compute-config.yaml $(overcloud_source_deps)
python ./tripleo_heat_merge/merge.py --hot --scale NovaCompute=$${COMPUTESCALE:-'1'} --scale controller=$${CONTROLSCALE:-'1'} --scale SwiftStorage=$${SWIFTSTORAGESCALE:-'0'} --scale BlockStorage=$${BLOCKSTORAGESCALE:-'0'} overcloud-source.yaml block-storage.yaml swift-source.yaml swift-storage-source.yaml ssl-source.yaml swift-deploy.yaml nova-compute-config.yaml ${CONTROLEXTRA} > $@.tmp
mv $@.tmp $@
-overcloud-with-block-storage-nfs.yaml: overcloud-source.yaml block-storage-nfs.yaml nfs-server-source.yaml swift-source.yaml swift-storage-source.yaml ssl-source.yaml $(overcloud_source_deps)
- # $^ won't work here because we want to list nova-compute-instance.yaml as
- # a prerequisite but don't want to pass it into merge.py
- python ./tripleo_heat_merge/merge.py --hot --scale NovaCompute=$${COMPUTESCALE:-'1'} --scale controller=$${CONTROLSCALE:-'1'} --scale SwiftStorage=$${SWIFTSTORAGESCALE:-'0'} --scale BlockStorage=$${BLOCKSTORAGESCALE:-'1'} overcloud-source.yaml block-storage-nfs.yaml nfs-server-source.yaml swift-source.yaml swift-storage-source.yaml ssl-source.yaml > $@.tmp
- mv $@.tmp $@
-
undercloud-vm.yaml: undercloud-source.yaml undercloud-vm-nova-config.yaml undercloud-vm-nova-deploy.yaml
python ./tripleo_heat_merge/merge.py --hot $^ > $@.tmp
mv $@.tmp $@
diff --git a/block-storage-nfs.yaml b/block-storage-nfs.yaml
deleted file mode 100644
index b87ef4e5..00000000
--- a/block-storage-nfs.yaml
+++ /dev/null
@@ -1,69 +0,0 @@
-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
-resources:
- BlockStorageAccessPolicy:
- type: OS::Heat::AccessPolicy
- properties:
- AllowedResources:
- - BlockStorage0
- BlockStorageUser:
- type: AWS::IAM::User
- properties:
- Policies: [ { get_resource: BlockStorageAccessPolicy } ]
- BlockStorageKey:
- type: AWS::IAM::AccessKey
- properties:
- UserName:
- get_resource: BlockStorageUser
- BlockStorage0CompletionCondition:
- type: AWS::CloudFormation::WaitCondition
- depends_on: controller0Config
- properties:
- Handle: {get_resource: BlockStorage0CompletionHandle}
- Count: '1'
- Timeout: '1800'
- BlockStorage0CompletionHandle:
- type: AWS::CloudFormation::WaitConditionHandle
- BlockStorage0:
- type: OS::Nova::Server
- properties:
- image:
- {get_param: BlockStorageImage}
- flavor: {get_param: OvercloudBlockStorageFlavor}
- key_name: {get_param: KeyName}
- metadata:
- completion-handle:
- get_resource: BlockStorage0CompletionHandle
- os-collect-config:
- cfn:
- access_key_id:
- get_resource: BlockStorageKey
- secret_access_key:
- get_attr: [ BlockStorageKey, SecretAccessKey ]
- stack_name: {get_param: 'AWS::StackName'}
- keystone:
- host: {get_attr: [controller0, networks, ctlplane, 0]}
- cinder:
- db: {"Fn::Join": ['', ['mysql://cinder:unset@', {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} , '/cinder']]}
- volume_size_mb: '5000'
- service-password:
- get_param: CinderPassword
- include_nfs_backend: 'true'
- nfs_shares:
- - {"Fn::Join": ['', [{get_attr: [controller0, networks, ctlplane, 0]} , ':/mnt/state/var/lib/nfs_share']]}
- admin-password: {get_param: AdminPassword}
- rabbit:
- host: {get_attr: [controller0, networks, ctlplane, 0]}
- username: {get_param: RabbitUserName}
- password: {get_param: RabbitPassword}
- interfaces:
- control: {get_param: NeutronPublicInterface}
diff --git a/compute-config.yaml b/compute-config.yaml
index 8cc73103..9698cc3b 100644
--- a/compute-config.yaml
+++ b/compute-config.yaml
@@ -24,7 +24,6 @@ resources:
public_ip: {get_input: nova_public_ip}
service-password: {get_input: nova_password}
ceilometer:
- db: {get_input: ceilometer_dsn}
debug: {get_input: debug}
metering_secret: {get_input: ceilometer_metering_secret}
service-password: {get_input: ceilometer_password}
diff --git a/compute.yaml b/compute.yaml
index a7a7ab8c..66d4bef0 100644
--- a/compute.yaml
+++ b/compute.yaml
@@ -15,8 +15,6 @@ parameters:
default: ''
constraints:
- allowed_values: ['', Present]
- CeilometerDSN:
- type: string
CeilometerMeteringSecret:
default: unset
description: Secret shared by the ceilometer services.
@@ -274,7 +272,6 @@ resources:
nova_public_ip: {get_param: NovaPublicIP}
nova_api_host: {get_param: NovaApiHost}
nova_password: {get_param: NovaPassword}
- ceilometer_dsn: {get_param: CeilometerDSN}
ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
ceilometer_password: {get_param: CeilometerPassword}
ceilometer_compute_agent: {get_param: CeilometerComputeAgent}
diff --git a/controller.yaml b/controller.yaml
index 77025143..57b07718 100644
--- a/controller.yaml
+++ b/controller.yaml
@@ -170,8 +170,9 @@ parameters:
description: A unique identifier of the MySQL cluster the controller is in.
type: string
default: 'unset' # Has to be here because of the ignored empty value bug
- constraints:
- - length: {min: 4, max: 10}
+ # Drop the validation: https://bugs.launchpad.net/tripleo/+bug/1405446
+ # constraints:
+ # - length: {min: 4, max: 10}
MysqlInnodbBufferPoolSize:
description: >
Specifies the size of the buffer pool in megabytes. Setting to
diff --git a/nfs-server-source.yaml b/nfs-server-source.yaml
deleted file mode 100644
index 8e32e963..00000000
--- a/nfs-server-source.yaml
+++ /dev/null
@@ -1,24 +0,0 @@
-description: 'NFS server share configuration for testing'
-resources:
- controller0Config:
- type: AWS::AutoScaling::LaunchConfiguration
- metadata:
- nfs_server:
- shares:
- Merge::Map:
- NovaCompute0:
- Fn::Join:
- - ' '
- - - get_attr:
- - NovaCompute0
- - networks
- - ctlplane
- - 0
- BlockStorage0:
- Fn::Join:
- - ' '
- - - get_attr:
- - BlockStorage0
- - networks
- - ctlplane
- - 0
diff --git a/nfs-source.yaml b/nfs-source.yaml
new file mode 100644
index 00000000..5d865ea7
--- /dev/null
+++ b/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/nova-compute-config.yaml b/nova-compute-config.yaml
index 2d8168c0..8129cfa1 100644
--- a/nova-compute-config.yaml
+++ b/nova-compute-config.yaml
@@ -12,7 +12,6 @@ resources:
public_ip: {get_input: nova_public_ip}
service-password: {get_input: nova_password}
ceilometer:
- db: {get_input: ceilometer_dsn}
debug: {get_param: Debug}
metering_secret: {get_input: ceilometer_metering_secret}
service-password: {get_input: ceilometer_password}
diff --git a/nova-compute-instance.yaml b/nova-compute-instance.yaml
index 639d971e..70172cb2 100644
--- a/nova-compute-instance.yaml
+++ b/nova-compute-instance.yaml
@@ -15,8 +15,6 @@ parameters:
default: ''
constraints:
- allowed_values: ['', Present]
- CeilometerDSN:
- type: string
CeilometerMeteringSecret:
default: unset
description: Secret shared by the ceilometer services.
@@ -210,7 +208,6 @@ resources:
nova_public_ip: {get_param: NovaPublicIP}
nova_api_host: {get_param: NovaApiHost}
nova_password: {get_param: NovaPassword}
- ceilometer_dsn: {get_param: CeilometerDSN}
ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
ceilometer_password: {get_param: CeilometerPassword}
ceilometer_compute_agent: {get_param: CeilometerComputeAgent}
diff --git a/overcloud-source.yaml b/overcloud-source.yaml
index ee759ea7..a3d1e34f 100644
--- a/overcloud-source.yaml
+++ b/overcloud-source.yaml
@@ -116,6 +116,10 @@ parameters:
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.
@@ -419,12 +423,6 @@ resources:
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]}
- CeilometerDSN:
- Fn::Join:
- - ''
- - - mysql://ceilometer:unset@
- - &compute_database_host {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
- - /ceilometer
NeutronNetworkType:
get_param: NeutronNetworkType
NeutronTunnelTypes:
@@ -571,6 +569,7 @@ resources:
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:
diff --git a/overcloud-without-mergepy.yaml b/overcloud-without-mergepy.yaml
index 803a5016..f704abaa 100644
--- a/overcloud-without-mergepy.yaml
+++ b/overcloud-without-mergepy.yaml
@@ -509,6 +509,8 @@ resources:
NeutronAgentMode: {get_param: NeutronAgentMode}
NeutronMechanismDrivers: {get_param: NeutronMechanismDrivers}
NeutronAllowL3AgentFailover: {get_param: NeutronAllowL3AgentFailover}
+ NeutronNetworkType: {get_param: NeutronNetworkType}
+ NeutronTunnelTypes: {get_param: NeutronTunnelTypes}
NovaPassword: {get_param: NovaPassword}
NtpServer: {get_param: NtpServer}
PublicVirtualInterface: {get_param: PublicVirtualInterface}
@@ -577,12 +579,6 @@ resources:
RabbitUserName: {get_param: RabbitUserName}
SnmpdReadonlyUserName: {get_param: SnmpdReadonlyUserName}
SnmpdReadonlyUserPassword: {get_param: SnmpdReadonlyUserPassword}
- CeilometerDSN:
- list_join:
- - ''
- - - mysql://ceilometer:unset@
- - &compute_database_host {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
- - /ceilometer
BlockStorage:
type: OS::Heat::ResourceGroup