Skip to content

Commit a9f7281

Browse files
committed
Pull container image on on-premise arm64 image
1 parent 54509df commit a9f7281

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

gigabyte-ampere-cuttlefish-installer/preseed/after_install_1.sh

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,3 +109,27 @@ curl -fsSL --retry 7 --retry-all-errors https://nvidia.github.io/libnvidia-conta
109109
tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
110110
apt-get update
111111
DEBIAN_FRONTEND=noninteractive apt-get install -y -q --force-yes nvidia-container-toolkit
112+
113+
# Find container image tagged with most recent stable version
114+
DEBIAN_FRONTEND=noninteractive apt-get install -y -q --force-yes skopeo
115+
ORCHESTRATION_IMAGE="us-docker.pkg.dev/android-cuttlefish-artifacts/cuttlefish-orchestration/cuttlefish-orchestration"
116+
STABLE_DIGEST=$(skopeo inspect docker://${ORCHESTRATION_IMAGE}:stable --format '{{.Digest}}')
117+
CANDIDATES=$(skopeo list-tags docker://${ORCHESTRATION_IMAGE} | jq -r '.Tags[] | select(test("^[0-9]+\\.[0-9]+\\.[0-9]+$"))' | sort -V -r)
118+
ORCHESTRATION_TAG=""
119+
for CANDIDATE in $CANDIDATES; do
120+
DIGEST=$(skopeo inspect docker://${ORCHESTRATION_IMAGE}:${CANDIDATE} --format '{{.Digest}}')
121+
if [ "$DIGEST" = "$STABLE_DIGEST" ]; then
122+
ORCHESTRATION_TAG=${CANDIDATE}
123+
break
124+
fi
125+
done
126+
127+
# Run dockerd for a moment and pull container image
128+
mount -t cgroup2 none /sys/fs/cgroup
129+
dockerd >/dev/null 2>&1 &
130+
DOCKER_PID=$!
131+
timeout=10 sh -c 'until [ -S /var/run/docker.sock ]; do sleep 1; done'
132+
docker pull ${ORCHESTRATION_IMAGE}:${ORCHESTRATION_TAG}
133+
kill $DOCKER_PID
134+
wait $DOCKER_PID
135+
umount /sys/fs/cgroup

0 commit comments

Comments
 (0)