| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2020-08-26 | |||
| 16:24:14 | yoctozepto | then I would be changing the thing for nova-compute but not for the hypervisor, right? | |
| 16:24:32 | sean-k-mooney | yes | |
| 16:24:46 | sean-k-mooney | if you set [default]/host to something | |
| 16:25:03 | sean-k-mooney | hyperviour_hostname and host will not be the same for libvirt | |
| 16:25:03 | yoctozepto | ok, so where does the name for the hypervisor spawn and how's it kept linked? :D | |
| 16:25:08 | sean-k-mooney | or other virt dirvers | |
| 16:25:54 | sean-k-mooney | host is the compute service host and is set by that config and hypervisor_hostname is set by the virt driver | |
| 16:26:04 | openstackgerrit | Stephen Finucane proposed openstack/nova master: functional: Don't inherit from 'ProviderUsageBaseTestCase' https://review.opendev.org/748271 | |
| 16:26:13 | sean-k-mooney | the libvirt driver get it form libvirt | |
| 16:26:25 | sean-k-mooney | and it calls socket.gethostname internally in c | |
| 16:26:29 | stephenfin | bauzas: https://review.opendev.org/748271 | |
| 16:26:52 | sean-k-mooney | socket.gethostname is a fucntion provided by libc and pythons socket module jsut call the libc version | |
| 16:27:19 | sean-k-mooney | socket.gethostname() reads /etc/hostname if it exits on linux | |
| 16:27:23 | yoctozepto | sean-k-mooney: ah, so it's consulted each time with libvirt? I guess that's why I had a hard time figuring this one out | |
| 16:27:32 | sean-k-mooney | yes | |
| 16:27:37 | yoctozepto | yeah, the rest makes sense | |
| 16:27:40 | stephenfin | sean-k-mooney: https://review.opendev.org/#/c/748250/ | |
| 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 | bauzas | stephenfin: of course, you'd have to specify the latest microversion but is that terrible to do ? | |
| 16:28:52 | yoctozepto | you mean libvirt is actually doing getfqdn? | |
| 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 | bauzas | stephenfin: but that should be it | |
| 16:32:14 | sean-k-mooney | its used in plamcnet | |
| 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 | sean-k-mooney | they did not in the past but now they are calling a new fucntion | |
| 16:46:52 | noonedeadpunk | And I'm not C guy unfortunatelly... | |
| 16:47:08 | sean-k-mooney | the python way called the c function | |