Hello Yedidyah,
thank you for this great answer.
I will answer in the text below.
BR Florian
----- Ursprüngliche Mail -----
Von: "Yedidyah Bar David" <didi(a)redhat.com>
An: "Florian Schmid" <fschmid(a)ubimet.com>
CC: "Tomas Golembiovsky" <tgolembi(a)redhat.com>, "Sandro
Bonazzola" <sbonazzo(a)redhat.com>, "users" <users(a)ovirt.org>
Gesendet: Donnerstag, 23. Juli 2020 08:37:21
Betreff: Re: [ovirt-users] Re: qemu-guest-agent on Ubuntu doesn't report FQDN
On Wed, Jul 22, 2020 at 5:34 PM Florian Schmid via Users
<users(a)ovirt.org> wrote:
>
> Hi,
>
> after digging a bit deeper, it looks like it is the problem with the
qemu-guest-agent.
>
> It does only report the hostname and nothing more. It uses this function:
g_get_host_name ()
>
> This function always returns the value in /etc/hostname and this is normally the
short name of the VM without the domain part.
>
> It looks like, that the ovirt-guest-agent made this different,
Indeed, and from checking the git log, it seems like it did this since
the very first commit - already then,
ovirt-guest-agent/GuestAgentLinux2.py had:
def getMachineName(self):
return socket.getfqdn()
Correct, this is what I wanted back.
> but this is not working anymore with python 3.
If in "this" you refer to ovirt-guest-agent, then it's deprecated:
https://bugzilla.redhat.com/show_bug.cgi?id=1672732
Yes, I know. Now using the QGA with oVirt 4.3 reports only the short hostname.
>
> There was a recent patch for qga ->
https://bugzilla.redhat.com/show_bug.cgi?id=1845127
This bug seems to discuss something else, not directly related to your
own issue.
> but this won't help me, because even when this patch would add the FQDN to oVirt
back, there won't be a package for this for Ubuntu 20.04 and probably also not for
RedHat/CentOS 8.
Not sure what you mean here. The bug is on qga, and fixing it (or your
own issue) is unrelated to oga's deprecation.
I wanted to say, that this change might also impact the reported hostname, but I don't
think so...
Your issue seems to be, to me:
1. oga used to report the FQDN, as returned by python's socket.getfqdn()
2. qga returns something else (and this something else might be
changed, following above bug, but likely not to what you want).
3. oVirt now uses qga instead of oga, thus changing its past behavior.
4. You want the old behavior back - basically, claiming this is a regression.
Yes, exactly.
If so, then:
1. You are welcome to open a bug about this, on qga.
2. Your request *might* be rejected, on the ground of breaking
compatibility for existing/old users of qga (say, using virt-manager
or whatever other virt tool, without oga installed)
I'm 100 % sure, that they will reject this.
Alternatively, or if this bug is rejected, you can open two new bugs:
1. one on qga, to provide the fqdn (using, hopefully, logic similar to
python's getfqdn, although qga is written in C)
Possible, but this won't help me a lot, because even if they add a new function to
qga, oVirt would need to be changed too, to access this function instead of the one it is
using now.
2. other on the oVirt engine, to use this new functionality of qga
instead of the existing one.
Yes.
You also have another alternative - just adapt your machines to have
the fqdn as the hostname. I personally think this is the best way to
go. Have 'hostname' return the FQDN you want, and only use 'hostname
-s' where you really want it to be short. How do you set the hostnames
of your machines?
This is what I don't know, if this has some drawbacks.
I have checked this on internet, but haven't find a lot about it, what is digging
deeper.
Maybe someone here has some experience with using FQDN for hostname?
I can live with such a solution, when it doesn't have big drawbacks...
I can set the hostname via ansible, so this would not be a big problem for doing it.
>
>Best regards,