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 --cluster-hostname param #575

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

Object deployment: incorrect mmobj --cluster-hostname param #575

acch opened this issue Nov 17, 2021 · 1 comment
Assignees
Labels
Architecture: ppc64le Component: Cluster Export Services (overall) Component: Object OS: RHEL Severity: 2 Indicates that the issue is critical and must be addressed before 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 differs from what I've defined in my variables.

i.e. I'm defining a scale_ces_obj.endpoint_hostname (consistent with the sample):

scale_ces_obj:
  endpoint_hostname: "my-cluster-hostname"

However, after installation the configuration includes the following, incorrect, cluster hostname (which seems to be the hostname of my first Object protocol node):

# mmobj config list --ccrfile spectrum-scale-object.conf --section swift-config
[swift-config]
endpoint_hostname = p1212-kvm1

Setting a different swift endpoint hostname than the one that clients use to connect (CES IP) causes authentication to fail, as in this example:

# swift stat
HTTPConnectionPool(host='p1212-kvm1', port=8080): Max retries exceeded with url: /v1/AUTH_3cb...17f (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f0a1c13a970>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))

Looking at the code, I see that in fact the endpoint_hostname variable isn't being used for the mmobj --cluster-hostname command: https://github.com/IBM/ibm-spectrum-scale-install-infra/blob/nextgen/roles/obj_configure/tasks/configure.yml#L51

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 cluster hostname. Based on the documentation it needs to be defined as:

host name that is used to return one of the CES IP addresses

Environment

ansible 2.9.27
python 3.9.7
GPFS 5.1.2.0 (ppc64LE)
@acch acch self-assigned this Nov 17, 2021
@acch acch added the Severity: 2 Indicates that the issue is critical and must be addressed before milestone. label Nov 17, 2021
@acch
Copy link
Contributor Author

acch commented Nov 17, 2021

Will submit a PR once I can get to it...

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: 2 Indicates that the issue is critical and must be addressed before milestone. Type: bug Indicates issue is an undesired behavior, usually caused by code error.
Projects
None yet
Development

No branches or pull requests

1 participant