Description
Describe the bug
I'm trying to deploy Spectrum Scale enabling Object protocols. The installation eventually succeeds, but the resulting configuration is not what I want.
i.e. I have two filesystems: one is large, for my user data (large_fs
), and the other one is small, for the CES shared root (small_fs
). I'm following the recommendation (e.g. here) to use a separate filesystem for CES shared root.
I want all my user data, however, on the other filesystem (large_fs
). This is not currently possible as the Object protocols deployment will always use the CES shared root filesystem for user data. In fact, there is no option to specify the filesystem to be used by swift (none listed in the sample). Instead, the CES shared root filesystem is used for swift - which is not what I want.
Looking at the code, I see that in fact the scale_protocols.mountpoint
variable is being used for the mmobj -g GPFSMountPoint
command: https://github.com/IBM/ibm-spectrum-scale-install-infra/blob/nextgen/roles/obj_configure/tasks/configure.yml#L51
GPFSMountPoint is the mount path of the GPFS file system that is used by the Object store.
https://www.ibm.com/docs/en/spectrum-scale/5.1.2?topic=reference-mmobj-command
To Reproduce
Here are the roles I'm running:
- ibm.spectrum_scale.core_prepare
- ibm.spectrum_scale.core_install
- ibm.spectrum_scale.core_configure
- ibm.spectrum_scale.core_verify
- ibm.spectrum_scale.gui_prepare
- ibm.spectrum_scale.gui_install
- ibm.spectrum_scale.gui_configure
- ibm.spectrum_scale.gui_verify
- ibm.spectrum_scale.obj_prepare
- ibm.spectrum_scale.obj_install
- ibm.spectrum_scale.obj_configure
- ibm.spectrum_scale.obj_verify
Here are (the relevant) variables I'm defining:
scale_protocols:
smb: true
nfs: true
object: true
scale_ces_obj:
enable_s3: false
local_keystone: true
enable_file_access: false
endpoint_hostname: "my-cluster-hostname"
object_fileset: object_fileset
pwd_file: obj_passwd.j2
admin_user: admin
admin_pwd: ***
database_pwd: ***
Expected behavior
I need to be able to control the file system used by swift. Based on the documentation it needs to be defined as:
mount path of the GPFS file system that is used by the Object store.
Hence, I'm suggesting to add additional variables to scale_ces_obj
to define the file system (mount point) used by swift.
Environment
ansible 2.9.27
python 3.9.7
GPFS 5.1.2.0 (ppc64LE)