An Ansible role that provides an installation of the Comet VOEvent broker.
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.
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
.
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.
To pull up a working VM with Comet installed:
cd vagrant
ansible-galaxy install -r requirements.txt
vagrant up
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.