Fleio Requirements¶
Hardware Requirements¶
Minimum hardware requirements to run Fleio are: one virtual machine with 8 GB of RAM, 2 vCPUs, 160 GB of storage (SSD storage is recommended).
We have tested this configuration extensively on an OpenStack deployment with over 6 regions, 80 compute nodes and 2000 instances.
Supported Operating Systems¶
Linux distributions and versions supported by Fleio Docker deployment:
Ubuntu 24.04, 22.04, 20.04
Debian 12, 11
Red Hat Enterprise Linux 9.x
Rocky Linux 9
AlmaLinux 9.x
Fleio Docker installation script should work on any Linux that has bash, runs systemd and is supported by Docker and Docker Compose V2, but we are only testing the above distributions.
We recommend you to use one of the supported Linux distributions. If you do not use a supported version you will need to install Docker and Docker Compose manually and then run the installation script.
The operating system on the client machine (where the browser runs) does not matter as long as it has one of the supported browsers.
Correct system time¶
You must have a correct time and date on the machine on which you are installing Fleio, otherwise Fleio will not
function correctly. We recommend that you use software like ntp
or chrony
to keep system time up-to-date.
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 Configuration¶
Due to licensing reasons Fleio needs to be connected to internet via a fixed public IP address.
If a firewall is deployed on the Fleio machine, the following network ports need to be exposed:
80
TCP for non HTTP SSL connections (only if SSL is not configured)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 licensing server, OpenStack services and cPanel/WHM servers.
Licensing server port¶
Fleio needs to connect to licensing server (licensing.fleio.com) on port 443
.
SMTP server port¶
If a SMTP server is configured then Fleio needs to be able to connect to that server on port 25
.
cPanel/WHM server ports¶
If you are using cPanel/WHM then Fleio needs to be able to connect to your shared hosting servers on port 2087
.
Ports needed for OpenStack functionality¶
RabbitMQ¶
Fleio uses RabbitMQ to receive OpenStack notifications. In order to do this Fleio will need to connect to one or more
RabbitMQ servers (depending on your configuration) on port 5672
for non SSL connections or port 5673
for SSL
connections.
These RabbitMQ servers can belong to your OpenStack deployment or can be external RabbitMQ servers used to forward notifications too (see Forwarding RabbitMQ messages)
OpenStack service ports¶
To find out OpenStack service ports run the following command:
fleio openstack endpoint list --interface public
Depending on what OpenStack functionality you use Fleio needs to be able to access related services on ports displayed in the output of the above command.
Some common OpenStack ports are:
Keystone:
5000
Glance:
9292
and9191
Neutron:
9696
Nova:
8773
,8774
and8775
Cinder:
8776
Designate:
9001
Heat:
8004
and8000
Magnum:
9511
Swift:
8080
Placement:
8780
Octavia:
9876
Barbican:
9311
Placement:
8780
Trove:
8779
OpenStack supported versions¶
Fleio officially supports the following OpenStack releases:
2024.1 Caracal
2023.2 Bobcat
2023.1 Antelope
Zed
Yoga
Xena
Wallaby
The Fleio development pipeline runs automatic tests against the listed above releases.
Fleio should also work with Victoria, Train, Stein, Rocky, Queens and Pike, but we are no longer testing Fleio with these releases.
OpenStack Supported Distributions¶
We have tested, and we are able to provide support for Fleio configuration with the following OpenStack distributions:
Kolla Ansible on Ubuntu and on CentOS
Ubuntu with OpenStack-Ansible
Red Hat Enterprise Linux / Centos with RDO
Ubuntu OpenStack
Mirantis OpenStack
DevStack
But Fleio should work with most OpenStack distributions. We’re using the standard OpenStack API and the internal RabbitMQ OpenStack message queue.
Charmed OpenStack¶
If you are using charmed OpenStack (installed via juju) please note that:
keystone notifications are not working (see https://bugs.launchpad.net/charm-keystone/+bug/2080377)
charmed OpenStack creates two admin projects - when configuring Fleio you need to use “admin_domain” id and the admin project id belonging to “admin_domain”
We tested a basic configuration with charmed OpenStack (keystone, glance, cinder, nova, neutron, heat).
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 Fleio access to the private OpenStack network and to the internal RabbitMQ message queue by forwarding RabbitMQ messages (see Forwarding RabbitMQ messages)
Fleio requires an OpenStack admin user with full access to the entire cloud and to all operations.
Mandatory OpenStack projects¶
In order to be able to use the main OpenStack features Fleio needs the following OpenStack projects: Keystone
,
Nova
, 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 pricing rules: per project network traffic 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
Cinder backup for volume backups and volume snapshots
Designate if you want staff and/or end-users to edit DNS zones or to set IP PTR records (reverse DNS for IP addresses)
Magnum and Heat if you want to use the Clusters feature
Swift for object storage
Octavia for Load balancers
Barbican if you want to use terminated HTTPS with Load balancers
Trove for Database as a service functionality
RabbitMQ access is required for notification sent by Nova, Glance and other OpenStack services.
For more information and other configuration requirements, see Configuring section.