How to request roles for JupyterHub on My DataLake Services

Stack services are hosted and pre-deployed applications and environments. There are four of them:

  • stack-dask

  • stack-jupyter

  • islet

  • hook

This guide shows how to request access and quota roles for the JupyterHub service on My DataLake Services — including how to modify or remove them.

You can run Python code in JupyterLab environment on Central or any of the bridge clouds. You will be able to interactively access satellite imagery, cloud-native functions, time-series analysis, machine learning on EO data, search through the EODATA catalog, and more.

Roles allow you to access different features of the Destination Earth cloud. This article explains how to request access and quota roles for the JupyterHub stack service.

What we are going to cover

Prerequisites

No. 1 Account

You need a profile on My DataLake Services: How to create a profile on My DataLake Services.

No. 2 Administrative privileges within a project

You must be a member of a project and have administrative privileges in it. That project must also be accepted by the My DataLake Services operator.

To create a project, see: How to create a project on My DataLake Services.

Alternatively, you can join an existing project and have its admin grant you privileges.

Anyway, sign in to My DataLake Services: https://application.data.destination-earth.eu/

Enable Stack Jupyter while creating a project

There are two ways to set up any service, one is while creating a project and the other afterwards, from the Role requests menu.

Start creating project as described in Prerequisite No. 2. Mark the hook checkbox:

../../_images/add-project-stack-jupyter.png

Finish creating the project, waiting for operator and all. In Active roles you will see two roles active:

  • hda, the one that is the default in all projects and

  • stack-jupyter, the one that was created with the project itself.

../../_images/active-roles-stack-jupyter.png

In option Role requests, the hook service will already be marked with a button Edit access.

../../_images/stack-jupyter-role-edit-access-activated.png

Choosing which role to request

The other way is creating a blank project, that is, with just the hda default role. It can also be any project in which you do not directly mark the stack-jupyter role.

Navigate to Role requests:

../../_images/stack-jupyter-request-access-button.png

If you do not already have access to stack-jupyter, click the Request access button.

You will arrive at a page with two sections: Access roles and Quota roles. Both are required.

Access roles

For the stack-jupyter service, there is only one access role:

stack-jupyter

Access to Stack Jupyter Service (SaaS)

Click the Select role radio button.

../../_images/jupyterhub-roles-3.png

You must enter a justification in the Description of planned activities field.

Click the Request role button to continue.

Quota roles

There are three quota roles for stack-jupyter:

stack-jupyter-low

Low quota for Stack JupyterHub Service. Consists of 2 cores and 2 GB RAM.

stack-jupyter-medium

Medium quota for Stack JupyterHub Service. Consists of 6 cores and 16 GB RAM.

stack-jupyter-high

High quota for Stack JupyterHub Service. Consists of 12 cores and 32 GB RAM.

../../_images/jupyterhub-roles-4.png

Select your desired quota role using the radio button, and again fill in the Description of planned activities field.

Click the Request role button to finalize.

../../_images/jupyterhub-roles-6.png

Operator approval

Your submitted requests will now be reviewed by the DEDL operator.

Viewing active roles

To check current active roles, go to AccessRole requests in the left-hand menu. Example where all available roles are active:

../../_images/jupyterhub-roles-8.png

Viewing role requests

The Role requests menu item shows a full history of your requests. Below, both access and quota roles are approved:

../../_images/jupyterhub-roles-7.png

Click Details to view the exact details of a specific request, such as stack-jupyter:

../../_images/jupyterhub-roles-9.png

Changing quota roles

It is not possible to change access roles (since there’s only one), but quota roles can be modified.

Suppose you currently have stack-jupyter-high.

../../_images/jupyterhub-roles-10.png

To downgrade, click Role requests, then click Edit access in the row for stack-jupyter:

../../_images/jupyterhub-roles-11.png

You can now choose a different quota role:

../../_images/jupyterhub-roles-12.png

Choose from the other two roles — low or medium — by clicking the radio button.

Enter your justification under Description of planned activities. The Request role button becomes active. Click it.

A message will appear in the bottom right corner:

../../_images/jupyterhub-roles-13.png

The new request will now appear as PENDING in your role request list:

../../_images/jupyterhub-roles-14.png

Managing pending requests

You have two options:

Details

View metadata about the request.

Delete

Remove the request before the operator sees it.

You will be prompted to cancel or confirm:

../../_images/jupyterhub-roles-15.png

If confirmed, a success message appears:

../../_images/my-dask-roles-15.png

The request may be marked as REJECTED. There are two reasons this might happen:

  • The user deleted the request

  • The operator rejected it manually

If rejected, click Details to see the operator’s message.

If approved, the request will be marked APPROVED:

../../_images/jupyterhub-roles-7.png

Go to Active roles to confirm your updated quota role:

../../_images/jupyterhub-roles-19.png

Email notifications

You’ll receive an email for every status change:

../../_images/jupyterhub-roles-18.png

Use your email client’s search function to track changes related to stack-jupyter.

How to remove access to a service

For each service, one quota role and at least one access role are required. If quota and/or access role is missing, service will not be available. To eliminate access role for the stack-jupyter service, click first on User & privileges to see the users present and then click on gear icon. You will see access roles that are active:

../../_images/stack-jupyter-active-access-role.png

Now click on checkbox near stack-jupyter, which will make it inactive while the Save button is now active.

../../_images/checkbox-not-active-for-stack-jupyter.png

Click on Save produces a message in lower right corner:

../../_images/access-role-updated-successfully1.png

and the now there is no active access role for stack-jupyter service. To verify, click on Active roles and see that stack-jupyter only has a quota role but not the access role, meaning, it cannot access the data.

../../_images/stack-jupyter-without-access-role.png

How to delete the account

If you want to stop being an owner of a My DataLake Services account, you use Delete account button from the Profile page. See How to create a profile on My DataLake Services.

Troubleshooting assigned roles

Various issues may occur when accessing services.

Incorrect role assigned

If your role does not include quota, you may see this error:

Request failed with status code 403
Response text: Missing quota role

Quota or limit exceeded

If your assigned resources have been exceeded, see the FAQ: HDA quotas exceeded

Next steps

You should now have full access to the JupyterHub environment with the quota you selected.

See status page for Destination Earth Data Lake Jupyter services.