This is an automated email from the ASF dual-hosted git repository. ofuks pushed a commit to branch DLAB-1571 in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
The following commit(s) were added to refs/heads/DLAB-1571 by this push: new 41480c4 Added standard image format 41480c4 is described below commit 41480c43d190134c9793c6022c9d76c38e1cdd21 Author: Oleh Fuks <olegfuk...@gmail.com> AuthorDate: Tue Mar 31 15:59:53 2020 +0300 Added standard image format --- .../java/com/epam/dlab/dto/billing/BillingResourceType.java | 3 ++- .../dlab/backendapi/service/impl/BillingServiceImpl.java | 2 +- .../java/com/epam/dlab/backendapi/util/BillingUtils.java | 13 +++++++++---- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/services/dlab-model/src/main/java/com/epam/dlab/dto/billing/BillingResourceType.java b/services/dlab-model/src/main/java/com/epam/dlab/dto/billing/BillingResourceType.java index ac02ab1..7ad1082 100644 --- a/services/dlab-model/src/main/java/com/epam/dlab/dto/billing/BillingResourceType.java +++ b/services/dlab-model/src/main/java/com/epam/dlab/dto/billing/BillingResourceType.java @@ -26,5 +26,6 @@ public enum BillingResourceType { BUCKET, VOLUME, EXPLORATORY, - COMPUTATIONAL + COMPUTATIONAL, + IMAGE } diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/BillingServiceImpl.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/BillingServiceImpl.java index 08502a2..22a4a13 100644 --- a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/BillingServiceImpl.java +++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/BillingServiceImpl.java @@ -150,7 +150,7 @@ public class BillingServiceImpl implements BillingService { final Stream<BillingReportLine> billableUserInstances = exploratoryService.findAll(projects) .stream() .filter(userInstance -> Objects.nonNull(userInstance.getExploratoryId())) - .flatMap(ui -> BillingUtils.exploratoryBillingDataStream(ui, configuration.getMaxSparkInstanceCount())); + .flatMap(ui -> BillingUtils.exploratoryBillingDataStream(ui, configuration.getMaxSparkInstanceCount(), sbn)); if (UserRoles.isAdmin(user)) { final Stream<BillingReportLine> billableEdges = projects diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/util/BillingUtils.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/util/BillingUtils.java index 0fe4ebe..54489b2 100644 --- a/services/self-service/src/main/java/com/epam/dlab/backendapi/util/BillingUtils.java +++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/util/BillingUtils.java @@ -41,11 +41,11 @@ import static com.epam.dlab.dto.billing.BillingResourceType.COMPUTATIONAL; import static com.epam.dlab.dto.billing.BillingResourceType.EDGE; import static com.epam.dlab.dto.billing.BillingResourceType.ENDPOINT; import static com.epam.dlab.dto.billing.BillingResourceType.EXPLORATORY; +import static com.epam.dlab.dto.billing.BillingResourceType.IMAGE; import static com.epam.dlab.dto.billing.BillingResourceType.SSN; import static com.epam.dlab.dto.billing.BillingResourceType.VOLUME; public class BillingUtils { - private static final String[] REPORT_HEADERS = {"DLab ID", "User", "Project", "DLab Resource Type", "Shape", "Product", "Cost"}; private static final String REPORT_FIRST_LINE = "Service base name: %s. Available reporting period from: %s to: %s"; private static final String TOTAL_LINE = "Total: %s %s"; @@ -59,9 +59,13 @@ public class BillingUtils { private static final String VOLUME_PRIMARY_COMPUTATIONAL_FORMAT = "%s-%s-volume-primary"; private static final String VOLUME_SECONDARY_FORMAT = "%s-volume-secondary"; private static final String VOLUME_SECONDARY_COMPUTATIONAL_FORMAT = "%s-%s-volume-secondary"; + private static final String IMAGE_STANDARD_FORMAT = "%s-%s-%s-%s-notebook-image"; + private static final String IMAGE_NAME_PREFIX = "docker.dlab-"; + private static final String VOLUME_PRIMARY = "Volume primary"; private static final String VOLUME_SECONDARY = "Volume secondary"; private static final String SHARED_RESOURCE = "Shared resource"; + private static final String IMAGE_NAME = "Image"; private static final String DATAENGINE_NAME_FORMAT = "%d x %s"; private static final String DATAENGINE_SERVICE_NAME_FORMAT = "Master: %s%sSlave: %d x %s"; @@ -95,7 +99,7 @@ public class BillingUtils { ); } - public static Stream<BillingReportLine> exploratoryBillingDataStream(UserInstanceDTO userInstance, Integer maxSparkInstanceCount) { + public static Stream<BillingReportLine> exploratoryBillingDataStream(UserInstanceDTO userInstance, Integer maxSparkInstanceCount, String sbn) { final Stream<BillingReportLine> computationalStream = userInstance.getResources() .stream() .filter(cr -> cr.getComputationalId() != null) @@ -110,11 +114,12 @@ public class BillingUtils { getSlaveVolumes(userInstance, cr, maxSparkInstanceCount) )); final String exploratoryId = userInstance.getExploratoryId(); + final String imageId = String.format(IMAGE_STANDARD_FORMAT, sbn, userInstance.getProject(), userInstance.getEndpoint(), userInstance.getImageName().replace(IMAGE_NAME_PREFIX, "")); final String primaryVolumeId = String.format(VOLUME_PRIMARY_FORMAT, exploratoryId); final String secondaryVolumeId = String.format(VOLUME_SECONDARY_FORMAT, exploratoryId); final Stream<BillingReportLine> exploratoryStream = Stream.of( - withUserProject(userInstance).resourceName(userInstance.getExploratoryName()).dlabId(exploratoryId).resourceType(EXPLORATORY) - .status(UserInstanceStatus.of(userInstance.getStatus())).shape(userInstance.getShape()).build(), + withUserProject(userInstance).resourceName(userInstance.getExploratoryName()).dlabId(exploratoryId).resourceType(EXPLORATORY).status(UserInstanceStatus.of(userInstance.getStatus())).shape(userInstance.getShape()).build(), + withUserProject(userInstance).resourceName(IMAGE_NAME).dlabId(imageId).resourceType(IMAGE).build(), withUserProject(userInstance).resourceName(VOLUME_PRIMARY).dlabId(primaryVolumeId).resourceType(VOLUME).build(), withUserProject(userInstance).resourceName(VOLUME_SECONDARY).dlabId(secondaryVolumeId).resourceType(VOLUME).build()); return Stream.concat(computationalStream, exploratoryStream); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@dlab.apache.org For additional commands, e-mail: commits-h...@dlab.apache.org