Bring back (abandoned) support for Cinder/NFS
We used to have a YAML file providing a test setup for Cinder/NFS which could be used via a special Makefile target; this was not used in CI anymore though and overtime things broke. This change aims at bringing that functionality back and also make it easier to use it via a number of changes: * delete unmaintained nfs-server-source (not working due to changes in the elements) * delete (unneeded) block-storage-nfs * remove the hidden block-storage-with-nfs target from Makefile * add a some nfs-source which supports newer elements and newer template language as well * improve existing comments in Makefile documeting how to use it Change-Id: I96144ee2f4ca33bd7467f09ad960ea268c1250bf
This commit is contained in:
parent
f0ba1a6324
commit
6674c39d80
11
Makefile
11
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 $@
|
||||
|
@ -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}
|
@ -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
|
36
nfs-source.yaml
Normal file
36
nfs-source.yaml
Normal file
@ -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
|
Loading…
x
Reference in New Issue
Block a user