From 1e35c61cd31b8bfb33a6ccbb46b08c0466518e6c Mon Sep 17 00:00:00 2001 From: Sacheendra Talluri Date: Thu, 20 Mar 2025 10:16:46 +0100 Subject: Adds load shifting over time (#319) * Start time shifting * Existing experiments work with new columns * Remove unused traces dir * Update java to 21 LTS and jacoco to be compatible * Minimal working timeshifting * Timeshift scheduler linked as carbon receiver * Add basic tests for timeshift scheduler * Run spotless apply * Modify tarce format tests to support new fields * Change all mentions of java 19 to 21 * Add a deferAll option to workload to make all tasks deferrable * Run spotless apply * Copy traces from resources in web dockerfile --- opendc-web/opendc-web-runner/Dockerfile | 7 ++++--- .../src/main/kotlin/org/opendc/web/runner/OpenDCRunner.kt | 4 ++-- opendc-web/opendc-web-server/Dockerfile | 4 ++-- 3 files changed, 8 insertions(+), 7 deletions(-) (limited to 'opendc-web') diff --git a/opendc-web/opendc-web-runner/Dockerfile b/opendc-web/opendc-web-runner/Dockerfile index 22c36c65..b3bd0af6 100644 --- a/opendc-web/opendc-web-runner/Dockerfile +++ b/opendc-web/opendc-web-runner/Dockerfile @@ -1,4 +1,4 @@ -FROM openjdk:19-slim +FROM openjdk:21-slim MAINTAINER OpenDC Maintainers # Obtain (cache) Gradle wrapper @@ -11,9 +11,10 @@ RUN ./gradlew --version COPY ./ /app/ RUN ./gradlew --no-daemon :opendc-web:opendc-web-runner:installDist -FROM openjdk:19-slim +FROM openjdk:21-slim COPY --from=0 /app/opendc-web/opendc-web-runner/build/install /opt/ -COPY --from=0 /app/traces /opt/opendc/traces +COPY --from=0 /app/opendc-experiments/opendc-experiments-base/src/test/resources/workloadTraces \ + /opt/opendc/traces WORKDIR /opt/opendc CMD bin/opendc-web-runner diff --git a/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/OpenDCRunner.kt b/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/OpenDCRunner.kt index 7c5c6290..9a1b398e 100644 --- a/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/OpenDCRunner.kt +++ b/opendc-web/opendc-web-runner/src/main/kotlin/org/opendc/web/runner/OpenDCRunner.kt @@ -279,10 +279,10 @@ public class OpenDCRunner( provisioner.runSteps( setupComputeService( serviceDomain, - { createComputeScheduler(scenario.schedulerName, Random(it.seeder.nextLong())) }, + { createComputeScheduler(scenario.schedulerName, Random(it.seeder.nextLong()), timeSource) }, ), registerComputeMonitor(serviceDomain, monitor), - setupHosts(serviceDomain, topology, startTime), + setupHosts(serviceDomain, topology, listOf(), startTime), ) val service = provisioner.registry.resolve(serviceDomain, ComputeService::class.java)!! diff --git a/opendc-web/opendc-web-server/Dockerfile b/opendc-web/opendc-web-server/Dockerfile index bcdb831e..e6cbaff5 100644 --- a/opendc-web/opendc-web-server/Dockerfile +++ b/opendc-web/opendc-web-server/Dockerfile @@ -1,4 +1,4 @@ -FROM openjdk:19-slim +FROM openjdk:21-slim MAINTAINER OpenDC Maintainers # Obtain (cache) Gradle wrapper @@ -19,7 +19,7 @@ ENV OPENDC_AUTH0_DOCS_CLIENT_ID=$OPENDC_AUTH0_DOCS_CLIENT_ID COPY ./ /app/ RUN ./gradlew --no-daemon :opendc-web:opendc-web-server:quarkusBuild -Dquarkus.profile=docker -FROM openjdk:19-slim +FROM openjdk:21-slim COPY --from=0 /app/opendc-web/opendc-web-server/build/quarkus-app /opt/opendc WORKDIR /opt/opendc CMD java -jar quarkus-run.jar -- cgit v1.2.3