| opendevreview | Merged openstack/nova master: Stabilize _test_interface_attach_and_detach https://review.opendev.org/c/openstack/nova/+/1003452 | 01:05 |
|---|---|---|
| opendevreview | Goutham Pacha Ravi proposed openstack/nova master: Extract share management from ComputeManager https://review.opendev.org/c/openstack/nova/+/999349 | 02:12 |
| opendevreview | Goutham Pacha Ravi proposed openstack/nova master: Support cold migration with virtiofs shares https://review.opendev.org/c/openstack/nova/+/989633 | 02:12 |
| opendevreview | Goutham Pacha Ravi proposed openstack/nova master: Reconcile stale Manila share access rules https://review.opendev.org/c/openstack/nova/+/1001916 | 02:12 |
| opendevreview | Goutham Pacha Ravi proposed openstack/nova master: Reconcile stale Manila share access rules https://review.opendev.org/c/openstack/nova/+/1001916 | 03:23 |
| opendevreview | Goutham Pacha Ravi proposed openstack/nova master: DNM: Add virtiofs share attachment CI jobs https://review.opendev.org/c/openstack/nova/+/999772 | 06:08 |
| *** zseguin is now known as Guest17005 | 06:27 | |
| *** EugenMayer4401800 is now known as EugenMayer440180 | 06:37 | |
| *** zseguin_ is now known as zseguin | 07:28 | |
| gibi | can I get some eyes on a simple test stabilizition patch https://review.opendev.org/c/openstack/nova/+/1003024 ? | 08:56 |
| *** zigo_ is now known as zigo | 14:07 | |
| *** sfinucan is now known as stephenfin | 14:58 | |
| opendevreview | Ivan Anfimov proposed openstack/os-vif master: Fix typo https://review.opendev.org/c/openstack/os-vif/+/1003834 | 15:39 |
| opendevreview | Ivan Anfimov proposed openstack/os-vif master: Fix typo https://review.opendev.org/c/openstack/os-vif/+/1003834 | 15:40 |
| stephenfin | Uggla: It's not hugely urgent, but I believe I need your +1 on the project-config change when you've time https://review.opendev.org/c/openstack/project-config/+/1003848 | 16:17 |
| stephenfin | Uggla: Context, in case you haven't seen it yet (I only just sent it) https://lists.openstack.org/archives/list/openstack-discuss@lists.openstack.org/thread/EI44ZQG6UHIBNH3O26KHUVHIE576SCOC/ | 16:17 |
| Uggla | Hi stephenfin, ok I'll have a look probably tomorrow. Thx for letting me know. | 16:19 |
| stephenfin | nw | 16:20 |
| opendevreview | Merged openstack/os-vif master: Fix typo https://review.opendev.org/c/openstack/os-vif/+/1003834 | 18:40 |
| dansmith | gouthamr: are you around/ | 19:13 |
| gouthamr | hey dansmith, yes i am | 19:14 |
| dansmith | gouthamr: question for you here: https://review.opendev.org/c/openstack/nova/+/1001900/comment/801dadc7_d5810626/ | 19:14 |
| * gouthamr looking | 19:15 | |
| dansmith | gouthamr: one more while you're looking: https://review.opendev.org/c/openstack/nova/+/1001900/comment/d75c5653_9253dded/ | 19:21 |
| gouthamr | ++ good questions, sorry my response took forever - distractions | 20:11 |
| dansmith | gouthamr: might be quicker here as the clock is ticking and I'm running out of gas | 20:21 |
| dansmith | gouthamr: I think I'm reading what you're saying as "this will leave per-host cephx keys stale after it's applied and things have moved enough to fully stop using the old ones? is that right? | 20:22 |
| dansmith | meaning some years down the road, the operator will need to know to go back and clean all those up? | 20:23 |
| gouthamr | dansmith: "per-host cephx keys" are what i'm proposing now (per-host-per-instance).. the old method was just one key: "nova" | 20:26 |
| gouthamr | dansmith: yes, we'll forget that one after this fix is applied, intentionally so that an admin can clean it up later | 20:27 |
| dansmith | perhaps I'm confusing two things here | 20:27 |
| dansmith | currently we have per-host shares with each instance using the same deployment-wide key correct? | 20:28 |
| dansmith | er, sharemapping I guess I should say | 20:28 |
| gouthamr | yes | 20:29 |
| gouthamr | true, one share mapping per host, no matter the number of instances you have | 20:29 |
| dansmith | so there's one sharemapping for the host, and multiple access rules, one per instance | 20:29 |
| dansmith | each access rule is currently using the shared key | 20:29 |
| gouthamr | yes | 20:29 |
| dansmith | after this patch is applied to a running deployment, instances will slowly start to move to the per-host-per-instance key as shares are added/removed, instances move around (I assume), etc right? | 20:30 |
| dansmith | but there could be some long period where half the long-lived instances in a deployment are using the shared key such that the operator can't revoke/remove it right? | 20:30 |
| JayF | If this is the model, it feels almost like you'd need a nova-manage command or other operator instruction on how to know it's safe to rotate the shared credential out | 20:31 |
| gouthamr | (besides moving, you can restart the instances too) | 20:32 |
| dansmith | this is why I'm asking | 20:32 |
| dansmith | because there's not much visibility into when and by what deterministic process this would clean up | 20:32 |
| gouthamr | on the manila side? | 20:33 |
| JayF | gouthamr: here's the key question: in order for the operator to see security benefit, they have to drop the shared "nova" credential. In a large, public-cloud-sized nova deployment, are we giving folks the tools they need to determine they *can* do that?\ | 20:33 |
| gouthamr | JayF: yeah, i plan to write it out.. nova-manage isn't needed here because no cruft is left on nova | 20:33 |
| dansmith | so I want to make sure that (a) we're not going to break existing deployments that use the old key (doesn't sound like we will) but that (b) we're not going to create a thing that will only be orphaned in five years when the last thing stops using it, and the operator won't be able to revoke between now and then nor set their alarm for when they can safely clean it up | 20:33 |
| dansmith | JayF: exactamundo | 20:34 |
| dansmith | gouthamr: the reference is stored in your object is it not? | 20:34 |
| gouthamr | (b) is genuinely a worry - you can lose track.. that can happen today.. there's no real way of saying "are you using this credential" (its a universal "problem" with network-attached-storage if you want to generalize) | 20:35 |
| gouthamr | dansmith: no we're actually not storing any metadata specific to an instance on manila.. we're locking the share from deletion, but the lock just says: "locked by nova" | 20:35 |
| gouthamr | i actually think it'd be fine for the lock to say "locked by nova for instance: UUID" | 20:36 |
| gouthamr | but i don't know if Uggla gibi thought that wasn't necessary when they wrote this up | 20:36 |
| dansmith | gouthamr: it's stored in your access_to field in the nova object we store in the DB? | 20:36 |
| dansmith | s/?/right?/ | 20:37 |
| gouthamr | dansmith: yeah, manila knows what "access_to" is.. and today there's a shared hardcoded access_to: "nova".. you can filter on this stuff and isolate what all shares have this access | 20:37 |
| dansmith | gouthamr: I'm saying.. there _is_ cruft left in nova (you asserted not above) in the form of the access_to in the object, _and_ that we _could_ provide what JayF and I are asking, which is a roadmap/status display of what has/has not migrated | 20:38 |
| * JayF doesn't know the whole model, but you had $genericName, now you have $specificName, and it seems like once all $genericName entries are gone, [hand waves] some kinda security cleanup can heppen | 20:39 | |
| dansmith | right exactly | 20:40 |
| dansmith | and that goes to my other question/concern, | 20:40 |
| dansmith | which is that we're basically giving $specificName a "random" (or at least obfuscated) value which also makes it hard to track.. which is why I asked if it was secret | 20:40 |
| dansmith | as the obfuscation makes it harder to roll your own toolage | 20:40 |
| gouthamr | dansmith: where is this cruft? ShareMapping has no "access_to"... It was hardcoded in the code: https://github.com/openstack/nova/blob/ad5e2ea26e3bd80a84e0ab205ceef4200906ded1/nova/db/main/models.py#L756-L797 | 20:40 |
| gouthamr | dansmith: is it hard though? the HOST field is known, instance IDs are known, you can query manila and get all the rules that map with this combination and the obfuscation logic | 20:41 |
| dansmith | gouthamr: I hadn't looked at the lower layers.. so your object has the access_to field but you never persist it? | 20:41 |
| gouthamr | dansmith: by my object, you mean manila's database? :) | 20:42 |
| dansmith | gouthamr: you have to start with every host and instance and synthesize all the hashes and then subtract from that global list the ones you see in use | 20:42 |
| dansmith | gouthamr: no, I mean the nova/objects/ object | 20:42 |
| dansmith | gouthamr: this: https://review.opendev.org/c/openstack/nova/+/1001900/6/nova/objects/share_mapping.py#41 | 20:42 |
| JayF | dansmith: LN 58 in that file | 20:43 |
| JayF | dansmith: specifically indicates the access_* field is ephemeral | 20:43 |
| dansmith | ack indeed | 20:43 |
| dansmith | okay so no stored cruft in nova.. that's good.. but it would also be (have been) the easiest way to harvest the "how close am I to done?" information from a database I think | 20:44 |
| dansmith | gouthamr: if it's never persisted does that mean we either (a) can get it back from manila or (b) never actually need it again? meaning we can clean up the access rules without the access_to information? | 20:47 |
| gouthamr | imv, the obfuscation is deterministic, and harmless.. solves problems for me not to validate what goes into CONF.host and yet retain something that determines the host identity.. | 20:47 |
| dansmith | yeah the "host could really be anything" argument holds weight no doubt | 20:48 |
| gouthamr | dansmith: yes, nova still doesn't need it to be stored; the recomputation thingy kicks in with each grant/deny | 20:48 |
| gouthamr | dansmith: a human would have to pay the cost, but do they really need to? | 20:48 |
| dansmith | gouthamr: okay but that's my question | 20:48 |
| dansmith | gouthamr: if we have an instance today, we apply this patch, then we go to delete the access rules, we can't just recompute access_to right? | 20:49 |
| gouthamr | dansmith: yes we can.. we're doing that | 20:49 |
| gouthamr | dansmith: that recomputing helper is called on both grant/deny | 20:50 |
| dansmith | it is, but I don't understand how it can know | 20:51 |
| dansmith | can we gmeet on this so we can resolve quicker? if not I need to punt I think | 20:52 |
| dansmith | just a few minutes I'm sure you can explain to me what I'm missing | 20:52 |
| * gouthamr sec - locating headphones | 20:53 | |
| dansmith | meet.google.com/efg-wrjv-ivw | 20:53 |
| * JayF is connecting in to learn | 20:54 | |
| dansmith | sorry | 21:10 |
| dansmith | give me 10 mins | 21:10 |
| *** haleyb is now known as haleyb|out | 21:50 | |
Generated by irclog2html.py 4.1.0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!