Skip to content

fix(install): avoid installing incompatible docker snap - #3666

Merged
krishicks merged 4 commits into
NVIDIA:mainfrom
olivercalder:prevent-docker-snap-installation
Sep 24, 2026
Merged

krishicks merged 4 commits into
NVIDIA:mainfrom
olivercalder:prevent-docker-snap-installation

Conversation

@olivercalder

Copy link
Copy Markdown
Contributor

Summary

The work to land RFC-0012 added new restrictions when interacting with Docker by setting NoNewPrivs. This prevents the docker snap from transitioning its AppArmor profile from snap.docker.dockerd to docker-default when it tries to launch a container. Thus, the docker snap is currently incompatible with OpenShell.

This commit prevents install.sh from installing the docker snap before installing the openshell snap, and instead requires the user to install a non-snap Docker daemon before proceeding with installing the snap. Systems without the snap command are unaffected, since they install native packages without checking for the presence of Docker or other compute providers.

Related Issue

Fixes recently-landed changes in #3656, with NoNewPrivs introduced in #2942.

Changes

  • Don't install the docker snap when installing the openshell snap
  • If trying to install the snap, bail installation if docker is not present or the docker snap is present, and ask the user to install a non-snap Docker daemon
  • All non-snap installation behavior is unaffected
  • Update tests and documentation to cover these

Testing

  • mise run pre-commit passes
  • Unit tests added/updated
  • E2E tests added/updated (if applicable)

Checklist

  • Follows Conventional Commits
  • Commits are signed off (DCO)
  • Architecture docs updated (if applicable)

The work to land RFC-0012 added new restrictions when interacting with
Docker by setting `NoNewPrivs`. This prevents the `docker` snap from
transitioning its AppArmor profile from `snap.docker.dockerd` to
`docker-default` when it tries to launch a container. Thus, the `docker`
snap is currently incompatible with OpenShell.

This commit prevents `install.sh` from installing the `docker` snap
before installing the `openshell` snap, and instead requires the user to
install a non-snap Docker daemon before proceeding with installing the
snap. Systems without the `snap` command are unaffected, since they
install native packages without checking for the presence of Docker or
other compute providers.

Signed-off-by: Oliver Calder <oliver.calder@canonical.com>
@copy-pr-bot

copy-pr-bot Bot commented Sep 24, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

Comment thread .github/workflows/release-canary.yml Outdated
Comment thread .agents/skills/test-release-canary/SKILL.md Outdated
Comment thread CI.md Outdated

@olivercalder olivercalder left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the review

Comment thread .agents/skills/test-release-canary/SKILL.md Outdated
Comment thread .github/workflows/release-canary.yml Outdated
Comment thread CI.md Outdated
@purp purp added this to the OpenShell 0.1.0 milestone Sep 24, 2026
Signed-off-by: Oliver Calder <oliver.calder@canonical.com>
Signed-off-by: Oliver Calder <oliver.calder@canonical.com>
@krishicks

Copy link
Copy Markdown
Collaborator

/ok to test 7f8424d

Comment thread tasks/scripts/test-packaging-assets.sh Outdated
…alls work

Signed-off-by: Oliver Calder <oliver.calder@canonical.com>
@krishicks

Copy link
Copy Markdown
Collaborator

/ok to test 7f8424d

@copy-pr-bot

copy-pr-bot Bot commented Sep 24, 2026

Copy link
Copy Markdown

/ok to test 7f8424d

@krishicks, there was an error processing your request: E2

See the following link for more information: https://docs.gha-runners.nvidia.com/cpr/e/2/

@krishicks

Copy link
Copy Markdown
Collaborator

/ok to test 05a42b8

@krishicks
krishicks added this pull request to the merge queue Sep 24, 2026
Merged via the queue into NVIDIA:main with commit 6c864ec Sep 24, 2026
72 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants