nomad-hzb / nomad-hysprint

Apache License 2.0
1 stars 1 forks source link

Missing "baseclasses" #5

Open marcelomgarcia opened 1 month ago

marcelomgarcia commented 1 month ago

Hi, I followed a tutorial in YouTube on how to install a plugin in NOMAD. In the plugins.txt I have (clone the repository):

git+https://github.com/kaust-library/nomad-hysprint.

The package is generated successfully, but when I start the containers (docker compose up), I get an error of in nomad_oasis_app:

  File "/usr/local/lib/python3.11/site-packages/nomad_hysprint/schema_packages/hysprint_package.py", line 32, in <module>
    from baseclasses.helper.add_solar_cell import add_band_gap
ModuleNotFoundError: No module named 'baseclasses'

do I need to add another plugin to my plugins.txt? Which one.

RoteKekse commented 1 month ago

hey marcelo, I was on vaccation sry for the delay.

yes this one: https://github.com/nomad-hzb/nomad-baseclasses

sorry the documentation is not yet on an out of the box level.

here is how our plugin.txt looks like: https://github.com/nomad-hzb/hzb_se_image/blob/main/plugins.txt

only baseclasses is a dependency for hysprint best micha

marcelomgarcia commented 1 month ago

Hi Micha,

Thank for you reply and I hope you had a good vacation.

I don't know if I understood correctly, but I just used you plugins.txt. Now I'm getting a different error in the pydantic. Is this kind of error still with you or should I move to the discord?

Thank you.

Marcelo

