| Age | Commit message (Collapse) | Author |
|
This change adds to the experiment base in OpenDC a provisioning tool to
help setup the experimental environment in a reproducible manner.
The experimental environment can be defined in terms of *provisioning
steps* which manage the allocation, configuration, and clean-up of all
resources necessary for the experiments.
The provisioning steps are executed sequentially, so in case of dependencies,
the steps need to be ordered correctly.
|
|
This change updates the simulator dependencies to the latest available
version where possible.
|
|
This change updates the build system Gradle to version 7.5, which ships
Kotlin 1.6.21. That is the same version currently used by OpenDC and
should reduce the warning messages produced by Gradle due to version
mismatches.
|
|
This change updates Quarkus to version 2.11.1 which fixes an issue with
the Gradle development mode where the working directory was incorrect.
This meant that the traces failed to be loaded.
|
|
This change updates the simulator dependencies to the latest available
version where possible.
|
|
This change updates the simulator dependencies to the latest available
version where possible.
|
|
This change updates the build configuration in order to ensure that
Node.js is downloaded onto the build system. This drops an explicit
dependency on a system installation of Node.js and allows us to ensure
that the project is built against the correct Node.js version.
|
|
This change removes the OpenDC Harness modules from the main repository.
We have made the decision to take a different direction regarding the
specification and execution of experiments. The design of the current
harness does not integrate well with the specification of experiments in
the web interface. The new version focuses on proper integration with
the web interface, as well as via the command line interface.
|
|
This change removes the dependency on the OpenTelemetry SDK. Instead,
we'll only expose metrics via the OpenTelemetry API in the future via
adapter classes.
|
|
This change updates the Parquet support library in OpenDC to not rely on
Avro, but instead interface directly with Parquet's reading and writing
functionality, providing less overhead.
|
|
This change adds a command line interface for querying workload traces
using SQL. We provide a new command for the trace tools that can query a
workload trace.
|
|
This change adds support for querying workload trace formats implemented
using the OpenDC API through Apache Calcite. This allows users to write
SQL queries to explore the workload traces.
|
|
This change updates the Jandex Gradle plugin to version 0.12.0. This
version addresses some deprecation warnings reported by Gradle for the
future 8.0 release.
|
|
This change updates the web API to use Quarkus 2.8.1.Final. This release
fixes an issue we had with local extensions failing to build due to some
build directories missing.
|
|
This change updates the Kotlin version used by the build process of our
project to version 1.6.21.
|
|
This change adds a new Quarkus extension that is able to serve the
OpenDC web interface via the Quarkus deployment of OpenDC.
|
|
This change adds support for building the OpenDC web interface project
that uses Next.js using Gradle. This enables a single build pipeline
using Gradle.
|
|
|
|
|
|
|
|
This change updates the web runner implementation to use the new API
client introduced in the previous commit.
|
|
This change adds support for dynamically selecting the appropriate JSON
type for the current database. For Postgres, this will be the JSONB
type, while for H2 this is either the BLOB or JSON type.
|
|
This change adds the initial implementation of the new API server in Kotlin,
replacing the old API written in Python. The implementation uses Quarkus,
RESTEasy, and Hibernate to implement the new API endpoints.
The reason for replacing the old API server is unifying the build and
deployment toolchains, reducing the number of technologies necessary to
work with OpenDC. Furthermore, we envision bundling the entire OpenDC
project into a single distributions, allowing users to launch their own
deployment trivially.
|
|
This change adds a unified communication protocol in form of the module
opendc-web-proto which contains the classes that form the communication
protocol of OpenDC's API v2.
By having the protocol in a separate module, we can utilize the classes
in both server and client.
|
|
This change moves build dependencies used by Gradle into the version catalog
to ensure a single location for all dependency versions.
|
|
This change updates the Gradle wrapper to version 7.4.
|
|
This change updates the OpenDC codebase to use OpenTelemetry v1.11,
which stabilizes the metrics API. This stabilization brings quite a few
breaking changes, so significant changes are necessary inside the OpenDC
codebase.
|
|
This change updates the project dependencies to their latest versions
where possible.
|
|
This change updates the dependencies for the simulator. These changes
may include possible fixes for the vulnerabilities in log4j.
|
|
This change updates the Gradle wrapper version to 7.3.3 which includes a
fix for the recent log4j vulnerabilities.
|
|
This change fixes vulnerabilities found in earlier versions of log4j.
|
|
This change addresses the RCE vulnerability in log4j <= 2.14.1.
|
|
This change updates the OpenDC dependencies to their latest version
where possible. We do not update OpenTelemetry, since the new version
contains breaking changes that need to be resolved seperately.
|
|
This change updates the Gradle wrapper to version 7.3. This release adds
official support for Java 17 as well as various improvements.
See the release notes for more information:
https://docs.gradle.org/7.3/release-notes.html
|
|
This change updates the project to use jmh-gradle for benchmarking as
opposed to kotlinx-benchmark. Both plugins use JMH under the hood, but
jmh-gradle offers more options for profiling and seems to be beter
maintained.
|
|
This change removes the dependency on SnakeYaml for the simulator. It
was only required for a very small component of the simulator and
therefore does not justify bringing in such a dependency.
|
|
This change creates a new module for doing simulations with virtual
machine workloads. We have found that a lot of code in the Capelin
experiments code is being re-used by non-experiment modules.
|
|
This change updates the opentelemetry-java library to version 1.6.0.
|
|
This change adds support for reading WfCommons workflow traces in
OpenDC. This functionality is available in the new
`opendc-trace-wfformat` module.
|
|
This change adds support for specifying the distribution of the
failures, group size and duration for the fault injector.
|
|
This change updates the Gradle version of the supplied Gradle wrapper to
version 7.2.
* Update Gradle to version 7.2
* Address incompatibilities with version catalog
* Remove opendc-format module.
|
|
|
|
This change upgrades the OpenTelemetry dependency to version 1.5, which
contains various breaking changes in the metrics API.
|
|
This change updates the code for the Bitbrains trace reader and upgrades
the TraceConverter to re-use existing code of the Bitbrains trace
reader.
|
|
This change updates the Kotlin dependencies used by OpenDC to their
latest version.
|
|
This change updates the web runner to not require direct database access
for scheduling simulation jobs. Instead, the runner polls the public
REST API for available jobs and reports its results through there.
|
|
This change updates the project dependencies to follow the latest
available version where possible.
|
|
This change upgrades the Gradle build system to version 7.1.
|
|
This change eliminates all Hadoop dependencies that are not necessary
for Parquet to work correctly. As a result, the number of dependencies
should now be greatly reduced, which in turn leads to less artifacts
that need to be retrieved at build time.
|
|
This change updates the format implementations that use Parquet by
switching to our InputFile implementation for local files, which
eliminates the need for Hadoop's filesystem support.
|