IPython fails to start during DSS start PermissionError: [Errno 13] Permission denied

Options
SallmanGhanem
SallmanGhanem Dataiku DSS Core Designer, Dataiku DSS & SQL, Dataiku DSS ML Practitioner, Dataiku DSS Core Concepts, Registered Posts: 5 ✭✭✭✭

Hi!

I got Dataiku DSS up and running. The backend works and nginx is up and running. However the IPython fails to start. This results in the inability to use jupyter notebooks inside Dataiku DSS. Checking the ipython.log gives the following traceback:

Traceback (most recent call last):
  File "/opt/dataiku/dataiku-dss-8.0.3/dku-jupyter/dkulauncher.py", line 3, in <module>
    main()
  File "/opt/dataiku/dataiku-dss-8.0.3/python36.packages/jupyter_core/application.py", line 266, in launch_instance
    return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
  File "/opt/dataiku/dataiku-dss-8.0.3/python36.packages/traitlets/config/application.py", line 663, in launch_instance
    app.initialize(argv)
  File "</opt/dataiku/dataiku-dss-8.0.3/python36.packages/decorator.py:decorator-gen-7>", line 2, in initialize
  File "/opt/dataiku/dataiku-dss-8.0.3/python36.packages/traitlets/config/application.py", line 87, in catch_config_error
    return method(app, *args, **kwargs)
  File "/opt/dataiku/dataiku-dss-8.0.3/dku-jupyter/packages/notebook/notebookapp.py", line 1513, in initialize
    super(NotebookApp, self).initialize(argv)
  File "</opt/dataiku/dataiku-dss-8.0.3/python36.packages/decorator.py:decorator-gen-6>", line 2, in initialize
  File "/opt/dataiku/dataiku-dss-8.0.3/python36.packages/traitlets/config/application.py", line 87, in catch_config_error
    return method(app, *args, **kwargs)
  File "/opt/dataiku/dataiku-dss-8.0.3/python36.packages/jupyter_core/application.py", line 242, in initialize
    self.migrate_config()
  File "/opt/dataiku/dataiku-dss-8.0.3/python36.packages/jupyter_core/application.py", line 168, in migrate_config
    migrate()
  File "/opt/dataiku/dataiku-dss-8.0.3/python36.packages/jupyter_core/migrate.py", line 246, in migrate
    ensure_dir_exists(env['jupyter_config'])
  File "/opt/dataiku/dataiku-dss-8.0.3/python36.packages/jupyter_core/utils/__init__.py", line 13, in ensure_dir_exists
    os.makedirs(path, mode=mode)
  File "/opt/dataiku/design/bin/../pyenv/lib/python3.6/os.py", line 220, in makedirs
    mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/home/.jupyter'

This of course implies that there is some permission error where the user running dataiku can't access /home/.jupyter. However, going into /home/ as root user there is no file .jupyter inside.

Dataiku was installed under the /opt/ directory. Any idea what could be the issue? Or how to resolve this?

Best Answer

  • Sergey
    Sergey Dataiker, Dataiku DSS Core Designer, Dataiku DSS & SQL, Dataiku DSS Core Concepts Posts: 365 Dataiker
    Answer ✓
    Options

    Hi @SallmanGhanem

    The issue is not reading that dir but creating that dir inside /home which is a really strange place for .jupyter dir location.

    Does your DSS system user has a valid home directory? The default location for .jupyter directory I would expect inside /home/<DSS_system_user>/ where DSS system user can write.

Answers

  • tgb417
    tgb417 Dataiku DSS Core Designer, Dataiku DSS & SQL, Dataiku DSS ML Practitioner, Dataiku DSS Core Concepts, Neuron 2020, Neuron, Registered, Dataiku Frontrunner Awards 2021 Finalist, Neuron 2021, Neuron 2022, Frontrunner 2022 Finalist, Frontrunner 2022 Winner, Dataiku Frontrunner Awards 2021 Participant, Frontrunner 2022 Participant, Neuron 2023 Posts: 1,595 Neuron
    edited July 17
    Options

    It looks like you may be running on Linux and DSS version 8.0.3.

    If so you might want to try:

    1. Looking at this page
      1. https://doc.dataiku.com/dss/latest/installation/python.html
    2. In the implementations that I've run DSS runs under a DSS-specific account, not as root. Does your DSS user have access to the files in question?
    3. Global installation of tools often has to be done as root with the Sudo command.
    4. There is a useful shell script that checks for dependencies that might help:
      install-deps.sh -check
    5. Submitting a support ticket
  • SallmanGhanem
    SallmanGhanem Dataiku DSS Core Designer, Dataiku DSS & SQL, Dataiku DSS ML Practitioner, Dataiku DSS Core Concepts, Registered Posts: 5 ✭✭✭✭
    Options

    Following @sergeyd
    's suggestion I realized that the dataiku system user did not have permission to write inside the /home directory. Therefore as root I made a new folder /home/<DSS_system_user>/ where the system user can write. And I made sure to change the home directory of that user user /home/<DSS_system_user>/ so now when running dss run as the dataiku system user to correctly tried to create the .jupyter file. Thank you so much!

Setup Info
    Tags
      Help me…