correctly disable database update if it failed before

Signed-off-by: szaimen <szaimen@e.mail.de>
This commit is contained in:
szaimen 2022-03-09 16:37:31 +01:00
parent 85b445d576
commit 2b98a936b9
2 changed files with 17 additions and 14 deletions

View file

@ -33,9 +33,17 @@ class DockerController
$this->PerformRecursiveContainerStart($dependency); $this->PerformRecursiveContainerStart($dependency);
} }
$pullcontainer = true;
if ($id === 'nextcloud-aio-database') {
if ($this->dockerActionManager->GetDatabasecontainerExitCode() > 0) {
$pullcontainer = false;
}
}
$this->dockerActionManager->DeleteContainer($container); $this->dockerActionManager->DeleteContainer($container);
$this->dockerActionManager->CreateVolumes($container); $this->dockerActionManager->CreateVolumes($container);
$this->dockerActionManager->PullContainer($container); if ($pullcontainer) {
$this->dockerActionManager->PullContainer($container);
}
$this->dockerActionManager->CreateContainer($container); $this->dockerActionManager->CreateContainer($container);
$this->dockerActionManager->StartContainer($container); $this->dockerActionManager->StartContainer($container);
$this->dockerActionManager->ConnectContainerToNetwork($container); $this->dockerActionManager->ConnectContainerToNetwork($container);

View file

@ -261,19 +261,14 @@ class DockerActionManager
public function PullContainer(Container $container) : void public function PullContainer(Container $container) : void
{ {
$pullcontainer = true; $url = $this->BuildApiUrl(sprintf('images/create?fromImage=%s', urlencode($this->BuildImageName($container))));
if ($container->GetIdentifier() === 'nextcloud-aio-database') { try {
if ($this->GetDatabasecontainerExitCode() > 0) { $this->guzzleClient->post($url);
$pullcontainer = false; } catch (RequestException $e) {
} error_log($e->getMessage());
} // Don't exit here because it is possible that the image is already present
if ($pullcontainer) { // and we ran into docker hub limits.
$url = $this->BuildApiUrl(sprintf('images/create?fromImage=%s', urlencode($this->BuildImageName($container)))); // We will exit later if not image should be available.
try {
$this->guzzleClient->post($url);
} catch (RequestException $e) {
throw $e;
}
} }
} }