Skip to content

rmahmood/reactor-core

Repository files navigation

==Quick Start==

1. Ensure that the dependent projects (outlined below) are installed and that
the zookeeper server is running. `make env` can be used to install the
dependent projects.

2. Using Openstack, with the gridcentric extensions installed, boot a new
instance. Install the VMS agent in this instance, and deploy your favorite
sample application.  You'll also need to deploy a hook in /etc/gridcentric/clone.d
which registers with reactor when cloning occurs, something like:

'''/etc/gridcentric/clone.d/90_reactor'''
   #!/bin/bash
   while true; do
       curl -X POST <http://this-reactor-url/v1.0/register> && break
   done

Once this is done and the instance is running your demo app, bless the instance.

3. Modify the example endpoint.conf. In particular update the nova/instance_id
to point to the newly created instance.

4. Run the scale manager server
$ sudo reactor -z localhost:2181 runserver

5. Run the scale manager API that allows communication with the scale manager.
$ reactor -z localhost:2181 runapi

6. Create a new endpoint to autoscale, using the example endpoint.conf.
$ reactor manage testscale < example/endpoint.conf

7. The scale manager will now manage the endpoint, and launch new instances up
to the specified minimum number of instances. The load balancer configuration
will also be modified once the in-guest agent has registered with the manager
so that we know the IP is up and running.

==Dependencies==

nginx (optional)
    The default load balancer used by reactor.
    * Optionally built with the stick module.

dnsmasq (optional)
    Required if you are using the 'dnsmasq' load balancer.

zookeeper (3.4.x) (http://zookeeper.apache.org/)
    This the main datastore / control mechanism.
    You must also install the python bindings. 

mako (http://www.makotemplates.org/)
    A simple python templating engine used to update load balancer configurations.

pyramid (http://docs.pylonsproject.org/projects/pyramid/en/1.2-branch/index.html)
    A simple web framework used by the API.

python-netifaces
    A python module for querying network interfaces.

==Project Contents==

bin
    Contains scripts that are used to configure the reactor instance.

reactor
    The top-level python package.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published