Skip to content

WombatOAM Orchestration

WombatOAM can deploy Erlang nodes in the cloud or on specified computers. The following features can be used via WombatOAM's REST interface and from the web dashboard:

  • Add cloud providers. Currently, Amazon and local deployment are supported.
  • Upload Erlang releases.
  • Define node families. A node family is an entity which uses a certain Erlang release and can deploy it to certain providers.
  • Deploy and start new Erlang nodes (this includes creating the virtual machine instances on the given provider).

Orchestration v1 and v2

There are two versions of Orchestration implemented in WombatOAM, with regards to handling node families and nodes:

  • Orchestration v1 is the legacy implementation. This is the default, which will change in the future.
  • Orchestration v2 is the new implementation. The aim is to be more consistent, user-friendly, fault-tolerant and scalable than v1.

Orchestration v2 can be used with the following wombat.config setting:

1
{set, wo_orch, version, v2}.

Providers and releases are handled in the same way regardless of the Orchestration version. On the other hand, node families and nodes are not only handled differently by the two versions, but they store the Orchestration-related data in different data tables. (So e.g. if a node family is created with v1, then WombatOAM is restarted with v2 configured, v2 won't show this node family as a node family handled by Orchestration.)

Configuring WombatOAM Orchestration

For using Orchestration, Libcloud needs to be installed from source as described here.

Before being able to deploy your distributed Erlang application via WombatOAM, some configuration is required in the wombat.config file.

First, enable the Orchestration tab on the dashboard:

1
{set, wo_dashboard, enable_orch, true}.

Create SSH public and private keys (using the ssh-keygen program) and specify their path in wombat.config. Assign a custom string to cloud-prefix (which will be prepended to the name of all your virtual machine instances, security rules, etc. on the cloud providers.

1
2
3
{set, wo_orch, private_key, "~/.ssh/wombat"}.
{set, wo_orch, public_key, "~/.ssh/wombat.pub"}.
{set, wo_orch, cloud_prefix, "joe-smith-"}.

When using physical providers, make sure that an SSH server is running on them, and that the provided private key has been added to its list of authorized keys. This includes the scenario when you deploy nodes on the same machine on which WombatOAM is running.

Using WombatOAM Orchestration

If you are interested in using WombatOAM Orchestration, it is recommended that you contact the WombatOAM team.