Rudi Schlatte e579773feb Initial check-in: application skeleton
no functionality yet, except

- Try to parse the sample yaml app files from T2.5

- Have a dockerfile, unit tests etc. available

Change-Id: If15c1197f61a53db3d7ab51328c24100b1641732
2023-10-30 10:05:21 +01:00

1.2 KiB

The NebulOuS optimizer controller

This module serves two purposes:

  • When a new NebulOuS application is started, set up the initial optimizer infrastructure, parse the application structure and metric model, and pass an initial resource configuration (“Optimized Service Graph”) to the Deployment Manager.

  • When an application is running, monitor the application-specific metrics coming in via ActiveMQ and invoke the optimizer as needed, thereby possibly triggering application reconfigurations.

Building

To compile, install a JDK (Java Development Kit) version 17 or greater on the build machine.

# Compile:
./gradlew assemble
# Compile and test:
./gradlew build

Building the container

A container can be built and run with the following commands:

docker build -t optimiser-controller -f optimiser-controller/Dockerfile .
docker run --rm optimiser-controller

Running

To run, install a JRE (Java Runtime Environment) version 17 or greater.

A successful build creates the jar file dist/optimiser-controller-all.jar. This file is self-contained and can be executed via the following command:

java -jar dist/optimiser-controller-all.jar