commit | c9efb0c1d5a96383bf4037309fc0dda914a28b39 | [log] [tgz] |
---|---|---|
author | Vaibhav Rustagi <vaibhavrustagi@google.com> | Wed Jun 22 10:37:16 2022 -0700 |
committer | Vaibhav Rustagi <vaibhavrustagi@google.com> | Wed Jun 22 10:53:31 2022 -0700 |
tree | 6d35c1e75c4c936a9edcc29ed536bd79a01f9bbf | |
parent | 12a89d9116ab1a0a67df83e231591234aa9e59b4 [diff] |
Update the logic for creating the container name for toolbox. Starting from COS-97, COS started using containerd for creating the toolbox container. For creating the container name, we use a combination of username+container_image+container_image_tag. In containerd, there is a validation that the container name should not exceed 76 characters. However, it is possible that when the project name where the container is hosted is long, then the container name created can exceed 76 characters. Instead of using username+container_image+container_image_tag, we can use username+container_image_256_hash_prefix. BUG=b/236409342 TEST=locally ran the script to see that toolbox runs fine when using long username/project_name/container_image_tag. RELEASE_NOTE=Fixed the bug in toolbox where long project name/container image tag can fail to run the toolbox container. Change-Id: Ife3e696559cca6e18a8744e6ba47f3a8a2a67963
toolbox is a small script that launches a container to let you bring in your favorite debugging or admin tools.
$ /usr/bin/toolbox Spawning container core-fedora-latest on /var/lib/toolbox/core-fedora-latest. Press ^] three times within 1s to kill container. -bash-4.3# yum install tcpdump ... -bash-4.3# tcpdump -i ens3 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on ens3, link-type EN10MB (Ethernet), capture size 65535 bytes
toolbox uses a Fedora-based userspace environment by default, but this can be changed to any Docker image. Simply override environment variables in $HOME/.toolboxrc
:
core@core-01 ~ $ cat ~/.toolboxrc TOOLBOX_DOCKER_IMAGE=ubuntu-debootstrap TOOLBOX_DOCKER_TAG=14.04 core@core-01 ~ $ toolbox Spawning container core-ubuntu-debootstrap-14.04 on /var/lib/toolbox/core-ubuntu-debootstrap-14.04. Press ^] three times within 1s to kill container. root@core-01:~# apt-get update && apt-get install tcpdump
Set an /etc/passwd
entry for one of the users to /usr/bin/toolbox
:
useradd bob -m -p '*' -s /usr/bin/toolbox -U -G sudo,docker
Now when SSHing into the system as that user, toolbox will automatically be started:
$ ssh bob@hostname.example.com CoreOS alpha (633.1.0) ... Spawning container core-fedora-latest on /var/lib/toolbox/core-fedora-latest. -bash-4.3 # yum install emacs -bash-4.3 # emacs /media/root/etc/systemd/system/docker.service
Please use the CoreOS issue tracker to report all bugs, issues, and feature requests.