14:33:32 <daviddavis> #startmeeting Pulp Triage 2020-06-26 14:33:32 <daviddavis> !start 14:33:32 <pulpbot> Meeting started Fri Jun 26 14:33:32 2020 UTC. The chair is daviddavis. Information about MeetBot at http://wiki.debian.org/MeetBot. 14:33:32 <pulpbot> Useful Commands: #action #agreed #help #info #idea #link #topic. 14:33:32 <pulpbot> The meeting name has been set to 'pulp_triage_2020-06-26' 14:33:32 <daviddavis> #info daviddavis has joined triage 14:33:41 <dkliban> #info dkliban has joined triage 14:33:41 <dkliban> !here 14:33:42 <ggainey> #info ggainey has joined triage 14:33:42 <ggainey> !here 14:33:42 <ppicka> #info ppicka has joined triage 14:33:42 <ppicka> !here 14:33:47 <x9c4> #info x9c4 has joined triage 14:33:47 <x9c4> !here 14:33:50 <daviddavis> !next 14:33:50 <daviddavis> #topic https://pulp.plan.io/issues/7047 14:33:57 <dkliban> hmm 14:33:58 <ttereshc> #info ttereshc has joined triage 14:33:58 <ttereshc> !here 14:33:59 <pulpbot> daviddavis: daviddavis has joined triage 14:34:00 <pulpbot> dkliban: dkliban has joined triage 14:34:01 <pulpbot> ggainey: ggainey has joined triage 14:34:02 <pulpbot> ppicka: ppicka has joined triage 14:34:03 <daviddavis> lol 14:34:04 <pulpbot> x9c4: x9c4 has joined triage 14:34:05 <pulpbot> daviddavis: 4 issues left to triage: 7047, 7045, 7019, 7003 14:34:06 <pulpbot> RM 7047 - hyu - NEW - Checksum type "sha256" is not available for all units in the repository. Make sure those units have been downloaded 14:34:07 <pulpbot> https://pulp.plan.io/issues/7047 14:34:08 <ttereshc> catching up 14:34:09 <pulpbot> ttereshc: ttereshc has joined triage 14:34:15 <daviddavis> move to rpm? 14:34:24 <ttereshc> yes 14:34:25 <daviddavis> #idea Proposed for #7047: move to rpm 14:34:25 <daviddavis> !propose other move to rpm 14:34:25 <pulpbot> daviddavis: Proposed for #7047: move to rpm 14:34:26 <dkliban> yes 14:34:34 <daviddavis> #agreed move to rpm 14:34:34 <daviddavis> !accept 14:34:34 <pulpbot> daviddavis: Current proposal accepted: move to rpm 14:34:35 <daviddavis> #topic https://pulp.plan.io/issues/7045 14:34:35 <pulpbot> daviddavis: 3 issues left to triage: 7045, 7019, 7003 14:34:36 <pulpbot> RM 7045 - bmbouter - NEW - Plugin Writer API Reference is out of date 14:34:37 <pulpbot> https://pulp.plan.io/issues/7045 14:34:58 <dkliban> !propose accept and add to sprint? 14:34:58 <pulpbot> dkliban: propose accept Propose accepting the current issue in its current state. 14:35:10 <dkliban> oops 14:35:19 <dkliban> do we want to add to sprint? 14:35:27 <ttereshc> heh 14:35:49 <ttereshc> we can, before miniteam decide which to drop 14:35:56 <ttereshc> *miniteams 14:36:01 <dkliban> ok! 14:36:10 <dkliban> #idea Proposed for #7045: accept and add to sprint 14:36:10 <dkliban> !propose other accept and add to sprint 14:36:10 <pulpbot> dkliban: Proposed for #7045: accept and add to sprint 14:36:15 <daviddavis> +1 14:36:20 <ttereshc> +1 14:36:32 <daviddavis> #agreed accept and add to sprint 14:36:32 <daviddavis> !accept 14:36:32 <pulpbot> daviddavis: Current proposal accepted: accept and add to sprint 14:36:33 <pulpbot> daviddavis: An error has occurred and has been logged. Please contact this bot's administrator for more information. 14:36:43 <daviddavis> :o 14:36:50 <daviddavis> !next 14:36:50 <daviddavis> #topic https://pulp.plan.io/issues/7019 14:36:51 <pulpbot> daviddavis: 2 issues left to triage: 7019, 7003 14:36:52 <pulpbot> RM 7019 - wibbit - NEW - Failure Syncing Against Remote Repository / Update docs 14:36:53 <pulpbot> https://pulp.plan.io/issues/7019 14:36:56 <bmbouter> #info bmbouter has joined triage 14:36:56 <bmbouter> !here 14:37:14 <ggainey> ah, that's the "call out utf8 as a db-req" issue 14:37:19 <dkliban> yep 14:37:23 <dkliban> dind't we triage this already? 14:37:24 <ttereshc> this should be a docs issue 14:37:32 <ttereshc> it was in rpm meeting 14:37:37 <dkliban> oh 14:37:38 <ppicka> yes we move it to pulp as docs 14:37:47 <daviddavis> accept and add docs tag? 14:37:48 <ttereshc> add docs tag 14:37:49 <bmbouter> +1 14:37:50 <dkliban> #idea Proposed for #7019: accept and add docs tag 14:37:50 <dkliban> !propose other accept and add docs tag 14:37:50 <pulpbot> dkliban: Proposed for #7019: accept and add docs tag 14:37:51 <ttereshc> +1 14:37:52 <ppicka> +1 14:37:54 <dalley> +1 14:37:57 <daviddavis> #agreed accept and add docs tag 14:37:57 <daviddavis> !accept 14:37:57 <pulpbot> daviddavis: Current proposal accepted: accept and add docs tag 14:37:57 <x9c4> +1 14:37:58 <daviddavis> #topic https://pulp.plan.io/issues/7003 14:37:58 <ggainey> +1 14:37:58 <pulpbot> daviddavis: 1 issues left to triage: 7003 14:37:59 <pulpbot> RM 7003 - dkliban@redhat.com - NEW - pulpcore-content allows for // in some parts of the URL but not others 14:38:00 <pulpbot> https://pulp.plan.io/issues/7003 14:38:14 <dkliban> i am going to add this item to open floor now 14:38:31 <daviddavis> it's our last issue so we can just discuss? or do you want to come back to it? 14:38:45 <dkliban> let's discuss 14:38:58 <dkliban> i would like the content app to treat all // as / 14:39:13 <daviddavis> that's fine with me. as long as we're consistent. 14:39:17 <ggainey> concur 14:39:21 <dkliban> bmbouter: ? 14:39:23 <x9c4> agree 14:39:44 <ttereshc> +1 14:39:50 <ggainey> is there a django-way to 'normalize' incoming uris? 14:39:56 <x9c4> can we filter incoming urls through some normalizer? 14:40:05 <bmbouter> yeah let's discuss 14:40:07 <ggainey> that could be applied at a gateway/gatekeeper point? 14:40:15 <ggainey> x9c4: yeah that :) 14:40:21 <x9c4> ggainey, you took the words right out of my keyboard. 14:40:24 <ggainey> hehehe 14:40:39 <dkliban> the content app is not a django app 14:40:42 <bmbouter> I think treating // as / is probably fine 14:40:49 <ggainey> dkliban: oh right 14:40:51 <bmbouter> I need a min or two more to think/test about it but at first take yes 14:41:07 <dkliban> however, we could use django facilities if needed 14:41:21 <x9c4> not requiring the trailing slash would also be nice. 14:41:40 <bmbouter> just doing some quick testing some of the big web services yield 404 when you replace / with // 14:42:03 <bmbouter> we can discuss at open floor more tho would probably be good rather than right now 14:42:15 <dkliban> some redirect you though 14:42:28 <dkliban> ok ... i'll add it to the end of the agenda 14:42:43 <ggainey> kk 14:42:56 <daviddavis> !next 14:42:57 <pulpbot> daviddavis: No issues to triage. 14:43:06 <daviddavis> Open floor! 14:43:20 <daviddavis> Topic: Should we stop automatically requesting QE to review PRs with changed tests? 14:43:40 <daviddavis> I think so, I can file an issue 14:43:40 <dkliban> yes 14:43:42 <bmbouter> +1 14:43:48 <ppicka> +1 14:43:51 <ggainey> yeah, concur 14:43:55 <x9c4> +1 14:44:10 <ttereshc> great, thanks 14:44:22 <daviddavis> Topic: When do we want to do the 3.5 release of pulpcore? 14:44:23 <ttereshc> I just noticed that they are pinged almost on every PR 14:44:28 <daviddavis> yea it's annoying 14:44:29 <ggainey> yupyup 14:44:32 <bmbouter> yup 14:45:04 <daviddavis> are we still doing time-based releases of pulp 3? 14:45:07 <ttereshc> 3.4 went out on June 2 14:45:16 <dkliban> i was hoping we could do a time based release 14:45:32 <dkliban> and that we could do a faster than normal 3.6 release 14:45:33 <ggainey> daviddavis: iirc the goal was once-a-month/every-6-weeks, with whatever was ready 14:45:33 <bmbouter> yes I think we should 14:45:49 <bmbouter> ggainey: I also remember roughly that 14:45:49 <ggainey> and I am good w/that, lots of good stuff happening 14:45:59 <daviddavis> +1 14:46:01 <dkliban> unless 3.5 will have the RBAC tech preview in this short time remaining 14:46:17 <bmbouter> our 3.4 release was May 27th 14:46:25 <bmbouter> so we're just at 1 month tomorrow 14:46:46 <daviddavis> who wants to release tomorrow? 14:46:48 <ggainey> heh 14:46:54 <daviddavis> jk 14:46:57 <dkliban> daviddavis: i was thinking next week 14:47:05 <dkliban> on tuesday or wednesday 14:47:15 <bmbouter> I'm ok w/ that I can have the tech preview of rbac in by then 14:47:16 <daviddavis> that's cool, the only thing I worry about is the holiday 14:47:19 <bmbouter> oh eah 14:47:25 <ggainey> if we can't do it tues/weds, we should wait - lots of folk out fri/mon 14:47:31 <daviddavis> yea 14:47:31 <dkliban> yep 14:47:57 <ggainey> the other thing about releasing, is y'all have done so much good work on the release process it seems to become less and less painful every release 14:48:11 <daviddavis> it's true but it's still quite painful 14:48:12 <ggainey> so releasing-often is good because it continues to squeeze friction out of the process 14:48:19 <daviddavis> that's true 14:48:29 <dkliban> i would like to send an email to pulp-dev today announcing that we want to do a release of pulpcore on tuesday 14:48:40 <dkliban> if we need to push it to wedensday we should announce that on tuesday 14:48:54 <daviddavis> we probably won't have any more release automation by then 14:48:56 <daviddavis> just fyi 14:49:02 <ggainey> heh 14:49:03 <dkliban> that's ok 14:49:06 <daviddavis> ok 14:49:16 <daviddavis> july 7th and we could get some more release automation done 14:49:29 <bmbouter> +1 july 7th 14:49:35 <ggainey> hm, that's a good point 14:49:38 <bmbouter> we don't have a strong time based driver for next week 14:49:44 <daviddavis> I should have kickstarts merged by then too 14:49:52 <daviddavis> which has some core changes 14:49:53 <ggainey> also, that would be start-of-week, instead of trying to squeeze it in before holidays 14:49:57 <bmbouter> yup 14:49:58 <ttereshc> +1 to test new release automation on july 7th 14:50:03 <bmbouter> also plugin releases, there will be many 14:50:14 <ggainey> yeah, +1 to the 7th 14:50:28 <ttereshc> ipanova and I are out that week though, speaking about plugin releases 14:50:33 <ggainey> also, ttereshc will be out that week, so she knows she won't get stuck w/it :) 14:50:36 <ggainey> heh, gmta 14:51:01 <daviddavis> that shouldn't be a big deal 14:51:06 <dkliban> +1 to july 7th 14:51:15 <ttereshc> not a big deal, just fyi 14:51:44 <daviddavis> cool, anything else to discuss for the 3.5 release before we move on to our last topic? 14:51:48 <ggainey> so - send an announcement today, for the 7th? 14:51:51 <dkliban> ttereshc: i can do the RPM release 14:52:00 <daviddavis> dkliban: you do the container and I'll handle rpm 14:52:06 <dkliban> sounds good 14:52:25 <ttereshc> sweeet 14:52:26 <ggainey> can I watch one/both of you go through this on the day? 14:52:32 <dkliban> ggainey: yes 14:52:35 <ggainey> awesome 14:52:39 <daviddavis> I'll be streaming it on twitch 14:52:41 <daviddavis> jk 14:52:44 <ggainey> ha! perfect! 14:52:46 <ttereshc> ggainey, you can actually do it instead of watching :P just saying 14:52:46 <dkliban> maybe you should 14:52:48 <bmbouter> oh I hoped you were serious 14:52:52 <daviddavis> lol 14:53:06 <dkliban> i'll get my green screen ready for that 14:53:11 <dkliban> so i can stream myself doing it 14:53:18 <daviddavis> :) 14:53:22 <ggainey> ttereshc: dkliban: daviddavis: hm, not a bad idea, we can talk about who gets to/has to push the actual buttons closer to the day 14:53:31 <daviddavis> +1 14:53:51 <dkliban> alright ... i'll send out the announcement to pulp-dev 14:53:55 <ggainey> coolio 14:53:55 <daviddavis> great thanks dkliban 14:54:01 <ttereshc> thanks! 14:54:21 <daviddavis> Topic: Content app treatment of "//" in URLs - https://pulp.plan.io/issues/7003 14:55:15 <bmbouter> so what is driving this is my question aka what forms urls like /pulp/content/centos8/AppStream//repodata/repomd.xml returns 404 14:55:15 <daviddavis> bmbouter dkliban ^ 14:55:18 <dkliban> github.org lets you put // in the URl and it responds with content 14:55:26 <bmbouter> yup and google does not 14:55:36 <dkliban> youtube.com redirects you to the / 14:55:43 <bmbouter> drive does not 14:55:55 <ggainey> so, amusingly, the w3.org page for the http-protocol-rfc allows // : https://www.w3.org/Protocols/rfc2616//rfc2616.html :) 14:55:57 <bmbouter> let's step back from the precident game for a second 14:56:12 <ggainey> I'm trying to see if the RFC makes a declarative stmt 14:56:21 <bmbouter> ggainey: does the BNF support it? 14:56:28 <ggainey> s'what I'm looking into 14:56:34 <bmbouter> excellentay 14:57:04 <x9c4> If we allow for "//" its easier to create api urls in shell-scripts without too much thinking. 14:57:08 <bmbouter> while that's being looked at can we chat for a second about the use case forming these urls? like for example is anaconda forming it, is our redirect code forming it? 14:57:31 <dkliban> yeah ... anaconda is forming these URLs sometimes 14:57:52 <daviddavis> also, me when I mistype urls 14:57:57 <dkliban> lol 14:58:17 <bmbouter> I agree it's convenient 14:58:26 <bmbouter> but is it right per the standards 14:58:31 <ttereshc> I think it might happen in our code during sync, in rpm 14:58:51 <dkliban> when the user specifies the URL for a remote with a / on the end 14:58:55 <dkliban> or sometimes now 14:58:58 <dkliban> not 14:58:59 <ttereshc> ah we are talking about content-app 14:59:11 <dkliban> ttereshc: yes, but what if pulp is syncing from pulp 14:59:21 <dkliban> it will be talking to the content app 14:59:29 <ttereshc> hmm, true :) 14:59:51 <x9c4> typical smart proxy scenario ^ 14:59:58 <dkliban> yep 15:00:01 <ttereshc> yup 15:01:33 <dkliban> so right now this would work fine 15:01:49 <bmbouter> the internet seems pretty conflicted on this 15:01:50 <ggainey> ok, so the standard (https://www.ietf.org/rfc/rfc2396.txt) says "The path may consist of a sequence of path segments separated by a single slash "/" character." - HOWEVER - the internet in general, and HTTP in particualr, has always been "be permissive in what you accept and rigourous in what you send" 15:02:09 <dkliban> as you can seee in the ticket i filed, if you add an extra / after the base_path, the current behavior of the content-app gives a 200 repsonse 15:02:37 <ggainey> aceepting // in abs_paths isn't 'standard', but it does recognize that HTTP URLs come from people, who are Terrible At This, and can be easily normalized 15:02:58 <daviddavis> I feel personally attacked 15:02:59 <bmbouter> dkliban: so your observation is that we're inconsistent not that we don't already support // 15:03:15 <dkliban> bmbouter: yes, exactly 15:03:27 <dkliban> and i want consistency 15:03:43 <dkliban> one way or another 15:03:44 <ggainey> yeah, that's the bigger thing to me as well, honestly 15:03:45 <daviddavis> the only question is which way 15:03:50 <ggainey> whatever we do, do that One Thing 15:03:56 <dkliban> yep 15:04:20 <daviddavis> is one way easier than the other? 15:04:22 <bmbouter> so the thing is that is going to be tough to achieve 15:04:29 <ggainey> my personal pref would be "clean up incoming URLs, always" - but the 'always' is the important thing 15:04:56 <bmbouter> plugins ship their own urls for both the content app and django 15:04:57 <x9c4> i agree 15:05:22 <bmbouter> and the regex for django for example, is not going to match // as / without care taken everywhere 15:05:36 <dkliban> yep 15:05:42 <bmbouter> I agree w/ the One Way btw, I'm just pointing out the difficulty of getting there 15:05:57 <x9c4> Maybe that would result in a urlrewrite in apache / nginx ? 15:06:06 <ggainey> is there a pre-django Thing we could do? so that by the time django sees the abs_path, it's already been 'cleaned'? 15:06:06 <bmbouter> I think that is the only actual way 15:06:14 <bmbouter> nginx and apache could handle this 15:06:18 <ggainey> ok, I think we're all on the same page here 15:06:25 <dkliban> yep 15:06:36 <dkliban> i was also thinking we would use nginx/apache to solve the problem 15:06:42 <bmbouter> something like this https://www.mydigitallife.net/redirect-or-rewrite-to-remove-double-or-multiple-slashes-in-url/ 15:06:51 <dkliban> ype 15:07:02 <x9c4> This means in pulplift dev we would not solve it. 15:07:03 <dkliban> and this would be in our documentation and in the installer 15:07:13 <bmbouter> the installer itself would be solving it 15:07:28 <bmbouter> because it carries the nginx and apche reverse proxy configs 15:07:33 <ggainey> ah 15:07:33 <dkliban> yep 15:08:04 <daviddavis> so update the issue saying we should update the installer and docs to have nginx/apache handle double slashes? 15:08:13 <x9c4> and the dev installation has no reverse proxy. 15:08:13 <ggainey> yeah, I like that 15:08:21 <ggainey> (re update-issue) 15:08:21 <bmbouter> x9c4: it does 15:08:26 <bmbouter> all installs do 15:08:28 <daviddavis> yea I use it 15:08:32 <x9c4> then i have a very old one... 15:08:33 <bmbouter> not everyone chooses to use it 15:08:44 <bmbouter> it would have to be mid-2019 old 15:09:03 <daviddavis> if I am hitting pulp on port 80, that's through nginx right 15:09:08 <bmbouter> yes 15:09:16 <bmbouter> and soon port 443... :) 15:09:20 <daviddavis> :O 15:09:22 <x9c4> that only means i need to revisit it. 15:09:39 <bmbouter> x9c4: but you use pulplift right? 15:09:44 <x9c4> yes. 15:09:54 <bmbouter> then you're receiving it 15:10:09 <daviddavis> do we accept this issue or accept + add it to the sprint? 15:10:15 <x9c4> +1 15:10:18 <dkliban> +! 15:10:25 <bmbouter> I want to ask: so we're ok w/ applications never being able to match // ? 15:10:31 <bmbouter> because with this rewrite rule they never could 15:10:39 <dkliban> yes 15:10:41 <ggainey> bmbouter: you mean deliberately? 15:10:43 <ggainey> yes 15:10:43 <bmbouter> I can't think of a reason why but just asking 15:10:46 <bmbouter> yes deliberately 15:10:58 <dkliban> bmbouter: yes, because the spec says that they shouldn't 15:11:01 <ggainey> that would be *deliberately* violating the HTTP spec, which would be Bad 15:11:05 <ggainey> zacly 15:11:09 <x9c4> Having a need for this sounds like very bad design. 15:11:11 <bmbouter> my reading claims it's valid 15:11:14 <bmbouter> in the spec 15:11:17 <dkliban> oh 15:11:25 <ggainey> The path may consist of a sequence of path segments separated by a 15:11:25 <ggainey> single slash "/" character. 15:11:39 <ggainey> straight from the 'path component' section of https://www.ietf.org/rfc/rfc2396.txt 15:11:44 <x9c4> can a path segment be ""? 15:12:21 <bmbouter> it can be is what I'm reading 15:12:38 <dkliban> interesting 15:12:38 <bmbouter> but I don't think that's a good URL design regardless 15:13:01 <bmbouter> and I am in favor of the redirect // to / by default globally in nginx and apache 15:13:05 <bmbouter> but to be clear it's a valid url 15:13:18 <bmbouter> that is distince from it's single slash counterpart 15:13:19 <dkliban> yep 15:13:26 <bmbouter> distinct 15:14:05 <dkliban> we will need to add docs around base_paths not being able to contain // 15:14:18 <bmbouter> oh yeah and a validation there 15:14:24 <dkliban> yes 15:14:25 <ggainey> I'm not sure I agree it's 'legal' by the BNF, but will cheerfully admit it's been a Really Long Time since I could relilably read BNF :) 15:14:26 <bmbouter> and likely a migration rule 15:14:45 <dkliban> bmbouter: a migration rule? docs? 15:15:33 <bmbouter> sorry I'm not being clear, I meant a migration to rewrite base_paths with // to / 15:15:53 <bmbouter> if we make this change and don't provide that migration any (rare of course) places where // is in a base path would start to 404 15:16:12 <bmbouter> this is a very rare case 15:16:30 <bmbouter> I'm ok just doc-ing it because we'd have to ship a migration for every plugin it just doesn't seem worth it 15:16:44 <dkliban> yep 15:16:55 <dkliban> i don't want to ship a migration for every plugin 15:16:55 <ggainey> yeah, that sounds good to me 15:16:59 <bmbouter> me neither 15:17:11 <dkliban> cool. i'll summarize all this on the issue 15:17:25 <ggainey> (also, I think bmbouter is correct, I missed a '*' in the BNF that implies a path-segment could be empty) 15:17:32 <ggainey> coolio 15:17:35 <ggainey> +1 all around 15:17:52 <bmbouter> ggainey: BNF is confusing 15:17:55 <bmbouter> !friday 15:17:55 <pulpbot> ♪ It's Friday, Friday, gotta get down on Friday ♪ 15:18:07 <ttereshc> :) 15:18:08 <bmbouter> dkliban: will this beocme an installer issue? 15:18:12 <dkliban> i rely on you all to read it and provide cliff notes for me 15:18:16 <ggainey> bmbouter: I used to think in this stuff when I was doin compilers for a living - but, it has been A Hot Minute, as You Kids say these days :) 15:18:19 <bmbouter> dkliban: I can re-read if you send it to me 15:18:41 <dkliban> bmbouter: yes, i can also create a separate docs isssue 15:18:59 <bmbouter> +1 15:19:03 <bmbouter> subtasks? 15:19:05 <dkliban> yes 15:19:13 <dkliban> all that 15:19:32 <bmbouter> sweet, ty 15:19:38 <daviddavis> ok, anything else for open floor? 15:20:10 <daviddavis> last calls 15:20:12 <daviddavis> call 15:20:21 <daviddavis> !friday 15:20:21 <pulpbot> ♪ It's Friday, Friday, gotta get down on Friday ♪ 15:20:29 <daviddavis> #endmeeting 15:20:29 <daviddavis> !end