Installing the Deployment Manager

The Deployment Manager (or DM) is an OSGi application that drives deployments and administration actions.
Basically, it can deploy, start, stop and undeploy instances of Software components. It is also in charge of maintaining application models and artifacts.

The DM itself exposes REST services.
It also comes with a web interface which is in fact a client for the REST API. By default, this interface is bundled with the DM, but it can also be run independently.

The Deployment Manager is the administration part of Roboconf. And although it could, it is not supposed to run all the time. So, you may stop it when you do not use it anymore. The agents will work without it and without any problem.

To install the DM, you need a Java Virtual Machine (JDK) for Java 1.7.
Both OpenJDK and Oracle JDK are supported.

Although we generally test Roboconf with Ubuntu systems, there is no reason it does not work on other systems.
However, we recommend using Linux systems.

Several options are available to install the DM.

This page only describes how to install the DM.
Take a look at this page to see how to configure it.

Installing Java

Installing Java is described in several places all over the web.
Here are some short links and snippets to make you gain some time. Take a look at this page as an example.

sudo apt-get update
sudo apt-get install openjdk-7-jdk 

And define the JAVA_HOME environment variable.
On Ubuntu 14.04, the following command installs Java here…

/usr/lib/jvm/java-7-openjdk-amd64/jre

If you use Karaf, you can define this variable in the Karaf’s bin/setenv file.

The Custom Karaf Distribution for the DM

Apache Karaf is an OSGi server.
It brings additional features to OSGi containers like Felix (Apache) or Equinox (Eclipse). It also allows to build custom distributions with pre-installed bundles and their configurations. The custom Karaf distribution for the DM is thus a stand-alone server with the Roboconf’s DM being already deployed and configured. The DM distribution uses Apache Felix.

Having several Karaf servers on a machine can result in port conflicts. If it is your case, you may have to configure the ports differently. Or you may prefer deploying our Karaf feature in your own Karaf installation.

This distribution can be deployed either with a Debian package or manually.
To deploy it manually, you must have a JDK 7 installed. Then, download the DM’s archive and unzip it somewhere on your disk.

It is better to take the tar.gz archive, since it preserves file permissions.
If you use the ZIP, change the permissions of the data/tmp directory to 774.

To start it, execute…

cd bin
./karaf

This opens an interactive shell.
To exit, type in…

logout

You can find help and more instructions about Karaf on its web site.

The DM Feature for Karaf

If you already have your own Karaf server, you may prefer to install the DM as a feature.
The DM feature is a XML file that lists the bundles to install and some of their dependencies so that the DM works.

We do not have any official release yet.
However, you can add our snapshot repository to the list of features repository.

Start your karaf and execute…

# Add the feature URL
feature:repo-add http://repo1.maven.org/maven2/net/roboconf/roboconf-karaf-feature-dm/0.3/roboconf-karaf-feature-dm-0.3-features.xml

# Install the feature 
feature:install roboconf-dm

For the record, the roboconf-dm feature depends on the following features:

The DM Bundles

It is possible to deploy the DM bundles directly in Felix, Equinox or any other OSGi container.
To determine all the required bundles, take a look at the Karaf feature described above. The previous section also lists their dependencies (as other Karaf features).