Fix trove-imager-loader.service not started

This service will pull database images after the system started.

Change-Id: I510adc33116760ec5af54a9158b76c9a628ef981
This commit is contained in:
wu.chunyang
2025-06-24 23:08:51 +08:00
parent f8bece7cce
commit f6cd2198f0
3 changed files with 16 additions and 5 deletions

View File

@@ -9,10 +9,18 @@ backup_image=$(crudini --get /etc/trove/conf.d/trove-guestagent.conf "$datastore
echo "datastore_image=$datastore_image"
echo "backup_image=$backup_image"
if [ -n "$datastore_image" ]; then
docker pull "${datastore_image}:${datastore_version}"
if docker image inspect "${datastore_image}:${datastore_version}" >/dev/null 2>&1; then
echo "Image already exists, skip loading."
else
if [ -n "$datastore_image" ]; then
docker pull "${datastore_image}:${datastore_version}"
fi
fi
if [ -n "$backup_image" ]; then
docker pull "${backup_image}:${datastore_version}"
if docker image inspect "${backup_image}:${datastore_version}" >/dev/null 2>&1; then
echo "Image already exists, skip loading."
else
if [ -n "$backup_image" ]; then
docker pull "${backup_image}:${datastore_version}"
fi
fi

View File

@@ -8,3 +8,6 @@ Type=oneshot
User=root
Group=root
ExecStart=/usr/local/sbin/trove-image-loader
[Install]
WantedBy=multi-user.target

View File

@@ -7,7 +7,7 @@ set -eu
set -o pipefail
if [ "$DIB_INIT_SYSTEM" == "systemd" ]; then
systemctl enable $(svc-map guest-agent docker-hostnic.socket)
systemctl enable $(svc-map guest-agent docker-hostnic.socket trove-image-loader)
fi
if [[ ${SYNC_LOG_TO_CONTROLLER} == "True" ]]; then