a-garcm0b@library-docker-test:~/Work/nomad-oasis_deply/nomad-oasis$ cat ~/Documents/nomad_error_pydantic.txt
nomad_oasis_app       | [2024-08-23 15:48:56 +0000] [19] [ERROR] Exception in worker process
nomad_oasis_app       | Traceback (most recent call last):
nomad_oasis_app       |   File "/usr/local/lib/python3.11/site-packages/gunicorn/arbiter.py", line 609, in spawn_worker
nomad_oasis_app       |     worker.init_process()
nomad_oasis_app       |   File "/usr/local/lib/python3.11/site-packages/uvicorn/workers.py", line 75, in init_process
nomad_oasis_app       |     super().init_process()
nomad_oasis_app       |   File "/usr/local/lib/python3.11/site-packages/gunicorn/workers/base.py", line 134, in init_process
nomad_oasis_app       |     self.load_wsgi()
nomad_oasis_app       |   File "/usr/local/lib/python3.11/site-packages/gunicorn/workers/base.py", line 146, in load_wsgi
nomad_oasis_app       |     self.wsgi = self.app.wsgi()
nomad_oasis_app       |                 ^^^^^^^^^^^^^^^
nomad_oasis_app       |   File "/usr/local/lib/python3.11/site-packages/gunicorn/app/base.py", line 67, in wsgi
nomad_oasis_app       |     self.callable = self.load()
nomad_oasis_app       |                     ^^^^^^^^^^^
nomad_oasis_app       |   File "/usr/local/lib/python3.11/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
nomad_oasis_app       |     return self.load_wsgiapp()
nomad_oasis_app       |            ^^^^^^^^^^^^^^^^^^^
nomad_oasis_app       |   File "/usr/local/lib/python3.11/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
nomad_oasis_app       |     return util.import_app(self.app_uri)
nomad_oasis_app       |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
nomad_oasis_app       |   File "/usr/local/lib/python3.11/site-packages/gunicorn/util.py", line 371, in import_app
nomad_oasis_app       |     mod = importlib.import_module(module)
nomad_oasis_app       |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
nomad_oasis_app       |   File "/usr/local/lib/python3.11/importlib/__init__.py", line 126, in import_module
nomad_oasis_app       |     return _bootstrap._gcd_import(name[level:], package, level)
nomad_oasis_app       |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
nomad_oasis_app       |   File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
nomad_oasis_app       |   File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
nomad_oasis_app       |   File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
nomad_oasis_app       |   File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
nomad_oasis_app       |   File "<frozen importlib._bootstrap_external>", line 940, in exec_module
nomad_oasis_app       |   File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
nomad_oasis_app       |   File "/usr/local/lib/python3.11/site-packages/nomad/app/main.py", line 30, in <module>
nomad_oasis_app       |     from nomad import infrastructure
nomad_oasis_app       |   File "/usr/local/lib/python3.11/site-packages/nomad/infrastructure.py", line 49, in <module>
nomad_oasis_app       |     from nomad.parsing import parsers  # pylint: disable=unused-import
nomad_oasis_app       |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
nomad_oasis_app       |   File "/usr/local/lib/python3.11/site-packages/nomad/parsing/__init__.py", line 19, in <module>
nomad_oasis_app       |     from nomad.parsing.parser import (
nomad_oasis_app       |   File "/usr/local/lib/python3.11/site-packages/nomad/parsing/parser.py", line 34, in <module>
nomad_oasis_app       |     from nomad.datamodel import EntryArchive, EntryMetadata
nomad_oasis_app       |   File "/usr/local/lib/python3.11/site-packages/nomad/datamodel/__init__.py", line 23, in <module>
nomad_oasis_app       |     from .datamodel import (
nomad_oasis_app       |   File "/usr/local/lib/python3.11/site-packages/nomad/datamodel/datamodel.py", line 29, in <module>
nomad_oasis_app       |     from nomad.datamodel.metainfo.common import FastAccess
nomad_oasis_app       |   File "/usr/local/lib/python3.11/site-packages/nomad/datamodel/metainfo/__init__.py", line 52, in <module>
nomad_oasis_app       |     config.load_plugins()
nomad_oasis_app       |   File "/usr/local/lib/python3.11/site-packages/nomad/config/models/config.py", line 1161, in load_plugins
nomad_oasis_app       |     self.plugins = Plugins.parse_obj(_plugins)
nomad_oasis_app       |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
nomad_oasis_app       |   File "pydantic/main.py", line 526, in pydantic.main.BaseModel.parse_obj
nomad_oasis_app       |   File "pydantic/main.py", line 341, in pydantic.main.BaseModel.__init__
nomad_oasis_app       | pydantic.error_wrappers.ValidationError: 30 validation errors for Plugins
nomad_oasis_app       | entry_points -> options -> schemas/nomad_material_processing -> name
a-garcm0b@library-docker-test:~/Work/nomad-oasis_deply/nomad-oasis$  
RoteKekse commented 3 weeks ago

A very sorry do you use the correct docker image: https://github.com/nomad-hzb/hzb_se_image/blob/main/Dockerfile

RoteKekse commented 3 weeks ago

i think for this error you might also need to exclude nomad_material_processing from plugin.txt but if you change to the old docker image the error should not happen

RoteKekse commented 3 weeks ago

i am super sorry for the issues, these plugins are developed for us at HZB and the documentation is not yet on a level where it can be done without consultation

marcelomgarcia commented 3 weeks ago

i am super sorry for the issues, these plugins are developed for us at HZB and the documentation is not yet on a level where it can be done without consultation

Don't worry. I know we are using an experimental fork/branch of NOMAD.

marcelomgarcia commented 3 weeks ago

Hi Micha, finally it's working - or at least NOMAD is starting now. But now the url points to API instead of NOMAD interface. Is this correct? If you could have a quick look that everything is fine, our installation is available here: https://github.com/kaust-library/nomad-oasis.

a-garcm0b@library-docker-test:~/Work/nomad-oasis_deploy/nomad-oasis$ curl http://localhost/nomad-oasis/alive
{"detail":"Not found","info":{"app":{"deployment_url":"http://localhost/fairdi/nomad/latest/api","label":null,"beta":{},"version":"1.3.2.dev5+gf9fea27e7","commit":"","deployment":"oasis","service":"app","name":"NOMAD","homepage":"https://nomad-lab.eu","source_url":"https://gitlab.mpcdf.mpg.de/nomad-lab/nomad-FAIR","maintainer_email":"me@my-oasis.org"},"apis":{"v1":{"root":"/fairdi/nomad/latest/api/v1","dashboard":"/fairdi/nomad/latest/api/v1/extensions/docs","documentation":"/fairdi/nomad/latest/api/v1/extensions/redoc"},"optimade":{"root":"/fairdi/nomad/latest/optimade/v1","dashboard":"/fairdi/nomad/latest/optimade/v1/extensions/docs"},"dcat":{"root":"/fairdi/nomad/latest/dcat","dashboard":"/fairdi/nomad/latest/dcat/extensions/docs"}}}}

Thank you.

RoteKekse commented 3 weeks ago

Hey, what happens when you opening in browser http://localhost/nomad-oasis/

RoteKekse commented 3 weeks ago

I have to check tmw I am in meeting all day

marcelomgarcia commented 3 weeks ago

Hey, what happens when you opening in browser http://localhost/nomad-oasis/

The same, I tried both on a linux server and my local Windows laptop. I just didn't know what to expect. Maybe you have API in one part and "vanilla" NOMAD some where else. Thank you very much for your time and attention.