Earlier  
Posted Nick Remark
#openstack-nova - 2020-08-26
16:27:49 yoctozepto I do wonder how noonedeadpunk (and some others) ended up desynchronizing them
16:28:05 bauzas stephenfin: I don't get your comment, you're saying you can't just use the InstanceMixin ?
16:28:08 noonedeadpunk I have situnation where socket.gethostname and socket.getfqdn are different things
16:28:13 bauzas stephenfin: directly I mean ?
16:28:31 yoctozepto noonedeadpunk: hmm, ah
16:28:40 yoctozepto but then sean-k-mooney was only about gethostname
16:28:52 yoctozepto you mean libvirt is actually doing getfqdn?
16:28:52 bauzas stephenfin: of course, you'd have to specify the latest microversion but is that terrible to do ?
16:29:01 stephenfin bauzas: Not really. I'd have to copy-paste all of this https://github.com/openstack/nova/blob/master/nova/tests/functional/integrated_helpers.py#L1107-L1132
16:29:10 sean-k-mooney yoctozepto: no its getting the hostname
16:29:23 stephenfin bauzas: Which seems worse than having functions available that I'm not using
16:29:51 noonedeadpunk sean-k-mooney: but I think that libvirt checks for the socket.getfqdn...
16:29:52 sean-k-mooney stephenfin: lol ok
16:29:54 stephenfin '_IntegratedTestBase' is basically what you're asking for but with all that boilerplate inline
16:29:59 yoctozepto then there is a conflict between your testimonies, noonedeadpunk and sean-k-mooney :-)
16:30:00 sean-k-mooney noonedeadpunk: it does not
16:30:05 yoctozepto investigation ongoing!
16:30:07 yoctozepto :D
16:30:12 sean-k-mooney noonedeadpunk: unless they changed it wich would be a breaking change
16:30:20 stephenfin there are some differences around policy but I'm resolving those in separate patches
16:30:57 noonedeadpunk sean-k-mooney: http://paste.openstack.org/show/797181/
16:31:03 yoctozepto https://github.com/libvirt/libvirt/blob/7ba4838a18afb609d900190c57b0cbfb842ccbdf/src/util/virutil.c#L470
16:31:08 noonedeadpunk I can judge only by this...
16:31:25 stephenfin melwitt: want to unbork cloning on Windows? https://review.opendev.org/#/c/748250/
16:31:43 yoctozepto it seems they are training to canonicalize on master
16:31:51 yoctozepto that's how they ended up with an fqdn
16:31:55 bauzas stephenfin: technically, you'd need to do things like https://github.com/openstack/nova/blob/master/nova/tests/functional/regressions/test_bug_1849409.py
16:32:09 sean-k-mooney yoctozepto: noonedeadpunk we cant change this behavior
16:32:12 yoctozepto so yeah, they b0rked
16:32:14 sean-k-mooney its used in plamcnet
16:32:14 bauzas stephenfin: but that should be it
16:32:27 yoctozepto sean-k-mooney: what's plamcnet? ;d
16:32:42 noonedeadpunk sean-k-mooney: yeah, that's fine) just sharing feedback about fqdn vs gethostname - fighting this 3 years I guess...
16:32:49 sean-k-mooney the placement service
16:32:56 yoctozepto noonedeadpunk: but now we know
16:32:58 yoctozepto sean-k-mooney: ack
16:33:23 elod lyarwood: no need to squash, it's good as it is. will review now
16:33:31 sean-k-mooney noonedeadpunk: it is technially allowed to return an fqdn if you put an fqdn in /etc/hostname which you should not do but some people do
16:33:33 stephenfin bauzas: Yes, but those are nearly identical. The only difference is the use of the CinderFixture and fake image service (essentially GlanceFixture)
16:33:34 yoctozepto ok, this was a very worthwhile chat, thanks sean-k-mooney, stephenfin and noonedeadpunk
16:33:52 yoctozepto sean-k-mooney: you can also get trapped by dns
16:33:58 stephenfin bauzas: oh, and the cast as call
16:34:05 sean-k-mooney the masikari patch is not correct by the way
16:34:10 melwitt stephenfin: sure, but curious what does your comment mean about sphinx not finding the reno? does that mean the release note will disappear from the release notes? I had thought it would still be included even if the name is changed?
16:34:29 yoctozepto sean-k-mooney: any reviews appreciated!
16:34:35 yoctozepto any and all* I mean
16:34:41 stephenfin melwitt: it'll find the reno with the new name but complain about a file matching the old name being missing
16:34:51 bauzas stephenfin: yup, we would probably just need another base testclass which wouldn't pull all the placementesque methods
16:34:52 sean-k-mooney yoctozepto: the seach is using hyperviour_hostname in the host filed
16:34:54 noonedeadpunk sean-k-mooney: it's more complicated than that.. In /etc/hostname I have uacloud-nova03. But the thing is that python gets it not from /etc/hostname, but from /etc/hosts
16:34:56 stephenfin i.e. "this existed in the past but I can't find it now; skipping"
16:35:01 sean-k-mooney that only works for libvirt
16:35:09 melwitt stephenfin: ah ok. thanks
16:35:11 bauzas stephenfin: but in the meantime, instancemixin seems better to use IMHO + those extra lines
16:35:13 yoctozepto sean-k-mooney: nah, that's bad naming
16:35:28 stephenfin bauzas: We have it. It's call '_IntegratedTestBase'
16:35:29 yoctozepto actually masakari uses this-called-string for corosync and nova-compute
16:35:36 yoctozepto and asssumes that they are the same
16:35:41 stephenfin bauzas: look at the superclasses for that https://github.com/openstack/nova/blob/master/nova/tests/functional/integrated_helpers.py#L1008
16:35:47 yoctozepto somehow they thought it always equals hypervisors...
16:35:59 yoctozepto well, I would have as well probably
16:36:08 stephenfin *It's called
16:36:30 bauzas stephenfin: I do remember the pain writing functional tests that were requiring duplicate code
16:37:09 sean-k-mooney yoctozepto: maybe its not clear if https://docs.openstack.org/api-ref/compute/?expanded=list-compute-services-detail#list-compute-services is the hyperviour_hostname or the host value form teh cofnig
16:37:16 sean-k-mooney i suppect its the host value form the config
16:38:05 yoctozepto sean-k-mooney: it is, it's just that noonedeadpunk kept the old name, I commented on that too
16:38:27 sean-k-mooney ok so its the host value
16:38:31 sean-k-mooney not the hypervisor_hostname
16:38:36 noonedeadpunk At fisrt I was trying to keep changes minimal)
16:38:54 yoctozepto noonedeadpunk: all in all, this patch makes masakari a bit better but still kinda delays the issue that one could actually want to monitor the hypervisors, and have their names agree with those in corosync cluster
16:39:09 bauzas either way, it's becoming late for me, \o
16:39:12 sean-k-mooney noonedeadpunk: thats an good goal generaly but but names existingon the compute node recored in teh db
16:39:34 sean-k-mooney so we should try to use hypervisor_hostname and host name differently depending on which we mean
16:40:10 noonedeadpunk Yeah, I see it now. Just wanted to made it as bug fix to get backported at first :p
16:40:38 noonedeadpunk but you're totally right
16:41:53 yoctozepto noonedeadpunk: if we straighten the logic right, then you know who's the core who will accept those backports :-)
16:42:35 sean-k-mooney noonedeadpunk: these are teh rules libvirt uses by the way
16:42:38 sean-k-mooney https://github.com/libvirt/libvirt/blob/7ba4838a18afb609d900190c57b0cbfb842ccbdf/src/util/virutil.c#L470-L489
16:45:37 sean-k-mooney the did modify this 8 months ago https://github.com/libvirt/libvirt/commit/26d9748ff114a060ee751959d108d062f737f5d9
16:46:35 noonedeadpunk sean-k-mooney: I think that C way of gethostname may differ from python implementation....
16:46:52 noonedeadpunk And I'm not C guy unfortunatelly...
16:46:52 sean-k-mooney they did not in the past but now they are calling a new fucntion
16:47:08 sean-k-mooney the python way called the c function
16:47:18 yoctozepto sean-k-mooney: I linked to that libvirt code just above :-)
16:47:21 sean-k-mooney libvirt is now using g_get_host_name();
16:47:47 sean-k-mooney instead of gethostname
16:49:30 noonedeadpunk Yeah, so things may broke for me with some libvirt update... Anyway that would mean time to work on naming convention:) Like I have only 1 such region - the first one I've built...
16:49:43 noonedeadpunk but it created corner case....
16:52:05 sean-k-mooney 6.0 is the default in ubuntu and centos 8
16:52:29 sean-k-mooney i know ooo hardcodes the fqdn in /etc/hostname
16:52:38 yoctozepto noonedeadpunk: masakari needs fixing nonetheless ;p
16:52:46 sean-k-mooney and i think it also manually sets the [default]/host value
16:53:12 sean-k-mooney nova depends on teh actull hostname not changing
16:59:41 sean-k-mooney yoctozepto: noonedeadpunk this is where we call libvirt if you are interested https://github.com/openstack/nova/blob/master/nova/virt/libvirt/host.py#L976
17:00:06 sean-k-mooney and that is used here https://github.com/openstack/nova/blob/a7735d5e379c20c59cfb639f9f4d339bcffca2f9/nova/virt/libvirt/driver.py#L8418
17:00:47 yoctozepto sean-k-mooney: thanks, I just did not realize it's libvirt telling us its name, but thanks to you it's clear for me now
17:02:03 sean-k-mooney ya genericly its the hypervior e.g vmware or hyperv or libvirt that provides this
17:02:59 openstackgerrit Merged openstack/nova stable/train: libvirt: Provide VIR_MIGRATE_PARAM_PERSIST_XML during live migration https://review.opendev.org/747973
17:03:15 openstackgerrit Merged openstack/nova master: releasenotes: Detail support for server ops with vTPM https://review.opendev.org/748215
17:04:26 noonedeadpunk sean-k-mooney: just one more stupid question... trying to find host-evacuate api call in https://docs.openstack.org/api-ref/compute/ but don't see for some reason (only server evacuate)

Earlier   Later