| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2018-06-22 | |||
| 18:32:58 | dansmith | no, I want to see an actual xml blob | |
| 18:33:01 | artom | Oh | |
| 18:33:18 | dansmith | surely we have something in the tests? (/me is scraping for it) | |
| 18:33:40 | artom | We must - or I can just spin up an instance and dump you that | |
| 18:34:53 | dansmith | is it <numatune> ? | |
| 18:35:48 | artom | There's a bunch of distinct ones, I actually don't know if there's a sinle "parent" element | |
| 18:35:56 | artom | *single | |
| 18:36:12 | dansmith | and some vcpu stuff I guess | |
| 18:36:44 | artom | <cputune> as wlel | |
| 18:36:46 | artom | *well | |
| 18:37:03 | dansmith | right, so at the end of the day, you're going to generate some new xml document which contains a subset of the things you need and on the source have to parse that expected structure and pick out the pieces you want | |
| 18:37:19 | artom | 'zactly | |
| 18:37:29 | dansmith | which you could do super hackily by just grabbing the root of any subtree and yank it straight into the xml you're sending to the other side in migrate, | |
| 18:37:47 | dansmith | but that would be pretty trusting of the other side, and wouldn't have a very high confidence that you're generating valid xml | |
| 18:37:58 | dansmith | and if you're going to inspect every piece of it to transplant it, | |
| 18:38:14 | dansmith | I kinda think that you might as well have used our own objects for that transport | |
| 18:38:32 | artom | Yeah, good point | |
| 18:38:41 | dansmith | instead of using another complex structure that kinda looks like libvirt's but isn't exactly, and doesn't have the rest of the ingrained patterns our devs are used to | |
| 18:39:10 | dansmith | so I dunno.. if it was one blob that was <all_numa_stuff> ... </> then it'd be a little more sane to just drop it in (maybe), but since it's not... | |
| 18:39:36 | artom | That being said, it's XML by the destination for the destination | |
| 18:39:53 | dansmith | it is, but it's yanked into a larger xml doc the destination hasn't seen yet | |
| 18:39:59 | artom | Does it really make sense for the source to do anything other than, as you said, grab the subtree and stick it in? | |
| 18:40:06 | artom | Also true | |
| 18:40:28 | dansmith | well, the source will have to merge or replace the vcpu elements, for example | |
| 18:40:53 | dansmith | if there was a non-numa-related attribute that the destination doesn't know how to calculate, for example, | |
| 18:41:18 | dansmith | then the source would have to reason about the mergeification of the numa-related fragments we got from the destination, in context of the other non-numa-related ones already in the xml | |
| 18:41:20 | artom | Replace, I would think - the instance numa topology hasn't changed, so for example '<vcpupin vcpu="0"' should not change | |
| 18:41:45 | dansmith | which may not happen now or later, but it supports the "just dropping the pieces into the existing xml doc may not make sense" argument | |
| 18:41:59 | dansmith | yeah, I'm trying to come up with a concrete example that exists today, which may not be possible, | |
| 18:42:06 | dansmith | but surely may in the future | |
| 18:42:42 | dansmith | oh so, | |
| 18:42:53 | dansmith | <cputune> has a ton of stuff in it, not all numa-related right? | |
| 18:43:13 | artom | So, NUMA is sort of an abuse of language | |
| 18:43:31 | artom | CPU pinning isn't strictly NUMA | |
| 18:43:46 | artom | But that info is stored in our NUMA objects | |
| 18:43:53 | dansmith | cputune specifies the cache layout.. will the destination generate that too? can it? what if it differs from what the guest has now for some reason? the source will have to decide I would think | |
| 18:43:57 | artom | And it's one of the things we have to update | |
| 18:44:05 | dansmith | cache is? | |
| 18:44:11 | dansmith | or you mean pinning | |
| 18:44:24 | artom | Yeah pinning | |
| 18:44:29 | dansmith | yeah, | |
| 18:44:40 | dansmith | so I mean basically you're asking the destination for a lot of fragments | |
| 18:44:59 | dansmith | and just yanking those into the source document just strikes me as unsafe, or fragile | |
| 18:45:22 | dansmith | having generated my fair share of xml that I thought was valid, only to have to spend time with sax to figure out what I did that violated the schema... | |
| 18:45:45 | artom | Well, it'd be a matter of 'for numa-y element in source: if numa-y element in dest: replace the bits, dropping in the whole subtree if feasible' | |
| 18:46:33 | dansmith | really? what if the source generates fewer elements and you don't replace one of the source ones and now you have a layout that doesn't make sense? :) | |
| 18:46:47 | artom | So numatune I *think* would be fully replacable | |
| 18:46:52 | dansmith | aye | |
| 18:47:11 | dansmith | what if the source is older than the destination and the destination generates some layout, that doesn't make sense without an element you don't know about? | |
| 18:47:27 | artom | We encore nova service version, at least | |
| 18:47:32 | dansmith | like new libvirt adds cache affinity to numa node (just a fake example of course) | |
| 18:47:36 | dansmith | right, so that's my point, | |
| 18:47:46 | dansmith | instead of exposing feature flags and letting the source reason about it, | |
| 18:47:55 | artom | Well, libvirt doens't actually come into play here, just our driver | |
| 18:48:09 | dansmith | no, I know, but I'm saying we add support for some new thing | |
| 18:48:20 | dansmith | the destination needs to know and do a lot of compatibility handling | |
| 18:48:47 | dansmith | which it does anyway, but I just think if you open the gate that wide, it starts to have to care about the libvirt schema at a particular version, which by the way, service_version won't tell you :) | |
| 18:49:18 | artom | Yeah, sorry, the service version thing is just while we're on rocky/queens | |
| 18:49:41 | dansmith | right but there is a wide spectrum of libvirt, qemu and nova versions that may affect stuff like this | |
| 18:49:47 | dansmith | anyway, I have to run to lunch in a bit | |
| 18:49:56 | dansmith | but hopefully you've got some of my concerns in your head now | |
| 18:49:56 | artom | Once we move past that, it's completely conceivable for both source and dest to be > MIN_NUMA_LIVE_MIGRATION, and for the dest to generate some XML that the source doens't know about | |
| 18:50:24 | dansmith | sounds like you maybe need some spec text to generate this discussion and move to agreement yeah? | |
| 18:50:45 | artom | I suppose | |
| 18:51:00 | dansmith | no? | |
| 18:51:09 | artom | It wouldn't hurt | |
| 18:51:14 | dansmith | this strikes me as a thing you're going to want to have broad agreement on | |
| 18:51:25 | artom | I feel like having concrete code to strawman might be better | |
| 18:51:48 | dansmith | well, as long as you're okay with throwing it away, and make it clear it's for discussion then that's fine with me | |
| 18:52:30 | artom | Heh, well, maybe I'm not? | |
| 18:52:48 | dansmith | ... | |
| 18:53:03 | dansmith | well, just trying to help.. do whichever you think will be most successful :) | |
| 18:53:50 | artom | dansmith, right, sorry, didn't mean to come off as flippant | |
| 18:54:03 | artom | This discussion is definitely helpful and your time is appreciated :) | |
| 18:54:32 | dansmith | for me as well | |
| 18:54:47 | dansmith | now I have all my -1s lined up and it's not even noon :P | |
| 19:27:14 | smcginnis | I seem to recall hearing at one point that the version of libvirt-python used was dependent on the version of libvirt itself on the host. Can anyone confirm that? | |
| 20:14:19 | openstackgerrit | Merged openstack/nova stable/queens: [Stable Only] Add amd-ssbd and amd-no-ssb CPU flags https://review.openstack.org/576270 | |
| 20:14:27 | openstackgerrit | Merged openstack/nova master: Fix bug to api-ref https://review.openstack.org/571375 | |
| 20:24:49 | openstackgerrit | Dan Smith proposed openstack/nova stable/pike: [Stable Only] Add amd-ssbd and amd-no-ssb CPU flags https://review.openstack.org/577548 | |
| 21:28:58 | openstackgerrit | Merged openstack/nova master: Fix nits from change Ia7cf4414feb335b3c2e863b4c8b4ff559b275c34 https://review.openstack.org/577314 | |
| 21:41:16 | openstackgerrit | Merged openstack/nova master: libvirt: Log breadcrumb for known encryption bug https://review.openstack.org/577164 | |
| #openstack-nova - 2018-06-23 | |||
| 08:13:56 | openstackgerrit | jiang wei proposed openstack/nova master: Add action initiator attribute to the instance payload https://review.openstack.org/536243 | |
| 14:10:37 | openstackgerrit | Merged openstack/nova master: Fix bug to filter_scheduler https://review.openstack.org/571998 | |
| #openstack-nova - 2018-06-24 | |||
| 01:52:57 | openstackgerrit | Zhenyu Zheng proposed openstack/nova master: Use ThreadPoolExecutor for max_concurrent_live_migrations https://review.openstack.org/563505 | |
| 02:42:17 | openstackgerrit | Zhenyu Zheng proposed openstack/nova master: Use ThreadPoolExecutor for max_concurrent_live_migrations https://review.openstack.org/563505 | |
| 16:44:30 | openstackgerrit | Lei Zhang proposed openstack/nova master: Add method to get cpu traits https://review.openstack.org/560317 | |
| #openstack-nova - 2018-06-25 | |||
| 02:20:16 | openstackgerrit | Yikun Jiang (Kero) proposed openstack/nova master: Change the anti-affinity Filter to adapt to new policy https://review.openstack.org/571166 | |
| 02:20:17 | openstackgerrit | Yikun Jiang (Kero) proposed openstack/nova master: Adapt _validate_instance_group_policy to new policy model https://review.openstack.org/571465 | |
| 02:20:18 | openstackgerrit | Yikun Jiang (Kero) proposed openstack/nova master: Microversion 2.64 - Use new format policy in server group https://review.openstack.org/567534 | |
| 02:21:29 | openstackgerrit | Vu Cong Tuan proposed openstack/os-vif master: Add py36 testenv https://review.openstack.org/577686 | |
| 02:59:53 | openstackgerrit | Merged openstack/nova stable/queens: Add policy rule to block image-backed servers with 0 root disk flavor https://review.openstack.org/563692 | |
| 02:59:58 | openstackgerrit | Merged openstack/nova stable/pike: Fixed auto-convergence option name in doc https://review.openstack.org/576282 | |
| 04:13:14 | openstackgerrit | Steve Kowalik proposed openstack/nova master: Switch to oslo_messaging.ConfFixture.transport_url https://review.openstack.org/573046 | |
| 04:53:21 | openstackgerrit | Merged openstack/nova stable/pike: [Stable Only] Add amd-ssbd and amd-no-ssb CPU flags https://review.openstack.org/577548 | |
| 05:11:35 | openstackgerrit | Hironori Shiina proposed openstack/nova master: Ironic: Check a last error of power action https://review.openstack.org/470754 | |
| 05:55:34 | openstackgerrit | Deepak Mourya proposed openstack/nova master: Handle CannotDeleteParentResourceProvider to 409 Conflict https://review.openstack.org/577726 | |
| 06:03:13 | openstackgerrit | Deepak Mourya proposed openstack/nova master: Handle CannotDeleteParentResourceProvider to 409 Conflict https://review.openstack.org/577726 | |
| 06:12:32 | gibi | good morning nova | |
| 06:23:18 | openstackgerrit | Merged openstack/nova stable/pike: Change consecutive build failure limit to a weigher https://review.openstack.org/573248 | |