Bandwidth throttling, also known as traffic shaping or bandwidth management, refers to the deliberate slowing down or limiting of the internet speed. This technique is used to ensure network stability, prevent congestion, and distribute bandwidth resources more equitably. This feature was introduced in QoreStor 7.5 and requires the installation of multiple Python modules which are listed on QoreStor Installation Guide. If any of the modules is missing, error messages will be logged and displayed on QoreStor web console when configuring this features. For instance, the following error messages are logged when Python crontab module is missing (affected module could be any of the dependencies):
[timestamp] [hostname] qs_bw_throttle[PID]: Traceback (most recent call last):
[timestamp] [hostname] qs_bw_throttle[PID]: File "/opt/qorestor/bin/qs_bw_throttle", line 38, in <module>
[timestamp] [hostname] qs_bw_throttle[PID]: from crontab import CronTab
[timestamp] [hostname] qs_bw_throttle[PID]: ModuleNotFoundError: No module named 'crontab'
On QoreStor web console, the following error is displayed when accessing the bandwidth throttling configuration screen:
Error system.cannot_get_throttling_data Reason: Traceback (most recent call last): File "/opt/qorestor/bin/qs_bw_throttle", line 38, in from crontab import CronTab ModuleNotFoundError: No module named 'crontab'
QoreStor requires the following Python packages:
Generally, these packages are downloaded and installed automatically during installation process. However, if internet access is not available on the QoreStor server, the packages can be downloaded on a Linux system which is connected to the Internet and transferred to the QoreStor server before the upgrade or installation of the application.
If the QoreStor server does not have Internet access, on another online system, execute the following command to download the prerequisite Python packages:
pip3 download scikit-learn statsmodels influxdb-client pandas numpy lxml xmltodict python-crontab tcconfig netifaces
The downloaded files can then be copied to the QoreStor server. After installing or upgrading QoreStor, the above packages can be installed using the following commands:
/opt/qorestor/bin/detection/detection_env/bin/pip3 install scikit-learn
/opt/qorestor/bin/detection/detection_env/bin/pip3 install statsmodels
/opt/qorestor/bin/detection/detection_env/bin/pip3 install influxdb-client==1.31.0
/opt/qorestor/bin/detection/detection_env/bin/pip3 install pandas
/opt/qorestor/bin/detection/detection_env/bin/pip3 install numpy
/opt/qorestor/bin/qs_email_stats/qs_stats_env/bin/pip3 install lxml
/opt/qorestor/bin/qs_email_stats/qs_stats_env/bin/pip3 install xmltodict
/opt/qorestor/bin/qs_email_stats/qs_stats_env/bin/pip3 install python-crontab
/opt/qorestor/bin/qs_email_stats/qs_stats_env/bin/pip3 install tcconfig
/opt/qorestor/bin/qs_email_stats/qs_stats_env/bin/pip3 install netifaces
As noticed, these dependencies are actually used by two Python environments. If there is a problem running the above commands, try re-creating them, and then retry the installation of the modules:
#remove both virtual environments
rm -rf /opt/qorestor/bin/qs_email_stats/qs_stats_env
rm -rf /opt/qorestor/bin/detection/detection_env
#create both virtual enviroments
python3 -m venv /opt/qorestor/bin/qs_email_stats/qs_stats_env
python3 -m venv /opt/qorestor/bin/detection/detection_env
Last, if the modules were installed successfully, restart the QoreStor services:
systemctl restart ocards
© 2025 Quest Software Inc. ALL RIGHTS RESERVED. Terms of Use Privacy Cookie Preference Center