summaryrefslogtreecommitdiff
path: root/simulator/opendc-workflows
AgeCommit message (Collapse)Author
2021-03-09workflow: Split workflow module in API and service moduleFabian Mastenbroek
2021-03-09compute: Move implementation of Flavor into service moduleFabian Mastenbroek
2021-03-09compute: Model storage of VM imagesFabian Mastenbroek
2021-03-09core: Remove OpenDC core moduleFabian Mastenbroek
This change removes the opendc-core module. This module was an artifact of the old codebase and remained mostly unused. This change removes all usages of the module and if necessary introduces replacement classes.
2021-03-09compute: Add lifecycle methods for Server instancesFabian Mastenbroek
This change adds more methods for controlling the lifecycle of Server instances.
2021-03-08compute: Remove use of bare-metal provisioning from compute moduleFabian Mastenbroek
This change removes the usage of bare-metal provisioning from the OpenDC Compute module. This significantly simplifies the experiment setup.
2021-03-07compute: Move bare-metal provisioning in separate moduleFabian Mastenbroek
This change moves the bare-metal provisioning packages outside the compute module since these modules represent different layers in the ecosystem and should not be mixed.
2021-03-07compute: Move ComputeService implementation in service moduleFabian Mastenbroek
This change introduces the ComputeService interface (previously VirtProvisioningService) and provides a central implementation in opendc-compute-service. Previously, the implementation of this interface was bound to the simulator package, which meant that independent business logic could not be re-used without importing the simulator code.
2021-03-07compute: Extract API from compute serviceFabian Mastenbroek
This change extracts the API for the OpenDC Compute service into a separate module to establish a clearer boundary between the interface meant for consumers and interfaces meant for the the serve implementation.
2021-03-07compute: Convert Server to stateful interfaceFabian Mastenbroek
This change converts the Server data class which can be used as a stateful object to control an instance running in the cloud.
2021-03-07workflows: Reduce output from testsFabian Mastenbroek
This change increases the logging level from INFO to WARN in order to reduce the amount of messages printed to the console during tests.
2021-02-23Utilize version constraints for shared versionsFabian Mastenbroek
This change updates the Gradle configuration to utilize version constraints to force the same dependency version across modules.
2021-02-23Move dependency versions to gradle.propertiesFabian Mastenbroek
This change moves the version of the dependencies from buildSrc to gradle.properties to prevent recompilation when changing dependency versions.
2021-02-23Extract testing conventions from Kotlin conventionsFabian Mastenbroek
This change extracts the configuration for test from the Kotlin library conventions.
2021-02-23Remove unnecessary dependencies on JUnit Platform LauncherFabian Mastenbroek
This change removes unnecessary dependencies on JUnit Platform launcher from the repository. Previously, the launcher was used to bootstrap tests for Gradle when it did not natively support JUnit Platform. Gradle now has native support for JUnit Platform, so the dependency is not needed anymore.
2021-01-11Add support for hypervisor selectionFabian Mastenbroek
This change allows users to select the hypervisor scheduler to use when deploying hypervisors onto bare-metal machines.
2021-01-11Convert to pull-based workload modelFabian Mastenbroek
This change converts the low-level workload model to be pull-based. This reduces the overhead that we experienced with our previous co-routine based approach.
2021-01-07Refactor workflow service to schedule tasks onto VMsFabian Mastenbroek
This change updates the workflow service to delegate the resource scheduling logic to the virtualized resource provisioner.
2021-01-03Adapt workflow engine to use event tracerFabian Mastenbroek
2020-10-04Extract simulation-related code from OpenDC Compute (core)Fabian Mastenbroek
This change splits the opendc-compute module into two modules: 1. opendc-compute-core The interfaces and APIs that represent a IaaS platform. 2. opendc-compute-simulator The implementation of these interfaces using simulation components from opendc-simulator-compute.
2020-10-04Migrate codebase to opendc-simulator-computeFabian Mastenbroek
This change updates the remainder of the codebase to use the opendc-simulator-compute module for the simulation of workloads.
2020-10-02Add opendc-simulator-compute moduleFabian Mastenbroek
This change adds an opendc-simulator-compute module which contains interfaces related to simulating compute workloads. For future changes, we intend to decouple the simulation part from the opendc-compute module.
2020-10-01Add explicit API visibilityFabian Mastenbroek
This change adds explicit visibility modifiers to the public interfaces and enables Kotlin 1.4's explicit API mode.
2020-10-01Migrate to org.opendc namespaceFabian Mastenbroek
This change moves the OpenDC simulator codebase to the org.opendc namespace of which we control the domain. Previously, we used the com.atlarge package of which we did not control the domain, which might lead to difficulties in the future.
2020-10-01Move OpenDC modules into simulator rootFabian Mastenbroek
This change moves the OpenDC modules previously living in the simulator/opendc directory to the simulator directory itself given that we do not make a distinction between OpenDC and odcsim anymore.