Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Object deployment: incorrect mmobj -g GPFSMountPoint param #576

Open
acch opened this issue Nov 17, 2021 · 1 comment
Open

Object deployment: incorrect mmobj -g GPFSMountPoint param #576

acch opened this issue Nov 17, 2021 · 1 comment
Labels
Architecture: ppc64le Component: Cluster Export Services (overall) Component: Object OS: RHEL Severity: 3 Indicates the the issue is on the priority list for next milestone. Type: bug Indicates issue is an undesired behavior, usually caused by code error.

Comments

@acch
Copy link
Contributor

acch commented Nov 17, 2021

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)
@acch acch added Architecture: ppc64le Component: Cluster Export Services (overall) Component: Object OS: RHEL Severity: 3 Indicates the the issue is on the priority list for next milestone. Type: bug Indicates issue is an undesired behavior, usually caused by code error. labels Nov 17, 2021
@rajan-mis
Copy link
Member

rajan-mis commented Nov 17, 2021

Yes @acch . you are right. we can't use cessharedRoot Fs for object . it will fail.

Yes agree,

scale_ces_obj:
      mount_point: 

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Architecture: ppc64le Component: Cluster Export Services (overall) Component: Object OS: RHEL Severity: 3 Indicates the the issue is on the priority list for next milestone. Type: bug Indicates issue is an undesired behavior, usually caused by code error.
Projects
None yet
Development

No branches or pull requests

2 participants