tools/mlock_report.py can't import psutil module

Bug #1860753 reported by serenico
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
devstack
Fix Released
Undecided
Federico Ressi

Bug Description

When enabling 'memory_tracker' service and using Python3, memory_tracker.sh fails to run because tools/mlock_report.py is unable to import psutil module:

2020-01-23 19:16:50.727 | + functions-common:service_check:1622 : sudo systemctl is-enabled devstack@memory_tracker.service
2020-01-23 19:16:50.777 | enabled
2020-01-23 19:16:50.789 | + functions-common:service_check:1626 : sudo systemctl status devstack@memory_tracker.service --no-pager
2020-01-23 19:16:50.838 | ● devstack@memory_tracker.service - DevStack devstack@memory_tracker.service
2020-01-23 19:16:50.839 | Loaded: loaded (/etc/systemd/system/devstack@memory_tracker.service; enabled; vendor preset: disabled)
2020-01-23 19:16:50.839 | Active: failed (Result: exit-code) since Thu 2020-01-23 19:15:20 UTC; 1min 30s ago
2020-01-23 19:16:50.839 | Main PID: 28314 (code=exited, status=1/FAILURE)
2020-01-23 19:16:50.839 |
2020-01-23 19:16:50.839 | Jan 23 19:15:20 centos-7-fortnebula-regionone-0014112762 memory_tracker.sh[28314]: [[[
2020-01-23 19:16:50.839 | Jan 23 19:15:20 centos-7-fortnebula-regionone-0014112762 memory_tracker.sh[28314]: Thu Jan 23 19:15:20 UTC 2020
2020-01-23 19:16:50.839 | Jan 23 19:15:20 centos-7-fortnebula-regionone-0014112762 memory_tracker.sh[28314]: ---
2020-01-23 19:16:50.839 | Jan 23 19:15:20 centos-7-fortnebula-regionone-0014112762 memory_tracker.sh[28314]: Traceback (most recent call last):
2020-01-23 19:16:50.839 | Jan 23 19:15:20 centos-7-fortnebula-regionone-0014112762 memory_tracker.sh[28314]: File "/opt/stack/devstack/tools/mlock_report.py", line 7, in <module>
2020-01-23 19:16:50.839 | Jan 23 19:15:20 centos-7-fortnebula-regionone-0014112762 memory_tracker.sh[28314]: import psutil
2020-01-23 19:16:50.839 | Jan 23 19:15:20 centos-7-fortnebula-regionone-0014112762 memory_tracker.sh[28314]: ImportError: No module named psutil
2020-01-23 19:16:50.839 | Jan 23 19:15:20 centos-7-fortnebula-regionone-0014112762 systemd[1]: devstack@memory_tracker.service: main process exited, code=exited, status=1/FAILURE
2020-01-23 19:16:50.839 | Jan 23 19:15:20 centos-7-fortnebula-regionone-0014112762 systemd[1]: Unit devstack@memory_tracker.service entered failed state.
2020-01-23 19:16:50.840 | Jan 23 19:15:20 centos-7-fortnebula-regionone-0014112762 systemd[1]: devstack@memory_tracker.service failed.

My best guess is that the python script is using python command, while DevStack made available psutil package to python3 command. I think DevStack should now use 'python3' command by default and use 'python' command only as fallback interpreter.

description: updated
Changed in devstack:
assignee: nobody → Radosław Piliszek (yoctozepto)
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to devstack (master)

Related fix proposed to branch: master
Review: https://review.opendev.org/704110

Changed in devstack:
assignee: Radosław Piliszek (yoctozepto) → Federico Ressi (fressi-redhat)
Revision history for this message
Radosław Piliszek (yoctozepto) wrote :

DevStack no longer installs psutil since https://review.opendev.org/#/c/561597/

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on devstack (master)

Change abandoned by Federico Ressi (<email address hidden>) on branch: master
Review: https://review.opendev.org/704110

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to devstack (master)

Fix proposed to branch: master
Review: https://review.opendev.org/704134

Changed in devstack:
assignee: Federico Ressi (fressi-redhat) → Ian Wienand (iwienand)
Changed in devstack:
assignee: Ian Wienand (iwienand) → Federico Ressi (fressi-redhat)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to devstack (master)

Reviewed: https://review.opendev.org/704104
Committed: https://git.openstack.org/cgit/openstack/devstack/commit/?id=3555b48ff45a109e6456923d597fa174084387ab
Submitter: Zuul
Branch: master

commit 3555b48ff45a109e6456923d597fa174084387ab
Author: Federico Ressi <email address hidden>
Date: Fri Jan 24 06:49:03 2020 +0100

    Switch to python3 for memory_peak service

    When starting 'memory_peak' service is using python command instead of
    python3, while psutil (required package) is most probably being
    installed into the python3 environment (as we are dropping python2.7
    support).

    Closes-Bug: #1860753
    Change-Id: Ia2b7e2e33d784560443131e2965f520b361a54e3

Changed in devstack:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Reviewed: https://review.opendev.org/704134
Committed: https://git.openstack.org/cgit/openstack/devstack/commit/?id=19e4d972884e422d691c4cc1fe9e7ed3a03a2c01
Submitter: Zuul
Branch: master

commit 19e4d972884e422d691c4cc1fe9e7ed3a03a2c01
Author: Federico Ressi <email address hidden>
Date: Fri Jan 24 11:44:46 2020 +0100

    Install psutil required by tools/mlock_report.py script

    'tools/mlock_report.py' script requires 'psutil' package to be
    installed. This ensures it is done before memory_peak service is
    started.

    Partial-Bug: #1860753
    Change-Id: I7b2b6eaf9856c6057e1a4a0054d15074150a6cb6

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.