image build jobs are failing running with train - Cannot install networkx>=2.4.0 because these package versions have conflicting dependencies.

Bug #1945926 reported by Ronelle Landy
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tripleo
Fix Released
Critical
Unassigned

Bug Description

Image build jobs are filing in train due to conflicting-dependencies:

ERROR: Cannot install networkx>=2.4.0 because these package versions have conflicting dependencies.\nERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies\n"

Full error below:

2021-10-03 18:49:24.677300 | LOOP [oooci-build-images : Install deps from upper-constraints]
2021-10-03 18:49:27.333652 | primary | ERROR: Item: diskimage-builder
2021-10-03 18:49:27.334318 | primary | {
2021-10-03 18:49:27.334435 | primary | "ansible_loop_var": "item",
2021-10-03 18:49:27.334504 | primary | "item": "diskimage-builder",
2021-10-03 18:49:27.334566 | primary | "msg": "stdout: Looking in indexes: http://mirror.regionone.vexxhost-nodepool-tripleo.rdoproject.org/pypi/simple, http://mirror.regionone.vexxhost-nodepool-tripleo.rdoproject.org/wheel/centos-8-x86_64\n\nThe conflict is caused by:\n The user requested networkx>=2.4.0\n The user requested (constraint) networkx===2.3\n\nTo fix this you could try to:\n1. loosen the range of package versions you've specified\n2. remove package versions to allow pip attempt to solve the dependency conflict\n\n\n:stderr: ERROR: Cannot install networkx>=2.4.0 because these package versions have conflicting dependencies.\nERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies\n"
2021-10-03 18:49:27.334629 | primary | }
2021-10-03 18:49:27.334778 | primary | ok: All items complete
2021-10-03 18:49:27.334849 |
2021-10-03 18:49:44.013750 | primary | changed: "tripleo-common"
2021-10-03 18:49:47.251329 | primary | changed: "tripleo-ansible"
2021-10-03 18:49:53.277642 | primary | changed: "python-tripleoclient

Full logs are below:

https://logserver.rdoproject.org/openstack-periodic-integration-stable4/opendev.org/openstack/tripleo-ci/master/periodic-tripleo-centos-8-buildimage-ironic-python-agent-train/c7e7a82/job-output.txt

https://logserver.rdoproject.org/openstack-periodic-integration-stable4/opendev.org/openstack/tripleo-ci/master/periodic-tripleo-centos-8-buildimage-overcloud-hardened-full-train/66a9773/job-output.txt

The deps install code is below:
https://github.com/openstack/tripleo-ci/blob/master/roles/oooci-build-images/tasks/pre.yaml#L71

Ronelle Landy (rlandy)
Changed in tripleo:
milestone: none → xena-3
importance: Undecided → Critical
status: New → Triaged
tags: added: ci promotion-blocker
Revision history for this message
Bhagyashri Shewale (bhagyashri-shewale) wrote :

Hi All,

Due to this change [1] the lower-constraint value of "networkx" has been changed to 2.4.0 in the diskimage-builder and in the openstack/requirements *stable/train* [2] the upper-constraint value for "networkx" is 2.3 and that is causing this issue.

[1]: https://review.opendev.org/c/openstack/diskimage-builder/+/811048/3/lower-constraints.txt
[2]: https://github.com/openstack/requirements/blob/stable/train/upper-constraints.txt#L102

Revision history for this message
Steve Baker (steve-stevebaker) wrote :

Since diskimage-builder tracks master is it possible to not use stable/train upper-constraints requirements?

Revision history for this message
Steve Baker (steve-stevebaker) wrote :

When I proposed the lower-constraints change I tried networkx==2.3.0, but that depended on the broken decorator==3.4.0. So it had to be networkx==2.4.0. I guess the choice is to either update or stop enforcing openstack/requirements stable/train upper-constraints

Revision history for this message
Bhagyashri Shewale (bhagyashri-shewale) wrote :

Hi All,

I think doing any change/update in the openstack/requirements is not feasible option. We can't do any change/update in the openstack/requirements as it's basically changed/updated by openstack bot.

We have two option to fix this issue:

First one, is we can avoid the uppper-constraints use for *stable/train* while installing the deps (Task: Install deps from upper-constraints) here https://github.com/openstack/tripleo-ci/blob/d492451c1311e6d83cc7816ca93a5381948dea50/roles/oooci-build-images/tasks/pre.yaml#L74 (make it optional for stable train) but we may fail in other cases.

Second one, is we can pin the diskimage-builder version here https://github.com/openstack/tripleo-ci/blob/d492451c1311e6d83cc7816ca93a5381948dea50/roles/oooci-build-images/defaults/main.yaml#L5

In case if you have any thoughts to fix this issue then feel free to add your opinions. Thanks :)

Revision history for this message
Bhagyashri Shewale (bhagyashri-shewale) wrote (last edit ):

Here is the related fix: Drop lower version requirement for networkx https://review.opendev.org/c/openstack/diskimage-builder/+/812453 (waiting for zuul results)

Ronelle Landy (rlandy)
Changed in tripleo:
status: Triaged → Fix Released
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.