py27 and py35 jobs failing to setup tox

Bug #1865554 reported by Al Bailey on 2020-03-02
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
StarlingX
Critical
Al Bailey

Bug Description

Brief Description
-----------------
In the last day or two, zuul jobs that invoke tox for py27 or py35 are failing during their setup phase.
This affects stx/fault, stx/config and perhaps other repos.
This blocks any reviews from passing zuul, and therefore all submissions are blocked from merging in those repos.

Severity
--------
Critical

Steps to Reproduce
------------------
Submit a code review in stx/fault

Expected Behavior
------------------
The review should pass zuul

Actual Behavior
----------------
Zuul fails to setup
ImportError: cannot import name 'ContextManager'

Reproducibility
---------------
Consistent

System Configuration
--------------------
N/A

Branch/Pull Time/Commit
-----------------------
March 1, 2020

Last Pass
---------
Yes.
I triggered a recheck on a previously passing review and observed that it encountered the failure
https://review.opendev.org/#/c/701528/

Timestamp/Logs
--------------
py27 create: /home/zuul/src/opendev.org/starlingx/fault/.tox/py27
ERROR: invocation failed (exit code 1), logfile: /home/zuul/src/opendev.org/starlingx/fault/.tox/py27/log/py27-0.log
================================== log start ===================================
ImportError: cannot import name 'ContextManager'

=================================== log end ====================================
ERROR: InvocationError for command /usr/bin/python3 -m virtualenv --no-download --python /usr/bin/python2.7 py27 (exited with code 1)

Test Activity
-------------
Developer Submission

 Workaround
 ----------
None, although I have verified the fix is to specify that 'bionic' nodeset instead of 'xenial' for the zuul job.

ie:

- nodeset: ubuntu-xenial
+ nodeset: ubuntu-bionic

Al Bailey (albailey1974) wrote :

Note: ubuntu-bionic nodes do not have python3.5. py35 targets should be converted to py36

Ghada Khalil (gkhalil) wrote :

Marking as Critical priority given this is preventing code from merging into starlingx

tags: added: stx.4.0 stx.zuul
Changed in starlingx:
importance: Undecided → Critical
assignee: nobody → Al Bailey (albailey1974)

Reviewed: https://review.opendev.org/710831
Committed: https://git.openstack.org/cgit/starlingx/fault/commit/?id=b1dfa14f0bcd6cc2460b589095d9695b794686d5
Submitter: Zuul
Branch: master

commit b1dfa14f0bcd6cc2460b589095d9695b794686d5
Author: albailey <email address hidden>
Date: Mon Mar 2 10:57:58 2020 -0600

    Fix py27 and py35 zuul jobs failing to setup

    As of March 1, when jobs run on ubuntu-xenial, they fail
    to run py27 and py35 jobs with an error similar to:

    /usr/bin/python3 -m virtualenv --no-download
      --python /usr/bin/python2.7 py27

    ImportError: cannot import name 'ContextManager'

    It does not appear to impact the ubuntu-bionic nodes so
    updating zuul to use those nodes.

    bionic nodes do not support python3.5, so the py35 jobs
    is now converted to py36.

    Partial-Bug: 1865554
    Change-Id: Iad13d03ced21294d1a02c82f4e1e37cac3f27ee7
    Signed-off-by: albailey <email address hidden>

Change abandoned by Al Bailey (<email address hidden>) on branch: master
Review: https://review.opendev.org/710871
Reason: This change is no longer required

Al Bailey (albailey1974) wrote :

Upstream zuul fixed the issue here, which fixes both py27 and py35
https://opendev.org/zuul/zuul/commit/f6d6371c39f757930b4e2662febe1cf5fafca754

Changed in starlingx:
status: In Progress → Fix Released
Al Bailey (albailey1974) wrote :

Note: there is no need to cherry pick anything to other branches, since this affects the zuul nodes themselves.

Fix proposed to branch: f/centos8
Review: https://review.opendev.org/716591

