Skip to content

Python 3

Latest
Compare
Choose a tag to compare
@donkirkby donkirkby released this 11 Feb 22:42
· 1688 commits to master since this release

The main change is #721 updating to Python 3. Other changes include:

  • #785, #786, and #782 improve error handling when launching Slurm jobs.
  • #774 and #793 fix permissions bugs.
  • #833 removes PostgreSQL 9 left by the previous release.

See the milestone for a complete list.

Config Changes

  • Install Python 3.6 and switch Apache to launch it.

    sudo systemctl stop httpd
    sudo yum install centos-release-scl
    sudo yum install python36 python36-devel rh-python36-mod_wsgi
    sudo cp /opt/rh/httpd24/root/usr/lib64/httpd/modules/mod_rh-python36-wsgi.so /lib64/httpd/modules
    sudo cp /opt/rh/httpd24/root/etc/httpd/conf.modules.d/10-rh-python36-wsgi.conf /etc/httpd/conf.modules.d
    sudo mv /opt/venv_kive /opt/py27_venv_kive
    sudo python3.6 -m venv /opt/venv_kive
    sudo /opt/venv_kive/bin/python -m pip install --upgrade pip
    sudo /opt/venv_kive/bin/python -m pip install -r requirements.txt
    sudo sed -ie 's/python2.7/python3.6/' /etc/httpd/conf.d/kive.conf
    sudo systemctl start httpd
    
  • Add KIVE_SLURM_PATH entry to /etc/sysconfig/httpd.

  • Remove Python 2's .pyc files with find . -name '*.pyc' -delete.

  • Remove PostgreSQL 9 with sudo yum remove postgresql-libs. That will take the other packages that depend on it.

  • The Python packages in Kive's virtual environment should already be up to date, because you just installed them. That should include the switch to psycopg2-binary.

  • Rewire all the PostgreSQL 10 commands: alternatives --list|grep pgsql|sed -e "s/\t.*//"|sudo xargs -n 1 alternatives --auto

  • Check that worked by running these two commands. If you get a help message, they're installed.

    psql --help
    pg_dumpall --help
    
  • Export the /usr/sbin folder from the head node to the compute nodes, by including it in /etc/beowulf/fstab. After rebooting the compute nodes, it's working if this command doesn't hang anymore:

     bpsh 0 python3.6 -c "import uuid"