| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2018-01-11 | |||
| 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> | |
| 21:16:23 | mriedem | 5. push it up: git review -R -y | |
| 21:18:30 | stvnoyes | mriedem: thanks | |
| 21:25:43 | openstackgerrit | Matt Riedemann proposed openstack/python-novaclient master: Remove deprecate certs CLIs and python bindings https://review.openstack.org/532974 | |
| 21:25:56 | openstackgerrit | Matt Riedemann proposed openstack/python-novaclient master: Remove deprecated certs CLIs and python bindings https://review.openstack.org/532974 | |
| 21:31:59 | openstackgerrit | Matt Riedemann proposed openstack/python-novaclient master: Remove deprecated cloudpipe CLIs and python API bindings https://review.openstack.org/532976 | |
| 21:42:59 | bauzas | sean-k-mooney: dansmith: understood, will consider migrations in general by looking at allocations | |
| 21:43:40 | bauzas | sean-k-mooney: dansmith: that said, my change is working for just spawning new instances https://review.openstack.org/#/c/528832/ | |
| 21:43:44 | bauzas | so you can review it | |
| 21:45:22 | openstackgerrit | Matt Riedemann proposed openstack/python-novaclient master: Remove deprecated MigrationManager.list cell_name kwarg https://review.openstack.org/532972 | |
| 21:45:23 | openstackgerrit | Matt Riedemann proposed openstack/python-novaclient master: Remove deprecated cloudpipe CLIs and python API bindings https://review.openstack.org/532976 | |
| 21:45:23 | openstackgerrit | Matt Riedemann proposed openstack/python-novaclient master: Remove deprecated certs CLIs and python bindings https://review.openstack.org/532974 | |
| 21:59:27 | openstackgerrit | Matt Riedemann proposed openstack/python-novaclient master: Remove deprecate os-hosts CLIs and python API bindings https://review.openstack.org/532989 | |
| 21:59:33 | mriedem | let's fing remove everything | |
| 22:03:12 | ildikov | mriedem: made my day; 'fing' in Hungarian means 'fart' :) | |