Earlier  
Posted Nick Remark
#openstack-nova - 2019-06-11
14:31:23 cdent sean-k-mooney: the mysteries of the DRS are beyond me. If you can think it, it probably does it if you set the right setting.
14:31:49 kashyap yonglihe: I've also asked the QEMU post-copy migration author/maintainer to look at the spec, too. (I myself need to re-look at it, just been buried)
14:31:59 kashyap (s/need/"wanted to"/)
14:32:10 sean-k-mooney cdent: ya i assumed that its proably done under the hood in vspher or whatever
14:32:15 efried cdent: Well, stephenfin is looking for a way to fix whatever we're doing in the test, but so far we're stymied on that. If it's not possible (or if it takes us longer than a few more minutes to figure out) I'd like to just disable the test. But since you touched it, and your code change implies some kind of understanding of the root cause of the breakage, I though I would ask you if you know what's going on there.
14:32:52 cdent my understanding was based on chasing many links through the interwebs, not understanding the tokenizer
14:33:06 efried okay
14:34:57 efried I'm trying to repro on bionic. Not happening at 2.7.15rc1
14:35:18 efried aha, but does reproduce on latest
14:35:29 stephenfin yeah, I can't reproduce on Fedora 20 with 2.7.16
14:35:30 efried which lists self as 2.7.15+ -- not helpful :(
14:42:21 stephenfin or 3.6.8. Hmm
14:44:23 stephenfin I always forget how damn big the nova repo is
14:44:37 stephenfin Definitely should have shallow cloned
14:52:54 kashyap sean-k-mooney: In that PostCopy spec, this naming sounds scary to me: "*_permit_reboot_risk"
15:03:53 efried stephenfin: It's looking like it's only broken at 3.6.7 (some releaselevels - at least 'final') and 2.7.15 (likewise). So we could skip those and move on with life.
15:04:10 efried oh, never mind, I just reproduced at 3.6.8 'final'.
15:04:13 stephenfin If that's the case, yup, let's do that
15:04:14 stephenfin damn
15:05:07 efried stephenfin: what's your 3.6.8 where it wasn't reproducing?
15:05:17 efried stephenfin: and did you remember to turn off the skip decorator? :P
15:05:39 stephenfin python36-3.6.8-6.fc30.x86_64
15:05:49 stephenfin That only applies to 2.7, no?
15:06:00 stephenfin I've got it reproduced in an Ubuntu VM
15:06:12 sean-k-mooney kashyap: yes i agree i dont like that charaterisation which is why i suggeted other names instead
15:06:36 efried stephenfin: The skip decorator is skipping the test in anything >= 3.6.7
15:07:09 stephenfin Sorry, yeah, 3.6
15:07:19 sean-k-mooney kashyap: my -1 is mainly for the extraspec names an di have one question regarding if post copy and auto converge can be used togeter at teh qemu/libvirt layer
15:07:21 kashyap sean-k-mooney: Thanks. Didn't read everything yet; need a fresher mind.
15:07:38 kashyap sean-k-mooney: I asked Dave (PostCopy author) to also comment, FWIW.
15:07:51 sean-k-mooney kashyap: cool
15:07:53 kashyap sean-k-mooney: Another thing is, how does one prioritize between PostCopy and AutoConverge
15:08:24 sean-k-mooney kashyap: currently its states its an error to use both
15:09:05 sean-k-mooney aparently nova perfers post copy over auto converge
15:09:45 sean-k-mooney although if i rememebr correctly danpb prefered the idea of having auto converge enabled by default in nova and was less confindent in post copy
15:09:57 kashyap 17:08 < kashyap> dgilbert: Can you use PostCopy and AutoConverge at the _same_ time, Dave?
15:09:57 kashyap sean-k-mooney: That's the response:
15:10:00 kashyap 17:08 < dgilbert> hmmmm
15:10:03 kashyap 17:09 < dgilbert> if you can I don't think we've ever tested it
15:10:40 kashyap sean-k-mooney: The thing is, some workloads will be "surprized" in a bad way to realize AutoConverge is auto-enabled
15:10:43 cfriesen it doesn't make sense to use postcopy and autoconverge at the same time
15:11:08 kashyap cfriesen: Yeah, it doesn't. One needs to know WTF they're doing before they start trying things
15:11:09 sean-k-mooney kashyap: ya i know things like watcher
15:11:11 cfriesen once you've enabled postcopy it'll naturally slow down as it pulls pages over the network, no need to artificially slow it down to allow to converge
15:11:49 sean-k-mooney cfriesen: well autoconverge only slow it down if it failed to copy less the half of the outstanding pages in the last interval
15:11:51 kashyap cfriesen: Yeah, the unsatisfying answer, as usual is, "it depends on the workload"
15:12:07 sean-k-mooney and it does not slow down the workload intially untill a certin time has passed
15:12:27 cfriesen sean-k-mooney: details. :)
15:12:48 stephenfin printf-debugging++
15:12:55 sean-k-mooney if you are dirtiying memory fast enough i dont know if post-copy is required to ever finish or if write to remote memory will always be paged to local memory instead
15:13:15 cfriesen sean-k-mooney: once you've written to all local pages, then post-copy is done. :)
15:13:19 sean-k-mooney if post-copy works by treating the remote meory as read only then its fine
15:13:25 cfriesen sean-k-mooney: it does
15:13:36 sean-k-mooney ok then ya no need to use both
15:13:44 cfriesen sean-k-mooney: but if you lose the network while in post-copy, you're hosed
15:13:53 sean-k-mooney yep i know
15:14:19 sean-k-mooney but if you looes netwroking with shared storage your equally screwed
15:16:01 artom We're allowed methods in neutronv2/api.py that aren't in network/api.py, right?
15:16:16 sean-k-mooney private ones yes
15:16:16 artom Or is this like virt drivers, they all need to match?
15:16:24 artom Public ones
15:16:30 sean-k-mooney what methods are you adding
15:16:43 artom The get_events stuff, see convo with dansmith above
15:16:43 sean-k-mooney that moduel shoudl really only have methods that call neutron
15:17:01 sean-k-mooney its does not interact with the api
15:17:08 sean-k-mooney so why would it be in that module
15:17:30 artom TBH, because dansmith said so, and it makes sense to me as well
15:17:37 artom But mostly because he said so ;)
15:17:50 artom This is not something I have the energy to debate
15:17:59 dansmith artom: don
15:18:00 dansmith artom: don't hedge :)
15:18:44 efried stephenfin: I'm stumped. Are you getting anywhere? If not, I'm going to call time and just disable the test for now.
15:18:54 sean-k-mooney dansmith: why in the api module and not here https://github.com/openstack/nova/blob/master/nova/network/model.py#L460
15:18:58 stephenfin efried: Yeah, I'm down in pycodestle
15:19:02 stephenfin *pycodestyle
15:19:17 dansmith sean-k-mooney: I said nova/network/something would be fine too
15:19:47 artom I wasn't aware of the "must call neutron API" rule
15:20:04 efried stephenfin: Was that "yeah I'm getting somewhere" or "yeah disable the test"?
15:20:14 dansmith artom: I'm aware of no such rule
15:20:25 sean-k-mooney artom: im not sure it a rule but that module is nova.network.neutronv2.api
15:20:37 stephenfin efried: Disable it. I'll keep looking
15:20:37 artom sean-k-mooney, actually yeah, with the new abstraction suggested by dansmith (plug-time vs bind-time), it fits in model as well
15:20:43 stephenfin Here's our issue though https://github.com/PyCQA/pycodestyle/blob/2.0.0/pycodestyle.py#L1639
15:20:57 stephenfin We shouldn't be getting there but I don't know yet what's changed
15:20:59 sean-k-mooney pretty much everything it does interacts with the neutron api in one way or another
15:21:30 dansmith sean-k-mooney: we have constants defined in that module, and this detail is completely related to "what to expect from the neutron api" so I have no problem saying it should (or can) be in there
15:21:34 stephenfin Things like this are why I was trying to get us onto a newer hacking version. Things invariably break
15:21:49 sean-k-mooney artom: plugtime and bind time is more or less what i was thinking about in the neutron spec too so that makes sense to me
15:21:49 efried stephenfin: aren't we on a newer hacking version at this point?
15:22:03 stephenfin not really. Hacking is relying on a really old version of flake8
15:22:08 artom kawn sen suss!
15:22:11 stephenfin Like, super old
15:23:09 stephenfin and I can't update because they broke all the things in flake8 3.x :( https://gitlab.com/pycqa/flake8/issues/545
15:23:46 sean-k-mooney ok well its not where i would instintivly look for them but i can live with it.
15:25:05 sean-k-mooney artom: to your orginal question https://github.com/openstack/nova/blob/master/nova/network/api.py isthe old nova networks api and the neton one extends it
15:25:16 sean-k-mooney i think you can ignore https://github.com/openstack/nova/blob/master/nova/network/api.py at this point
15:25:48 artom sean-k-mooney, ack, thanks for looking :)
15:26:04 artom (Though tbf my original question was rendered moot when we agreed to put it in model)
15:27:31 sean-k-mooney artom: :) by the way i proposed https://review.opendev.org/#/c/664442/ to test this
15:28:13 artom sean-k-mooney, yep, thanks for that

Earlier   Later