stx-horizon image build failure on Django

Bug #1907290 reported by Scott Little
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
StarlingX
Fix Released
Critical
Don Penney

Bug Description

Brief Description
-----------------
master branch build of stx-horizon container image is failing to
find a version of Django that satisfies requirements.

Severity
--------
Critical

Steps to Reproduce
------------------
/localdisk/designer/jenkins/master-containers/cgcs-root/build-tools/build-docker-images/build-stx-images.sh --prefix master --latest-prefix master --os centos --stream stable --version 20201208T014249Z --base docker.io/starlingx/stx-centos:master-stable-20201208T014249Z --wheels http://mirror.starlingx.cengn.ca:80//mirror/starlingx/master/centos/containers/20201208T014249Z/outputs/wheels/stx-centos-stable-wheels.tar --user starlingx --registry docker.io -only stx-horizon

Expected Behavior
------------------
container builds successfully

Actual Behavior
----------------
container build fails

Reproducibility
---------------
100%

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

Branch/Pull Time/Commit
-----------------------
Dec 8 2020

Last Pass
---------
Dec 7 2020

Timestamp/Logs
--------------
/localdisk/designer/jenkins/master-containers/cgcs-root/build-tools/build-docker-images/build-stx-images.sh --prefix master --latest-prefix master --os centos --stream stable --version 20201208T014249Z --base docker.io/starlingx/stx-centos:master-stable-20201208T014249Z --wheels http://mirror.starlingx.cengn.ca:80//mirror/starlingx/master/centos/containers/20201208T014249Z/outputs/wheels/stx-centos-stable-wheels.tar --user starlingx --registry docker.io --attempts 5 --push --latest --clean

...

docker build /localdisk/loadbuild/jenkins/master-containers/20201208T014249Z/std/build-images/loci --no-cache --build-arg PROJECT=horizon --build-arg PROJECT_REPO=https://opendev.org/openstack/horizon.git --build-arg FROM=docker.io/starlingx/stx-centos:master-stable-20201208T014249Z --build-arg WHEELS=http://mirror.starlingx.cengn.ca:80//mirror/starlingx/master/centos/containers/20201208T014249Z/outputs/wheels/stx-centos-stable-wheels.tar --build-arg PROJECT_REF=stable/ussuri --build-arg PIP_PACKAGES=pycrypto python-ceilometerclient coverage pyudev ldap pylint --build-arg PROFILES=fluent horizon apache --build-arg PYTHON3=yes --tag jenkins/stx-horizon:master-centos-stable-build

...

+ pip install --no-cache-dir --only-binary :all: --no-compile -c /tmp/wheels/upper-constraints.txt --find-links /tmp/wheels/ /tmp/horizon pycrypto python-ceilometerclient coverage pyudev ldap pylint
Looking in links: /tmp/wheels/
Processing /tmp/horizon
Collecting coverage
Downloading coverage-5.0.4-cp36-cp36m-manylinux1_x86_64.whl (227 kB)
Requirement already satisfied: pbr!=2.1.0,>=2.0.0 in /var/lib/openstack/lib/python3.6/site-packages (from horizon==18.3.3.dev17) (5.4.5)
INFO: pip is looking at multiple versions of coverage to determine which version is compatible with other requirements. This could take a while.
ERROR: Could not find a version that satisfies the requirement Django<3.0,>=2.2 (from horizon)
ERROR: No matching distribution found for Django<3.0,>=2.2
The command '/bin/sh -c /opt/loci/scripts/install.sh' returned a non-zero code: 1

Test Activity
-------------
Build

Workaround
----------
N/A

Ghada Khalil (gkhalil)
tags: added: stx.build
Revision history for this message
Ghada Khalil (gkhalil) wrote :

stx.5.0 / critical - results in a build failure

Changed in starlingx:
importance: Undecided → Critical
status: New → Triaged
tags: added: stx.5.0
Ghada Khalil (gkhalil)
tags: added: stx.distro.openstack
Don Penney (dpenney)
Changed in starlingx:
assignee: nobody → Don Penney (dpenney)
Revision history for this message
zhipeng liu (zhipengs) wrote :

Hi Scot and Don,

Sanity test failure might be caused by
./cgcs-root 468097ba39cc7e34f9ea921d1250a6d565cd36f4 2020-12-09 17:29:46 -0500 Don Penney <email address hidden> Remove Django from wheels tarball
https://review.opendev.org/c/starlingx/root/+/766357

I remember we locked the Django version to 2.1.5, although upstream requires >2.2, during ussuri upgrade.
At that time, it had some issue that could not be fixed by upstream.

Zhipeng

Revision history for this message
Don Penney (dpenney) wrote :

Has this issue been raised with upstream horizon?

Due to the new pip resolver, conflicts between constraints and requirements cause a build failure. One option would be to lock down the upstream horizon source to a particular SHA and apply a source patch that updates the requirements.txt to override the requirement:
https://opendev.org/openstack/horizon/src/commit/6f0200032d5fb26784c0ce1428ae0cad84ef058f/requirements.txt#L15

