summaryrefslogtreecommitdiff
path: root/simulator/opendc-experiments/opendc-experiments-capelin/src
AgeCommit message (Collapse)Author
2021-03-24simulator: Move power models to simulator moduleFabian Mastenbroek
This change moves the power models from the `opendc-compute-simulator` to the `opendc-simulator-compute` module, since it better fits the scope of the models and allows them to be re-used for other purposes.
2021-03-22simulator: Remove generic resource constraint from resource modelFabian Mastenbroek
This change removes the generic resource constraint (e.g., SimResource) and replaces it by a simple capacity property. In the future, users should handle the resource properties on a higher level. This change simplifies compositions of consumers and providers by not requiring a translation from resource to capacity.
2021-03-22simulator: Expose capacity and remaining work outside consumer callbackFabian Mastenbroek
This change changes the consumer and context interfaces to expose the provider capacity and remaining work via the context instance as opposed to only via the callback. This simplifies aggregation of resources.
2021-03-22simulator: Re-design consumer interface to support capacity negotiationFabian Mastenbroek
This change re-designs the SimResourceConsumer interface to support in the future capacity negotiation. This basically means that the consumer will be informed directly when not enough capacity is available, instead of after the deadline specified by the consumer.
2021-03-17simulator: Make hypervisors generic for the resource typeFabian Mastenbroek
This change moves the hypervisor implementations to the opendc-simulator-resources module and makes them generic to the resource type that is being used (e.g., CPU, disk or networking).
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-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-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: 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-23exp: Add support for running Capelin experiments in IntelliJFabian Mastenbroek