Merge ~nacc/git-ubuntu:lp1718019-custom-sourcepackage-classes into git-ubuntu:master

Proposed by Nish Aravamudan
Status: Merged
Approved by: Nish Aravamudan
Approved revision: 19ac8f8bbb226294b09add9199536f087bd59272
Merge reported by: Nish Aravamudan
Merged at revision: 19ac8f8bbb226294b09add9199536f087bd59272
Proposed branch: ~nacc/git-ubuntu:lp1718019-custom-sourcepackage-classes
Merge into: git-ubuntu:master
Diff against target: 53 lines (+28/-2)
1 file modified
gitubuntu/source_information.py (+28/-2)
Reviewer Review Type Date Requested Status
Nish Aravamudan Approve
Andreas Hasenack Approve
Server Team CI bot continuous-integration Approve
Review via email: mp+330939@code.staging.launchpad.net

This proposal supersedes a proposal from 2017-09-12.

Commit message

Make jenkins happy.

To post a comment you must log in.
Revision history for this message
Nish Aravamudan (nacc) wrote : Posted in a previous version of this proposal

An alternative choice would be to override the parent classes _source_urls methods to just not use mirrors/masters. I think the approach in this MP is safer in case other internal methods use the variables.

Revision history for this message
Server Team CI bot (server-team-bot) wrote : Posted in a previous version of this proposal

FAILED: Continuous integration, rev:b7d822253cdc20b831a7f9840f2cffe7f2077c2a
No commit message was specified in the merge proposal. Click on the following link and set the commit message (if you want a jenkins rebuild you need to trigger it yourself):
https://code.launchpad.net/~nacc/usd-importer/+git/usd-importer/+merge/330629/+edit-commit-message

https://jenkins.ubuntu.com/server/job/git-ubuntu-ci/73/
Executed test runs:
    SUCCESS: Checkout
    SUCCESS: Style Check
    SUCCESS: Unit Tests
    SUCCESS: Integration Tests
    IN_PROGRESS: Declarative: Post Actions

Click here to trigger a rebuild:
https://jenkins.ubuntu.com/server/job/git-ubuntu-ci/73/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Andreas Hasenack (ahasenack) wrote : Posted in a previous version of this proposal

This code is doing what was requested in the bug, but I wonder if that's the right change.

The code in python3-ubuntutools seems to do the right thing when we pull a package:

            for url in self._source_urls(name):
                try:
                    if self._download_file(url, name):
                        break

_source_urls() will iterate over mirrors first, and then masters, and finally LP. That seems robust. If one is down, move to the next one, until a good one is found.

What may not be working well enough is this "switch to the next one". Maybe detecting a broken mirror doesn't work. Maybe it takes too much time to move to the next one. Maybe it lacks a way to mark a mirror as broken, so that it is not tried again the next time.

Replacing this mechanism with having it all centered on LP may not be the best fix. For example, there is that one comment in the source that not all debian packages get imported into LP. Perhaps we should instead enhance how these source_urls are tried.

Do we have more information on exactly what was failing? Maybe we should try to reproduce this problem by blacklisting (firewall or proxy) the debian resources, or just some of them, and retry an import and see what happens when that blacklisted url is tried. Does the code move to the next one quickly enough?

I'll mark this MP as needs-info, and add this comment to the bug too.

review: Needs Information
Revision history for this message
Nish Aravamudan (nacc) wrote : Posted in a previous version of this proposal

To be clear, we only use LP publishing information for srcpkgs, which by definitions means they are present on LP (I'm not sure what the mirroring comment refers to).

The point/intent, though, is to minimize our depdendency on external infrastructure. We should be able to import anything LP says exists with LP only.

Revision history for this message
Robie Basak (racb) wrote : Posted in a previous version of this proposal

From discussion: we'd like this to really be about "depend only on Launchpad".

Revision history for this message
Server Team CI bot (server-team-bot) wrote :

FAILED: Continuous integration, rev:0d60850d8ad40fbefd20e08ae640df8f7784562a
No commit message was specified in the merge proposal. Click on the following link and set the commit message (if you want a jenkins rebuild you need to trigger it yourself):
https://code.launchpad.net/~nacc/usd-importer/+git/usd-importer/+merge/330939/+edit-commit-message

https://jenkins.ubuntu.com/server/job/git-ubuntu-ci/96/
Executed test runs:
    SUCCESS: Checkout
    SUCCESS: Style Check
    SUCCESS: Unit Tests
    SUCCESS: Integration Tests
    IN_PROGRESS: Declarative: Post Actions

Click here to trigger a rebuild:
https://jenkins.ubuntu.com/server/job/git-ubuntu-ci/96/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Server Team CI bot (server-team-bot) wrote :

PASSED: Continuous integration, rev:19ac8f8bbb226294b09add9199536f087bd59272
https://jenkins.ubuntu.com/server/job/git-ubuntu-ci/130/
Executed test runs:
    SUCCESS: Checkout
    SUCCESS: Style Check
    SUCCESS: Unit Tests
    SUCCESS: Integration Tests
    IN_PROGRESS: Declarative: Post Actions

Click here to trigger a rebuild:
https://jenkins.ubuntu.com/server/job/git-ubuntu-ci/130/rebuild

review: Approve (continuous-integration)
Revision history for this message
Andreas Hasenack (ahasenack) wrote :

I tried to test this by blocking access to debian sites, ipv6 included, but wasn't successful in hitting the affected code path. It looks correct, though, so +1.

review: Approve
Revision history for this message
Nish Aravamudan (nacc) wrote :

Self-approving.

review: Approve

There was an error fetching revisions from git servers. Please try again in a few minutes. If the problem persists, contact Launchpad support.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches