Tuesday, 2020-06-23

gmanndiablo_rojo: yeah, all set.01:35
*** ricolin has joined #openstack-tc02:08
*** ricolin has quit IRC02:20
*** ricolin has joined #openstack-tc02:30
*** ricolin has quit IRC02:51
*** ricolin has joined #openstack-tc03:05
*** markvoelker has joined #openstack-tc03:06
*** markvoelker has quit IRC03:11
*** ricolin has quit IRC03:45
*** ricolin has joined #openstack-tc03:45
*** diablo_rojo has quit IRC03:58
*** dmellado has quit IRC03:59
*** evrardjp has quit IRC04:33
*** evrardjp has joined #openstack-tc04:33
*** ricolin has quit IRC04:33
*** markvoelker has joined #openstack-tc04:44
*** markvoelker has quit IRC04:49
*** ricolin has joined #openstack-tc04:56
*** markvoelker has joined #openstack-tc05:04
*** markvoelker has quit IRC05:09
*** ricolin has quit IRC05:14
*** ricolin has joined #openstack-tc05:14
*** ricolin has quit IRC05:26
*** ricolin has joined #openstack-tc05:28
*** dklyle has quit IRC06:26
*** rpittau|afk is now known as rpittau06:34
*** ralonsoh has joined #openstack-tc06:37
*** belmoreira has joined #openstack-tc06:49
*** markvoelker has joined #openstack-tc07:05
*** markvoelker has quit IRC07:11
*** tosky has joined #openstack-tc07:35
*** markvoelker has joined #openstack-tc07:49
*** markvoelker has quit IRC07:54
*** ricolin has quit IRC08:39
*** e0ne has joined #openstack-tc08:42
*** e0ne_ has joined #openstack-tc08:43
*** e0ne has quit IRC08:44
ttxregarding ansible surprising their community with announcement of red hat product strategy -- this is how Canonical used to do ubuntu back when I was there. And this is why "open design" is baked into the 4 opens.08:45
ttxUbuntu was pretty successful at open source and open development, so it was a good base. But it was failing with design (still an ivory tower within canonical), and real governance (the top-level governance body was sabdfl + people he suggests for potential election)08:46
ttxHence "open design" and "open community"08:47
ttxAnd those four opens proved sufficient, with minor tweaks in the meaning of open community08:48
*** tetsuro has quit IRC09:39
*** ricolin has joined #openstack-tc09:47
*** markvoelker has joined #openstack-tc09:50
*** markvoelker has quit IRC09:55
*** rpittau is now known as rpittau|bbl10:12
*** tkajinam has quit IRC10:17
ttxtc-members: please review https://review.opendev.org/73748710:40
ttxThat formally proposes to remove all bold style from some components from the OpenStack map.10:41
*** ricolin has quit IRC10:55
*** e0ne_ has quit IRC11:47
*** lpetrut has joined #openstack-tc11:51
*** markvoelker has joined #openstack-tc11:52
*** markvoelker has quit IRC11:57
*** e0ne has joined #openstack-tc11:58
*** rpittau|bbl is now known as rpittau12:14
*** ricolin has joined #openstack-tc12:36
*** dklyle has joined #openstack-tc12:58
knikollao/13:28
njohnstono/13:36
*** markvoelker has joined #openstack-tc13:53
knikollasorry for not being around much last week, i was out sick for the second half of the week.13:55
*** markvoelker has quit IRC13:57
jrollone of my APAC colleagues is wondering if the "Large-scale Usage of Open Infrastructure Software" event next week will be recorded. anyone know offhand?14:06
*** e0ne has quit IRC14:09
*** e0ne has joined #openstack-tc14:14
*** bnemec has quit IRC14:16
*** bnemec has joined #openstack-tc14:20
fungii think they planned to record all the sessions, but i'll ask14:33
*** markvoelker has joined #openstack-tc14:39
*** ricolin has quit IRC14:42
smcginnisJust noting this here, but dragonflow was retired in November 2018. It is still under the openstack/ namespace.14:42
smcginnisShould that be moved to x/? Wasn't sure what the policy is there.14:43
smcginnisIt should like just be retired at this point. Doesn't look like it's active, and I know the people that were working on it were told to stop.14:43
*** markvoelker has quit IRC14:44
mnasersmcginnis: thanks for bringing that up, let me dig into this14:46
mnasersmcginnis: mind if i ask how you noticed this (just so we can capture this if we notice other projects)?14:46
mnasersmcginnis: "only currently or previously-official OpenStack deliverable repositories (or those managed by SIGs, working groups and other officially-recognized bodies) remain within the openstack Git namespace prefix on OpenDev." from https://governance.openstack.org/tc/resolutions/20190711-mandatory-repository-retirement.html14:49
mnaserso in that case, it's okay that it stays under openstack/ but the content shouldn't be there14:50
smcginnismnaser: I can start the retirement process to close that out.14:51
smcginnisI noticed looking at some of our global requirements and their health.14:51
mnasersmcginnis: i'd appreciate that, in the meantime, i'm going to write a small script to go over all of our repos and see if there's anything that's has anything more than a .gitreview and README.rst file14:51
smcginnisThere is a lib that hasn't been updated in 9 years. Only consumer is dragonflow.14:51
mnaserthat'll help keep things tidy14:51
smcginnisThat would be good to catch those that retired before we had the full retirement process in place.14:52
fungijroll: the opendev conference organizers confirmed, all the teleconference sessions will be recorded and recordings published shortly afterward14:55
jrollexcellent, thanks fungi :)14:55
fungismcginnis: it shouldn't be moved to another namespace, just need to have its retirement completed in place14:56
smcginnisYeah, on the retirement process now.14:56
mnaseri have something that will audit all repos too :)14:56
fungialso andreas put together a list recently, auditing what non-completely-retired non-official projects were still in the openstack namespace. it's fewer than 10 now14:57
fungiseveral were old neutron stadium deliverables14:57
fungismcginnis: mnaser: i can pull his audit from a few days ago back out of logs, he posted it in here in hopes tc members would care to okay completion of retirement for those14:58
fungihttps://etherpad.opendev.org/p/urpGIncRoCLJxJp1Icny14:59
fungino, wait, that was docs retirement, let me find the other one14:59
fungi2020-06-15 18:48:17 <AJaeger> And here's a complete list of such repos that are retired but still in openstack namespace: dragonflow  networking-l2gw networking-l2gw-tempest-plugin networking-onos openstack-ux python-dracclient solum-infra-guestagent transparency-policy15:00
mnaseri got a couple more too here with my test15:01
mnaseri'll push up something so zuul gates for legacy.yaml changes15:01
mnaserssome openstack-ansible ones, soem charms too15:01
smcginnisI thought python-dracclient was still used by ironic.15:01
fungiused maybe, but is it a deliverable?15:03
fungilegacy.yaml says python-dracclient: retired-on: 2016-11-2815:03
smcginnisWell, there was just recently a ML thread on it, and it looks like there has been activity ongoing: https://review.opendev.org/#/q/project:openstack/python-dracclient15:04
mnaseri most definetly remember the thread about it :)15:04
fungiin that case, an official team should adopt it, or it should be retired and forked elsewhere (another namespace in opendev, or somewhere outside opendev) per https://governance.openstack.org/tc/resolutions/20190711-mandatory-repository-retirement.html15:05
fungioptionally i suppose it could become its own project team15:05
smcginnisIt looks like it's maybe more accurate to say it's no longer under openstack governance, but it is still an active project.15:06
mnaseryeah that feels like it should be inside x/15:07
fungiin which case the copy of the repository in the openstack namespace would need to be retired, and then they could fork it somewhere else15:08
clarkbsmcginnis: to expand a bit on what fungi said, I think the idea is to fork into x/ once there is development interest. Otherwise we'll just end up with a different dead repo15:09
*** belmoreira has quit IRC15:09
fungiin this case it sounds like there's active development15:10
smcginnisYeah, I agree. I think the history shows there is development interest, so that's probably what should be done.15:10
fungibut yes, the process would be that openstack retires the repository in its namespace15:10
fungiand then the active developers for the project create the fork as a new project15:10
openstackgerritMohammed Naser proposed openstack/governance master: Add legacy repository validation  https://review.opendev.org/73755915:10
fungi(can have the same name, just needs to not be in the openstack namespace any longer)15:10
mnaser^ this works locally and exposes a list, i made it more gentle to not hit opendev.org as much15:10
smcginnisWe could move python-dracclient and other vendor specific things into a dell/ namespace or something like that too, right?15:11
smcginnisIt doesn't need to be x/ ?15:11
fungifork, not move, but yes it could be any namespace15:11
fungior it could be outside the opendev hosting infrastructure if they prefer15:12
smcginnisBut who would prefer that? :)15:12
smcginnisBut yeah, could be a GitHub, GitLab, or whatever as well.15:12
fungisome people do! i don't understand it either ;)15:12
mnaserlooks like a few retired projects have missed removing .gitreview15:13
mnaserso my 'more than 2 files is not retired' check isn't "as valid"15:13
mnaseri think i would personally be happy at actually removing that .gitignore file to clean it up properly15:13
mnaserso all those repos have 2 files, .gitreview and README15:13
mnaseri guess if we're cleaning it up, might as well as do it right15:14
smcginnis.gitreview is supposed to stay.15:14
smcginnisNot .gitignore.15:14
mnaseryeah there was a charm clean up that dropped gitreview15:14
fungiyeah, the process was updated to say keep .gitreview, because otherwise it makes it harder to push the readme file15:14
smcginnisTo be fair, we realized and added that later.15:14
mnaserwe're not explicit on README file names i guess15:14
smcginnisAlso breaks some automation.15:14
fungimnaser: we just updated the process to say it needs to be README.rst specifically15:15
fungibecause of the new documentation redirects going to it15:15
mnaserok so lets be strict about that too15:16
smcginnisI seem to recall when we had the PyPi upload breakage when they started enforcing formats, there were at least a handful of repos that decided to use a README.md instead.15:16
openstackgerritMohammed Naser proposed openstack/governance master: Add legacy repository validation  https://review.opendev.org/73755915:19
mnaserok, this is much more strict but if we're cleaning up we might as well get it done15:19
fungiit'll need some gerrit admin help, because once a repository is set read-only it's a manual process to reactivate it so new changes can be pushed15:20
fungibut i'm happy to take care of that part once we have a list15:21
mnaserheres output from a local run: http://paste.openstack.org/show/795106/15:21
mnaserthe non .gitreview ones will be a little annoying15:21
mnaseri will send an email to all the different affected teams on the ML and ask for the cleanup.. then we can try and follow up if any don't get done15:22
njohnstonI don't think neutron-vpnaas is retired, am I right about that slaweq?15:24
mnaserthis is shaping up to be a very long subject :)15:26
mnaseri'm tempted to throw [all] at this point..15:26
mnaser"[tc][chef][docs][fuel][[horizon][tact][infra][ironic][neutron][keystone][murano][charms][openstack-ansible]" and i'm not even done, heh.15:26
fungimaybe it could be multiple e-mails, or batched...15:27
mnasersigh, im trying to make an etherpad and when pasting, the lines all get wrapped into 1-5 lines15:28
fungibut before anyone will be able to push fixes for that, it'll need someone to reactivate the repos in gerrit and probably also need a gerrit admin (or someone we delegate those permissions to temporarily) to merge the changes directly so that there's no need to reintroduce zuul configuration15:29
mnaseryeah i think a direct merge is probably best15:29
fungiwe also need to think about whether our manage-projects automation will switch acls back to read-only behind me after i switch them to active, or if it will just not notice (hopefully the latter)15:32
fungimight be good to pick one to try this plan out on ourselves and make sure we know what to expect15:33
clarkbfungi: mnaser I would prefer we didn't do that15:34
mnaserdo what exactly?15:34
clarkbinstead you write a .gitreview and push with it when you need to push15:34
clarkbresurrect all the .gitreviews. Its just not necessary15:34
clarkbif you reenable a git repo, you add the gitreview back again15:34
mnaseri mean, if we're cleaning all this up for consistency, might as well while we're at it..?15:35
fungisome need other stuff like readme renames15:35
mnasermost non .gitreview repos have a README.md or README15:35
clarkbthats gonna be a big pain to coordinate with gerrit...15:35
clarkbthe whole point is that those repos are dead so why bother?15:35
mnasercant we just have a topic that someone with merge power can force merge these changes when they're free?15:36
fungiwe recently worked out that we should be redirecting the docs urls to that retirement readme, which needs to be consistently named15:36
clarkbsomeone has to manaully click buttons in gerrit, ensure that manage-projects doesn't run while we then push and merge a bunch of changes, then rerun manage projects to resync the RO state15:36
fungimnaser: the challenging part, as i mentioned, is that you can't push those changes without a gerrit admin reactivating these repos manually15:36
fungiand our automation may go behind us and switch them back to read-only before the changes are pushed and merged15:37
clarkbI guess for me its a lot of effort for something that is dead15:37
clarkbits dead leave it be15:37
mnaserwell, we have no way of retroactively making sure we dont add more dead/unretired projects15:37
funginot normalizing them does make it harder to check new retirements have been completed correctly though15:37
mnaser^ yep15:37
mnaserfungi: could we flip the RO switch, have manage-projects re-open them, and then lock them back up again after?15:38
mnaserlike over a period of 2 weeks or something15:38
mnaseri'll do the patches myself if folks dont end up doing them...15:38
clarkbmnaser: yes we can explicitly merge an acl update to not RO them to keep manage-rpojects from switching it back. Still need a gerrit admin to flip the RO to RW initially though15:38
fungimnaser: manage-projects can't reopen them, it's a manual process15:38
fungiit can only switch active projects to read-only, it can't switch read-only projects to active because it needs to push a config (acl) change to do that, which being read-only prevents15:39
mnaseroh ok, so it's a technical limitation, not a 'no one wrote the code to do it yet' thing15:39
fungiat least not unless we modify the automation to use the gerrit api to change the project status instead of relying exclusively on acl configs15:40
fungiit comes up so infrequently that it's not made sense to spend time making possible via automation15:40
mnaserhttps://opendev.org/opendev/jeepyb/src/branch/master/jeepyb/cmd/manage_projects.py is the make-ro code here?15:41
clarkbmnaser: indirectly, that tool applies ACLs to gerrit. YOu can set an ACL to make a project RO15:41
clarkbmnaser: if you do that, you cannot update the ACLs anymore and thus can't set the ACL to RW and switch from there15:41
clarkbinstead you need an out of band update from RO -> RW then you can update ACLs again15:42
mnaserright, so you cant push a change to change the ACLs once you've pushed a change to disallow any more changes15:42
fungiright, catch-22 the acl can't be pushed to make the project not read-only becaus the project being read-only prevents pushing the updated acl15:42
mnaserbtw im seeing slow loads on high # of files folders with opendev again :(15:43
fungiif we're worried about manage-projects helpfully setting projects back to read-only after we manually activate them, we could temporarily push a change to make them have active acls, then revert it after we're done proposing and merging changes15:43
*** lpetrut has quit IRC15:44
fungimnaser: can you elaborate?15:44
mnaseroh, it might be a cache15:44
mnaserhttps://opendev.org/openstack/project-config/src/branch/master/gerrit/acls/openstack took 14 seeconds to load the first time15:44
clarkbmnaser: yes its a cache15:44
fungiwe did just upgrade gitea which brought fixes for rendering times of the browse view in repos with lots of files/history15:44
clarkbfirst time should be expensive like before, then subsequent loads are better15:44
mnaserok sorry, i *just* understood how something gets marked as retired, we set the acl-config to retired.config15:45
mnaserfungi, clarkb: how about a one time change that changes acls to the same ones for the tc (so we can help merge those changes), and ask for a one time "unlock projects", with a proposed revert waiting once we're done with everything15:46
mnaserthis should be a once-and-for-all thing15:46
mnaserif it can be done using gerrit cli/api, i will gladly write out something that can be copypasted15:46
clarkbmnaser: that would work. I don't know if the gerrit cli/api exposes the RO -> RW toggle but it may15:50
clarkbbsaically you're doing an unretire with plan to re retire15:50
mnaserclarkb: is there some instructions written somewhere on how you making them rw so i can try and check reference if there's a cli/api equiv?15:50
smcginnisI didn't think it did, but that might have been an older version of gerrit.15:50
smcginnisThe problem was once it was marked RO, it took some manual work to switch it back to RW.15:50
clarkbmnaser: you go to the project admin page and switch the read only option to rw15:51
mnaserya, i realize its a bunch of annoying work so trying to minimize impact on non-involved parties (opendev)15:51
clarkbin the UI15:51
mnaserhttps://gerrit-review.googlesource.com/Documentation/cmd-set-project.html15:52
clarkbhttps://review.opendev.org/Documentation/cmd-set-project.html looks like we have that and it can set it15:52
mnaser--project-state shows ACTIVE/READ_ONLY15:52
mnaseraha, yep15:52
clarkbmnaser: Note you should look at the docs on our instance15:52
clarkbas the docs we host are version specific15:53
mnaseroh yeah, that's using our actual docs, so that's even more accurate15:53
clarkbso even just generating a list of those commands for the projects would help15:53
mnaserso a change and a list of commands15:53
mnaser(so manage-projects doesnt swap back)15:53
clarkbyes, and you'll need to unretire in zuul15:55
clarkb(with noop jobs likely)15:55
mnaserclarkb: can we skip the unretire in zuul bit and allow for an acl that lets us submit changes (just for this?)15:56
mnaservastly harder to manage the zuul config too in addition of the gerrit one15:56
clarkbyou probably can, I've not had to construct such an acl though so not sure what it looks like. That said its all in the same repo so really not that difficutl to write that change15:57
openstackgerritMohammed Naser proposed openstack/governance master: Add legacy repository validation  https://review.opendev.org/73755915:59
*** rpittau is now known as rpittau|afk16:00
fungiyep, this is why i suggested we pick one to try first16:00
fungiand see what all the gotchas and optimizations might be before we try to do a large batch16:00
*** diablo_rojo has joined #openstack-tc16:03
*** e0ne has quit IRC16:06
*** gibi is now known as gibi_off16:11
*** markvoelker has joined #openstack-tc16:40
*** markvoelker has quit IRC16:45
*** ralonsoh has quit IRC17:28
*** markvoelker has joined #openstack-tc17:54
*** markvoelker has quit IRC17:59
openstackgerritGhanshyam Mann proposed openstack/governance master: Add deprecated cycle for deprecated deliverables  https://review.opendev.org/73759018:02
*** markvoelker has joined #openstack-tc18:11
*** markvoelker has quit IRC18:15
*** markvoelker has joined #openstack-tc18:21
*** markvoelker has quit IRC18:31
*** markvoelker has joined #openstack-tc20:25
*** markvoelker has quit IRC20:29
mnaserclarkb, fungi: enabling gating with noop-jobs prove to be a lot more complicated.  https://review.opendev.org/#/c/737636/2 should be ok enough (and i left a set of commands in a paste which can be ran which will unlock all those projects)21:32
mnaseri've also started this etherpad -- https://etherpad.opendev.org/p/tc-retirement-cleanup21:34
clarkbmnaser: you also have to add the project to zuul's config21:36
fungiyeah, i figured we'd be better off bypassing gating for those changes than trying to readd them to zuul21:36
clarkbI'm not sure I'd call that complicated but yes it requires extra steps21:36
clarkbfungi: but then you need to allow people to merge changes21:37
fungiyep, but if he's already making acl changes21:37
mnaserclarkb: it's complicated because i have to ensure they are properly ordered and then mess about yaml stuff to make sure it doesn't mess up the ordering21:37
mnaserand the spacing remains so i dont cause conflicts21:37
mnaserbecause we have linters to make sure things are alphabetical so i cant just stick it at the end or something21:38
mnaserso its complicated because of the volume of changes needed21:38
clarkbI mean ya this is why I've asserted I think we should just move on :)21:38
clarkbits a lot of effort for little gain imo21:38
mnaseri can try to come up with acls that allow tc members to submit changes..21:38
fungithere are at least a few we'd need to change anyway to accommodate the docs redirects21:39
mnaseryeah, and i think while we're at it, lets make sure it doesn't get any worse21:39
fungithe way i see it, if there are 10 which need fixing for the docs redirects we should batch them anyway, and 60 is not substantially worse than 10 if you're already batching21:40
clarkbfungi: re acls, yes but someone has to figure out how to write an acl that works and imo thats likely to be more effort than turning on zuul21:41
clarkbyou need to undo the all projects config21:41
clarkband thats always a learning experience21:41
clarkbwhereas we know what needs to be done to turn on zuul21:42
mnaserok, ill write the thing to add noop-jobs.21:42
clarkbfwiw I'm not sure I understand the docs redirect issue. The source file name shouldn't matter because the output is all index.html or whateve rright?21:44
clarkbor are we linking to the raw source file bceuase there aren't doc builds at that point. This may be the bit I was missing earlier21:44
mnaseri want to make sure our repos are clean and tidy so we dont have a retired project like dragonflow with user facing code21:44
fungiclarkb: the latter21:45
clarkbas an alternative you could redirect them all to a single location that says "this has been retired"21:45
gmannor user facing doc21:45
mnaserand the way to do that is to test that, and the way to test that is to normalize all the existing badly retired ones and clean them up21:45
fungiclarkb: we're redirecting /latest to opendev.org/.../README.rst21:45
mnaseri'm doing my best here to make it the _least_ amount of work possible on others21:45
clarkbfungi: but we could redirect /latest to https://docs.openstack.org/retired.html ?21:45
fungiclarkb: reason being, some of the readmes will indicate that the project has moved elsewhere21:46
funginot all of them give the same reasons for retirement, and some leave forwarding addresses21:46
mnaserlike telemetry21:46
gmannyeah redircted to repo README.rst which has more history why it was retired21:46
clarkbmnaser: while that may be the case this is an awful lot of work for things that we said we were done wiht :/21:46
mnaseri'm doing it all21:46
clarkbmnaser: no you can't21:46
mnaserand i'm okay with doing it all21:46
clarkbyou're doing a good chunk of it though so thank you21:47
mnaserall you have to do is copy and paste a command at this point21:47
mnaseri have a list of comands to copy and paste into your terminal21:47
mnaserthat's all i need21:47
fungii'll volunteer to handle the gerrit admin piece (already did volunteer) and review the config changes for it21:47
mnaseri'll do the noop jobs21:47
mnaserhttp://paste.openstack.org/show/795110/ i have this21:47
clarkbI'm starting to think we shouldn't make the repos RO21:47
clarkband keep noop jobs configured for retired repos21:48
clarkbthen set up an acl that lets the TC push code rather than registered users21:48
fungiwell, we want people to get a clear failure when trying to push changes for retured repos (except for basically this specific circumstance)21:48
clarkbbecause the next time we need to change something we don't want to do this again21:48
clarkbfungi: yes that is possible with an acl21:48
fungigood point21:48
fungiwe can set it so only a particular group has rights to push to refs/for/refs21:49
clarkbyup21:49
fungiand we do have a central/shared "retired" acl, so we could just update that and do a single pass to switch repos back to active state21:49
clarkbwell we'd probably only do this for the openstack retired repos21:50
fungimerits further discussion for sure21:50
clarkbat least if the openstack tc is the special updater group21:50
gmannsingle retired acl make sense and have some openstack admin in that instead of TC21:50
gmannotherwise TC end up handling all those repo management tasks.21:51
clarkbgmann: who do you mean by "openstack admin" ?21:51
clarkbthe point I'm trying to make is that from the opendev perspective we've done exactly what was requested and properly retired the repo so it cannot be used21:52
clarkbbut what users really want seems to be a soft retire21:52
clarkband we can do that instead, but it requires the involved gorup (in this case the tc) to take on some potential management tassk21:52
mnaserit's probably once in a blue moon when we decide to do something like this21:53
clarkbsure but once is enough imo21:53
gmanni am not sure who we need new group?21:53
fungito be clear, members of the community have noticed that our retirement process could be more thorough, and was also far less thorough in the past, so there's a desire to more thoroughly retire some repos which were less thoroughly retired before21:53
clarkbfungi: well they are thoroughly retired from the stand point that you cannot push or merge any new code21:53
mnaserok, so then do we set all current retire projects to state active and update teh retired.config acl to include tc who can also merge code too?21:53
mnaserso that we don't have it inside the zuul config with noop-jobs forever21:54
fungiclarkb: right, but not necessarily from the standpoint of replacing the repository content, or redrectingthe current urls for their documentation21:54
mnaserwe'll either need an acl that allows a certain group to push and submit _or_ we'll have to play add-and-remove noop jobs21:54
clarkbmnaser: I was thinking just leave the zuul config there21:54
clarkbmnaser: its alread ya step in retiring to switch to noop jobs21:54
clarkbso you'd do that then stay there21:54
clarkbwith an acl update that prevents registered users from pushing21:55
gmanni will say we cleanup the existing one now and later TC take care the complete-retirement before approving the retirement21:55
mnaseri mean, i'd think that removing it from zuul to reduce the amount of repos we're loading is.. a good impact21:55
fungisome of these repos never had their content removed and replaced by a readme file explaining that they were retired, most of them don't yet have documentation redirects to that readme and we need to normalize the filename to be able to more conveniently provide that21:55
clarkbmnaser: if they are retired properly there is no config to load other than what is in project-config21:56
fungimnaser: i don't think it really reduces much. retired repositories account for <10% of our total repository count in opendev today21:56
mnasersure -- maybe then to reduce config we should just have noop-jobs inside system-required21:56
fungi(i checked recently for unrelated reasons)21:56
mnaseri cant remember if that's skipped if other jobs exist21:56
clarkbmnaser: its not21:56
mnaserah okay21:56
mnaserso we'll maintain that config21:56
mnaseri dont know if we're trying to solve something that will ever happen again because we're going to be gating on it21:57
mnaserand maybe if it comes up again, then it's time to 'solve it for good' and implement a whole process21:57
clarkbmnaser: I'm just thinking ahead to where people decide we need markdown instead of rst21:57
clarkbor an actual html document so it renders nicely21:57
mnaserclarkb: then we won't have to hit improperly retired projects, but all of them, and that's a different activity involving more people21:58
clarkbits the same process though21:58
mnaseri'd argue doing it for all retired is easier than some retired21:58
clarkbI'm just saying it seems like we want a softer retirement21:58
clarkbwe can do that21:58
mnaseragreed21:59
mnaseranother thing i caught is some projects aren't running the retired.config22:00
mnaserwe'll catch those on the flip back and i'll add the governance-validate-legacy to catch them22:00
mnaserhopefully this safeguards us from all this extra work22:00
gmannmnaser: including proejcts.yaml with deprecated flag22:01
mnasergmann: yeah i saw some chef cookbooks22:01
gmannbcz they also should have clean retirement on master22:01
fungito be clear about what we're currently trying to solve though, there was recently a great example where someone stumbled across an ironic deliverable which was retired four years ago, back before we began replacing repository content, they found the /latest documentation we published, and the opendev.org hosted source code which they assumed the openstack community still supported. turns out the vendor22:02
fungiwas continuing maintenance of that software elsewhere, but it was a very bad experience for the user because they spun their wheels looking at obsolete code which in no way indicated it was no longer expected to be usable22:02
fungiwe've learned a lot in the last four years about how to better retire a project, but we owe it to our users to apply that knowledge to things we did a less stellar job of retiring in the past22:03
clarkbfungi: ya the chicken and egg of docs publishing on a retired repo is what got me tripped up22:04
gmanntrue, we have doc redirect step documented now.22:04
clarkbBut I think this ultimately poinst to having such a forceful retirement as being a problem22:04
fungialso to clarkb's point, i think we'll learn even more about it in the next four years, and need to make more improvements to how we've retired projects up to now22:04
clarkbwe can't anticipate all future issues22:04
clarkbfungi: exactly22:04
mnasershould we just soften up retirement now?22:05
fungiit seems like a reasonable approach to me22:05
clarkbmnaser: if we decide to do that then yes I think we should. You'll be able to address the known problems today then also any future problems22:06
clarkbyou know whats extra funny about this?22:06
mnaserall that requires is setting all retired projects to ACTIVE, updated retired.config and once that lands it should apply the right acl22:06
clarkbwe had a bug in jeepy that prevented us from switchingacls on retired projects for a couple of yeras22:06
clarkbthat was only recently fixed22:06
clarkbif we found this issue a couple months ago it would have been trivially fixed :)22:06
clarkbmnaser: yup22:06
mnaserha, your sensed this :)22:06
* mnaser still feels like retired.config should allow submit so we dont clobber our already-immense zuul config22:07
fungioh, yeah, right, it was filtering to only apply acl changes to non-retired repos, but determined that by looking at the config, so it didn't apply the retired config when we retired the repo22:07
clarkbmnaser: if you can figure out how to construct that acl that should be fine. I think the tricky bit is working around what is in all projects22:07
fungiyou could likely just set owner to tc-members22:08
mnaseri think if i can give the tc ability to verified +2 and submit, then we'll be able to +2 and submit option should be available automagically22:08
fungiowner permission grants essentially everything22:08
fungieven the verified and code review +2 and workflow +1 requirements are part of the configuration. you could make that optional as well22:09
fungibut doing that will necessitate some experimentation22:10
mnaseryeah, my idea is pretty much allowing us to merge the same way infra sometimes force merges things22:10
clarkbfungi: owner is weird because a lot of its perms are only available through the web ui and not git/ssh22:12
clarkbfungi: that likely does mean submit is fine though22:12
gmannbut that is only for post-retirement-cleanup right. bcz retirement process of merging the repo cleanup is pre step of modify the retired.acl in project-sonfig22:12
clarkbbut git push or branch creation/deletion may be trickier22:12
gmannconfig22:12
clarkbgmann: yes22:12
mnasergmann: yeah pretty much once it goes 'retired', the project is controlled by tc22:12
gmanncan we make it a first step like during noop jobs? and governance approval in project.yaml as first step. so it will be 1. first TC approve the retirement and then volutneer do the retirement steps and TC can keep merging the things.22:14
gmannbecause governance approval also after repo cleanup and that can go messy is TC does not approve the retirement for any reason.22:15
gmannthat is why we have seen projects-config patch as depends-on vs needed-by mixup22:15
clarkbgmann: yes, I think that change can probably happen too though it is somewhat orthogonal. Thats a policy decision vs a "gerrit technical requirement22:16
gmannsomething like 1. tc retire-approved 2.  repo steps of code cleanup etc 3. tc mark retirement-complete22:17
mnaserfungi, clarkb: should only tc members be allowed to push changes?  if so, that leaves the bulk of the clean up on us22:18
fungithough as we've seen here, retirement is never really "complete" ;)22:18
mnaser(but we could technically change the acls temporarily)22:18
clarkbmnaser: some subset of users should be allowed to push changes22:18
clarkbmnaser: otherwise people will run git review and it will succeed and it will appear the repo is still in use22:18
fungimnaser: it would make some sense, yes. either the tc or some group delegated by the tc (tact sig?)22:18
* smcginnis would volunteer for any special cleanup team22:18
smcginnisJanitor SIG FTW.22:18
* fungi finds smcginnis a broom22:18
mnaserdoes the tact-sig have an acl group right now?22:19
clarkbmnaser: no22:19
gmanntact sig is good idea i think than TC22:19
fungiit doesn't have any formal membership currently22:19
mnaserah, i'll keep it at tc members for now, the nice thing is we could thoretically open it up and close it back up for x period of time during this cleanup22:19
fungiso we'd need to declare some set of folks the openstack janitors or whatever, but it could make sense as a tact sig activity22:19
* mnaser hopes to figure out getting the acls to work first22:21
fungithe openstack janitors could be a subset of overall tact sig activity in the same sort of way that the vmt is technically a subset of security sig activity22:21
fungis/technically/officially/22:21
fungibut yeah, i'm not in any hurry to design more bureaucracy right now22:22
fungiwe have plenty already ;)22:23
mnaserremote:   https://review.opendev.org/737649 gerrit: change retired.config acls22:23
mnaserfungi: ^ i guess if that looks sane to you (and clarkb) -- perhaps next step is to unlock all retired repos (i can get you a command easily if needed) and merge that?22:23
clarkbmnaser: I think you need to make a new openstack-retired.config file so that you aren't responsible for all retired repos on opendev22:25
mnaserclarkb: that file is openstack/retired.config22:25
fungii concur22:25
clarkbmnaser: ya but its used by everyone22:25
mnaserso perhaps we should just have non-openstack project point at foo/retired.config later (with the same config, going to some other group?)22:25
*** markvoelker has joined #openstack-tc22:25
clarkbmnaser: ya that also works22:25
mnaseri just dont want to play with too many things if i dont know that config works 100% yet22:26
gmannmnaser: you wan to change this too - https://review.opendev.org/#/c/737636/2/gerrit/projects.yaml22:26
mnasercause we'll probably ask each tenant/ns for their own retired group i guess22:26
clarkbmnaser: I wouldn't bother. I'd just keep everyone else at the same old retired config for now22:26
mnasergmann: nope we're taking another route with https://review.opendev.org/#/c/737649/1 -- it's pretty much changing the whole retired project to go to another group22:26
fungii don't dispute the retired acl is currently in the openstack directory, i just agree it's something we should fix/split22:26
mnaserfair enough :) just wanted to make sure if it was a housekeeping task to do my work all the way22:27
fungiwe could probably make a top level retired.conf not in any subdirectory22:27
gmannmnaser: oh, i see you are updating the same file listed in project.yaml 'openstack/retired.config' got it22:28
mnasergmann: so one a project is retired, it's not read only, it's just with a different acl that only allows a certain group to push changes to it (in this case tc).. effectively keeping it 'retired' but easily ... 'unretireable'22:28
mnaseryep22:28
openstackgerritKendall Nelson proposed openstack/governance master: TC Guide Follow Ups  https://review.opendev.org/73765022:28
clarkbmostly retired22:28
fungijust git mv to gerrit/acls/retired.config and update all the references in projects.yaml in one change, then introduce a new gerrit/acls/openstack/retired.config in the next change and switch the openstack retired repos to that (or do it in the same change, though you don't get the reviewability of git mv)22:28
mnaserfungi: so in that case, non-openstack retired projects will remain readonly, correct?22:29
fungimnaser: right22:29
clarkbjeepyb/utils.py:    if entry.get('acl-config', '').endswith('/retired.config') <- we'll want to keep the / prefix if possible22:29
clarkbwhich maybe means opendev/retired.config would be better22:29
fungiwe only want to ultimately change the acl of openstack retired repos22:29
openstackgerritKendall Nelson proposed openstack/governance master: TC Guide Follow Ups  https://review.opendev.org/73765022:29
fungiclarkb: oh, good point, we don't put the full repo path in the projects.yaml22:30
fungiand good catch with jeepyb there22:30
*** markvoelker has quit IRC22:30
fungiotherwise we'd have to update it for a re.match() or something so we can cover the non-namespaced one22:31
fungiclarkb: actually we were doing acl-config: /home/gerrit2/acls/openstack/retired.config so not namespacing it would also have been fine22:37
fungibut putting it in opendev for now works too22:37
clarkbah22:37
*** tosky has quit IRC22:42
*** clarkb has quit IRC22:44
mnaserclarkb, fungi, gmann: https://review.opendev.org/#/c/737652/ https://review.opendev.org/#/c/737654/1 and https://review.opendev.org/#/c/737649/2 should be the kit.  the first two changes are pretty much noop and we can land them without much fallout.  the last one is the one that needs to be tested22:49
mnaserknikolla: we have gathered some feedback for you at https://review.opendev.org/#/c/722399/ :) perhaps when you're free you can take a shot at making the adjustments to your comments22:51
*** tkajinam has joined #openstack-tc22:53
*** clarkb has joined #openstack-tc22:58
*** jamesmcarthur has joined #openstack-tc23:04
*** jamesmcarthur has quit IRC23:07
*** markvoelker has joined #openstack-tc23:29
*** markvoelker has quit IRC23:34

Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!