roshub / vapor_master

high availability ros master
Apache License 2.0
17 stars 8 forks source link
high-availability ros snapcraft vapor-master

Vapor is a high availibility rosmaster implementation

Build Status Snap Status

Introduction

Vapor-master is a drop in replacement for rosmaster enabling high availability ROS service discovery. Vapor removes the single point of failure fundamental to ROS1 enabling new options for achieving greater scale and uptime of ROS1 workflows.

Installing

Vapor is available as a catkin package, debian package and Ubuntu Snap. We recommend consuming vapor via the debian package or Ubuntu Snap.

Prerequisites

A requirement of vapor is that you have installed and configured mongodb for your environment. For local testing you can simply run:

Non-requirements

Vapor does not strictly require a ROS installtion, it can simply be run as a micro service if so desired.

Debian Package

NOTE: We are still awaiting the next rosdistro sync for Melodic, you can follow sync status here

Snap Package

Get it from the Snap Store

Vapor can be installed either by visiting the Ubuntu Snap store above or with the following command

Once installed the snap runs as a daemon until stopped using:

To re-start simply:

You can manually start vapor for:

You can debug by seting the DEBUG environment variable:

All command line flags are accessible via the snap as well:

Configuring

Vapor can be configured in four ways with highest precedence in order:

  1. Command line flags
  2. Configuration file
  3. Environment variables
  4. Defaults

Command Line Flags

Usage vapor-master
  --clean-db
  --no-clean-db
  --no-shutdown
  --db=[mongo-uri]
  --dboptions={[mongo-db-options]}
  --ROS_MASTER_URI=[ros-master-uri]
  --config=[configuration-file]

Configuration File

Vapor looks for configuration files in:

Environment Variables

Defaults

Developing

To develop you will need to install

To interactively develop run:

yarn
yarn watch

Tests

To run tests, first run catkin_make in the tests/native_client folder, and then source the file tests/native_client/devel/setup.bash.

Then run:

yarn test

Roadmap

Further Reading

Support

Should you need professional support, contact us.

Credits

Vapor is open source software developed by RosHub Inc.