Change abandoned by Lin Shuicheng (<email address hidden>) on branch: f/centos8
Review: https://review.opendev.org/716143
Reason: a new patch is created https://review.opendev.org/716591

Download full text (4.4 KiB)

Reviewed: https://review.opendev.org/716591
Committed: https://git.openstack.org/cgit/starlingx/fault/commit/?id=4dc4325ab032fa3ce40d5b12ee78670370f71017
Submitter: Zuul
Branch: f/centos8

commit b70b9b5220940325844f4fb19d6e8a13c5e5bb1a
Author: Gerry Kopec <email address hidden>
Date: Mon Mar 30 14:43:36 2020 -0400

    Fix stestr version so py27 tox can pass

    stestr was upgraded to 3.0.0 on Mar. 26 and it does not support py27.
    Update test requirements accordingly so py27 tests will use earlier version.

    Change-Id: Ia481a4609d81ad4d225aeb6ec3ab0cc3a9e18ae5
    Closes-Bug: 1869777
    Signed-off-by: Gerry Kopec <email address hidden>

commit ce56ce7ea57c06f4d1660c61221caf3fc32952da
Author: albailey <email address hidden>
Date: Tue Mar 10 16:22:44 2020 -0500

    Adding pylint zuul and tox target

    Adding a pylint tox target which only suppresses
    the error codes that are currently failing.
    This will prevent any of the passing checks from being
    broken by future submissions.
    The currently suppressed codes can be fixed by subsequent
    commits.

    Adds a zuul pylint target to invoke the new tox target.

    Unified the install_command in tox.ini to ensure
    the upper constraints are used.

    Change-Id: Id2fb8cbb7ce63f844a06403410d461c601822ad6
    Story: 2007082
    Task: 39020
    Signed-off-by: albailey <email address hidden>

commit 8fcd1cbe0346d9f28e5afe79373e16551838b926
Author: SidneyAn <email address hidden>
Date: Wed Jan 15 09:45:53 2020 +0800

    add test case for migration sync and version

    add test class DbSyncTestCase
    add test case for migration database sync

    Story: 2007082
    Task: 38152
    Depends-on: https://review.opendev.org/#/c/702823/
    Signed-off-by: SidneyAn <email address hidden>
    Signed-off-by: chenyan <email address hidden>
    Change-Id: I8121dedae7e4319a454dc128a591f74ef066c149

commit 170d4fefb72d3b48bc5ddeabb8daa67945b658c6
Author: SidneyAn <email address hidden>
Date: Thu Jan 16 16:46:44 2020 +0800

    Add test case to create alarm into database

    Add test class DbAlarmTestCase, DbTestCase
    Add fake database in tests/base.py.
    Add test case test_create_alarm

    Story: 2007082
    Task: 38085

    Depends-on: https://review.opendev.org/#/c/702175/
    Depends-on: https://review.opendev.org/#/c/702347/
    Change-Id: I906edc894c97fdeb8c52730e00fba765d33edc0f
    Signed-off-by: SidneyAn <email address hidden>

commit d73ba874571bdaeba24f856fb785749954a23c55
Author: SidneyAn <email address hidden>
Date: Fri Jan 17 13:56:12 2020 +0800

    add test framework for rest api tests

    this patch include:
    fake pecan app for api tests
    4 test cases:
      bad url
      setup
      get_root
      get_v1_root

    Story: 2007082
    Task: 38158
    Change-Id: I3f933b43aede43f25abca3327a9638a6fa88914c
    Signed-off-by: SidneyAn <email address hidden>

commit b1dfa14f0bcd6cc2460b589095d9695b794686d5
Author: albailey <email address hidden>
Date: Mon Mar 2 10:57:58 2020 -0600

    Fix py27 and py35 zuul jobs failing to setup

    As of March 1, when jobs run on ubuntu-xenial, they fail
...

Read more...

tags: added: in-f-centos8
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers