Skip to content

timstaley/ansible-comet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

timstaley.comet

An Ansible role that provides an installation of the Comet VOEvent broker.

Outline

This role will install the bare minimum to get a Comet instance up and running, and won't actually do anything with the VOEvents they receive. The Comet-invocation script can be supplied as a role-argument, so you can easily change that to set up passing of VOEvents to your own custom code.

Deployment details

The scripts create a pair of non-sudo users, defined by default as cometdeploy and cometserve. VOEvent handling code and virtualenvs are dropped into /home/cometdeploy, then run in read-only mode as the cometserve user (this provides extra security in the worse-case scenario that Comet has some serious security exploit hole, e.g. to malformed packets). Logs etc are dumped into /home/cometserve/working_dir.

Usage

Setup

Note that building the LXML package (which is a dependency) usually requires significantly more than 512MB of RAM. For the test-VM setup we make use of a swapfile, via a ready-made role from kamaln7. You'll need to install the role using the ansible-galaxy command line tool before running the tests.

Vagrant VM for testing

To pull up a working VM with Comet installed:

cd vagrant
ansible-galaxy install -r requirements.txt
vagrant up

Ansible on a pre-existing Ubuntu installation

Running against a pre-existing machine is a bit more complicated because there are more possible variables, and you may want to familiarize yourself with the Ansible docs first. In short, you'll need to:

  • Configure your ansible inventory to reach the desired machines. Test with e.g. ansible -m ping all.
  • Modify test-comet-role.yml as required. You probably don't want/need swapfile configuration, and you will need to set the hosts to match your inventory.
  • Run your new playbook file using the ansible-playbook command.

Releases

No releases published

Packages

No packages published