Skip to content

Commit

Permalink
Update php/src/Container/WorkingState.php
Browse files Browse the repository at this point in the history
Co-authored-by: Simon L. <[email protected]>
Signed-off-by: Jean-Yves <[email protected]>
  • Loading branch information
docjyJ and szaimen committed Oct 7, 2024
1 parent edeb5ca commit dc209ad
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 25 deletions.
6 changes: 3 additions & 3 deletions php/src/Container/Container.php
Original file line number Diff line number Diff line change
Expand Up @@ -112,19 +112,19 @@ public function GetVolumes() : ContainerVolumes {
return $this->volumes;
}

public function GetRunningState() : WorkingState {
public function GetRunningState() : ContainerState {
return $this->dockerActionManager->GetContainerRunningState($this);
}

public function GetRestartingState() : WorkingState {
public function GetRestartingState() : ContainerState {
return $this->dockerActionManager->GetContainerRestartingState($this);
}

public function GetUpdateState() : VersionState {
return $this->dockerActionManager->GetContainerUpdateState($this);
}

public function GetStartingState() : WorkingState {
public function GetStartingState() : ContainerState {
return $this->dockerActionManager->GetContainerStartingState($this);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

namespace AIO\Container;

enum WorkingState: string {
enum ContainerState: string {
case ImageDoesNotExist = 'image_does_not_exist';
case NotRestarting = 'not_restarting';
case Restarting = 'restarting';
Expand Down
8 changes: 4 additions & 4 deletions php/src/Controller/DockerController.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

namespace AIO\Controller;

use AIO\Container\WorkingState;
use AIO\Container\ContainerState;
use AIO\ContainerDefinitionFetcher;
use AIO\Docker\DockerActionManager;
use Psr\Http\Message\ResponseInterface as Response;
Expand All @@ -28,7 +28,7 @@ private function PerformRecursiveContainerStart(string $id, bool $pullImage = tr

// Don't start if container is already running
// This is expected to happen if a container is defined in depends_on of multiple containers
if ($container->GetRunningState() === WorkingState::Running) {
if ($container->GetRunningState() === ContainerState::Running) {
error_log('Not starting ' . $id . ' because it was already started.');
return;
}
Expand Down Expand Up @@ -254,10 +254,10 @@ public function StartDomaincheckContainer() : void
$domaincheckContainer = $this->containerDefinitionFetcher->GetContainerById($id);
$apacheContainer = $this->containerDefinitionFetcher->GetContainerById(self::TOP_CONTAINER);
// Don't start if apache is already running
if ($apacheContainer->GetRunningState() === WorkingState::Running) {
if ($apacheContainer->GetRunningState() === ContainerState::Running) {
return;
// Don't start if domaincheck is already running
} elseif ($domaincheckContainer->GetRunningState() === WorkingState::Running) {
} elseif ($domaincheckContainer->GetRunningState() === ContainerState::Running) {
$domaincheckWasStarted = apcu_fetch($cacheKey);
// Start domaincheck again when 10 minutes are over by not returning here
if($domaincheckWasStarted !== false && is_string($domaincheckWasStarted)) {
Expand Down
34 changes: 17 additions & 17 deletions php/src/Docker/DockerActionManager.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

use AIO\Container\Container;
use AIO\Container\VersionState;
use AIO\Container\WorkingState;
use AIO\Container\ContainerState;
use AIO\Data\ConfigurationManager;
use GuzzleHttp\Client;
use GuzzleHttp\Exception\RequestException;
Expand Down Expand Up @@ -35,45 +35,45 @@ private function BuildImageName(Container $container) : string {
return $container->GetContainerName() . ':' . $tag;
}

public function GetContainerRunningState(Container $container) : WorkingState
public function GetContainerRunningState(Container $container) : ContainerState
{
$url = $this->BuildApiUrl(sprintf('containers/%s/json', urlencode($container->GetIdentifier())));
try {
$response = $this->guzzleClient->get($url);
} catch (RequestException $e) {
if ($e->getCode() === 404) {
return WorkingState::ImageDoesNotExist;
return ContainerState::ImageDoesNotExist;
}
throw $e;
}

$responseBody = json_decode((string)$response->getBody(), true);

if ($responseBody['State']['Running'] === true) {
return WorkingState::Running;
return ContainerState::Running;
} else {
return WorkingState::Stopped;
return ContainerState::Stopped;
}
}

public function GetContainerRestartingState(Container $container) : WorkingState
public function GetContainerRestartingState(Container $container) : ContainerState
{
$url = $this->BuildApiUrl(sprintf('containers/%s/json', urlencode($container->GetIdentifier())));
try {
$response = $this->guzzleClient->get($url);
} catch (RequestException $e) {
if ($e->getCode() === 404) {
return WorkingState::ImageDoesNotExist;
return ContainerState::ImageDoesNotExist;
}
throw $e;
}

$responseBody = json_decode((string)$response->getBody(), true);

if ($responseBody['State']['Restarting'] === true) {
return WorkingState::Restarting;
return ContainerState::Restarting;
} else {
return WorkingState::NotRestarting;
return ContainerState::NotRestarting;
}
}

Expand Down Expand Up @@ -101,10 +101,10 @@ public function GetContainerUpdateState(Container $container) : VersionState
return VersionState::Different;
}

public function GetContainerStartingState(Container $container) : WorkingState
public function GetContainerStartingState(Container $container) : ContainerState
{
$runningState = $this->GetContainerRunningState($container);
if ($runningState === WorkingState::Stopped || $runningState === WorkingState::ImageDoesNotExist) {
if ($runningState === ContainerState::Stopped || $runningState === ContainerState::ImageDoesNotExist) {
return $runningState;
}

Expand All @@ -120,12 +120,12 @@ public function GetContainerStartingState(Container $container) : WorkingState
$connection = @fsockopen($containerName, (int)$internalPort, $errno, $errstr, 0.2);
if ($connection) {
fclose($connection);
return WorkingState::Running;
return ContainerState::Running;
} else {
return WorkingState::Starting;
return ContainerState::Starting;
}
} else {
return WorkingState::Running;
return ContainerState::Running;
}
}

Expand Down Expand Up @@ -780,7 +780,7 @@ public function IsMastercontainerUpdateAvailable() : bool

public function sendNotification(Container $container, string $subject, string $message, string $file = '/notify.sh') : void
{
if ($this->GetContainerStartingState($container) === WorkingState::Running) {
if ($this->GetContainerStartingState($container) === ContainerState::Running) {

$containerName = $container->GetIdentifier();

Expand Down Expand Up @@ -964,7 +964,7 @@ public function GetDatabasecontainerExitCode() : int
public function isLoginAllowed() : bool {
$id = 'nextcloud-aio-apache';
$apacheContainer = $this->containerDefinitionFetcher->GetContainerById($id);
if ($this->GetContainerStartingState($apacheContainer) === WorkingState::Running) {
if ($this->GetContainerStartingState($apacheContainer) === ContainerState::Running) {
return false;
}
return true;
Expand All @@ -973,7 +973,7 @@ public function isLoginAllowed() : bool {
public function isBackupContainerRunning() : bool {
$id = 'nextcloud-aio-borgbackup';
$backupContainer = $this->containerDefinitionFetcher->GetContainerById($id);
if ($this->GetContainerRunningState($backupContainer) === WorkingState::Running) {
if ($this->GetContainerRunningState($backupContainer) === ContainerState::Running) {
return true;
}
return false;
Expand Down

0 comments on commit dc209ad

Please sign in to comment.