Make nfs version for nova ephemeral storage configurable

New parameter ``NovaNfsVersion`` allow configuring the NFS version
used for nova storage (when NovaNfsEnabled is true). Since NFSv3
does not support full locking a NFSv4 version need to be used. To
not break current installations the default is the previous hard
coded version 4.

Change-Id: I810478ed82ee6dc056d9652be91dc45b123e78cf
This commit is contained in:
Martin Schuppert 2019-03-15 11:14:25 +01:00 committed by Harald Jensås
parent 0bb76dc9fc
commit 393e89bfb6
4 changed files with 24 additions and 1 deletions

View File

@ -97,6 +97,16 @@ parameters:
default: 'context=system_u:object_r:nfs_t:s0' default: 'context=system_u:object_r:nfs_t:s0'
description: NFS mount options for nova storage (when NovaNfsEnabled is true) description: NFS mount options for nova storage (when NovaNfsEnabled is true)
type: string type: string
NovaNfsVersion:
default: '4'
description: >
NFS version used for nova storage (when NovaNfsEnabled is true). Since
NFSv3 does not support full locking a NFSv4 version need to be used.
To not break current installations the default is the previous hard
coded version 4.
type: string
constraints:
- allowed_pattern: "^4.?[0-9]?"
CinderEnableRbdBackend: CinderEnableRbdBackend:
default: false default: false
description: Whether to enable or not the Rbd backend for Cinder description: Whether to enable or not the Rbd backend for Cinder
@ -582,7 +592,8 @@ outputs:
nfs_backend_enable: {get_param: NovaNfsEnabled} nfs_backend_enable: {get_param: NovaNfsEnabled}
nfs_share: {get_param: NovaNfsShare} nfs_share: {get_param: NovaNfsShare}
nfs_options: {get_param: NovaNfsOptions} nfs_options: {get_param: NovaNfsOptions}
mount: name=/var/lib/nova/instances src="{{nfs_share}}" fstype=nfs4 opts="_netdev,bg,{{nfs_options}},vers=4,nfsvers=4" state=mounted nfs_vers: {get_param: NovaNfsVersion}
mount: name=/var/lib/nova/instances src="{{nfs_share}}" fstype=nfs4 opts="_netdev,bg,{{nfs_options}},vers={{nfs_vers}},nfsvers={{nfs_vers}}" state=mounted
when: nfs_backend_enable|bool when: nfs_backend_enable|bool
- name: is Nova Resume Guests State On Host Boot enabled - name: is Nova Resume Guests State On Host Boot enabled
set_fact: set_fact:

View File

@ -60,6 +60,8 @@ parameter_defaults:
# NovaNfsShare: '' # NovaNfsShare: ''
## Mount options for the NFS instance file storage mount point ## Mount options for the NFS instance file storage mount point
# NovaNfsOptions: 'context=system_u:object_r:nfs_t:s0' # NovaNfsOptions: 'context=system_u:object_r:nfs_t:s0'
## NFS version to be used to mount the NovaNfsShare. Default 4
# NovaNfsVersion: '4.2'
#### CEPH SETTINGS #### #### CEPH SETTINGS ####

View File

@ -0,0 +1,8 @@
---
features:
- |
New parameter ``NovaNfsVersion`` allow configuring the NFS version
used for nova storage (when NovaNfsEnabled is true). Since NFSv3
does not support full locking a NFSv4 version need to be used. To
not break current installations the default is the previous hard
coded version 4.

View File

@ -50,8 +50,10 @@ environments:
- NovaNfsEnabled - NovaNfsEnabled
- NovaNfsShare - NovaNfsShare
- NovaNfsOptions - NovaNfsOptions
- NovaNfsVersion
sample_values: sample_values:
NovaNfsEnabled: True NovaNfsEnabled: True
NovaNfsVersion: '4.2'
static: static:
- NovaNfsEnabled - NovaNfsEnabled
description: | description: |