kuleuven / mango-portal

A web based front-end to iRODS https://irods.org
BSD 3-Clause "New" or "Revised" License
2 stars 1 forks source link

Error When Installing Mango-Portal #1

Open GokulVijayakumarRam opened 2 months ago

GokulVijayakumarRam commented 2 months ago

Hi, I was trying to install mango portal for my iRODS.

my ienv is: irods_version - 4.3.2 irods_session_environment_file - /root/.irods/irods_environment.json.2147579 irods_environment_file - /root/.irods/irods_environment.json irods_host - #####.####.ac.uk irods_port - 1247 irods_zone_name - newZone irods_user_name - newRods

Python Version: Python 3.10.6

when running the last step ( ./run_waitress.sh ) I had the following error

No irods session found in pool, recreating one INFO:root:Requested operator info for zone newZone WARNING:root:Failed getting operator session for zone newZone ERROR:app:'NoneType' object has no attribute 'user' Traceback (most recent call last): File "/home/usern/vijayakumarg/mango-portal/venv/lib/python3.10/site-packages/flask/app.py", line 865, in full_dispatch_request rv = self.preprocess_request() File "/home/usern/vijayakumarg/mango-portal/venv/lib/python3.10/site-packages/flask/app.py", line 1239, in preprocess_request rv = self.ensure_sync(before_func)() File "/home/usern/vijayakumarg/mango-portal/src/app.py", line 230, in init_and_secure_views irods_session_pool.add_irods_session(session["userid"], irods_session) File "/home/usern/vijayakumarg/mango-portal/src/irods_session_pool.py", line 106, in add_irods_session signals.session_pool_user_session_created.send( File "/home/usern/vijayakumarg/mango-portal/venv/lib/python3.10/site-packages/blinker/base.py", line 307, in send result = receiver(sender, **kwargs) File "/home/usern/vijayakumarg/mango-portal/src/plugins/user_tantra/init.py", line 35, in enrich_irods_session_listener user_object = zone_operator.user.get(parameters["username"]) AttributeError: 'NoneType' object has no attribute 'user' s/home/usern/vijayakumarg/mango-portal/src/plugins/user_tantra/init.py changed; reloading ... Gracefully killing the server.

Could you please help me with this?

GokulVijayakumarRam commented 2 months ago

I went through the code and found out that this line

zone_operator = get_zone_operator_session(parameters["zone"])

in /mango-portal/src/plugins/user_tantra/init.py is returning None.

paulborgermans commented 2 months ago

Hi, the plugins are mostly kuleuven specific, your starting point should be the script src/run_waitress_generic_local.sh and the configuration it uses. The modules/blueprints in src/plugins are mostly meant to run in a specific environment (kuleuven) and serve as examples to develop your own plugins. Work is planned to make the installation and configuration more straight forward out of the box

GokulVijayakumarRam commented 2 months ago

Hi Thanks for the reply. While going through the src/run_waitress_generic_local.sh src/run_waitress.sh

we saw some lines

export OIDC_ISSUER_URL=https://idp.kuleuven.be/auth/realms/kuleuven
export OIDC_CLIENT_ID=oidcapp
.
.
.
if which data-platform-cli &>/dev/null; then
#  export API_TOKEN=$(data-platform-cli token --tier p)
#fi

Are these lines necessary? could you please let us know what it does?

I went into the https://idp.kuleuven.be/auth/realms/kuleuven and saw the following content

{
    "realm": "kuleuven",
    "public_key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA15ZDcf2cdnqMn9hG5UCRo2P4SsRRnl2yZ0UeHd8JaJ7a9u1vjZ5JDmW3um43fHwMNbbwPz5Is/D0b/QKRkMfQJy3VBX9pmV8Dbrd1/0ynqSErxWLy8bDCJXpVQHrXnCWEX8A3Md3J97+zhRkBCBP+FzVGzQcwUjIw/wbhtgugCs7n7LrHHc7+Kxi6l77TCNdvOv4ujWB5dSOneV+8EhTAaxV4LHCJUK9tMdhrBZb1hZDrRjibIZCM6rb05ghPcmq/3I96hj4NyGVdg+zEG4V7Ps5uQTlGQ4Pz0Z9tJLeOeALtGH4whIxkAAMsUXD50+by+Sbl9Hms8LZSAkZj27o0QIDAQAB",
    "token-service": "https://idp.kuleuven.be/auth/realms/kuleuven/protocol/openid-connect",
    "account-service": "https://idp.kuleuven.be/auth/realms/kuleuven/account",
    "tokens-not-before": 0
}

Is my system also importing and using this key? Please let me know, thanks