| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2018-01-11 | |||
| 20:41:01 | efried | sean-k-mooney It rolls up rebase -i and some of the other paperwork associated with managing a big series. | |
| 20:41:24 | efried | sean-k-mooney I think it was developed by stackers. Separate plugin. pip install git-restack (I think) | |
| 20:41:36 | sean-k-mooney | https://github.com/openstack-infra/git-restack so yes | |
| 20:41:56 | sean-k-mooney | git review is also an infra tool | |
| 20:42:16 | efried | no kidding, really? TIL | |
| 20:42:40 | efried | Was using that long before I got involved with openstack. | |
| 20:42:43 | sean-k-mooney | yep https://github.com/openstack-infra/git-review | |
| 20:44:17 | sean-k-mooney | efried: stephenfin: also intoduced me to gerrithub.io which allows you to add gerrit to any github project so you can use the openstack/gerrit workflow with it insteadk of pull requests | |
| 20:44:41 | efried | oooooooo | |
| 20:44:44 | bauzas | I don't like git restack | |
| 20:44:51 | bauzas | I prefer the old but clean way | |
| 20:45:12 | efried | Would you like it better if it was git restaque? | |
| 20:45:16 | bauzas | because something you can be messed up in a long series and then git reflog is your friend | |
| 20:45:52 | dansmith | bauzas: you never started talking | |
| 20:46:07 | bauzas | dansmith: I was holding my breath till your email :p | |
| 20:46:08 | dansmith | bauzas: I was expecting you to start asking your question and I'd get to it when I was done | |
| 20:46:18 | dansmith | bauzas: but then I got distracted with no ping :) | |
| 20:46:23 | bauzas | my bad, misunderstanding | |
| 20:46:24 | dansmith | anyway, shoot | |
| 20:46:26 | bauzas | so | |
| 20:47:13 | bauzas | dansmith: in case you don't know yet, we're attaching a mdev device based on the allocation | |
| 20:47:22 | bauzas | that works fine | |
| 20:47:57 | bauzas | but the issue we have is that there are a shit ton of other methods that rebuild that guest XML, and those don't have the allocations passed yet | |
| 20:48:20 | dansmith | 1.0 shit tons?\ | |
| 20:49:25 | bauzas | I mean, spawn() is calling it, but also for example hard_reboot | |
| 20:49:52 | bauzas | which itself is called by power_on()... | |
| 20:49:53 | bauzas | https://github.com/openstack/nova/blob/master/nova/virt/libvirt/driver.py#L2658 | |
| 20:49:54 | dansmith | yeah, I get it | |
| 20:50:30 | bauzas | so, I tested on my node, and indeed, if you stop/start your instance, you're not missing the mdev | |
| 20:50:39 | dansmith | not missing? | |
| 20:50:39 | bauzas | you're missing* | |
| 20:50:42 | dansmith | heh yeah okay | |
| 20:50:58 | bauzas | so there are 2 options | |
| 20:51:18 | bauzas | #1 pass the allocations down to where we need, exactly like we did for spawn() | |
| 20:51:33 | bauzas | that means we need to modify every caller | |
| 20:51:53 | bauzas | #2 introspect the flavor rather than allocations | |
| 20:52:05 | dansmith | #2 is cheating | |
| 20:52:24 | dansmith | the reason I asked about the fraction of shit tons is... how many actual calls are we talking about here? | |
| 20:53:43 | bauzas | lemme grep that | |
| 20:54:37 | bauzas | my grep tells me 6 times | |
| 20:54:54 | dansmith | that doesn't seem untenable to me | |
| 20:55:13 | dansmith | granted you have to do it in multiple drivers, but.. it's not a billion | |
| 20:55:19 | dansmith | that's like 0.0001 shit tons :) | |
| 20:55:24 | bauzas | resume, unrescue, finish_migration, power_on and so far | |
| 20:55:43 | dansmith | I guess the other thing we need to do is cache those in compute manager for when we need them because spawn brings them, but the other calls won't | |
| 20:55:53 | dansmith | so the other way to look at this is, | |
| 20:56:00 | bauzas | dansmith: 'those' == allocs ? | |
| 20:56:06 | dansmith | that maybe this is a libvirt problem | |
| 20:56:09 | dansmith | yes those == allocs | |
| 20:56:45 | dansmith | like, I wonder if the other drivers would have this problem, or if they would just not blindly regenerate the vm definition | |
| 20:57:02 | dansmith | you could just read the xml to get the mdev info before you blow it away, right? | |
| 20:57:07 | bauzas | dansmith: that's something I wondered earlier in the day | |
| 20:57:07 | dansmith | and you wouldn't need the full allocation | |
| 20:57:29 | bauzas | I mean I was surprised to see we were generating the XML every time | |
| 20:57:35 | dansmith | well, | |
| 20:57:44 | dansmith | I don't think that refreshing it all the time is bad, | |
| 20:58:00 | dansmith | because it gives us a chance to update things like the ceph monitor ip address and such | |
| 20:58:07 | dansmith | but we don't have to do it blindly | |
| 20:58:14 | bauzas | yeah I can understand that reasoning | |
| 20:58:43 | bauzas | but yeah, instead of just amending what's needed, we're just wiping out the whole config | |
| 20:58:49 | bauzas | anyway | |
| 20:58:53 | bauzas | this is what it is | |
| 20:58:56 | dansmith | you could probably write a clean utility method that is "get me the mdev(s) from $guest" and just call that everywhere | |
| 20:59:18 | dansmith | everywhere you need it that is.. don't call it EVERYWHERE :P | |
| 20:59:28 | dansmith | and don't call it everywhere() because that won't be very obvious | |
| 21:00:07 | bauzas | I need to look at the driver code | |
| 21:00:08 | openstackgerrit | Matt Riedemann proposed openstack/python-novaclient master: Remove deprecated MigrationManager.list cell_name kwarg https://review.openstack.org/532972 | |
| 21:00:08 | openstackgerrit | Matt Riedemann proposed openstack/python-novaclient master: Fix being able to create a reno using tox -e venv https://review.openstack.org/532971 | |
| 21:02:25 | cfriesen | Is it documented anywhere that deleting a quota-set for a tenant will also delete it for any users within that tenant? (This seems to be how it behaves, but I don't see it in the API ref.) | |
| 21:03:41 | melwitt | cfriesen: user quota is a subset of tenant quota so I think it would behave that way. and I doubt it's documented | |
| 21:04:36 | cfriesen | melwitt: I can see the rationale, was just a bit unexpected. | |
| 21:05:05 | bauzas | dansmith: mmm, your last approach could work, except for migrations (but I think it's a silverlining) | |
| 21:05:27 | dansmith | bauzas: we should have allocations passed for migrations I imagine | |
| 21:05:30 | bauzas | dansmith: I mean, we can get the guest, hence its mdevs, before we regenerate it | |
| 21:05:31 | dansmith | we have to look them up anyway | |
| 21:05:40 | melwitt | cfriesen: yeah. user quota was an afterthought. originally it was tenant quota only (and I think it might go back that way eventually). so to tack on user quota, all they did was add a user column and filter on project AND user if user quota | |
| 21:06:04 | bauzas | dansmith: right, I just feel migrations are off the scope for queens | |
| 21:06:44 | dansmith | yeah, but it's good to think about how it'd be handled | |
| 21:06:49 | dansmith | we don't even know if libvirt could do that I guess | |
| 21:06:49 | stvnoyes | mriedem: how exactly do I remove the test from the top patch? I don't want to make things worse. (git is not my strong point). | |
| 21:07:25 | mriedem | stvnoyes: you just undo your change | |
| 21:07:33 | mriedem | stvnoyes: want me to do it? | |
| 21:07:56 | stvnoyes | that might be easier, just let me know what you did, for future reference. | |
| 21:08:27 | stvnoyes | once you do that I'll submit a new change | |
| 21:09:23 | edmondsw | mriedem sdague the PowerVM vSCSI patch is also ready for review now, which is the last one for that bp | |
| 21:09:36 | sean-k-mooney | dansmith: bauzas just reading back im not that surprised to seee the xml being regenerated on hard reboots its requried for some config changes | |
| 21:09:49 | dansmith | sean-k-mooney: yup | |
| 21:10:15 | dansmith | I've argued for doing it more often than we need even so we can freshen it, since some instances run for years without us getting to tweak things | |
| 21:10:19 | sean-k-mooney | bauzas: you will need to be careful not to miss livemigration too as we regenerate part of the xml there also + resize | |
| 21:10:22 | dansmith | we just don't need to do it blindly | |
| 21:14:36 | cfriesen | sean-k-mooney: and for "proper" resource tracking on live migration with we need to update the XML before the live-migration call and update it with the resources to use on the new compute node. | |
| 21:14:50 | mriedem | stvnoyes: done | |
| 21:15:15 | sean-k-mooney | cfriesen: yep we discussed that in some depth in the multiple port binding spec | |
| 21:15:33 | mriedem | stvnoyes: i did this basically: | |
| 21:15:41 | mriedem | 1. git review -d 266605 | |
| 21:15:49 | mriedem | to pull down the series from gerrit since it's no longer my local changes | |
| 21:15:56 | mriedem | 2. removed your test and committed that | |
| 21:16:00 | sean-k-mooney | cfriesen: in that specific case we were talking about nics but its the same problem statement just in a different domain | |
| 21:16:02 | mriedem | 3. added your test as a new commit | |
| 21:16:15 | mriedem | 4. changed the author to you: git commit --amend --author <steve-o> | |