add-apt-repository intermittently fails on krillin
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
software-properties (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
Running 'sudo add-apt-repository --yes ppa:ci-
Cannot add PPA: 'ppa:~ci-
The team named '~ci-train-
Please choose from the following available PPAs:
* 'landing-000': Landing PPA 000
* 'landing-000': Landing PPA 000 (RTM)
* 'landing-001': Landing PPA 001 (RTM)
* 'landing-001': Landing PPA 001
* 'landing-002': Landing PPA 002
* 'landing-002': Landing PPA 002 (RTM)
* 'landing-003': Landing PPA 003
* 'landing-003': Landing PPA 003 (RTM)
* 'landing-004': Landing PPA 004 (RTM)
* 'landing-004': Landing PPA 004
* 'landing-005': Landing PPA 005
* 'landing-005': Landing PPA 005 (RTM)
* 'landing-006': Landing PPA 006 (RTM)
* 'landing-006': Landing PPA 006
* 'landing-007': Landing PPA 007
* 'landing-007': Landing PPA 007 (RTM)
* 'landing-008': Landing PPA 008 (RTM)
* 'landing-008': Landing PPA 008
* 'landing-009': Landing PPA 009 (RTM)
* 'landing-009': Landing PPA 009
* 'landing-010': Landing PPA 010 (RTM)
* 'landing-010': Landing PPA 010
* 'landing-011': Landing PPA 011
* 'landing-011': Landing PPA 011 (RTM)
* 'landing-012': Landing PPA 012 (RTM)
* 'landing-012': Landing PPA 012
* 'landing-013': Landing PPA 013 (RTM)
* 'landing-013': Landing PPA 013
* 'landing-014': Landing PPA 014 (RTM)
* 'landing-014': Landing PPA 014
* 'landing-015': Landing PPA 015
* 'landing-015': Landing PPA 015 (RTM)
* 'landing-016': Landing PPA 016 (RTM)
* 'landing-016': Landing PPA 016
* 'landing-017': Landing PPA 017
* 'landing-017': Landing PPA 017 (RTM)
* 'landing-018': Landing PPA 018 (RTM)
* 'landing-018': Landing PPA 018
* 'landing-019': Landing PPA 019 (RTM)
* 'landing-019': Landing PPA 019
* 'landing-020': Landing PPA 020
* 'landing-020': Landing PPA 020 (RTM)
* 'landing-021': Landing PPA 021 (RTM)
* 'landing-021': Landing PPA 021
* 'landing-022': Landing PPA 022 (RTM)
* 'landing-022': Landing PPA 022
* 'landing-023': Landing PPA 023 (RTM)
* 'landing-023': Landing PPA 023
* 'landing-024': Landing PPA 024
* 'landing-024': Landing PPA 024 (RTM)
* 'landing-025': Landing PPA 025
* 'landing-025': Landing PPA 025 (RTM)
* 'landing-026': Landing PPA 026
* 'landing-026': Landing PPA 026 (RTM)
* 'landing-027': Landing PPA 027
* 'landing-027': Landing PPA 027 (RTM)
* 'landing-028': Landing PPA 028 (RTM)
* 'landing-028': Landing PPA 028
* 'landing-029': Landing PPA 029
* 'landing-029': Landing PPA 029 (RTM)
* 'landing-030': Landing PPA 030 (RTM)
* 'landing-030': Landing PPA 030
* 'landing-031': Landing PPA 031
* 'landing-031': Landing PPA 031 (RTM)
* 'landing-032': Landing PPA 032
* 'landing-032': Landing PPA 032 (RTM)
* 'landing-033': Landing PPA 033
* 'landing-033': Landing PPA 033 (RTM)
* 'landing-034': Landing PPA 034 (RTM)
* 'landing-034': Landing PPA 034
* 'landing-035': Landing PPA 035
* 'landing-035': Landing PPA 035 (RTM)
* 'landing-036': Landing PPA 036
* 'landing-036': Landing PPA 036 (RTM)
* 'landing-037': Landing PPA 037 (RTM)
=======
We ran this by the launchpad team and based on the analysis that cjwatson carried out, he had this to say:
'The bit where it only lists a subset of PPAs is a bug in add-apt-repository. It's talking to the Launchpad API by hand to avoid needing to introduce additional dependencies, but unfortunately it doesn't implement the collection API properly: it needs to follow links to subsequent batches until it's found everything. (Notice that it's shown you 75 entries, which is exactly our current batch size on production.) I'd suggest raising that with the Foundations team, who can come to us if they need help fixing it.
I'm not completely sure why it couldn't add the PPA in the first place, though, and I suspect the underlying error has been obscured by add-apt-repository somewhere along the line. I compared with appserver logs for the relevant timestamps (which are just about still available); there are records of requests from a bit later in that hour, but add-apt-
We could add that this issue is only visible for us on krillin devices and that this is an intermittent issue with somewhat higher frequency. The mako runs with the same command hasn't failed at all this way.
There is another type of failure, seemingly due to the same cause:
+ sudo add-apt-repository --yes ppa:ci- train-ppa- service/ stable- phone-overlay python3. 4/urllib/ request. py", line 1182, in do_open req.get_ method( ), req.selector, req.data, headers) python3. 4/http/ client. py", line 1088, in request _send_request( method, url, body, headers) python3. 4/http/ client. py", line 1126, in _send_request endheaders( body) python3. 4/http/ client. py", line 1084, in endheaders _send_output( message_ body) python3. 4/http/ client. py", line 922, in _send_output python3. 4/http/ client. py", line 857, in send python3. 4/http/ client. py", line 1223, in connect ).connect( ) python3. 4/http/ client. py", line 834, in connect address) python3. 4/socket. py", line 494, in create_connection python3. 4/socket. py", line 533, in getaddrinfo getaddrinfo( host, port, family, type, proto, flags):
Traceback (most recent call last):
File "/usr/lib/
h.request(
File "/usr/lib/
self.
File "/usr/lib/
self.
File "/usr/lib/
self.
File "/usr/lib/
self.send(msg)
File "/usr/lib/
self.connect()
File "/usr/lib/
super(
File "/usr/lib/
self.timeout, self.source_
File "/usr/lib/
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
File "/usr/lib/
for res in _socket.
socket.gaierror: [Errno -3] Temporary failure in name resolution
During handling of the above exception, another exception occurred:
Traceback (most recent call last): python3/ dist-packages/ softwarepropert ies/ppa. py", line 101, in _get_https_ content_ py3 request. urlopen( request, cafile= LAUNCHPAD_ PPA_CERT) python3. 4/urllib/ request. py", line 161, in urlopen python3. 4/urllib/ request. py", line 463, in open python3. 4/urllib/ request. py", line 481, in _open python3. 4/urllib/ request. py", line 441, in _call_chain python3. 4/urllib/ request. py", line 1225, in https_open self._context, check_hostname= self._check_ hostname) python3. 4/urllib/ request. py", line 1184, in do_open error.URLError: <urlopen error [Errno -3] Temporary failure in name resolution>
File "/usr/lib/
lp_page = urllib.
File "/usr/lib/
return opener.open(url, data, timeout)
File "/usr/lib/
response = self._open(req, data)
File "/usr/lib/
'_open', req)
File "/usr/lib/
result = func(*args)
File "/usr/lib/
context=
File "/usr/lib/
raise URLError(err)
urllib.
During handling of the above exception, another exception occurred:
Traceback (most recent call last): python3/ dist-packages/ softwarepropert ies/ppa. py", line 321, in get_ppa_info info_from_ lp(user, ppa) python3/ dist-packages/ softwarepropert ies/ppa. py", line 91, in get_ppa_ info_from_ lp from_lp( lp_url) python3/ dist-packages/ softwarepropert ies/ppa. py", line 87, in get_info_from_lp content_ py3(lp_ url) python3/ dist-packages/ softwarepropert ies/ppa. py", line 107, in _get_https_ content_ py3 ies.ppa. PPAException: 'Error reading https:/ /launchpad. net/api/ 1.0/~ci- train-ppa- service/ +archive/ ubuntu/ stable- phone-overlay: [Errno -3] Temporary failure in name resolution'
File "/usr/lib/
ret = get_ppa_
File "/usr/lib/
return get_info_
File "/usr/lib/
return _get_https_
File "/usr/lib/
raise PPAException("Error reading %s: %s" % (lp_url, reason), e)
softwarepropert
Du...