Project

General

Profile

Actions

Feature #10937

closed

Migrate Klever to Python 3.10

Added by Evgeny Novikov 10 months ago. Updated 4 months ago.

Status:
Closed
Priority:
High
Category:
Deployment
Target version:
Start date:
09/10/2021
Due date:
% Done:

0%

Estimated time:
Published in build:

Description

At the moment Klever is run by Python 3.7 that was released ~3 years ago. Soon there will be Python 3.10. Let's try to use it. In case of considerable issues, the fallback is Python 3.9 or just remain everything as is.

In addition, it has sense to update all Python packages.


Related issues 2 (0 open2 closed)

Blocked by Klever - Feature #10934: Test and fix if necessary deployment of Klever on Debian 10/11, Ubuntu 20.04 and openSUSE 15.3ClosedEvgeny Novikov09/10/2021

Actions
Blocks Klever - Feature #11460: Update Django from 3.0.6 to 4.0.3ClosedVladimir Gratinskiy03/04/202203/09/2022

Actions
Actions #1

Updated by Evgeny Novikov 10 months ago

  • Blocked by Feature #10934: Test and fix if necessary deployment of Klever on Debian 10/11, Ubuntu 20.04 and openSUSE 15.3 added
Actions #2

Updated by Evgeny Novikov 7 months ago

  • Target version deleted (3.4)

There is too little sense to do these issues.

Actions #3

Updated by Evgeny Novikov 4 months ago

Actions #4

Updated by Evgeny Novikov 4 months ago

  • Target version set to 3.5
Actions #5

Updated by Evgeny Novikov 4 months ago

  • Status changed from New to Resolved

I did this in branch switch-to-python-3.10. Now it is necessary to update LDV Dev (Debian 11 + Python 3.10, #10936) to run tests.

Actions #7

Updated by Evgeny Novikov 4 months ago

  • Status changed from Resolved to Closed
After everything was set up and tested, I merged the branch to master in d1891272c. Users should take into account the following things:
  • From now Klever deployment is not officially supported for Debian 9/10 and openSUSE 15.2. A bit earlier we dropped a support for Fedora completely. Nevertheless, most likely you will be able to make necessary things yourself to bring everything back if you do need this.
  • If you want to keep existing data collected thus far and simultaneously use the most recent version of Klever, you can update existing local Klever instances deployed earlier at Ubuntu or openSUSE in the following way:
    • Stop Klever services:
      sudo systemctl stop klever-*
      
    • Remove a formerly used Python virtual environment. Additionally, you can completely remove Python 3.7 located at "/usr/local/python3-klever".
    • Do next steps according to the new deployment documentation. It will be regenerated here in a while.
    • Download and unpack Python 3.10.
    • Create the new Python virtual environment using Python 3.10.
    • Install necessary Python packages as usual. Don't forget to use "-e" if you used it earlier and take care about adding one more package "setuptools_scm" to be installed in advance.
    • You may need to manually specify Python 3.10 instead of Python 3.7 in "/etc/default/klever". I had to do that only on openSUSE.
    • Update Klever instance as usual. After this you can do everything in a standard way.
  • Deployment of instances within OpenStack changed so considerably, that you should likely create new ones rather than to migrate existing ones. Hopefully, data formats didn't change and you can download/upload job/mark archives from previously deployed instances.
  • Take care about necessary updates of PyCharm settings according to the developer documentation if you use PyCharm for development of Klever.
Actions

Also available in: Atom PDF