This section describes how to deploy the Server
and Services datanode
as the first step in deploying a staged Abiquo distributed scalable environment.
At the end of this deployment, you should be able to log in to the UI and create a user.
Introduction
The server
appliance contains the Abiquo UI, API, and Events servers.
The services datanode
appliance contains the database cluster and the Abiquo services. Abiquo uses the services, such as RabbitMQ and Redis, in communication between the API server and other platform components.
Requirements
You will need the following virtual resources.
Server
2 CPUs
8 GB RAM
64 GB HD
Datanode
2 CPUs
8 GB RAM
20 GB HD
The NFS repository folder for VM templates must be present and it must be able to be mounted and accessible on servers and hypervisors. See VM repository folder
The FQDN of the Abiquo API server must have DNS resolution
Install the API UI server
This section describes how to install the API UI server.
Download the
server
OVA file and launch it. For details of how to deploy an OVA in VMware, see OVA deployment for distributed scalableEnter the standard parameters for the API UI server, which are as follows:
Friendly hostname, e.g.
server-ova
, which must be a valid Linux hostnameManagement interface IPv4 Address, e.g.
10.60.10.100
, which should be a static network configurationManagement interface IPv4 Netmask, e.g.
255.255.255.0
Default Gateway, e.g.
10.60.10.1
Space separated DNS Server list, e.g.
10.60.10.1
Space separated NTP Server list, e.g.
10.60.10.1
, which is required for features that depend on clock synchronization
Enter the API/UI server parameters
Abiquo API server FQDN, e.g.
serverova.lab.abiquo.com
This FQDN must be resolvable from customer premises for SSL and the Appliance manager to work properly
Remote Services IP, e.g.
10.60.10.110
Watchtower IP, e.g.
10.60.10.102
Datanode
We will deploy a single services datanode
server to form a cluster of one node. Later, you can easily deploy more nodes and add them to the cluster.
Download the
services
datanode OVA file and launch it.Enter the standard parameters for the services datanode server. The description of the parameters is the same as above
Friendly hostname, e.g.
servicesova
, enter a valid Linux hostnameManagement interface IPv4 Address, e.g.
10.60.10.185
, which should be a static network configuration
Enter the
services datanode
server parametersServices cluster IPs, e.g.
10.60.10.185
, which is the IP of this server because the cluster will only have one node
Post install steps
Datanode
Log in to the datanode server as an administrator
Configure the Galera cluster with the following command
galera_new_cluster
Edit the RabbitMQ environment configuration file at
/etc/rabbitmq/rabbitmq-env.conf
Set the
nodename
that corresponds to the server, such asrabbit@services1
Restart the RabbitMQ service
systemctl restart rabbitmq-server.service
Then run the following command
/usr/local/abiquo/setup build_cluster
Note that this command will output the default user and password of the database, so for a test system behind a firewall, you can use that in the next step.
Server
Log in to the API/UI server as an administrator
To use the separate database on the datanode server, edit the tomcat configuration at
/opt/abiquo/tomcat/conf/Catalina/localhost/api.xml
Change the DB endpoint from
localhost
to the IP address of the services datanode server, where your Galera database cluster is running .
Remove this line:driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/kinton?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8"/>
Add this line and replace
{DATANODE_IP_ADDRESS}
with the IP address of your datanode server:driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://{SERVICES_DATANODE_IP_ADDRESS}:3306/kinton?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8"/>
Change the
user
andpassword
. If you need more information, please contact Abiquo SupportEdit the
abiquo.properties
file at/opt/abiquo/config/abiquo.properties
:Set the IP address of the
services datanode
and the ports of the RabbitMQ and Redis instances, and the FQDN of the API. Also deactivate monitoring until you deploy the monitoring node.abiquo.rabbitmq.addresses = {SERVICES_DATANODE_IP_ADDRESS}:5672 abiquo.redis.host = {SERVICES_DATANODE_IP_ADDRESS} abiquo.redis.port = 6379 abiquo.server.api.location = https://{API_FQDN}/api abiquo.monitoring.enabled=false
Save the properties file and restart the
abiquo-tomcat
serverservicectl abiquo-tomcat.service restart
To check when the Abiquo server has started you can follow the end of the log with the following command until the API has started and connected to the services.
tail -f /opt/abiquo/tomcat/logs/catalina.out
Configure firewalls
Configure the firewalls for your servers as described here.
Server firewall requirements
From | To | Notes |
---|---|---|
Client | 80/tcp | HTTP - It will be redirected to port 443 by default |
443/tcp | HTTPS - Proxy port for API/AM/UI services | |
Remote services appliance | 8009/tcp | |
8010/tcp | ||
V2V appliance | 8009/tcp | |
8010/tcp |
Allow ICMP
You must ICMP between all components of the Abiquo platform, including hypervisors.
Services datanode firewall requirements
From | To | Notes |
---|---|---|
Monitoring | 3306/tcp | MySQL |
5672/tcp | RabbitMQ | |
Server | 2181/tcp | Zookeeper for API load balancing |
3306/tcp | MySQL | |
5672/tcp | RabbitMQ | |
6379/tcp | Redis | |
Remote services | 5672/tcp | RabbitMQ |
V2V | 5672/tcp | RabbitMQ |
Browser requirements
Abiquo UI requires a screen resolution of at least 1024 x 768 for productive work.
The UI uses HTML5, so browsers must support these HTML5 features: Forms block, Drag and drop.
The Abiquo UI is optimized for use with Firefox and Chrome.
Validating the server and services datanode install
Log in to Abiquo UI and update your user account details as described at:
Starting Abiquo for the first timeOptionally, create a new user. See Create a user
Next step
Install Abiquo remote services. See Deploy distributed scalable remote services