From f6cd2198f03b911cfc2fd81dec83abd577b8df88 Mon Sep 17 00:00:00 2001 From: "wu.chunyang" Date: Tue, 24 Jun 2025 23:08:51 +0800 Subject: [PATCH] Fix trove-imager-loader.service not started This service will pull database images after the system started. Change-Id: I510adc33116760ec5af54a9158b76c9a628ef981 --- .../50-trove-image-loader | 16 ++++++++++++---- .../trove-image-loader.service | 3 +++ .../post-install.d/31-enable-guest-agent-systemd | 2 +- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/integration/scripts/files/elements/guest-agent/install.d/guest-agent-source-install/50-trove-image-loader b/integration/scripts/files/elements/guest-agent/install.d/guest-agent-source-install/50-trove-image-loader index 3c99659fa1..7722ea3d0a 100644 --- a/integration/scripts/files/elements/guest-agent/install.d/guest-agent-source-install/50-trove-image-loader +++ b/integration/scripts/files/elements/guest-agent/install.d/guest-agent-source-install/50-trove-image-loader @@ -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 \ No newline at end of file diff --git a/integration/scripts/files/elements/guest-agent/install.d/guest-agent-source-install/trove-image-loader.service b/integration/scripts/files/elements/guest-agent/install.d/guest-agent-source-install/trove-image-loader.service index 43e80950cc..df14b87d86 100644 --- a/integration/scripts/files/elements/guest-agent/install.d/guest-agent-source-install/trove-image-loader.service +++ b/integration/scripts/files/elements/guest-agent/install.d/guest-agent-source-install/trove-image-loader.service @@ -8,3 +8,6 @@ Type=oneshot User=root Group=root ExecStart=/usr/local/sbin/trove-image-loader + +[Install] +WantedBy=multi-user.target diff --git a/integration/scripts/files/elements/guest-agent/post-install.d/31-enable-guest-agent-systemd b/integration/scripts/files/elements/guest-agent/post-install.d/31-enable-guest-agent-systemd index 66d078e239..863b553c6d 100755 --- a/integration/scripts/files/elements/guest-agent/post-install.d/31-enable-guest-agent-systemd +++ b/integration/scripts/files/elements/guest-agent/post-install.d/31-enable-guest-agent-systemd @@ -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