AOng

AOng is the Abiquo Outbound API client. This client is not part of the core Abiquo product, and as such, it is not supported by Abiquo.

The purpose of this software is to provide a way to connect and consume the /wiki/spaces/doctest/pages/311374677 and use some extra functionality not yet included in the Abiquo core platform. It also provides an easy path for you to develop custom handlers for Outbound API events.

Install and configure AOng

AOng Prerequisites

AOng is a standard Ruby on Rails application, using [Resque](https://github.com/resque/resque) for background job processing and [em-eventsource](https://github.com/AF83/em-eventsource) to consume the Abiquo Outbound API. Testing has been done under Linux CentOS 6, but it might work under other platforms.

To run the application first install:

  • Ruby 2.0 or greater with rubygems (recommended install using rvm, see http://rvm.io/)
  • Redis Server
  • RDBMS supported by Rails (Activerecord)

Install Rails Prerequisites

First install the prerequisites for Rails

yum install http-parser libuv-devel sqlite-devel nodejs libvirt-devel

Install AOng

Expand the zip file and change into the directory with the cwd command, then type:

bundle install

Configure AOng

First configure the AOng database. Edit config/database.yml and set up accordingly for each environment. Default is SQLite database:

adapter: sqlite3
database: db/development.sqlite3
pool: 5
timeout: 5000

Or for MySQL

adapter: mysql2
host: localhost
username: AOng
password: temporal
database: AOng

Then create the AOng schema and tables, and populate them with basic data, by running:

rake db:migrate

Synchronize Abiquo's enterprises and users into the AOng database:

rake abiquo:sync

Abiquo recommends that you set up a cron task to run this command periodically in order to keep user and enterprise data synchronized.

Configure AOng application

Edit config/config.yml and configure the following parameters for each environment.

ParameterDescription
abiquo_m_urlThe URL of the Abiquo M event stream, e.g. http://abiquo.example.com:8009/m/stream
abiquo_api_urlThe URL of the Abiquo API as specified in the Abiquo platform's abiquo.properties file, e.g. https://abiquo.example.com
abiquo_m_usernameThe username for connecting to the event stream, e.g. admin
abiquo_m_passwordThe password for the user, e.g. xabiquo

Run the application

The application has the following components:

Component

Description

*Application server*

Serves HTML pages and handles rule, command and rule group configurations

*Bundle worker*

A Resque worker that will handle job queuing for each command

*Queue workers*

Resque workers performing actual modifications or configurations

*Outbound client*

A process that connects to the Outbound API to consume events

These components are managed using foreman. To start all components just run

foreman start

When all the processes have started you can access the application at:

http://ip_of_your_server:3000/admin

For production environments it is advised to export foreman process to init scripts as described on foreman's man page (See http://ddollar.github.io/foreman/#EXPORTING).

You can also change concurrency values in foreman to run more than one worker of each type. You must not run more than one Outbound client.

foreman start -c web:1,outbound_client=1,bundle_worker=2,queue_worker=2

AOng integrations

The first integration is the Rate Limit integration.

Unable to render {include} The included page could not be found.