Compare commits

..

No commits in common. "1962115ab30c57fe552aa98b34edb82d67185462" and "936d533fa19e4621386849dbcaba2fe1a12177d0" have entirely different histories.

2 changed files with 25 additions and 29 deletions

View File

@ -70,7 +70,7 @@ dockerSwitcherSwap()
installDocker; installDocker;
fi fi
dockerServiceStart rooted; dockerServiceStart rooted;
dockerSwitcherUpdateContainersToDockerType "$docker_type"; dockerSwitcherUpdateContainersToDockerType;
reconcileDockerOwnership "$CFG_DOCKER_INSTALL_TYPE"; reconcileDockerOwnership "$CFG_DOCKER_INSTALL_TYPE";
dockerStartAllApps; dockerStartAllApps;
databaseOptionInsert "docker_type" $CFG_DOCKER_INSTALL_TYPE; databaseOptionInsert "docker_type" $CFG_DOCKER_INSTALL_TYPE;
@ -109,7 +109,7 @@ dockerSwitcherSwap()
dockerServiceStop rooted; dockerServiceStop rooted;
fi fi
dockerServiceStart rootless; dockerServiceStart rootless;
dockerSwitcherUpdateContainersToDockerType "$docker_type"; dockerSwitcherUpdateContainersToDockerType;
reconcileDockerOwnership "$CFG_DOCKER_INSTALL_TYPE"; reconcileDockerOwnership "$CFG_DOCKER_INSTALL_TYPE";
dockerStartAllApps; dockerStartAllApps;
databaseOptionInsert "docker_type" $CFG_DOCKER_INSTALL_TYPE; databaseOptionInsert "docker_type" $CFG_DOCKER_INSTALL_TYPE;
@ -145,15 +145,12 @@ switchMigrateBackupApps()
return 0 return 0
fi fi
local subdirectories=($(find "$containers_dir" -mindepth 1 -maxdepth 1 -type d))
local saved_type="$CFG_DOCKER_INSTALL_TYPE" local saved_type="$CFG_DOCKER_INSTALL_TYPE"
CFG_DOCKER_INSTALL_TYPE="$old_mode" CFG_DOCKER_INSTALL_TYPE="$old_mode"
resolveDockerInstallUser resolveDockerInstallUser
# Enumerate under the OLD mode — containers/ is still owned by its container
# user here, so runFileOp (now resolved to that user) can list it (the
# manager can't list the 751 dockerinstall-owned dir under rootless).
local subdirectories=($(runFileOp find "$containers_dir" -mindepth 1 -maxdepth 1 -type d))
local failed=() local failed=()
local dir app_name local dir app_name
for dir in "${subdirectories[@]}"; do for dir in "${subdirectories[@]}"; do

View File

@ -2,28 +2,27 @@
dockerSwitcherUpdateContainersToDockerType() dockerSwitcherUpdateContainersToDockerType()
{ {
# Called mid-switch (new daemon up, BEFORE reconcileDockerOwnership), so if [[ $CFG_DOCKER_INSTALL_TYPE == "rooted" ]]; then
# containers/ is still owned by the OLD mode's container user. Enumerate as # Scannning the containers folder
# that user — containers/ isn't list-readable by the manager under rootless, local subdirectories=($(find "$containers_dir" -maxdepth 1 -type d))
# and CFG is already the TARGET mode — by flipping CFG to old_mode just for for dir in "${subdirectories[@]}"; do
# the find, then restoring it so the per-app socket scan + restart below talk dockerSwitcherScanContainersForSocket "$dir"
# to the NEW daemon. (The two former rooted/rootless branches were identical.) if [[ $docker_socket_file_updated == "true" ]]; then
local old_mode="$1" dockerRestartAppViaInstall $(basename $dir);
fi
local saved_type="$CFG_DOCKER_INSTALL_TYPE" docker_socket_file_updated="false"
if [[ -n "$old_mode" ]]; then done
CFG_DOCKER_INSTALL_TYPE="$old_mode"
resolveDockerInstallUser
fi fi
local subdirectories=($(runFileOp find "$containers_dir" -maxdepth 1 -type d))
CFG_DOCKER_INSTALL_TYPE="$saved_type"
resolveDockerInstallUser
for dir in "${subdirectories[@]}"; do if [[ $CFG_DOCKER_INSTALL_TYPE == "rootless" ]]; then
dockerSwitcherScanContainersForSocket "$dir" # Scannning the containers folder
if [[ $docker_socket_file_updated == "true" ]]; then local subdirectories=($(find "$containers_dir" -maxdepth 1 -type d))
dockerRestartAppViaInstall $(basename $dir); for dir in "${subdirectories[@]}"; do
fi dockerSwitcherScanContainersForSocket "$dir"
docker_socket_file_updated="false" if [[ $docker_socket_file_updated == "true" ]]; then
done dockerRestartAppViaInstall $(basename $dir);
fi
docker_socket_file_updated="false"
done
fi
} }