| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2020-08-26 | |||
| 16:12:23 | sean-k-mooney | then set hw:mem_page_size=large in the flavor | |
| 16:12:58 | sean-k-mooney | default_hugepagesz=1G hugepagesz=1G hugepages=750 | |
| 16:13:10 | sean-k-mooney | that is what you need to add to the kernel command line in grub | |
| 16:13:47 | sean-k-mooney | you have only 1 numa node on the host currently right? | |
| 16:13:47 | rmart04 | ah OK amazing, thank you | |
| 16:13:53 | rmart04 | No two | |
| 16:14:14 | sean-k-mooney | and the vm has how many numa nodes? 2 | |
| 16:14:22 | rmart04 | yes | |
| 16:14:27 | sean-k-mooney | ok then that makes sense | |
| 16:14:37 | sean-k-mooney | otherwise i was wondering how the vm booted :) | |
| 16:15:03 | rmart04 | I managed to get over that hurdle :P | |
| 16:15:17 | sean-k-mooney | rmart04: you should see >20% incresse form hugepages in most workloads | |
| 16:15:27 | sean-k-mooney | more if its memory or io bound | |
| 16:15:35 | sean-k-mooney | less if it compute bound | |
| 16:15:41 | sean-k-mooney | or disk bound | |
| 16:17:50 | rmart04 | ok great, thanks for all your help | |
| 16:18:38 | sean-k-mooney | by the way the reason i ask about oversubsrcitip is hugepage cant be swapped out ot disk but they also will never be reap as a result of OOM | |
| 16:18:56 | sean-k-mooney | so it shoudl solve your issue although there is a very small change that the qemu process can still be selected | |
| 16:20:00 | sean-k-mooney | qemu will be using relitvly little non hugepage memeory in this config so it will have a low memery pressur score vs other process and memeory will be balance evenly across both host numa nodes for the vm | |
| 16:20:53 | yoctozepto | morning nova folks - today's question is when nova compute host name can get different from nova hypervisor host name and how | |
| 16:21:43 | sean-k-mooney | yoctozepto: it will be different for ironic | |
| 16:22:00 | yoctozepto | sean-k-mooney: true, let's focus on nova+kvm :-) | |
| 16:22:16 | sean-k-mooney | out side of that it shoudl be the same unless you set teh HOST config element or you add a fqdn to you /etc/hostname | |
| 16:22:17 | yoctozepto | actually evaluating noonedeadpunk's https://review.opendev.org/728629 (for masakari) | |
| 16:23:03 | stephenfin | yoctozepto: You can manually override '[DEFAULT] host' | |
| 16:23:09 | sean-k-mooney | yoctozepto: this is how its set https://github.com/openstack/nova/blob/master/nova/conf/netconf.py#L50-L70 | |
| 16:23:19 | stephenfin | it defaults to socket.gethostname() | |
| 16:23:24 | stephenfin | what sean-k-mooney just linked to | |
| 16:23:33 | sean-k-mooney | yep | |
| 16:23:42 | sean-k-mooney | so they should be the same unless you change that config option | |
| 16:24:04 | sean-k-mooney | if you use socket.fqdn() in your code it may not agreee | |
| 16:24:08 | sean-k-mooney | i fixed this in cyborg | |
| 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" | |