doc: copr plugin does not respect IP family preference #548
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
It was pointed that "dnf -4 copr enable ..." performs IPv6 connections. The cause is that _download_repo() function used urllib.request.urlopen() instead of dnf.base.urlopen() on purpose: It needs to process an HTTP status code and a custom HTTP header.
Unfortunatelly urllib.request.urlopen() does not support specifying an address family preference.
A long term fix would be replacing urllib.request.urlopen() with a pycurl Python library (or less likely augment dnf/libdnf/librepo to expose an HTTP layer).
As a short gap solution, this patch documents this deficiency and points the user to a global address family setting.
https://bugzilla.redhat.com/show_bug.cgi?id=2303712