Page MenuHomePhabricator

Rename and update Cloud Services Phabricator projects
Closed, ResolvedPublic

Description

Rename

fromtosub-project ofstatus
labsCloud-Services{{done}}
labs-infrastructureCloud-VPScloud-services{{done}}
tool-labsToolforgecloud-services{{done}}
tool-labs-tools-otherToolscloud-services{{done}}
tool-labs-tools-*tool-*tools{{done}}
labs-project-otherVPS-Projectscloud-services{{done}}
labs-project-*vps-project-*vps-projects{{done}}

Create

Update

Archive

Implementation notes

  • Making existing top level projects into sub-projects requires manipulation of the Phabricator database. @mmodell has said previously on irc that this is not a highly difficult operation.
  • Sub-projects do not currently appear on the parent project's workboard. This is the topic of T11036 upstream and will probably be fixed someday when they get to it. If this is a really big deal we could look into how much they would want to implement the feature out of priority order. For now I don't think it is a big deal because the sub-project tasks will still show on a search for the parent project tag.
  • Because of the introduction of parent-child relationships we will be able to remove {H28}

Open questions

  • Should LabsDB-Auditor be renamed and placed somewhere in this hierarchy?
    • Answer: No, this project is not currently used in the Foundation production network, so putting it under the Cloud-Services umbrella project would be confusing more than anything else.

Finished hierarchy

  • cloud-services
    • data-services
    • toolforge
    • tools
      • tool-anagrimes
      • ...
      • tool-zppixbot
    • vps
    • vps-projects
      • vps-project-community-labs-monitoring
      • ...
      • vps-project-wikiapiary

See also

Event Timeline

@Aklapper I would love to have a sanity check from you on this plan before I start implementing the changes.

Aklapper moved this task from Incoming to Projects to change / set on the Project-Admins board.

I have no idea what VPS stands for, but apart from that this looks very well-thought. Thanks!

Good & interesting idea to use the top level of the sub-projects as the "catch-all" for Tool Labs projects and Labs projects which do not have dedicated (sub)projects!

Happy to see subprojects as that would also clear the open question of a naming / prefix scheme for projects in Phabricator has been brought up before for #Labs-project-* and in https://phabricator.wikimedia.org/T144111#2991299 ; https://phabricator.wikimedia.org/T144111 is also bit related.
Due to our permissive naming so far there are also a bunch of Phab projects that are Labs projects or Tool Labs projects but their primary Phab project name does not have a prefix to imply that. If I created them I normally set the secondary hashtag to have a prefix; see this query for what is there to check at the stage of creating subsubprojects and moving associated tasks. Yeah, messy. :( I'm happy to help.

Wondering a bit if "tool(s)" should become "tool(s)-project(s)" similar to vps-project(s) for consistency, or if that's too confusing/misleading. I'm neutral on that.

I have no idea what VPS stands for, but apart from that this looks very well-thought. Thanks!

Good & interesting idea to use the top level of the sub-projects as the "catch-all" for Tool Labs projects and Labs projects which do not have dedicated (sub)projects!

Happy to see subprojects as that would also clear the open question of a naming / prefix scheme for projects in Phabricator has been brought up before for #Labs-project-* and in https://phabricator.wikimedia.org/T144111#2991299 ; https://phabricator.wikimedia.org/T144111 is also bit related.
Due to our permissive naming so far there are also a bunch of Phab projects that are Labs projects or Tool Labs projects but their primary Phab project name does not have a prefix to imply that. If I created them I normally set the secondary hashtag to have a prefix; see this query for what is there to check at the stage of creating subsubprojects and moving associated tasks. Yeah, messy. :( I'm happy to help.

Wondering a bit if "tool(s)" should become "tool(s)-project(s)" similar to vps-project(s) for consistency, or if that's too confusing/misleading. I'm neutral on that.

VPS = Virtual Private server

@Zppix: Thanks! (For future reference, could you please strip unneeded quotes and avoid quoting a complete comment if quoting one line is sufficient, for readability? :)

Wondering a bit if "tool(s)" should become "tool(s)-project(s)" similar to vps-project(s) for consistency, or if that's too confusing/misleading. I'm neutral on that.

If we went with naming to match vps-projects the convention should probably be toolforge-projects and toolforge-project-*. One downside of this is that it doesn't give an obvious place for tools that are hosted outside of Toolforge, but upon examination neither does tools as a subproject of cloud-services in the most strict sense. I hope that confusion between "tool(s)" as noun and the Toolforge hosting platform decreases as time goes on, but it is always hard to guess how popular usage will turn out.

@mmodell has said previously on irc that this is not a highly difficult operation.

Indeed, once this is settled I can help with moving projects to subprojects and whatnot. It's slightly tedious but not terribly difficult.

I went ahead and renamed ZppixBot to match new standards proposed in this task.

@mmodell has said previously on irc that this is not a highly difficult operation.

Indeed, once this is settled I can help with moving projects to subprojects and whatnot. It's slightly tedious but not terribly difficult.

@mmodell I have started renaming and now have some projects ready to be converted to sub-projects:

Is this something I can help you with either directly or by writing some cli tool to help do the work? When we start moving all of the existing tool-labs-tools-* and labs-project-* projects to be sub-projects there will be quite a few so a bit of investment in tooling may be appropriate if the work is more than running a couple of SQL commands per project.

@bd808 I've already got a crude cli tool to do it.

The CLI tool takes project names or phids as arguments so it's just a matter of feeding the info one relationship at a time. This could probably be improved by making the tool accept a simple json data structure and applying an entire hierarchy at once.

Searching for the labs project dosent bring up any searches any more. Isent that what the hashtag is meant to fix?

Wonder why it dosent work

It didn’t bring up https://phabricator.wikimedia.org/project/manage/832/

I've just done the list above with this bunch of shell commands:

/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Cloud-Services --child Tools
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Cloud-Services --child VPS-Projects
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Cloud-Services --child Cloud-VPS
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Cloud-Services --child Toolforge
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Cloud-VPS --child Horizon
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Toolforge --child Striker

@Paladox we might need to reindex for search to catch up after these changes.

Ah ok. Thanks.

I’ve added Cloud-Services to it and search for that brings it up so that’s strange.

Change 363287 had a related patch set uploaded (by BryanDavis; owner: Bryan Davis):
[labs/tools/wikibugs2@master] Wikimedia-cloud: Adjust for renamed tags

https://gerrit.wikimedia.org/r/363287

Change 363287 merged by jenkins-bot:
[labs/tools/wikibugs2@master] Wikimedia-cloud: Adjust for renamed tags

https://gerrit.wikimedia.org/r/363287

Herald edited projects, added Cloud-Services; removed Toolforge. · View Herald Transcript

H28 should be altered?

Herald edited projects, added Cloud-Services; removed Toolforge. · View Herald Transcript

H28 should be altered?

I've archived it. Now that the sub-project hierarchy is setup these tags become mutually exclusive. LabsDB-Auditor and wikitech.wikimedia.org still need to be updated to be sub-projects. They weren't on the last list I created. I'll be making a new list soon.

Trying to provide a list of tools in Toolforge (née Tool Labs) using Phab for task tracking, which are supposed to become subprojects of Tools if I get it right:

Thanks @Aklapper. I've been slacking on this and haven't done the renames yet. I'll post a list in the style that was used in T167244#3403098 when I have and hopefully it will just be cut-n-paste for @mmodell to run his fixing script.

@mmodell: I've done a big batch of renaming and have these projects ready to be re-parented:

/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Cloud-Services --child wikitech.wikimedia.org

/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Tools --child CopyPatrol
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Tools --child crosswatch
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Tools --child glam2commons
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Tools --child media-reports-tool
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Tools --child Monumental
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Tools --child OABot
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Tools --child Pywikibot-catfiles
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Tools --child QuarryBot-enwiki
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Tools --child stashbot
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Tools --child suggestor
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Tools --child video2commons

/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Tools --child Tool-lists
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Tools --child "Tool-Matthewrbowker's-tools"
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Tools --child Tool-meetbot
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Tools --child Tool-nlwikibots
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Tools --child Tool-Pageviews
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Tools --child Tool-Phabricator-bug-status
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Tools --child "Tool-Quentinv57's-tools"
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Tools --child Tool-stewardbots
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Tools --child Tool-TaxonBot
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Tools --child tool-tsreports
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Tools --child Tool-Wikidata-Periodic-Table
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Tools --child Tool-wikiloves
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Tools --child Tool-WMT-bots
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Tools --child Tool-Zppixbot
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Tools --child Tool-Global-user-contributions
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Tools --child Tool-anagrimes
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Tools --child Tool-Article-request
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Tools --child Tool-Attribution-Generator
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Tools --child Tool-Database-Queries
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Tools --child Tool-DrTrigonBot---General
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Tools --child Tool-DrTrigonBot---subster
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Tools --child Tool-DrTrigonBot---web-tool-scripts
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Tools --child "Tool-Erwin's-tools"
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Tools --child Tool-fatameh
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent Tools --child Tool-Gerrit-Patch-Uploader

/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent VPS-Projects --child VPS-project-XTools
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent VPS-Projects --child VPS-project-Extdist
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent VPS-Projects --child VPS-project-icinga2
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent VPS-Projects --child VPS-project-Librarybase
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent VPS-Projects --child VPS-project-Phabricator
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent VPS-Projects --child VPS-project-Wikipedia-Requests
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent VPS-Projects --child VPS-project-Wikistats
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent VPS-Projects --child Library-Card-Platform
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent VPS-Projects --child WikiApiary
/home/twentyafterfour/move_beneath.php --subproject --keep-members both --parent VPS-Projects --child community-labs-monitoring

@bd808: Done.

One of them didn't work though:

The selected child project already has subprojects or milestones of its own. This script can not move entire trees of projects. at [/home/twentyafterfour/move_beneath.php:109

I think the error was for the 20th line of the script, Tool-stewardbots

https://phabricator.wikimedia.org/project/subprojects/1821/ both are archived and have no tasks; feel free to delete them as those were an unsuccessful experiment at organizing our workboard.

Even after removing the two subprojects it still refuses. I guess I'll have to do some manual fiddling with the database.

Bask in the glory of https://phabricator.wikimedia.org/project/subprojects/703/. We have hierarchy again that was lost in the Bugzilla migration.

@bd808 Do we plan to migrate/change repository names on Phabricator, Gerrit and GitHub as well? For example rTSTW tool-stewardbots // labs/tools/stewardbots on Gerrit.

It shouldn't be too difficult to rename them in phabricator while retaining the old git urls for backward compatibility.

@bd808 Do we plan to migrate/change repository names on Phabricator, Gerrit and GitHub as well? For example rTSTW tool-stewardbots // labs/tools/stewardbots on Gerrit.

Renaming a repository in Gerrit is not easy as far as I know. I think that historically "renames" there have been accomplished by creating a new repository and abandoning the old one. Renaming in Phabricator may be easier/less disruptive if really desired by the repo owner. I won't oppose any repository owner that wants to request such renames, but I will not be attempting to promote that type of change. Broadly I am not concerned about gerrit repo names contributing to the "Labs labs labs" problem which is the major focus of this renaming work.

I don't mind its current naming, it was just a question of whether it was planned to rename them to r-tool-stewardbots as Striker is doing now. Since our Phab repo is just a mirror from the Gerrit one, I am also not much concerned.

Declaring victory here. If we find more phab things to fix up for the renaming effort we can create new tasks.