| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2018-10-10 | |||
| 17:09:40 | mriedem | 2018-10-10 15:27:01.313+0000: 18210: error : qemuMigrationFinish:5533 : migration successfully aborted | |
| 17:14:43 | openstackgerrit | Rodolfo Alonso Hernandez proposed openstack/os-vif master: API _get_impl() for Linux should return PyRoute2() object https://review.openstack.org/609354 | |
| 17:26:06 | orange_julius | I've been looking into ways to use ARM images inside of an Openstack installation and was wondering if anybody had any experience with this. From what I've seen we basically have two options: Purchase an ARM server and set up as a compute node. Configure a server to use qemu instead of KVM and virtualize. Is it possible to tell a compute node to us | |
| 17:26:07 | orange_julius | e both kvm and qemu depending on the image? Is there a better way to accomplish this? | |
| 17:26:36 | openstackgerrit | sean mooney proposed openstack/os-vif master: clean up ip_command interface https://review.openstack.org/609414 | |
| 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 | in the unlimited case, you really need the exit code to be zero | |
| 19:59:05 | dansmith | right | |
| 19:59:30 | dansmith | oof, this should be commented in here for sure | |
| 19:59:58 | dansmith | imacdonn: so maybe just keep the full count separate from ran and use that for the gate on exit 2 | |
| 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 | |
| 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 | 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:22 | dansmith | imacdonn: I'm not talking about changing the definition of 1 | |
| 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 | |