Fleio Requirements

Hardware Requirements

Minimum hardware requirements to run Fleio are: one virtual machine with 4 GB of RAM, 2 vCPUs, 20 GB of storage (SSD storage is recommended). We have tested this configuration extensively on an OpenStack deployment with 5 regions and 30 compute nodes and over 1000 instances.

Supported Operating Systems

The Fleio backend should run on any modern Linux distribution, but we officially provide installation packages and support for the following:

  • Ubuntu 16.04
  • Ubuntu 18.04
  • CentOS 7

The operating system on the client machine (where the browser runs) does not matter as long as it has one of the supported browsers.

Other Required Packages

Fleio requires the following system packages, but they are installed automatically when installing the DEB or RPM package, no need to install them manually:

Supported Browsers

Fleio supports the following browsers:

  • Chrome latest and previous major version
  • Safari latest and previous major version
  • Firefox latest and previous major version
  • Android latest and previous major version
  • iOS latest and previous major version
  • Microsoft Edge latest and previous major version

Required Network Ports

If a firewall is deployed on the Fleio machine, the following network ports need to be accessible:

  • 80 TCP for non HTTP SSL connections
  • 443 TCP for HTTP SSL connections

Connections from the Fleio servers to the outside world are not blocked in most cases, however if they are, Fleio requires external access to many resources, including OpenStack services and cPanel/WHM. As a starting point the following ports are used by OpenStack services and cPanel/WHM API:

OpenStack services (Keystone, Nova, Neutron, Cinder, Glance, Designate and RabbitMQ):

  • Fleio licensing server: 443 (HTTPS)
  • RabbitMQ: 5672 (no SSL) and 5673 (SSL)
  • Keystone: 5000
  • Glance: 9292 and 9191
  • Neutron: 9696
  • Nova: 8773, 8774 and 8775
  • Cinder: 8776
  • Designate: 9001

For cPanel/WHM the port is: 2087

These external ports only need to be configured on the firewall if it actually blocks connections from the server to the external network. Otherwise Fleio only needs the usual TCP port 443 for HTTPS connections and TCP port 80 for HTTP connections to be accessible.

OpenStack Supported Versions

Fleio was tested and we provide support for Train, Stein and Rocky OpenStack releases. Fleio should also work with Queens, Pike, Ocata, Newton and Mitaka, but we are no longer testing these releases.

OpenStack Supported Distributions

We have tested and we are able to provide support for Fleio configuration with the following OpenStack distributions:

  • Ubuntu with OpenStack-Ansible
  • Redhat/Centos with RDO
  • Ubuntu OpenStack
  • Mirantis OpenStack
  • DevStack

But Fleio should work with any OpenStack distribution. We’re using the standard OpenStack API and the internal RabbitMQ OpenStack message queue.

In our experience, Fleio does not work with Juju deployment of OpenStack due to a bug in Keystone policy file. Fleio sync will fail if the following commands fail when using the CLI with the same credentials as in Fleio:

openstack domain list
openstack project list --domain default

Make sure these commands work before adding OpenStack credentials in Fleio.

OpenStack Configuration Requirements

Fleio connects to OpenStack through the public OpenStack API and needs access to the management network in order to connect to the messaging queue daemon (RabbitMQ). Fleio gets the up to date status of cloud resources as well as the cloud resource consumption information from the internal OpenStack messages posted on the message queue.

You can avoid giving access to Fleio to the private OpenStack network and to the internal RabbitMQ message queue by using the Fleio collector setup. Read more about the Fleio collector setup.

Mandatory OpenStack projects

Fleio uses the common OpenStack services:

  • Nova
  • Keystone
  • Neutron
  • Glance

Optional OpenStack projects

Main features of Fleio will work without the following OpenStack projects, but you may need them depending on your Fleio usage scenario:

  • Gnocchi is required for some of the pricing rules: per project network traffic pricing, floating IPs pricing, Swift object storage pricing
  • Ceilometer and Ceilometer agent on compute nodes is required for project network traffic pricing
  • Cinder for block device (volume) storage
  • Designate if you want staff and/or end users to edit DNS zones
  • Magnum and Heat if you want to use the Clusters feature

RabbitMQ access is required for notification sent by Nova, Glance and other OpenStack services.

For more information and other configuration requirements, see Configuring section.