Upgrading¶
In this page, you can do as follow:
How to upgrade¶
To upgrade Fleio just use the system package manager. Some Fleio versions upgrade requires additional steps. See sections below.
Ubuntu¶
apt-get update
apt-get dist-upgrade fleio-backend fleio-frontend
Centos¶
yum clean all
yum update fleio-backend fleio-frontend
Recommended upgrade procedure¶
When upgrading an existing Fleio installation used in production we recommend you use the following upgrade steps in order to avoid/troubleshoot possible issues:
1. Disable process clients cron¶
Process client cron is a cron job or periodic celery beat task that processes all clients at repeated intervals and updates client usage, suspends and resume services and so on …
Prior to version 2020.05.0 process clients cron was run as a cron job. Starting from version 2020.05.0 process clients cron is run as a celery beat periodic task. You should disable both since this is documentation is added with 2020.05.0 release.
Disabling the cron job: - edit /var/webapps/fleio/scripts/process_clients_cron and comment out the line containing /var/webapps/fleio/scripts/process_clients_cron by placing a # character at the beginning - wait for any running cron to finish
Disabling the celery beat periodic task: - edit /var/webapps/fleio/project/fleio/fleiosettings/settings.py and add the following line at the end
Note that you should disable any other fleio crons that you are using.
CELERY_BEAT_SCHEDULE = {}
2. Wait for any running cron processes to finish¶
This applies to Fleio installations up to 2020.04.3
ps -ef | grep cron
For process client periodic tasks you will need to check in activity log to ensure the task is completed.
3. Create a backup of your Fleio database¶
This is needed to restore Fleio in case something goes wrong with the update.
4. Create a backup of Fleio file¶
This is needed to restore Fleio in case something goes wrong with the update. Go to /var/webapps/ and execute
tar -zcvf fleio.2020.03.tar.gz fleio
5. Update Fleio installation¶
Update Fleio installation using the package managed on the Fleio machine.
6. Check data in Fleio after upgrade¶
Check data in Fleio to ensure everything is correct after upgrade. Check clients, services, products, client usage and so on until you are satisfied everything is ok.
7. Run process clients on a few clients¶
Process clients can now be run for specified clients bu using -c arg
cd /var/webapps/fleio/scripts && ./process_clients_cron -c CLIENT_ID
You can use multiple client ids separated by comma.
We recommend to test on a few clients with multiple scenarios like: service is active and it does have credit, service is active but with negative balance, service is suspended, service is terminated and so on. After each run of the cron check to see if the specified clients to see that everything went as expected(check client credit, usage, services …).
8. Enable process clients periodic task¶
If everything went ok you can enable the process clients cron periodic task by removing the
CELERY_BEAT_SCHEDULE = {}
line from settings.py. Note that this line overrides CELERY_BEAT_SCHEDULE setting in base_settings.py. If you want to fine tune periodic tasks or enable more than process clients periodic task you should copy that setting to settings.py and modify it.
Note that if you prefer to use cron jobs you should leave this line in settings.py and enable cron.
Upgrading to 2020.12.1¶
In 2020.12.1 we have added the enduser panel in Angular and support for Swift object store. In order to enable Swift object store you need enable the Angular enduser panel so you will need to add the following configuration in the Nginx configuration:
location /new {
alias /var/webapps/fleio/frontend/enduser/;
expires -1;
try_files $uri $uri/ /../enduser/index.html;
}
Finally do not forget to reload nginx using the following cli commands:
nginx -t
systemctl reload nginx
Upgrading to 2020.11.1¶
With the 2020.11.1 upgrade we have implemented a new log level called FLEIO ACTIVITY and we have redesigned the general logging.
Before upgrading to the 2020.11.1 version you will have to check /var/webapps/fleio/fleiosettings/settings.py to be sure that you have no custom logging setting added. You can do that by running the following command:
grep LOGGING /var/webapps/fleio/fleiosettings/settings.py
If you have any results, you will need to comment or remove those lines.
After that you can proceed with the Recommended upgrade procedure.
However, if you already upgraded and you received an error related to Logging, you can just do the steps from above and then run the update commands again.
Upgrading to 2020.07.1¶
New nginx configuration¶
In 2020.07.1 we have added the Tickets plugin in Angular. In order to properly work you need to add the following tinymce configuration in the Nginx configuration:
location /tinymce {
alias /var/webapps/fleio/frontend/staff/tinymce/;
break;
}
Finally do not forget to reload nginx using the following cli commands:
nginx -t
systemctl reload nginx
Upgrading to 2020.05.0¶
To upgrade to version 2020.05.0 on Ubuntu 16 and Ubuntu 18 first you will need to run:
apt-get dist-upgrade fleio-backend fleio-frontend
This is necessary due to a new dependency (patch) that was introduced in 2020.05 release. The regular
apt-get upgrade fleio-backend fleio-frontend
command will not install the dependency and you might get in a state that
fleio-frontend is not automatically upgraded.
To upgrade to version 2020.05.0 on Centos you need to run:
yum install fleio-backend fleio-frontend
Besides this, the following additional steps are required.
We are migrating the Fleio frontend from the legacy AngularJS framework to Angular. For a smooth migration we are gradually rewriting and releasing pages from the staff panel in Angular. After the staff panel is successfully migrated to Angular we will do the same for the end-user panel. This is expected to take several months.
The new Angular pages are temporarly located a under the /newstaff
URL, while the previous pages remain for now
under /staff
URL.
New nginx settings¶
By default some of the staff panel menu options already point to /newstaff
links, while the pages that are not yet
migrated to Angular will still link to a /staff
URL. For instance, one of the first pages migrated to Angular is
Settings > Configurations and it links to /newstaff/settings/configurations
.
This requires that you add a new entry to your nginx conf, which is usually located at
for Ubuntu at /etc/nginx/sites-enabled/{ your domain }.conf
and for CentOS at
/etc/nginx/conf.d/{ your domain }.conf.
Add this entry in the server
configuration after the /staff
location.
# identify the following section and leave it unchanged
location /staff {
alias /var/webapps/fleio/frontend/site/staff/;
expires -1;
try_files $uri $uri/ /staff/index.html;
}
# insert below the following lines
location /newstaff {
alias /var/webapps/fleio/frontend/staff/;
expires -1;
try_files $uri $uri/ /../staff/index.html;
}
Reload nginx to apply the change:
systemctl reload nginx
If you have enabled the reseller feature an additional change is required in the nginx config. Replace this section:
# identify these section and delete it
location /reseller {
root /var/webapps/fleio/frontend/site/;
expires -1;
try_files $uri $uri/ /reseller/index.html;
}
Replace with:
# the new reseller directives
location /reseller {
alias /var/webapps/fleio/frontend/reseller/;
expires -1;
try_files $uri $uri/ /../reseller/index.html;
}
Reload nginx to apply the change:
systemctl reload nginx
Upgrade to 0.9.3¶
We have split the original fleio package into two packages: fleio-backend and fleio-frontend. The following procedure only applies if you have both components installed on the same server.
Ubuntu¶
apt-get update
apt-get upgrade
apt-get install fleio-frontend
Centos¶
yum clean all
yum update
yum install fleio-frontend
Upgrade to 0.9.26¶
- We’ve changed and reorganized feature names in
base_settings.py
. If feature toggle is used thensettings.py
file needs to be updated manually. See How to enable/disable features - We’ve changed
template_constants.js
file for staff panel.constants.js
file needs to be updated manually.
Upgrade to 0.9.24¶
- We’ve changed the way feature toggles are enabled and disabled in
settings.py
to a more straight forward way:True
means feature is enabled andFalse
means feature is disabled. See How to enable/disable features - OpenStack projects create/update/delete feature from staff panel requires to Keystone notifications to be enabled. See Keystone notifications