New & Noteworthy

This page lists the enhancements and new features brought by Roboconf 0.5.

Target Definitions through the Web Console

It is now possible to define target.properties independently of any application.
This can be achieved through the web console.

Creation of a new deployment target in Roboconf's web console

Pre-defined target.properties still work but are not mandatory anymore.
Deployment targets can then be associated with applications and application instances.

Associate targets with applications and application instances

Combined with application templates, it allows to deploy a same application over different environments.

A same application deployed over different infrastructures

External Dependencies

Users can now define inter-application dependencies.
It means graph components from an application can reference variables exported by other Roboconf applications.

Inter-application dependencies

This is possible provided the other application marked some of its internal variables as visible from the outside.

# A global and unique export prefix
exports-prefix: Lamp

# Now, lets export the internal variable outside.
exports: Apache.ip as lb_ip

It can then be imported as…


MyApp { 
	installer: script; 
	imports: Tomcat.portAJP, Tomcat.ip; # local variables
	imports: external Lamp.lb_ip;      # external variables
	exports: ip;
}

Inter-application links bind two applications together.
Application bindings are one-to-one relations.

Binding two applications together


When a component from an application changes, and that this component exports variables to other applications, then these last ones will be notified about it. This brings better modularity in applications management and provides a better approach when considering an information system.


Smarter Autonomic

The autonomic management has been completed to not execute silly reactions every time an agent probe triggers an event. Now, the autonomic manager verifies any previous automatic reaction has completed successfully before executing it again. It is also possible to define a safety delay between reaction executions.

A reminder about the way autonomic management works

Eventually, we started to introduce the notion of quota.
For the moment, we only have a global quota that prevents the autonomic from creating too many virtual machines.
Other levels of quotas will be added in the next versions (per application, per infrastructure, etc).


Extensible Probe Framework

Since Roboconf 0.5, it is possible to create its own probe to measure activity on remote agents.
It means you can plug any Java-compliant library to monitor deployed software. Additional extensions will complete the file, nagios and rest probes that come by default.

Such probes aim at being used with the autonomic management.
As an example, this feature was used to plug a JMX-based library in Roboconf to monitor Petals ESB.

Custom probes can be registered and used by a Roboconf agent


Simplified Docker Configuration

The configuration to use the Roboconf Docker target has been simplified.
It provides the same features than before but with less properties.

As an example, the following configuration will automatically generate a Docker image, install and configure a Roboconf agent, start containers and install Software components (as defined in a Roboconf application).

# Common information to any target
handler = docker
name = Docker
description = A Docker installation with an image generated by Roboconf.

# Docker specific properties
docker.generate.image = true
docker.image = roboconf-docker-img


Miscellaneous

A lot of enhancements have been brought to this new version.
And many bugs were fixed too. Please, refer to the release notes for details.