Earlier  
Posted Nick Remark
#openstack-nova - 2018-02-22
17:43:18 cfriesen jaypipes: you have emulator threads, IO threads, and vCPU threads.
17:43:41 mriedem mdbooth: https://github.com/openstack/nova/blob/master/nova/utils.py#L989
17:43:45 jaypipes cfriesen: oh? is this something new in libvirt?
17:44:23 mriedem mdbooth: that says if the image min_disk is not set, or 0, just store it as the flavor root disk in the instance system_metadata, which we then use later to build the image meta for the snapshot
17:44:23 cfriesen jaypipes: no. if you're just running pure userspace code in the guest then there's no work for the IO threads. they're used for reading from virtual disk and such
17:44:24 dansmith jaypipes: no :)
17:44:47 mdbooth mriedem: Yep, I think that's it.
17:45:21 mdbooth mriedem: I have a suspicion that at some point in the past it was really hard to change min_disk due to assumptions about it dotted around the code.
17:45:28 jaypipes cfriesen, dansmith: I've always just referred to the qemu-kvm processes that perform work for a guest as "I/O threads".. :(
17:45:40 jaypipes oops.
17:45:40 dansmith jaypipes: nay
17:45:44 cfriesen how does placement deal with the difference between "shared" vcpus and "dedicated" vcpus?
17:45:54 jaypipes cfriesen: it doesn't. and it won't.
17:46:01 mdbooth Although my grepping suggests it's no longer misused.
17:46:39 mriedem mdbooth: it doesn't explain why it uses the flavor root_gb https://review.openstack.org/#/c/43782/
17:46:46 cfriesen jaypipes: so how does it deal with a host that has X pCPUs, which lets it run X dedicated vCPUs or X*cpu_allocation_ratio shared vCPUs?
17:46:56 jaypipes cfriesen: it doesn't.
17:47:05 cfriesen okay, so do we not track cpu usage in placement?
17:47:23 jaypipes cfriesen: we do not track cpu pinning or numa topology in placement, no.
17:47:28 openstackgerrit Claudiu Belu proposed openstack/nova master: compute: Cleans up allocations after failed resize https://review.openstack.org/543971
17:47:46 jaypipes cfriesen: all of that is done in the highly-coupled NUMA topology stuff in nova/virt/hardware.py and the NUMATopologyFilter.
17:47:57 mriedem mdbooth: https://bugs.launchpad.net/nova/+bug/1039662
17:47:57 openstack Launchpad bug 1039662 in OpenStack Compute (nova) "Snapshot queries original image which could be gone" [Medium,Fix released]
17:48:27 mriedem mdbooth: so yeah, i don't have any clue here why nova decided that if min_disk isn't set, we should set it to the flavor root_gb
17:48:27 claudiub mriedem: if you're feeling generous with the reviews, can you take a look at the autospec stuff? :D https://review.openstack.org/#/q/topic:bug/1735588+(status:open+OR+status:merged)+project:openstack/nova
17:48:37 jaypipes cfriesen: also, allocation ratio isn't considered in any CPU pinning scenarios at all.
17:48:44 mriedem claudiub: i'm not that generous
17:48:48 cfriesen jaypipes: okay, so if you use up all the pCPUs running dedicated vCPUs placement will still think there are vcpus available?
17:48:51 jaypipes cfriesen: it's an entirely different system of accounting that uses the vcpu_pin_set CONF option.
17:48:56 mdbooth mriedem: Sounds like the right place to fix it to me.
17:49:31 jaypipes cfriesen: it was an entirely different system of accounting that was added in the hardware.py module and has ZERO to do with how any other resources are tracked in Nova.
17:49:33 claudiub mriedem: then, if I may abuse your not that generous-ness, can you take a look at the autospec stuff? :D
17:54:18 cfriesen jaypipes: in the context of the "shared/dedicated on one host", I just added some comments. If we're going to allow both on one host then I think it would make sense to have the usage numbers ("vcpus_used" in "nova hypervisor-show" for example) accurately reflect what's on the system.
17:54:59 jaypipes cfriesen: yeah, I saw your comments. this is definitely something to talk about next week...
17:55:05 jaypipes cfriesen: will you be there?
17:55:18 cfriesen yep, starting monday afternoon
17:55:35 jaypipes cfriesen: also, keep in mind vcpus_used has absolutely nothing to do with pCPUs.
17:55:43 mriedem umm wtf - flavor doesn't show up in the server response? http://paste.openstack.org/show/682314/
17:55:49 jaypipes cfriesen: ne'er the two shall meet. ;)
17:56:14 jaypipes mriedem: lol.
17:56:20 mriedem oh i bet i know what it is,
17:56:29 mriedem osc can't handle microversion>=2.47 responses
17:56:33 mriedem where the flavor is a dict instead of a string
17:56:59 jaypipes mriedem: an awkward dict?
17:57:06 cfriesen jaypipes: hypervisor-show has "vcpus" and "vcpus_used". in our case we made it such that "vcpus" is len(vcpu_pin_set). This makes it easy to see how "full" your hypervisor is.
17:57:16 mriedem yup http://paste.openstack.org/show/682315/
17:57:49 jaypipes cfriesen: that is an abuse.
17:57:55 jaypipes cfriesen: and completely incorrect :)
17:58:48 mriedem cfriesen: since you delt it, maybe you'd like to fix this https://bugs.launchpad.net/python-openstackclient/+bug/1751104
17:58:48 openstack Launchpad bug 1751104 in python-openstackclient "openstack server show with --os-compute-api-version >= 2.47 doesn't show the flavor" [Undecided,New]
17:59:43 cfriesen ooo, fun
18:00:12 cfriesen yah, I think I can take that.
18:02:00 mriedem mdbooth: i think removing that would be wrong, and it's likely there for non-volume-backed instances anyway (like everything in nova)
18:02:29 mriedem mdbooth: i created a 20gb flavor instance from the devstack cirros image which has min_disk=0, and the resulting snapshot has min_disk=20 to match the flavor root_gb
18:03:28 mdbooth Right. So the 20GB restriction here should be because that's how many bits are physically required, which is represented in 'size'.
18:03:54 mdbooth IMHO min_disk should still be unset.
18:04:05 mriedem for the volume-backed snapshot you mean?
18:04:10 mriedem i.e. exactly what this patch is doing?
18:04:10 mdbooth Yeah.
18:05:11 mdbooth That patch is arbitrarily popping min_disk out of image metadata.
18:05:25 mdbooth I don't think it should have been in there in the first place.
18:05:40 mdbooth min_disk is analogous to min_ram here
18:09:46 mriedem mdbooth: i don't really agree,
18:09:57 mriedem for a volume-backed instance, the disk is what matters (or doesn't)
18:10:31 mriedem if i have a 20gb flavor instance and snapshot it to get a 20gb image, then the image should say that you need a flavor of a minimum of 20gb to boot an instance with that image, right?
18:10:52 mriedem but that's not true with a volume, since the flavor.root_gb isn't used for the volume
18:14:08 dansmith mriedem: min_disk should be the size of the volume in that case when you snapshot I think
18:14:15 dansmith flavor.root_gb if ephemeral
18:14:30 mriedem dansmith: that's what i originally asked in the patch
18:14:36 mriedem rather than pop off min_disk,
18:14:40 mriedem why not just set it to root_bdm.size
18:15:21 mriedem good point though
18:15:37 dansmith I haven't been following the discussion or the patch really, but .. yeah
18:16:47 mdbooth dansmith: That's size
18:16:47 mdbooth size != min_disk
18:17:03 mdbooth Size can be expanded, min_disk is what it is
18:17:18 mriedem another good point, i was combining those image attrs in my head
18:18:40 cfriesen do I need to do something special for "nova get-serial-console" to support the socat console used by ironic?
18:19:13 mriedem check the ironic docs
18:19:28 mriedem https://docs.openstack.org/ironic/pike/admin/console.html
18:19:36 mriedem cfriesen: man that google search was hard...
18:22:03 cfriesen the "ironic node-get-console" command is working and gives a URL, but "nova get-serial-console" returns an error.
18:32:51 melwitt I'm off to the airport o/ seeya at the PTG
18:36:24 mriedem lyarwood: if you're around still, i'm going to be going through this pike backport series which is pretty important, starting at https://review.openstack.org/#/c/546218/
18:47:20 mriedem mnaser: wondering about some missing compute api unit tests in this pike backport https://review.openstack.org/#/c/546221/4
18:48:47 efried jaypipes: Do you want me to remove "in the Traits database" everywhere or just that one spot?
18:48:54 efried jaypipes: E.g. in the reno
18:49:25 jaypipes efried: everywhere. that's just implementation detail that isn't relevant.
18:49:27 mriedem heh, i can see ops freaking out now
18:49:34 efried ight
18:49:34 mriedem "nova added *another* database?!"
18:49:38 jaypipes right.
18:50:29 mnaser mriedem: thank you for reviewing the patches meticulously. i made sure to leave the conflicts because i don't trust my git conflict resolution stuff :<
18:50:35 mnaser ill update it now
18:51:51 openstackgerrit Eric Fried proposed openstack/nova master: rp: GET /resource_providers?required= https://review.openstack.org/546837
18:51:52 openstackgerrit Eric Fried proposed openstack/nova master: Make _get_sharing_providers more efficient https://review.openstack.org/547008
18:51:52 efried edleafe, jaypipes: All done ^
18:54:37 edleafe efried: thx
18:54:49 efried My pleasure.
18:54:58 efried Except for the part where I had to delete that sqla block

Earlier   Later