New Sagemaker JupyterLab: cannot select instance type after deploying custom container image


After following this guide to deploying custom images for the new Sagemaker JupyterLab, I am not able to create spaces based on the image. I have been testing this using images built from the examples available inline on the guide page, so the issue does not relate to any of my customisations - I wanted to see the examples working first before moving on to customising the image.

Once the image is deployed to ECR and attached to the Sagemaker domain, I do see it in the dropdown on the JupyterLab page in Studio. There is no option to select the default images, only my custom image. The "instance" dropdown just has the headings "Fast Launch" and "All Instances", with no EC2 instance types listed.

Clicking "Run Space" doesn't work - I can see in the browser dev tools that the repsonse is

{"__type":"ValidationException","message":"1 validation error detected: Value null at 'spaceSettings.jupyterLabAppSettings.defaultResourceSpec.ec2InstanceType' failed to satisfy constraint: Member must not be null"}

When I delete the image from the Sagemaker environment, everything starts working again.

When I describe the domain from the CLI, the only difference between the broken and working states is an empty or populated CustomImages under JupyterLabAppSettings.

Has anyone else faced this issue? Or are custom images in JupyterLab in the new Sagemaker Studio "just working" for you? Thanks.

asked 20 days ago46 views
1 Answer
Accepted Answer

We seem to have solved this! Hopefully this might help someone else - I think the documentation could also use extension:

The solution is to perform an extra step after attaching the image to the domain; go into the "Image Details" and then scroll to the bottom, where it shows "Version 1 details". There is a "Kernel" field with just a "-" displaying. Click "Update Configuration" and fill in the kernel with the suggested "Python 3" "Python 3" values. It will also force you to populate the "EFS mount path field", into which I also typed in the defailt value.

There was no option to set the Kernel field when attaching the image, so the need to go and set it via a post-creation update was not obvious.

answered 20 days ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions