Project

Profile

Help

Issue #2583

closed

Pulp installation failing in nightly builds

Added by semyers about 7 years ago. Updated about 5 years ago.

Status:
CLOSED - CURRENTRELEASE
Priority:
High
Assignee:
Category:
-
Sprint/Milestone:
-
Start date:
Due date:
Estimated time:
Severity:
3. High
Version:
2.12.0
Platform Release:
OS:
Triaged:
No
Groomed:
No
Sprint Candidate:
No
Tags:
Pulp 2
Sprint:
Quarter:

Description

Recent builds have been failing due to pulp packages conflicting with themselves, like this:

dnf.exceptions.Error: Transaction check error:
  file /usr/lib/python2.7/site-packages/pulp/__init__.pyc from install of python-pulp-common-2.13.0-0.1.alpha.git.18644.c9d9a39.fc24.noarch conflicts with file from package python2-pulp-common-2.8.7-1.fc24.noarch
<many similar lines follow, possibly one for every file in the package>

We renamed the package from python2-pulp-common to python-pulp-common at some point, and while our spec files do "provide" the old name, it looks like more may now be required to resolve this conflict.


Related issues

Related to Pulp - Task #2576: Update build system to properly implement el6 support policyCLOSED - CURRENTRELEASEsemyers

Actions
Actions #1

Updated by semyers about 7 years ago

Filed with high sev since Pulp can't be upgraded while this is affecting us, and it also breaks our nightly build tests.

I'm not really sure of what the "Obsoletes" dependency does, but here are the docs:
https://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch-dependencies.html#RPM_Guide-Dependencies-obsoletes

Specifically:

The RPM system supports one more type of dependency, called obsoletes. This refers to a capability that a package provides that makes another capability obsolete. For example, a new version of the perl interpreter may make an older version obsolete. In most cases, the obsoletes dependency should be used when the name of a package changes. For example, the apache Web server package became the httpd package. You would expect the new package, httpd, to obsolete the old package name, apache.

Since we evidently renamed our python2-pulp-* packages to python-pulp-*, at some point, I think the new packages do indeed both provide and obsolete the old packages.

I've already put together a branch with the Obsoletes keywords in-use, and will be testing it shortly (mostly out of curiosity, but hey, if it works...but I suspect once we get past all the platform packages the plugins will start to fail): https://github.com/pulp/pulp/compare/2.12-dev...seandst:rm2583

Actions #3

Updated by semyers about 7 years ago

Looking at the test builds, rhel7 appears to have no problem with our packages either way.

The error now is "nothing provides pulp-admin-client >= 2.11 needed by pulp-python-admin-extensions-2.0.1-0.1.alpha.git.2.be7d11e.fc25.noarch",
which is odd. The build log shows that the pulp-admin-client was only built for rhel7, which likely explains why el7 is still happy.

Actions #4

Updated by semyers about 7 years ago

  • Status changed from NEW to ASSIGNED
  • Assignee set to semyers

My curiosity has increased enough that I want to dig into this in earnest, and see our nightlies building again.

Actions #5

Updated by semyers about 7 years ago

  • Subject changed from python packages conflicting with python2 packages to Pulp installation failing in nightly builds
Actions #6

Updated by semyers about 7 years ago

This is related to my recent specfile change to the spec file to stop building unsupported packages. It looks like "%if 0%{?rhel}<= 6" is evaluating to true on fedora, which (in hindsight) makes sense because the %{?rhel} probably expands to nothing when building in fedora, so the conditional becomes "0 <= 6", which is indeed true.

The simplest fix for this seems clear now, which is to modify the spec to explicitly check against versions 5 or 6, and probably add a comment as to why I didn't do <=.

Added by semyers about 7 years ago

Revision bce3e440 | View on GitHub

Adjust conditional to work correctly on fedora

closes #2583 https://pulp.plan.io/issues/2583

Added by semyers about 7 years ago

Revision bce3e440 | View on GitHub

Adjust conditional to work correctly on fedora

closes #2583 https://pulp.plan.io/issues/2583

Actions #7

Updated by semyers about 7 years ago

I'm assuming, at this point, that the problems that led me to look into that "Obsoletes" tag were related to the packages simply not being built, so my PR has excluded that change:
https://github.com/pulp/pulp/pull/2948

I'll test this again in a bit and update the PR if needed.

Actions #8

Updated by semyers about 7 years ago

  • Status changed from ASSIGNED to MODIFIED
Actions #9

Updated by semyers about 7 years ago

  • Status changed from MODIFIED to ASSIGNED

The PR has improved things, but jenkins is still unhappy:

TASK [pulp : Setup Pulp nightly repository] ************************************
changed: [localhost] => (item={'key': u'pulp', 'value': {u'gpgcheck': 0, u'name': u'Pulp Project repository', u'baseurl': u'https://repos.fedorapeople.org/pulp/pulp/testing/automation/2.12/stage/fedora-$releasever/$basearch/'}})

TASK [pulp : Setup Pulp beta or stable repository] *****************************
skipping: [localhost] => (item={'key': u'pulp', 'value': {u'gpgcheck': 0, u'name': u'Pulp Project repository', u'baseurl': u'https://repos.fedorapeople.org/pulp/pulp/nightly/2.12/fedora-$releasever/$basearch/'}}) 

TASK [pulp : Install Pulp Server] **********************************************
fatal: [localhost]: FAILED! => {"changed": false, "failed": true, "msg": "No group pulp-server-qpid available."}
    to retry, use: --limit @/home/jenkins/workspace/pulp-2.12-dev-f24/ci/ansible/pulp_server.retry

I checked the comps.xml file for the f24 repo, and the pulp-server-qpid is available. All of the packages in that group appear to be available as well.

Actions #10

Updated by semyers about 7 years ago

There is an ongoing outage @ fedorapeople that I believe is the cause of this error. Here's a snippet from the dnf log on a test node:

Feb 09 20:36:07 DEBUG Cannot download 'https://repos.fedorapeople.org/pulp/pulp/testing/automation/2.12/stage/fedora-25/x86_64/': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried.

fedora is aware of the issue and fixing it now.

Actions #11

Updated by semyers about 7 years ago

  • Status changed from ASSIGNED to CLOSED - CURRENTRELEASE

I never know how to close issues that aren't related to a specific release. CLOSED - CURRENTRELEASE it is!

The previous fix that moved this issue to MODIFIED did indeed fix this. Once the fedorapeople website came back up, a fedora 24 test build worked perfectly (not even unstable, smash passed all tests).

Actions #12

Updated by semyers about 7 years ago

  • Related to Task #2576: Update build system to properly implement el6 support policy added
Actions #13

Updated by bmbouter about 5 years ago

  • Tags Pulp 2 added

Also available in: Atom PDF