Skip to content
Snippets Groups Projects
Commit 904c6e0f authored by erbel's avatar erbel
Browse files

Adjusted Readme

parent b5ea98fb
No related branches found
No related tags found
No related merge requests found
Pipeline #88713 passed
# MOCCI
[![build status](https://gitlab.gwdg.de/rwm/de.ugoe.cs.rwm.mocci/badges/master/pipeline.svg)](https://gitlab.gwdg.de/rwm/de.ugoe.cs.rwm.mocci/commits/master)
MOCCI is an extension for the [Open Cloud Computing Interface (OCCI)](http://occi-wg.org/about/specification/) to enable a model-driven management of monitoring devices in the cloud, as well as storing their results within an OCCI-compliant runtime model. Together with other tools from the OCCI ecosystem it provides a testing and execution environment for self-adaptive systems.
In the following you will find a getting started guide in which a preconfigured virtualbox image is downloaded to perform example scenarios and an tutorial on how to enrich existing OCCI models with monitoring functionality. Moreover, an introduction to MOCCI's components is provided, as well as links and description on how to integrate MOCCI with other pre-existing tooling from the OCCI ecosystem. The paper submitted to this artifact and the virtualbox image can be found [here](https://owncloud.gwdg.de/index.php/s/5u2ddnyyNlzecM5) with the password bein mocci.
MOCCI is an extension for the [Open Cloud Computing Interface (OCCI)](http://occi-wg.org/about/specification/) to enable a model-driven management of monitoring devices in the cloud, as well as storing their results within an OCCI-compliant runtime model. Together with other tools from the OCCI ecosystem it provides a testing and execution environment for self-adaptive systems. This tooling also allows to access the runtime model, infused with monitoring results, over the browser as JSON which is internally maintained on an EMF-basis. In the following you will find a getting started guide in which a preconfigured virtualbox image is downloaded to perform example scenarios and an tutorial on how to enrich existing OCCI models with monitoring functionality. Moreover, an introduction to MOCCI's components is provided, as well as links and description on how to integrate MOCCI with other pre-existing tooling from the OCCI ecosystem. The paper submitted to this artifact and the virtualbox image can be found [here](https://owncloud.gwdg.de/index.php/s/5u2ddnyyNlzecM5) with the password bein mocci.
## Getting Started
......@@ -10,7 +9,7 @@ To get started with MOCCI we provide a hands on experience in form of a virtualb
Alternatively, to manually setup the single components instructions can be found at the end of this document.
### Download VirtualBox Image
To get a quick start into MOCCI download the VM image (Mocci) located here:
To get a quick start into MOCCI download the VM image (Mocci24) located here:
```
https://owncloud.gwdg.de/index.php/s/5u2ddnyyNlzecM5
password: mocci
......@@ -29,7 +28,7 @@ Next start the virtual machine:
1. Choose the recently imported VM and press Start.
2. The username, and password are both: mocci
### Execute Step-by-step example scenarios and tutorials
### Execute Step-by-step Example Scenarios and Tutorials
To learn the ropes of MOCCI, we provide step-by-step instructions for three example scenarios, which are based on the same initial deployment model.
It is recommended to execute the tutorials and examples in the following order:
......
# Monitoring Extension Connector Dummy
# Monitoring Dummy Connector
Each element in the monitoring extension has a single file in the connector implementing how to react on different REST requests addressing the corresponding OCCI element.
This dummy is especially useful for testing purposes. Compared to the [connector](https://gitlab.gwdg.de/rwm/de.ugoe.cs.rwm.mocci/tree/master/de.ugoe.cs.rwm.mocci.connector) for an actual deployment of sensors, a link to configuration management scripts is not necessary in order to get monitoring data.
As soon as a resultprovider is started monitoring results are simulated are passed to the monitorableproperty element of the sensor containing the resultprovider.
......
# Monitoring Extension Connector
# Monitoring Connector
Each element in the monitoring extension has a single file in the connector implementing how to react on different REST requests addressing the corresponding OCCI element.
As the elements of the monitoring extension mainly inherit from elements of the enhanced platform extension provided by [MoDMaCAO](https://github.com/occiware/MoDMaCAO), the implementation of the lifecycle actions is quite similar. To handle the management of each individual component of a sensor, configuration management scripts have to be attached to them. Thus, in comparison to the [dummy connector](https://gitlab.gwdg.de/rwm/de.ugoe.cs.rwm.mocci/tree/master/de.ugoe.cs.rwm.mocci.connector.dummy), this connector allows for an actual deployment and management of sensors in a cloud environment. The skeleton for the connector of the OCCI monitoring extension is generated using [OCCI-Studio](https://github.com/occiware/OCCI-Studio).
......
......@@ -11,7 +11,7 @@ Start a terminal(Strg-Alt-T) and navigate to the desktop (cd Desktop). The scrip
If the preconfigured VM is not used: Start the MartServer with these [plugins](../src/test/resources/martserver-plugins) for the test environemt.
For an actual deployment in an OpenStack cloud we used the following [live connectors](../src/test/resources/martserver-plugins/live) including these [ansible roles](../src/test/resources/roles).
## Deploying the Cluster
## Deploying the Hadoop Cluster
Now that the MartServer is started the hadoop cluster can be deployed. Therefore, start the InitialDeployment.java file as an Java Application. This application performs requests to deploy the model shown below.
If the VM is used: Open a terminal(Strg-Alt-T) and navigate to the VM's desktop(cd Desktop) and execute the initialDeployment.jar using the following command.
```
......@@ -49,5 +49,5 @@ Now that the deployed model shown below is running, the other tutorials can be e
![Init](./src/main/resources/de/ugoe/cs/rwm/mocci/occi/initial.jpg "Init")
## Resetting the MartServer
If you plan to execute the other scenarios([Vertical Scaling](./vertical.md), [Horizontal Scaling](./horizontal.md), and [Sensor Creation](./own.md)] do not reset the MartServer.
If you plan to execute the other scenarios ([Vertical Scaling](./vertical.md), [Horizontal Scaling](./horizontal.md), and [Sensor Creation](./own.md)) do not reset the MartServer.
Otherwise first stop the MartServer it by pressing Ctrl-C in the terminal running it. Thereafter, either start the resetMart.sh script or go to the folder holding the occi model of the MartServer(~/models) and delete the file model-anonymous.occic. This file represents the concrete runtime model stored by the MartServer when he is stopped and started.
\ No newline at end of file
......@@ -13,7 +13,7 @@ In the getting started VM the script is located on the desktop. Create a termina
./vertical.sh
```
### Adaptation Script - Output
### Adaptation Loop Script - Output
The output of the script is separated into the individual steps of the MAPE loop: Monitor, Analyze, Plan, and Execute.
Thus, the output looks depending on the adaptive action to be performed similar to:
```
......@@ -55,7 +55,7 @@ An example log file from the execution of the script can be found [here](./verti
### Browser - Output
Again, the browser can be used to query the running OCCI model. As the self-adaptation script adjusts the amount of cores of the worker node in the hadoop cluster, the compute node can be directly queries to gain information about its current state.
Therefore, investigate the occi.compute.core attribute of the worker node using the following query:
Therefore, investigate the occi.compute.core attribute of the worker node using the following query. The updated values can be checked by **refreshing the browser**:
```
http://localhost:8080/compute/urn:uuid:2e6a73d0-faaa-476a-bd25-ca461dd166cf/
```
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment