Version 9 (modified by 4 years ago) (diff) | ,
---|
Cloud Native Renew
Cloud Native Renew aims towards incorporating aspects of observability, operability, agility, and resilience into reference net simulations based on Renew. Its intended use is the deployment in cloud environments without direct administrative access to the system itself. Our current implementation is based on Renew 4.0 (see http://www.renew.de)
The approach is in line with other related contributions, such as RenewKube and PetriNetSagas.
The following figure shows the overall architecture of a full cloud native Renew deployment.
Download
The latest version of the cloud native Renew plugin (shown in bold font in the figure) can be downloaded here.
Usage
This section describes the usage in an isolated context, meaning a simple start of a Renew instance along with the cloud native plugin, but not the entire deployment outlined in the figure above. Information on the full deployment will be shown later.
- Make sure to you have Java 11+ and any HTTP enabled tool, such as
curl
installed on the machine, you want to run Renew on. - Download the package above and unzip it.
- (optional) If port 8098 is in use on your machine, open the file
src/main/resources/application.properties
and change the entryserver.port
to an unused port. - Navigate to the main directory and run
./gradlew build
(or.\gradlew build
on Windows CMD) - To start use the following command:
- Linux/Unix:
java -p dist:dist/libs -m de.renew.loader gui
(depending on your shell you might need to escape the colon character:java -p dist\:dist/libs -m de.renew.loader gui
- Windows:
java -p dist;dist/libs -m de.renew.loader gui
- Linux/Unix:
- Open a command shell and execute
curl localhost:8098/log
(or use the port you specified earlier in theapplication.properties
file). The log files of the simulator will be returned from the moment onward the cloud native plugin was initialized. - Open a web browser and navigate to
http://localhost:8098/swagger-ui.html
to see a documentation of the service endpoints with their required parameters.
- You can for example upload an existing shadown net system .sns.
- To create a shadow net system, open up a Renew instance (or the one spawned by the startup earlier), draw a reference net, save it with a specific name (File -> Save Drawing As...), and hit File -> Export -> Export all drawings (merged file) -> ShadowNetSystem?
- If you created the net within the here supplied Renew instance with the cloud native plugin, close the net drawing, but not Renew itself.
- Assume the shadow net system file is namend
example.sns
: Upload the net using:curl -F 'snsZipFile=@example.sns' localhost:8098/upload/sns?fileName=example.sns
- After uploading you can start a simulation. Assume you named the net within
example.sns
alsoexample
. Use this command:curl -X POST 'localhost:8098/simulation/start?mainNet=example&sns=example.sns'
- The simulation can now be controlled by the endpoint:
curl -X POST 'localhost:8098/simulation/control?command=step'
Use the keywords:run
(To run simulations, that have been paused or only initialized)step
(To execute a single step in the simulation)stop
orhalt
(To suspend the simulation but do not terminate it)term
(To terminate a simulation. This is irreversible.)
Attachments (2)
- global_architecture.png (22.6 KB) - added by 4 years ago.
- CloudNativeRenew_SpringBootAdmin.zip (59.6 KB) - added by 4 years ago.
Download all attachments as: .zip