| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2018-10-10 | |||
| 17:26:37 | openstackgerrit | sean mooney proposed openstack/os-vif master: add support for generic tap device plug https://review.openstack.org/602384 | |
| 17:27:12 | sean-k-mooney | jaypipes: done ^ let me know if there is anything else you would like me to change | |
| 17:32:46 | jaypipes | sean-k-mooney: +Wd | |
| 17:34:15 | sean-k-mooney | jaypipes: thanks i should have created the bug when it was reported to me on irc instead of starting on the patch but i need to base my other patch on top of it anyway | |
| 17:34:26 | jaypipes | sean-k-mooney: no worries man | |
| 17:36:01 | sean-k-mooney | ok so time for dinner ill be back online later | |
| 17:42:39 | cfriesen | orange_julius: currently I think you'd need to make it a nova-compute config option. theoretically you could make it depend on the image properties, but I think that'd be a feature to be added. | |
| 17:43:53 | orange_julius | cfriesen: Just so I understand, you are saying that we'd have to change the nova config on a hypervisor to use qemu instead of KVM. Basically dedicating that entire machine to QEMU workloads instead of KVM | |
| 17:44:55 | mriedem | orange_julius: mnaser can probably help here | |
| 17:45:01 | mriedem | i think he's running arm nodes somewhere | |
| 17:52:53 | cfriesen | orange_julius: the libvirt driver in nova looks at caps.host.cpu.arch which comes from libvirt. so you'd need to make that return an arm architecture I think. | |
| 18:30:41 | larsks | Hey folks. There are comments in the nova history that suggest the quota_usage_refresh manage command was replaced by API functionality. What is that API? | |
| 18:36:05 | larsks | stephenfin: ...if you're around, they were your comments :) ^^^^ | |
| 18:39:40 | melwitt | larsks: as of Pike, we don't track quota usages separately from resource counts, so there's no notion of refreshing quota. we only use resource counting | |
| 18:40:09 | melwitt | so quota can't get out-of-sync | |
| 18:40:39 | melwitt | are you asking about a version earlier than Pike? | |
| 18:46:24 | larsks | melwitt: pike, actually, so that's good to know. I'm an indirect conduit for the issue right now, so I will need to wait until I get my hands on the environment in question I guess before I can better assess what's going on. Thanks! | |
| 18:47:14 | melwitt | larsks: ok, feel free to ping me if you have more questions | |
| 18:51:31 | mriedem | dansmith: https://github.com/kk7ds/openstack-gerrit-dashboard/pull/29 | |
| 18:51:39 | dansmith | mriedem: yep will look in a sec | |
| 18:51:46 | dansmith | mriedem: was going to ask you this morning if you had fixed that yet :D | |
| 18:54:04 | dansmith | omg it works! | |
| 19:03:42 | openstackgerrit | Artom Lifshitz proposed openstack/nova master: WIP: Handle volume API failure in post_live_migration https://review.openstack.org/609517 | |
| 19:08:10 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Fix NoneType error in _notify_volume_usage_detach https://review.openstack.org/609518 | |
| 19:13:36 | mriedem | dansmith: i needed something to do besides review code and/or specs | |
| 19:25:33 | openstackgerrit | Merged openstack/nova-specs master: Update blueprint name so spec matches launchpad https://review.openstack.org/607347 | |
| 19:27:59 | imacdonn | dansmith: I implemented what I understood from our discussion yesterday at https://review.openstack.org/608091 . It needs a little polish, but sean-k-mooney wants to use new the exit status if there are any exceptions, whether or not any migrations may still be pending. I don't think we can do that, because it can't be automated | |
| 19:41:09 | mriedem | hey gang, two easy +Ws https://review.openstack.org/#/c/608802/ https://review.openstack.org/#/c/609467/ | |
| 19:48:19 | melwitt | dansmith, mriedem: I linked my nova-consoleauth patch on L52 here that is ready for subteam review https://etherpad.openstack.org/p/stein-nova-subteam-tracking | |
| 19:50:07 | artom | I thought we had functional live migration tests? | |
| 19:50:49 | artom | Ah, nova/tests/functional/test_servers.py | |
| 19:50:53 | artom | Ignore me | |
| 19:51:26 | dansmith | imacdonn: I don't understand sean's concern or desire | |
| 19:53:57 | imacdonn | dansmith: thanks for commenting. One thing is still a bit fuzzy .. what does "work was done" mean? The way "ran" is currently implemented, it only counts how many rows were migrated *in the last batch*, so of you use the default of 50 at a time, ran will always end up as 0 | |
| 19:55:19 | imacdonn | ... because that's the only way it can break out of the loop | |
| 19:55:26 | dansmith | imacdonn: ran is the sum of all the "done" values from any migration it4eration right? | |
| 19:55:43 | dansmith | ran becoming nonzero is how you break out | |
| 19:55:45 | imacdonn | dansmith: no, only the last iteration | |
| 19:56:23 | imacdonn | dansmith: it gets reset to 0 at https://github.com/openstack/nova/blob/master/nova/cmd/manage.py#L718 | |
| 19:56:38 | dansmith | imacdonn: oh I see, but that's a bug I guess | |
| 19:56:47 | dansmith | from when this went from a fixed number to having an --until-done | |
| 19:56:49 | dansmith | or whatever | |
| 19:57:02 | dansmith | or the opposite, but you know what I mean | |
| 19:57:10 | sean-k-mooney | dansmith: we break out 1 of 2 way. ran becomes 0 or we pass --max-count in which case we do not loop as unlimited is false | |
| 19:57:11 | dansmith | so yeah you have to fix that for this to work | |
| 19:57:31 | imacdonn | dansmith: that's what I need to get nailed down ... I tried to fix that, in PS2, but made grenade blow up, becaused grenade needs the command to exit with status 0 | |
| 19:58:01 | dansmith | imacdonn: well, if this is wrong it's possible grenade is wrong | |
| 19:58:19 | jaypipes | mriedem: yesterday, which scheduler filter did you say already looked at instance metadata by querying the BuildRequest? | |
| 19:58:41 | mriedem | jaypipes: the one you're writing | |
| 19:58:42 | dansmith | oh wait, | |
| 19:58:45 | dansmith | maybe I'm remembering this now | |
| 19:58:54 | imacdonn | dansmith: it's possible, yes ... although it seems like if you run the command without --max-count, an outcome of exit status 0 (generally interpreted as success), is what would be expected | |
| 19:59:05 | dansmith | right | |
| 19:59:05 | dansmith | in the unlimited case, you really need the exit code to be zero | |
| 19:59:30 | dansmith | oof, this should be commented in here for sure | |
| 19:59:58 | imacdonn | so that's how I came up with the term "migrations may still be pending" .... when ran is not zero, which can only happen if you use --max-count | |
| 19:59:58 | dansmith | imacdonn: so maybe just keep the full count separate from ran and use that for the gate on exit 2 | |
| 20:00:08 | sean-k-mooney | dansmith: yes if you dont pass --max-count the exit 0 should mean all migration ran sucessfuly | |
| 20:00:14 | dansmith | imacdonn: like I say, you don't know what is pending or not really | |
| 20:00:26 | imacdonn | dansmith: that's why I used "may" :) | |
| 20:00:32 | dansmith | imacdonn: don't. | |
| 20:00:36 | sean-k-mooney | actully if you do pass --max-could exit 0 should still mean the same thing | |
| 20:00:44 | dansmith | imacdonn: so if you keep total_ran and use that then you're good right? | |
| 20:01:01 | dansmith | sean-k-mooney: no it shouldn't | |
| 20:01:16 | dansmith | sean-k-mooney: because you ran --max-count=50 and you get zero, you expect you're done | |
| 20:01:31 | dansmith | sean-k-mooney: if you don't pass --max-count, zero means all of them were completed, no errors so you're done | |
| 20:01:32 | sean-k-mooney | if there are 50 migrations and i pass --max-count=100 it should return 0 if all 50 ran successfully | |
| 20:01:39 | dansmith | sean-k-mooney: no it shouldn't | |
| 20:01:49 | dansmith | sean-k-mooney: read the man page | |
| 20:01:50 | imacdonn | dansmith: are you saying exit 2 if exceptions and total_ran>0, and exit 1 if ran (not total_ran) > 0 ? | |
| 20:02:20 | sean-k-mooney | so if max is greater then total you dont want the same behavior as if there was no max | |
| 20:02:27 | dansmith | imacdonn: I'm saying leave the 0 and 1 the way they are, and exit 2 if total_ran=0 and exceptions | |
| 20:02:36 | dansmith | sean-k-mooney: it's about definition of done-ness | |
| 20:02:58 | imacdonn | dansmith: that's what I had in PS2, and it broke grenade, because it exits with 1 if any migrations were done | |
| 20:03:21 | imacdonn | dansmith: or maybe I didn't interpret your last statement right | |
| 20:03:22 | dansmith | imacdonn: I'm not talking about changing the definition of 1 | |
| 20:03:22 | sean-k-mooney | yes which is why im saying if i set a max larger then the amount to do and they all ran sucsessfully im done hence 0 | |
| 20:03:24 | dansmith | imacdonn: right | |
| 20:03:40 | dansmith | imacdonn: if you don't change the logic for 1 then grenade can't break, unless we're actually hiding exceptions | |
| 20:05:02 | imacdonn | dansmith: OK, I think that might work ... I'll have to try it ... sean-k-mooney, do you still have concerns ? | |
| 20:05:06 | sean-k-mooney | dansmith: we used to hide exceptions but my understand of 1 is there are still more migration to run i would prefer it to be "there are more migration to run and all the ones i just ran did not have error" | |
| 20:05:19 | dansmith | sean-k-mooney: that's not what 1 means | |
| 20:05:27 | dansmith | we can't really know if there are more unless we try and hit zero | |
| 20:05:36 | dansmith | without doing more database stuff to count separately from doing | |
| 20:05:41 | dansmith | which is not worth it, IMHO | |
| 20:06:04 | dansmith | so, while (rc==1) { doit } | |
| 20:06:22 | imacdonn | personally, I kinda wish there was a way to find out how many migrations are needed, before attempting any | |
| 20:06:33 | imacdonn | I might want to do this when planning an upgrade | |
| 20:06:58 | sean-k-mooney | ok so 1 just used to mean there was a partial update so we need to loop that i think makes sense | |
| 20:07:05 | sean-k-mooney | and 0 means we are done | |
| 20:07:13 | dansmith | sean-k-mooney: no, 1 means we did things, that's ALL it means :) | |
| 20:07:15 | sean-k-mooney | dansmith: what is the smantics of 2 in your case | |
| 20:07:16 | dansmith | might be partial, might be full | |
| 20:07:18 | mriedem | sorrison: if you wanted to policy something, i'd think having policy on the ability to create multiple servers in a single request would be a good one so you can avoid tenants killing your scheduler with large burst multi-create requests | |
| 20:07:25 | mriedem | especially if those users have higher than normal quota | |
| 20:07:40 | dansmith | sean-k-mooney: hopefully this can be the last time I say this, but 2 means we couldn't make any more progress, and exceptions were raised | |
| 20:07:41 | mriedem | we probably had a policy on the multi-create API extension at some point | |
| 20:08:08 | mriedem | make it 2.5.... | |
| 20:08:09 | mriedem | and i'm sold | |
| 20:08:14 | dansmith | sean-k-mooney: so you can distinguish between "can't make any more progress" and "can't make any more progress, but things seem unhappy" | |