Unable to upgrade to edgy behind transparent squid

Bug #62808 reported by Chris Jones
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
update-manager (Ubuntu)
Fix Released
High
Unassigned

Bug Description

I just ran:
  gksu "update-manager -c -d"

and received the error:

Could not find the release notes
  The server may be overloaded.

I traced the conversation with ethereal and it seems like it's trying to talk to a host named "ubuntu", which obviously doesn't exist and so squid fails, even though it seems to be talking to the correct address (if I send the same request to the same IP without a transparent squid in the way, it replies with the correct RelaseAnnouncement.

Here is the conversation from ethereal. Of particular note I believe is the Host header.

GET //ubuntu/dists/edgy/main/dist-upgrader-all/current/ReleaseAnnouncement HTTP/1.1

Accept-Encoding: identity

Host: ubuntu

Connection: close

User-agent: Python-urllib/2.4

HTTP/1.0 503 Service Unavailable

Server: squid/2.5.STABLE12

Mime-Version: 1.0

Date: Thu, 28 Sep 2006 14:05:05 GMT

Content-Type: text/html

Content-Length: 1297

Expires: Thu, 28 Sep 2006 14:05:05 GMT

X-Squid-Error: ERR_DNS_FAIL 0

X-Cache: MISS from localhost.localdomain

X-Cache-Lookup: MISS from localhost.localdomain:3128

Connection: close

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>ERROR: The requested URL could not be retrieved</TITLE>
<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
</HEAD><BODY>
<H2>The requested URL could not be retrieved</H2>
<HR noshade size="1px">
<P>
While trying to retrieve the URL:
<A HREF="http://ubuntu//ubuntu/dists/edgy/main/dist-upgrader-all/current/ReleaseAnnouncement">http://ubuntu//ubuntu/dists/edgy/main/dist-upgrader-all/current/ReleaseAnnouncement</A>
<P>
The following error was encountered:
<BLOCKQUOTE>
Unable to determine IP address from host name for
<I>ubuntu</I>
</BLOCKQUOTE>

<P>
The dnsserver returned:
<BLOCKQUOTE>
Name Error: The domain name does not exist.
</BLOCKQUOTE>

<P>
This means that:
<PRE>
 The cache was not able to resolve the hostname presented in the URL.
 Check if the address is correct.
</PRE>
<P>Your cache administrator is <A HREF="mailto:webmaster">webmaster</A>.

<BR clear="all">
<HR noshade size="1px">
<ADDRESS>
Generated Thu, 28 Sep 2006 14:05:05 GMT by localhost.localdomain (squid/2.5.STABLE12)
</ADDRESS>
</BODY></HTML>

Revision history for this message
Michael Vogt (mvo) wrote :

Thanks for your bugreport and this capture.

Could you please run the following:

#!/usr/bin/env python
import urllib2
n = urllib2.urlopen("http://archive.ubuntu.com/ubuntu/dists/edgy/main/dist-upgrader-all/current/ReleaseAnnouncement")
print n.read()
n.close()

and if that does not work, could you please provide me the full tcp-stream capture (etherreal/wireshark if possible)? Including the DNS trafioc? I suspect something with the DNS. I assume there is no http_proxy set on the local machine?

Thanks,
 Michael

Revision history for this message
Chris Jones (cmsj) wrote :

That works absolutely fine.

You are correct that there is no http_proxy and we have seen this on more than one machine behind the squid proxy.

Revision history for this message
Chris Jones (cmsj) wrote :

Here are ethereal dumps for the test.py you supplied and update-manager

Revision history for this message
Chris Jones (cmsj) wrote :

Update manager log

Revision history for this message
Chris Jones (cmsj) wrote :

-(cmsj@waishou)-(~)- cat /var/lib/update-manager/meta-release | grep ReleaseNotesReleaseNotes: http://changelogs.ubuntu.com/DapperReleaseAnnouncement
ReleaseNotes: http://archive.ubuntu.com//ubuntu/dists/edgy/main/dist-upgrader-all/current/ReleaseAnnouncement

Revision history for this message
Michael Vogt (mvo) wrote :

It looks like the problem was the entry:
ReleaseNotes: http://archive.ubuntu.com//ubuntu/dists/edgy/main/dist-upgrader-all/current/ReleaseAnnouncement

(notice the double "/" after the hostname).

This appeared to have confused pythons urllib2. I corrected this now and it should be working now.

Revision history for this message
Michael Vogt (mvo) wrote :

Setting to "Need info" for someone to confirm that its now working.

Changed in update-manager:
importance: Undecided → High
status: Unconfirmed → Needs Info
Revision history for this message
Chris Jones (cmsj) wrote :

Yep, this is now working. Thanks!

Revision history for this message
Michael Vogt (mvo) wrote :

Thanks for verifing that it works now.

Changed in update-manager:
status: Needs Info → 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.