OgRepo createImage improvements. Agent Status fixed
testing/ogcore-api/pipeline/head There was a failure building this commit
Details
testing/ogcore-api/pipeline/head There was a failure building this commit
Details
parent
d8306f78a7
commit
beeda955ef
|
@ -7,6 +7,8 @@ resources:
|
|||
groups: ['default', 'command:read']
|
||||
denormalizationContext:
|
||||
groups: ['command:write']
|
||||
order:
|
||||
id: 'DESC'
|
||||
operations:
|
||||
ApiPlatform\Metadata\GetCollection:
|
||||
provider: App\State\Provider\CommandProvider
|
||||
|
|
|
@ -87,7 +87,7 @@ class DeployImageAction extends AbstractController
|
|||
];
|
||||
|
||||
try {
|
||||
$this->deployImageOgRepositoryAction->__invoke($input, $image, $client->getEntity(), $this->httpClient);
|
||||
$this->deployImageOgRepositoryAction->__invoke($input, $image, $client->getEntity());
|
||||
} catch (\Exception $e) {
|
||||
continue;
|
||||
}
|
||||
|
|
|
@ -8,6 +8,7 @@ use App\Entity\Client;
|
|||
use App\Entity\Command;
|
||||
use App\Entity\Image;
|
||||
use App\Entity\ImageImageRepository;
|
||||
use App\Entity\ImageRepository;
|
||||
use App\Entity\Trace;
|
||||
use App\Model\ClientStatus;
|
||||
use App\Model\CommandTypes;
|
||||
|
@ -56,7 +57,7 @@ class CreateImageAction extends AbstractController
|
|||
|
||||
$repository = $image->getClient()->getRepository();
|
||||
|
||||
$latestImageRepo = $this->entityManager->getRepository(ImageImageRepository::class)->findLatestVersion();
|
||||
$latestImageRepo = $this->entityManager->getRepository(ImageImageRepository::class)->findLatestVersionByImageAndRepository($image, $repository);
|
||||
|
||||
$imageImageRepository = new ImageImageRepository();
|
||||
$imageImageRepository->setImage($image);
|
||||
|
@ -71,7 +72,7 @@ class CreateImageAction extends AbstractController
|
|||
'par' => (string) $partitionInfo['numPartition'],
|
||||
'cpt' => null,
|
||||
'idi' => $imageImageRepository->getUuid(),
|
||||
'nci' => $image->getName(),
|
||||
'nci' => $image->getName().'_v'.$imageImageRepository->getVersion(),
|
||||
'ipr' => $repository->getIp(),
|
||||
'nfn' => 'CrearImagen',
|
||||
'ids' => '0'
|
||||
|
@ -93,7 +94,7 @@ class CreateImageAction extends AbstractController
|
|||
|
||||
try {
|
||||
$this->logger->info('Creating image', ['image' => $image->getId()]);
|
||||
$response = $this->httpClient->request('POST', 'https://'.$image->getClient()->getIp().':8000/CloningEngine/CrearImagen', [
|
||||
$response = $this->httpClient->request('POST', 'https://'.$image->getClient()->getIp().':8000/opengnsys/CrearImagen', [
|
||||
'verify_peer' => false,
|
||||
'verify_host' => false,
|
||||
'headers' => [
|
||||
|
|
|
@ -71,14 +71,14 @@ class StatusAction extends AbstractController
|
|||
$this->logger->info('Checking client status', ['client' => $client->getId()]);
|
||||
|
||||
$params = [
|
||||
'full-config' => true,
|
||||
'full-config' => false,
|
||||
];
|
||||
|
||||
try {
|
||||
$response = $this->httpClient->request('POST', 'https://' . $client->getIp() . ':8000/ogAdmClient/status', [
|
||||
$response = $this->httpClient->request('POST', 'https://' . $client->getIp() . ':8000/opengnsys/status', [
|
||||
'verify_peer' => false,
|
||||
'verify_host' => false,
|
||||
'timeout' => 30,
|
||||
'timeout' => 10,
|
||||
'headers' => [
|
||||
'Content-Type' => 'application/json',
|
||||
],
|
||||
|
|
|
@ -39,7 +39,7 @@ class CreateAuxFilesAction extends AbstractOgRepositoryController
|
|||
|
||||
$params = [
|
||||
'json' => [
|
||||
'image' => $image->getName().'.img'
|
||||
'image' => $image->getName().'_v'.$data->getVersion().'.img'
|
||||
]
|
||||
];
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@ namespace App\Controller\OgRepository\Image;
|
|||
use App\Controller\OgRepository\AbstractOgRepositoryController;
|
||||
use App\Entity\Image;
|
||||
use App\Entity\ImageImageRepository;
|
||||
use App\Entity\ImageRepository;
|
||||
use Symfony\Component\HttpFoundation\JsonResponse;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\HttpKernel\Attribute\AsController;
|
||||
|
@ -30,6 +31,7 @@ class DeletePermanentAction extends AbstractOgRepositoryController
|
|||
throw new ValidatorException('Fullsum is required');
|
||||
}
|
||||
|
||||
/** @var ImageRepository $image */
|
||||
$image = $data->getImage();
|
||||
|
||||
$this->logger->info('Deleting image', ['image' => $image->getName()]);
|
||||
|
@ -43,6 +45,13 @@ class DeletePermanentAction extends AbstractOgRepositoryController
|
|||
$this->entityManager->remove($data);
|
||||
$this->entityManager->flush();
|
||||
|
||||
$imageImageCollection = $image->getImageImageRepositories();
|
||||
|
||||
if ($imageImageCollection->isEmpty()) {
|
||||
$this->entityManager->remove($image);
|
||||
$this->entityManager->flush();
|
||||
}
|
||||
|
||||
return new JsonResponse(data: $content, status: Response::HTTP_OK);
|
||||
}
|
||||
}
|
|
@ -30,7 +30,7 @@ class DeployImageAction extends AbstractOgRepositoryController
|
|||
* @throws ClientExceptionInterface
|
||||
* @throws TransportExceptionInterface
|
||||
*/
|
||||
public function __invoke(DeployImageInput $input, ImageImageRepository $data, Client $client, HttpClientInterface $httpClient): JsonResponse
|
||||
public function __invoke(DeployImageInput $input, ImageImageRepository $data, Client $client): JsonResponse
|
||||
{
|
||||
$params = [
|
||||
'json' => [
|
||||
|
|
|
@ -2,7 +2,9 @@
|
|||
|
||||
namespace App\Repository;
|
||||
|
||||
use App\Entity\Image;
|
||||
use App\Entity\ImageImageRepository;
|
||||
use App\Entity\ImageRepository as Repository;
|
||||
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
|
||||
use Doctrine\Persistence\ManagerRegistry;
|
||||
|
||||
|
@ -16,6 +18,19 @@ class ImageImageRepositoryRepository extends AbstractRepository
|
|||
parent::__construct($registry, ImageImageRepository::class);
|
||||
}
|
||||
|
||||
public function findLatestVersionByImageAndRepository(Image $image, Repository $repository): ?ImageImageRepository
|
||||
{
|
||||
return $this->createQueryBuilder('i')
|
||||
->andWhere('i.image = :imageId')
|
||||
->setParameter('imageId', $image->getId())
|
||||
->andWhere('i.repository = :repository')
|
||||
->setParameter('repository', $repository->getId())
|
||||
->orderBy('i.version', 'DESC')
|
||||
->setMaxResults(1)
|
||||
->getQuery()
|
||||
->getOneOrNullResult();
|
||||
}
|
||||
|
||||
public function findLatestVersion(): ?ImageImageRepository
|
||||
{
|
||||
return $this->createQueryBuilder('i')
|
||||
|
|
|
@ -65,11 +65,8 @@ readonly class ImageProcessor implements ProcessorInterface
|
|||
|
||||
|
||||
if ($data->selectedImage){
|
||||
$content = $this->renameActionController->__invoke($data->selectedImage->getEntity());
|
||||
//$content = $this->renameActionController->__invoke($data->selectedImage->getEntity());
|
||||
|
||||
if ($content->getStatusCode() !== 200){
|
||||
throw new \Exception('Error renaming image');
|
||||
}
|
||||
$response = $this->createImageActionController->__invoke($data->selectedImage->getEntity());
|
||||
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue