HDFGroup / hsds

Cloud-native, service based access to HDF data
https://www.hdfgroup.org/solutions/hdf-kita/
Apache License 2.0
129 stars 53 forks source link

Login does not work #53

Closed Akshay-Thakare closed 4 years ago

Akshay-Thakare commented 4 years ago

Hi,

I was attempting to setup hsds on AWS k8s instance but for some odd reason the default password admin:admin does not seem to work even when set in passwd.txt file.

When trying to run $ hsconfigure it keeps giving the error Unauthorized (username/password or api key not valid)

My deployment yaml looks as follows (have some same for dn container too)

containers:
        -
          name: sn
          image: hdfgroup/hsds:latest
          ports:
          .....
          env:
          - name: HSDS_ENDPOINT
            value: http://localhost:5101

I did ssh into the sn container to check if the passwd.txt file was present and indeed it was. I also created my own docker image with password file set as suggested in the document but with no luck.

Kindly let me know how to resolve this issue.

Thanks, Akshay

jreadey commented 4 years ago

There's been a recent change where the passwd.txt no longer get built into the docker image. Instead for kubernetes a secret is created with the passd.txt contents.

Try following this updated guid for installing on aws: https://github.com/HDFGroup/hsds/blob/master/docs/kubernetes_install_aws.md, and let me know how it goes.

Akshay-Thakare commented 4 years ago

@jreadey I did try the new steps and found a few missing parts for which i created a PR https://github.com/HDFGroup/hsds/pull/55

Now i am able to login using hsconfigure but when i try to create a file i keep getting a 404 error as follows

Python 3.7.6 (default, Jan  8 2020, 13:42:34)
[Clang 4.0.1 (tags/RELEASE_401/final)] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import h5pyd as h5py
>>> import numpy as np
>>> a = np.arange(4).reshape(2,2)
>>> a
array([[0, 1],
       [2, 3]])
>>> f = h5py.File('test.h5', 'w')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/i334172/opt/anaconda3/envs/homeCam/lib/python3.7/site-packages/h5pyd/_hl/files.py", line 233, in __init__
    raise IOError(rsp.status_code, rsp.reason)
OSError: [Errno 404] Not Found

Could you please help with this? I had also raised this issue in the h5pyd repo https://github.com/HDFGroup/h5pyd/issues/82

jreadey commented 4 years ago

Two things:

  1. With h5pyd the filepath must always be an absolute path (e.g. /test.h5)
  2. Only the admin user is allowed to make top-level domains

Typically you'll want to use admin to create folders like /home/akshay/ with akshay as the owner of the folder. Then as akshay, you can create domains with paths in that folder, e.g. /home/akshay/test.h5.

See steps 4 and 5 in "Test the Deployment using Integration Test and Test Data".

Akshay-Thakare commented 4 years ago

It worked. Thank you