This is an automated email from the ASF dual-hosted git repository. dyankiv pushed a commit to branch DATALAB-3001 in repository https://gitbox.apache.org/repos/asf/incubator-datalab.git
commit 7ce5759f41287767bb50c540d5299bbc70cb4f0d Author: Denys Yankiv <[email protected]> AuthorDate: Fri Sep 2 17:34:04 2022 +0300 fix image status is stuck on terminating --- .../src/general/scripts/aws/common_terminate_notebook_image.py | 3 +++ .../src/general/scripts/azure/common_terminate_notebook_image.py | 3 +++ .../src/general/scripts/gcp/common_terminate_notebook_image.py | 3 +++ .../java/com/epam/datalab/backendapi/resources/ImageResource.java | 1 - .../java/com/epam/datalab/backendapi/dao/ImageExploratoryDAO.java | 2 +- .../com/epam/datalab/backendapi/dao/ImageExploratoryDAOImpl.java | 5 ++--- .../epam/datalab/backendapi/resources/callback/ImageCallback.java | 2 +- .../com/epam/datalab/backendapi/service/ImageExploratoryService.java | 3 +-- .../datalab/backendapi/service/impl/ImageExploratoryServiceImpl.java | 4 ++-- 9 files changed, 16 insertions(+), 10 deletions(-) diff --git a/infrastructure-provisioning/src/general/scripts/aws/common_terminate_notebook_image.py b/infrastructure-provisioning/src/general/scripts/aws/common_terminate_notebook_image.py index 98d6dfa92..140f15a27 100644 --- a/infrastructure-provisioning/src/general/scripts/aws/common_terminate_notebook_image.py +++ b/infrastructure-provisioning/src/general/scripts/aws/common_terminate_notebook_image.py @@ -49,6 +49,9 @@ if __name__ == "__main__": with open("/root/result.json", 'w') as result: res = {"notebook_image_name": image_conf['full_image_name'], + "endpoint": image_conf['endpoint_name'], + "project": image_conf['project_name'], + "imageName": image_conf['image_name'], "status": "terminated", "Action": "Delete existing notebook image"} result.write(json.dumps(res)) diff --git a/infrastructure-provisioning/src/general/scripts/azure/common_terminate_notebook_image.py b/infrastructure-provisioning/src/general/scripts/azure/common_terminate_notebook_image.py index 0ef0d4e54..06df201a8 100644 --- a/infrastructure-provisioning/src/general/scripts/azure/common_terminate_notebook_image.py +++ b/infrastructure-provisioning/src/general/scripts/azure/common_terminate_notebook_image.py @@ -51,6 +51,9 @@ if __name__ == "__main__": with open("/root/result.json", 'w') as result: res = {"notebook_image_name": image_conf['full_image_name'], + "endpoint": image_conf['endpoint_name'], + "project": image_conf['project_name'], + "imageName": image_conf['image_name'], "status": "terminated", "Action": "Delete existing notebook image"} result.write(json.dumps(res)) diff --git a/infrastructure-provisioning/src/general/scripts/gcp/common_terminate_notebook_image.py b/infrastructure-provisioning/src/general/scripts/gcp/common_terminate_notebook_image.py index 7ff8d2472..83efb9edb 100644 --- a/infrastructure-provisioning/src/general/scripts/gcp/common_terminate_notebook_image.py +++ b/infrastructure-provisioning/src/general/scripts/gcp/common_terminate_notebook_image.py @@ -52,6 +52,9 @@ if __name__ == "__main__": GCPActions.remove_image(image_conf['expected_secondary_image_name']) with open("/root/result.json", 'w') as result: res = {"notebook_image_name": image_conf['expected_primary_image_name'], + "endpoint": image_conf['endpoint_name'], + "project": image_conf['project_name'], + "imageName": image_conf['image_name'], "status": "terminated", "Action": "Delete existing notebook image"} result.write(json.dumps(res)) diff --git a/services/provisioning-service/src/main/java/com/epam/datalab/backendapi/resources/ImageResource.java b/services/provisioning-service/src/main/java/com/epam/datalab/backendapi/resources/ImageResource.java index 1e4347431..d6484bd50 100644 --- a/services/provisioning-service/src/main/java/com/epam/datalab/backendapi/resources/ImageResource.java +++ b/services/provisioning-service/src/main/java/com/epam/datalab/backendapi/resources/ImageResource.java @@ -63,7 +63,6 @@ public class ImageResource extends DockerService implements DockerCommands { @Path("/terminate") public Response terminateImage(@Auth UserInfo ui, ExploratoryImageDTO image) throws JsonProcessingException{ final String uuid = DockerCommands.generateUUID(); - log.info("terminate image dto {}",image); folderListenerExecutor.start(configuration.getImagesDirectory(), configuration.getResourceStatusPollTimeout(), new ImageCreateCallbackHandler(selfService, uuid, DockerAction.TERMINATE_IMAGE, image)); diff --git a/services/self-service/src/main/java/com/epam/datalab/backendapi/dao/ImageExploratoryDAO.java b/services/self-service/src/main/java/com/epam/datalab/backendapi/dao/ImageExploratoryDAO.java index 068d5ed94..65ab9755a 100644 --- a/services/self-service/src/main/java/com/epam/datalab/backendapi/dao/ImageExploratoryDAO.java +++ b/services/self-service/src/main/java/com/epam/datalab/backendapi/dao/ImageExploratoryDAO.java @@ -37,7 +37,7 @@ public interface ImageExploratoryDAO { void updateImageFields(Image image); void updateImageStatus(String user, String imageName, String project, String endpoint, ImageStatus status); - void updateImageStatus(String fullName, ImageStatus status); + void updateImageStatus(String imageName, String projectName, String endpoint, ImageStatus status); List<ImageInfoRecord> getImages(String user, String dockerImage, String project, String endpoint, ImageStatus... statuses); diff --git a/services/self-service/src/main/java/com/epam/datalab/backendapi/dao/ImageExploratoryDAOImpl.java b/services/self-service/src/main/java/com/epam/datalab/backendapi/dao/ImageExploratoryDAOImpl.java index a1106c58d..688a02f17 100644 --- a/services/self-service/src/main/java/com/epam/datalab/backendapi/dao/ImageExploratoryDAOImpl.java +++ b/services/self-service/src/main/java/com/epam/datalab/backendapi/dao/ImageExploratoryDAOImpl.java @@ -78,10 +78,9 @@ public class ImageExploratoryDAOImpl extends BaseDAO implements ImageExploratory final Bson condition = userImageCondition(user, imageName, project, endpoint); updateOne(MongoCollections.IMAGES, condition, set(STATUS,status.toString())); } - @Override - public void updateImageStatus(String fullName, ImageStatus status) { - updateOne(MongoCollections.IMAGES, eq(IMAGE_FULL_NAME, fullName), set(STATUS,status.toString())); + public void updateImageStatus(String imageName, String projectName, String endpoint, ImageStatus status) { + updateOne(MongoCollections.IMAGES, and(eq(IMAGE_NAME, imageName), eq(PROJECT, projectName), eq(ENDPOINT, endpoint)), set(STATUS,status.toString())); } @Override diff --git a/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/callback/ImageCallback.java b/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/callback/ImageCallback.java index e05cd810d..a604bfce4 100644 --- a/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/callback/ImageCallback.java +++ b/services/self-service/src/main/java/com/epam/datalab/backendapi/resources/callback/ImageCallback.java @@ -52,7 +52,7 @@ public class ImageCallback { log.debug("Updating status of image {} for user {} to {}", dto.getName(), dto.getUser(), dto); requestId.remove(dto.getRequestId()); if(dto.getImageCreateDTO().getStatus() == ImageStatus.TERMINATED){ - imageExploratoryService.finishTerminateImage(dto.getImageCreateDTO().getExternalName()); + imageExploratoryService.finishTerminateImage(dto.getName(), dto.getProject(), dto.getEndpoint()); } else { imageExploratoryService.finishImageCreate(getImage(dto), dto.getExploratoryName(), dto.getImageCreateDTO() .getIp()); diff --git a/services/self-service/src/main/java/com/epam/datalab/backendapi/service/ImageExploratoryService.java b/services/self-service/src/main/java/com/epam/datalab/backendapi/service/ImageExploratoryService.java index 889aa8f44..e368ae471 100644 --- a/services/self-service/src/main/java/com/epam/datalab/backendapi/service/ImageExploratoryService.java +++ b/services/self-service/src/main/java/com/epam/datalab/backendapi/service/ImageExploratoryService.java @@ -33,8 +33,7 @@ public interface ImageExploratoryService { String createImage(UserInfo user, String project, String exploratoryName, String imageName, String imageDescription, String info); void terminateImage(UserInfo user, String project, String endpoint, String imageName); - - void finishTerminateImage(String fullImageName); + void finishTerminateImage(String imageName, String projectName, String endpoint); void finishImageCreate(Image image, String exploratoryName, String newNotebookIp); diff --git a/services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/ImageExploratoryServiceImpl.java b/services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/ImageExploratoryServiceImpl.java index b86ad1f02..fe0af1fb4 100644 --- a/services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/ImageExploratoryServiceImpl.java +++ b/services/self-service/src/main/java/com/epam/datalab/backendapi/service/impl/ImageExploratoryServiceImpl.java @@ -164,8 +164,8 @@ public class ImageExploratoryServiceImpl implements ImageExploratoryService { } @Override - public void finishTerminateImage(String fullImageName) { - imageExploratoryDao.updateImageStatus(fullImageName, ImageStatus.TERMINATED); + public void finishTerminateImage(String imageName, String projectName, String endpoint) { + imageExploratoryDao.updateImageStatus(imageName, projectName, endpoint, ImageStatus.TERMINATED); } @Override --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
