14:30:29 <fao89> #startmeeting Pulp Triage 2020-07-21 14:30:29 <fao89> #info fao89 has joined triage 14:30:29 <fao89> !start 14:30:29 <pulpbot> Meeting started Tue Jul 21 14:30:29 2020 UTC. The chair is fao89. Information about MeetBot at http://wiki.debian.org/MeetBot. 14:30:29 <pulpbot> Useful Commands: #action #agreed #help #info #idea #link #topic. 14:30:29 <pulpbot> The meeting name has been set to 'pulp_triage_2020-07-21' 14:30:29 <pulpbot> fao89: fao89 has joined triage 14:30:35 <daviddavis> #info daviddavis has joined triage 14:30:35 <daviddavis> !here 14:30:35 <pulpbot> daviddavis: daviddavis has joined triage 14:30:39 <ggainey> #info ggainey has joined triage 14:30:39 <ggainey> !here 14:30:39 <pulpbot> ggainey: ggainey has joined triage 14:30:40 <ppicka> #info ppicka has joined triage 14:30:40 <ppicka> !here 14:30:40 <pulpbot> ppicka: ppicka has joined triage 14:30:51 <fao89> !next 14:30:52 <fao89> #topic https://pulp.plan.io/issues/7179 14:30:52 <pulpbot> fao89: 2 issues left to triage: 7179, 7178 14:30:53 <pulpbot> RM 7179 - ekohl - POST - Set a default DJANGO_SETTINGS_MODULE in content app 14:30:54 <ipanova> #info ipanova has joined triage 14:30:54 <ipanova> !here 14:30:55 <pulpbot> https://pulp.plan.io/issues/7179 14:30:56 <pulpbot> ipanova: ipanova has joined triage 14:31:21 <ipanova> let's triage as is 14:31:24 <fao89> #idea Proposed for #7179: accept and add to sprint 14:31:24 <fao89> !propose other accept and add to sprint 14:31:24 <pulpbot> fao89: Proposed for #7179: accept and add to sprint 14:31:27 <ttereshc> #info ttereshc has joined triage 14:31:27 <ttereshc> !here 14:31:27 <pulpbot> ttereshc: ttereshc has joined triage 14:31:28 <ggainey> +1 14:31:46 <ttereshc> it's a story or a task 14:31:52 <dkliban> #info dkliban has joined triage 14:31:52 <dkliban> !here 14:31:52 <pulpbot> dkliban: dkliban has joined triage 14:31:55 <ggainey> ah, good point 14:32:04 <ttereshc> and maybe we should keep it on hold while bmbouter is looking at it 14:32:07 <fao89> I'm just proposing to add to sprint because it is in post 14:32:30 <bmbouter> #info bmbouter has joined triage 14:32:30 <bmbouter> !here 14:32:30 <pulpbot> bmbouter: bmbouter has joined triage 14:32:37 <bmbouter> yes please hold 14:32:52 <ipanova> ok :) 14:32:59 <fao89> what is the action? skip? 14:33:04 <bmbouter> yes 14:33:05 <dkliban> yes 14:33:07 <ttereshc> hold! :) 14:33:13 * daviddavis holds 14:33:14 <fao89> !hold 14:33:14 <pulpbot> fao89: Error: "hold" is not a valid command. 14:33:23 <daviddavis> fao89: don't listen to ttereshc 14:33:27 <daviddavis> she's trying to confuse you 14:33:28 <ttereshc> exactly! 14:33:31 <daviddavis> skip 14:33:31 <fao89> !skip 14:33:32 <fao89> #topic https://pulp.plan.io/issues/7178 14:33:32 <pulpbot> fao89: 1 issues left to triage: 7178 14:33:33 <pulpbot> RM 7178 - ekohl - NEW - Recommended installation layout 14:33:34 <pulpbot> https://pulp.plan.io/issues/7178 14:34:04 <ipanova> !skip 14:34:43 <dkliban> this one makes my head hurt 14:34:48 <daviddavis> ha 14:34:51 <bmbouter> agreed 14:35:22 <daviddavis> it's a long list of grievances 14:36:23 <fao89> I have no idea what to propose 14:36:28 <bmbouter> issue wise this is not clear enough to accept 14:36:34 <bmbouter> we could discuss some at open floor perhaps 14:36:57 <dkliban> let's do that 14:37:09 <fao89> !skip 14:37:10 <pulpbot> fao89: No issues to triage. 14:37:42 <fao89> Open floor! 14:37:46 <daviddavis> \o/ 14:38:03 <fao89> so we can discuss the grievances 14:38:28 <fao89> https://hackmd.io/SVCMjpwXTfOMqF2OeyyLRw 14:38:40 <fao89> topic:Back up fixtures and take them down https://pulp.plan.io/issues/6649 14:39:00 <daviddavis> oo this was me 14:39:02 <ttereshc> +1 14:39:13 <mikedep333> #info mikedep333 has joined triage 14:39:13 <mikedep333> !here 14:39:13 <pulpbot> mikedep333: mikedep333 has joined triage 14:39:23 <daviddavis> I think we're ready for this? 14:39:28 <dkliban> i think so 14:39:28 <ipanova> +1 14:39:31 <bmbouter> +1 14:39:33 <ggainey> concur 14:39:34 <ppicka> +1 14:39:41 <daviddavis> follow up question: who has access to the pulp account on fedorapeople.org? 14:40:41 <bmbouter> dkliban I believe 14:40:58 <dkliban> i do 14:41:09 <daviddavis> ok I'll work with dkliban to backup and remove them then 14:41:14 <fao89> next topic: Repo name uniqueness constraint per repository type 14:41:14 <dkliban> sounds good 14:41:16 * daviddavis high fives dkliban 14:41:31 <dkliban> there is a thread on pulp-dev mailing list about this topic 14:41:35 <ggainey> yus 14:41:36 <dkliban> i did not get a lot of responses 14:41:45 <dkliban> so i wanted to follow up about it here 14:41:58 <ggainey> dkliban: I just wanted to clarify that we're talking about making the UQ (name, pulp_type) 14:42:00 <ggainey> yeah? 14:42:05 <dkliban> yes 14:42:12 <ggainey> ok cool 14:42:18 <ipanova> dkliban: will this change be only for repo names? 14:42:28 <ggainey> I realized that I had 'assumed' that, without making it explicit, and panicked :) 14:42:44 <ipanova> dkliban: i think we identified that base path for distributions should also be included? 14:42:45 <daviddavis> well I did hear the suggestion that there should be no uniq constraint on name at all 14:43:12 <ggainey> daviddavis: I would think that would be bad UX, to put it mildly 14:43:13 <bmbouter> +1 to no uniqueness constraint 14:43:33 <dkliban> ipanova: that;s a separate discussion. but i want to discuss it also. 14:43:33 <bmbouter> let me share some info about why 14:43:38 <ipanova> dkliban: ack 14:43:41 <ggainey> bmbouter: a) breaks import/export, and b) means I can have two rhel8-base-x86_64 - how does the user tell which is which? 14:44:03 <bmbouter> queryset scoping will cause a multi-user system to segment objects based on access 14:44:29 <bmbouter> so really I think the uniqueness constraint needs to align w/ the query set scoping feature 14:44:36 <bmbouter> if there is any constraint at all 14:45:11 <bmbouter> but on a multiuser system, with rbac, if we keep what we have, user A creates repo 'foo' user B can't see repo 'foo' user B goes to create 'foo' and user B is told 'foo' already exists... 14:45:48 <ttereshc> how is the admin case handled? when user has access to all repos? 14:45:59 <ggainey> but under your approach, a creates 'foo', b creates 'foo', RBAC for a,b, or foo changes and now b can see 'foo' twice 14:46:20 <bmbouter> yes and I wonder to myself is that an issue 14:46:34 <bmbouter> pk's are unique names really aren't 14:47:04 <daviddavis> at the very least, we'll have to have a natural key and whatever that is, whoever implements it will have to update the import/export code to use it 14:47:07 <ggainey> bmbouter: if we apply this globally, then import/export is, honestly, screwed :( 14:47:35 <ggainey> because what you're saying is that uniqueness only applies inside a given instance, with a specific set of RBAC in place 14:48:06 <daviddavis> yea acutally, what if downstream doesn't have the same users/perms/etc 14:48:13 <ggainey> it won't 14:49:13 <ggainey> I have a real problem with linking object-identity and current-permissions 14:49:16 <bmbouter> how is removing the contraint entirely creating a problem? 14:49:27 <bmbouter> there would be no link in that case so that's orthogonal 14:49:49 <daviddavis> bmbouter: how do we match upstream repos to downstream repos? 14:49:52 <ggainey> bmbouter: because there's no way to uniquely-identify the thing 14:49:54 <daviddavis> if there's no unique field 14:50:04 <ttereshc> dkliban, was there an ask from some users like wibbit to use names instead of pks for repos? I'm not sure I remember 14:50:15 <dkliban> there was 14:50:28 <bmbouter> can we look at a specific object's uniqueness together 14:50:34 <bmbouter> so like FileRepository is that an example? 14:50:38 <dkliban> yes 14:51:29 <ggainey> bmbouter: you can certainly have multi-key uqs, yes 14:51:34 <ggainey> is that what you were asking? 14:51:53 <dkliban> bmbouter: i am hearing the following concern from ggainey and daviddavis 14:52:49 <bmbouter> I'm reading the code and I see FileRepository inherits from Repository and defines no extra uniqueness stuff 14:52:57 <bmbouter> https://github.com/pulp/pulp_file/blob/fbe4a2af270a894983e0233022db6d633e7abe10/pulp_file/app/models.py#L43 14:53:19 <dkliban> when performing an incremental export, how can i decide what needs to be exported if i don't have a set of unique fields to compare against my previous export. when importing, how do i determine what was updated and what was additionally created 14:53:24 <ggainey> bmbouter: because it inherits, it gets (name, pulp_type) 14:53:32 <bmbouter> and I see that Repository does use name https://github.com/pulp/pulpcore/blob/b94abd64d76ea4554e6750ff38ce458eaa888cc8/pulpcore/app/models/repository.py#L146-L153 14:53:45 <ggainey> (well - it has name today, original proposal would add pulp_type as well) 14:54:18 <bmbouter> let's try to turn this question back to the folks who know this better than I 14:54:31 <dkliban> ggainey: daviddavis: am i understanding the concern correctly? 14:54:32 <ggainey> dkliban: I have the additional concern of 'RBAC roles are temporal, using them to determine UQ means what's unique today might not be tomorrow' 14:54:33 <bmbouter> because I'm wondering what they would recommend about my concern from ^ regarding the naming problem and RBAC 14:55:57 <ipanova> ggainey: good point 14:56:00 <dkliban> If there is no uniqueness constraint, then every resource needs to have an 'export-id' or 'upstream-id' that is filled out when the resource is imported 14:56:11 <bmbouter> ggainey: and daviddavis does my concern from ^ make sense? 14:56:32 <ggainey> dkliban: that's a workaround, that in many cases will break when an entity is exported/imported, deleted upstream, recreated upstream, and then reimported 14:57:28 <dkliban> i agree 14:57:54 <ggainey> bmbouter: honestly, it's an artifact of object-level RBAC that I don't think I've ever seen work any other way. "You can create this object, but not if one already exists, that you're not allowed to see" is an RBAC edge-case 14:58:14 <bmbouter> ggainey: I disagree it's likely going to be impacting many more users thatn PIE 14:58:42 <bmbouter> let's find a way to have all features go forward 14:58:46 <ggainey> bmbouter: and when my role changes so now I can see all the repos? 14:59:00 <bmbouter> I'm struggling in tthis convo because what I'm hearing is nothing can change in the data model 14:59:04 <ggainey> how do I clarify which one is 'mine', vs the one you created yesterday at the same time? 14:59:16 <bmbouter> which is incompatible with my observation that something must change 14:59:21 <ggainey> bmbouter: what I'm saying is, RBAC is orhtogonal to the data-model 14:59:50 <ggainey> and what *I'm* hearing is, "everything in the data modele has to change to address an RBAC issue" 15:00:27 <bmbouter> let's step back this is getting unproductive 15:00:32 <ggainey> sure 15:01:19 <bmbouter> my observation is rooted in a user's experience, I don't see how we can call pulp a multi-user system with what we've got 15:01:32 <bmbouter> and rbac is really a piece of making pulp multi-user 15:01:52 <ipanova> do we want to move this convo to the email thread or scheduling a meeting would be helpful? 15:01:55 <ggainey> sure 15:02:10 <dkliban> i think we should do a little more email 15:02:26 <ipanova> i see valid points form both sides 15:02:28 <ggainey> I'd suggest that "multi-user" and "multi-*tenant*" are different things 15:02:43 <ggainey> but yeah, more discussion def warrented 15:03:12 <bmbouter> I can reply to the thread that is ok w/ me 15:03:20 <ggainey> sounds good 15:03:38 <daviddavis> +1 15:04:09 <dkliban> thank you bmbouter 15:05:12 <ipanova> let's move on? 15:05:17 <ggainey> +1 15:05:21 <dkliban> yeah 15:05:27 <fao89> topic: Adding ‘user’ field to tasks 15:05:35 <fao89> https://pulp.plan.io/issues/7180 15:06:11 <ggainey> I def like the idea (as long as it isn't a FK-relationship somehow, since users can come and go) 15:06:27 <ggainey> "who did this" is a really common question an admin asks :) 15:06:55 <ipanova> do we want to add to the sprint bmbouter? 15:07:18 <bmbouter> yes I'd like to because the rbac work should port onto it and itwould come w/ rbac PR in pulpcore 15:07:33 <bmbouter> along w/ like 6-7 other issues at this point (each clear and small, the changleogs will show them) 15:07:33 <ipanova> bmbouter: ack, will add the FK note? 15:07:53 <ipanova> will you add* 15:08:13 <bmbouter> ipanova: I will 15:08:21 <bmbouter> what are we doing w.r.t the name? 15:08:39 <ipanova> i have no objections around adding it to the sprint 15:09:06 <ipanova> bmbouter: +1 to created_by 15:09:22 <bmbouter> yeah I think that's the clearest probably 15:09:26 <bmbouter> let's use that one 15:09:34 <ggainey> created_by works 15:09:35 <ggainey> sure 15:09:37 <dkliban> +1 15:09:39 <bmbouter> I'll put these two revisions in the ticket and add to sprint if others think that is ok 15:09:39 <ttereshc> I agree, +1 ti created_by 15:09:45 <ggainey> +1 15:10:18 <fao89> topic: Reminder: add topics to pulpcon agenda https://hackmd.io/hIOjFsFiSkGJR7VqtAJ8eQ 15:10:53 <daviddavis> oh this is just a reminder to add pulpcon topics 15:11:00 <daviddavis> I added a couple today 15:11:23 <daviddavis> also +1 to topics that you're interested in would be helpful 15:11:53 <ggainey> good reminder 15:13:51 <ipanova> yeah, i think this was the last item on the agenda? 15:14:32 <fao89> yep 15:14:43 <fao89> #endmeeting 15:14:43 <fao89> !end