I’m running some sort of an experimental KVM guest with IPv6 connectivity only. Since it still had Ubuntu Server 13.10 installed I tried to run a do-release-upgrade
on it to upgrade it to the latest Ubuntu Server release – which at the time of this writing is 14.10. However, the do-release-upgrade
command kept saying that no new release could be found:
root@ipv6lab:~# do-release-upgrade
Checking for a new Ubuntu release
No new release found
I verified the /etc/update-manager/release-upgrades
configuration file but it already contained the Prompt=normal
line. After doing some digging I found out that the do-release-upgrade
tries to connect to http://changelogs.ubuntu.com but there is no AAAA DNS record for this host. Essentially, this means that an Ubuntu server can’t be upgraded to a newer release over IPv6 because it can’t connect to the update info site over IPv6.
root@ipv6lab:~# dig +short changelogs.ubuntu.com A
91.189.95.36
root@ipv6lab:~# dig +short changelogs.ubuntu.com AAAA
root@ipv6lab:~#
Interestingly, the Ubuntu APT repository update site is accessible over IPv6, which is why something like apt-get update
runs fine on IPv6-only Ubuntu servers.
I solved the problem by creating an IPv6 to IPv4 HTTP proxy using HAProxy on a IPv4/IPv6 dual stack server. The proxy listens on an IPv6 address and “tunnels” all requests to changelogs.ubuntu.com using the IPv4 address of the changelogs server. I was able to upgrade to a newer Ubuntu release this way on an IPv6-only Ubuntu server. Continue reading “Ubuntu release upgrade says ‘no new release found’ on IPv6-only server”