This could be done with SOURCE_PATCHES added to the stx-horizon.stable_docker_image directives file, similar to the DOCKER_PATCHES done in:
https://opendev.org/starlingx/oidc-auth-armada-app/src/branch/master/dex/centos/dex.stable_docker_image

Revision history for this message
zhipeng liu (zhipengs) wrote :

The same issue as below link
https://stackoverflow.com/questions/55657752/django-installing-mysqlclient-error-mysqlclient-1-3-13-or-newer-is-required

We are using pymysql instead of mysqlclient, right?
However, 0.9.3 is just the latest version of pymysql.
Now, it report below error, refer to
https://bugs.launchpad.net/starlingx/+bug/1908117/comments/3
django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3
We could not upgrade pymysql, that's why we lock down django to 2.1.5 version during ussuri upgrade.

Thanks!
Zhipeng

Revision history for this message
Don Penney (dpenney) wrote :

The build issue originally reported by this launchpad was fixed under the following:
https://review.opendev.org/c/starlingx/root/+/766357

Marking this LP as fixed.

Changed in starlingx:
status: Triaged → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to root (f/centos8)

Fix proposed to branch: f/centos8
Review: https://review.opendev.org/c/starlingx/root/+/792232

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to root (f/centos8)
Download full text (24.5 KiB)

Reviewed: https://review.opendev.org/c/starlingx/root/+/792232
Committed: https://opendev.org/starlingx/root/commit/7cb55d28111dbf7458ed3f01a5eda5c4dfdb124b
Submitter: "Zuul (22348)"
Branch: f/centos8

commit f457bd15b9ce0be512ec96abcb9b858b0bab2ea8
Author: Scott Little <email address hidden>
Date: Fri Apr 16 01:39:17 2021 -0400

    Improved branching tools

    create_branches_and_tags.sh:
    - Update the .gitreview files in branched git repos.
    - When updating a manifest, add the ability to update and
      use the default revision field.
    - Create two levels of manifest lockdown, soft and hard.
      Soft lockdown only sets sha revisions on unbranched projects
      that lack a revision, or set the revision to master.
      Hard lockdown applies to all unbranched projects.

    push_branches_tags.sh:
    - opendev no longer accepts 'git push' for the delivery of
      new branches with updates. Instead we must now
      use separate commands to deliver the tag, the branch,
      and any updates.

    Closes-Bug: 1924762
    Signed-off-by: Scott Little <email address hidden>
    Change-Id: I6d669ddc80cc9b3cb9e72d65a64589dbccf43ae3

commit 0babd33b6d851dd11492c26e92c8a6ac2c2557de
Author: Rafael Jardim <email address hidden>
Date: Wed May 12 11:25:54 2021 -0300

    Update stx-platformclients tag to stx.5.0-v1.4.3

    This commit updates the image with the updated clients.

    Test:
    Some normal commands
    Commands related with https dcmanager that wasn't working
    System application-upload that wasn't working when executed
    from remote cli

    Closes-Bug: 1928233
    Closes-Bug: 1928231
    Signed-off-by: Rafael Jardim <email address hidden>
    Change-Id: I8a0d12f699336a4412be5ff3c73cfb8d59038780

commit a163d7723e659e89c37ec933d1b0f9aa638a6a73
Author: Cole Walker <email address hidden>
Date: Wed May 5 09:39:17 2021 -0400

    Update image tag for notificationservice-base

    Update image tag to stx.5.0-v1.0.4 for notificationservice-base

    Closes-Bug: 1924201
    Closes-Bug: 1924197

    Signed-off-by: Cole Walker <email address hidden>
    Change-Id: Id863c4f154cc0b39e30ee8986fc07f9856a22826

commit 84c45f5e3a241237887af9db89d8c0aa1f8923e0
Author: Charles Short <email address hidden>
Date: Sun May 2 12:04:04 2021 -0400

    Fix wheels tarball generation

    In d7c5a54ab94bce6635b83d91a807d28f97836a81, django was dropped in favor
    of rfc3986. However the wheel was not added to the build-wheels
    generation which breaks the docker images. Also add the migrate wheel
    since it was mising as well. Add the required wheels in order to
    build the docker image properly.

    Test:
    - Build new centos-stable-wheels tarball
    - Build stx-keystone-api-proxy container

    Closes-Bug: 1926795

    Signed-off-by: Charles Short <email address hidden>
    Change-Id: Ib6f0abfdcc82ca14f92ebc5b45fe8df961e804ee

commit 062353b6de7d4b0e017203c3e6086891bd6b9213
Author: Cole Walker <email address hidden>
Date: Mon May 3 09:48:54 2021 -0400

    Update image tag for notificationclient-base...

tags: added: in-f-centos8
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.