summaryrefslogtreecommitdiff
path: root/simulator/opendc-compute/opendc-compute-core
AgeCommit message (Collapse)Author
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-07compute: Make VirtProvisoningService responsible for Server lifecycleFabian Mastenbroek
This change refactors the OpenDC Compute module so that the VirtProvisioningService is now responsible for managing the lifecycle of Server objects as opposed to the VirtDriver and BareMetalDriver previously.
2021-03-07compute: Remove ServiceRegistry fieldsFabian Mastenbroek
This change removes the use of ServiceRegistry in the OpenDC compute module. It was not actually being used by any of the code and we are moving to another interface in the future.
2021-03-07compute: Separate cloud compute layer from bare-metal layerFabian Mastenbroek
This change separates the cloud compute layer in OpenDC (e.g., Server) from the bare-metal layer (e.g., Node), such that Node and BareMetalDriver are unaware of the existence of Server and co.
2021-03-07compute: Pass simulation workload via image metadataFabian Mastenbroek
This change removes the SimWorkloadImage implementation and changes Image to a data class without workload. Simulation workloads should now be pased via image metadata as the image storage should be unaware of any simulation details.
2021-02-23Use Java Platform for shared dependency constraintsFabian Mastenbroek
This change uses the Java Platform functionality from Gradle to enable shared dependency constraints across modules.
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 hypervisor supporting space-shared VMsFabian Mastenbroek
This change adds a new hypervisor implementation that supports virtual machine that have exclusive access to resources (e.g., CPU).
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-03Integrate event tracer in SimVirtProvisioningServiceFabian Mastenbroek
2020-10-05Move power models outside opendc-coreFabian Mastenbroek
2020-10-05Move failure models to separate moduleFabian 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.