During the upgrade process, settings.py was being overwritten with only the DATABASES
section preserved, causing loss of INSTALLED_APPS and other configurations. This resulted
in the 'aiScanner' app not being recognized after upgrade.
Fixed by:
- Improving the regex pattern to more accurately match only the DATABASES dictionary
- Adding re.DOTALL flag to handle multi-line DATABASES configuration
- Ensuring all other settings including INSTALLED_APPS are preserved during upgrade
This resolves the RuntimeError about aiScanner.status_models.ScanStatusUpdate not having
an explicit app_label.
- Applied same fix from cyberpanel.sh to cyberpanel_upgrade.sh
- Detects AlmaLinux/Rocky Linux 9 (as CentOS 9) and uses dynamic Python path resolution
- Fixes TypeError: expected string or bytes-like object during virtualenv creation
- Uses 'which python3' to find correct Python executable path instead of hardcoded /usr/bin/python3
- Applied fix to all 4 locations where virtualenv is created in upgrade script
- Added specific handling for AlmaLinux/Rocky Linux 9 similar to Ubuntu 22
- First attempts python3 -m venv for virtual environment creation
- Falls back to virtualenv with proper Python path detection
- Fixes TypeError: expected string or bytes-like object during installation