← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1942232] [NEW] CloudStack datasource: querying data-server does not work on Fedora 34

 

Public bug reported:

Cloud provider: CloudStack

CloudStack datasource uses multiple ways to determine the address of the
metadata server. One of them (and sometimes the only available) is using
a DNS query with hostname "data-server".

However, DNS resolution of "data-server" works because of the DNS search
domain, which works well with Fedora 33 but not with Fedora 34.

In Python:

- With Fedora 33:

from socket import getaddrinfo
getaddrinfo("data-server.", 80) => works
getaddrinfo("data-server", 80)  => works

- With Fedora 34:

from socket import getaddrinfo
getaddrinfo("data-server.", 80) => fails with "[Errno -2] Name or service not known"
getaddrinfo("data-server", 80)  => works

This is not caused by a change in Python (Python 3.9.6 is used for both)
but probably in the underlying getaddrinfo implementation.

As the final dot is normally used to prevent using the DNS search
domain, the error is actually normal, and the dot should be removed for
cloud-init to work.

** Affects: cloud-init
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to cloud-init.
https://bugs.launchpad.net/bugs/1942232

Title:
  CloudStack datasource: querying data-server does not work on Fedora 34

Status in cloud-init:
  New

Bug description:
  Cloud provider: CloudStack

  CloudStack datasource uses multiple ways to determine the address of
  the metadata server. One of them (and sometimes the only available) is
  using a DNS query with hostname "data-server".

  However, DNS resolution of "data-server" works because of the DNS
  search domain, which works well with Fedora 33 but not with Fedora 34.

  In Python:

  - With Fedora 33:

  from socket import getaddrinfo
  getaddrinfo("data-server.", 80) => works
  getaddrinfo("data-server", 80)  => works

  - With Fedora 34:

  from socket import getaddrinfo
  getaddrinfo("data-server.", 80) => fails with "[Errno -2] Name or service not known"
  getaddrinfo("data-server", 80)  => works

  This is not caused by a change in Python (Python 3.9.6 is used for
  both) but probably in the underlying getaddrinfo implementation.

  As the final dot is normally used to prevent using the DNS search
  domain, the error is actually normal, and the dot should be removed
  for cloud-init to work.

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-init/+bug/1942232/+subscriptions



Follow ups