Page MenuHomePhabricator

Manage shared tool accounts via Striker
Closed, ResolvedPublic

Description

The current interfaces for creating a new tool and managing the maintainer list are about as bare bones as they could possibly be. We can do better.

Problems with tool creation:

  • "What's a service group? I thought I was making a tool?"
  • No ajax check for tool name availability
  • Generic "Failed to create service group." error message for all errors including name collision
  • No metadata about the tool's intended purpose and implementation collected
  • No ability to add additional maintainers at tool creation time

What might be better:

  • Collect metadata about the tool at time of creation:
    • name (make sure that it is obvious that this will be part of the URL for any webservices)
    • type (webservice, bot, both, ???)
    • description (For showing on interfaces like https://tools.wmflabs.org/hay/directory/. Not a replacement for a wiki page.)
    • default software license (should be required)
    • primary implementation language
    • keywords
    • co-maintainers
    • ...
  • Use terminology that is consistent with the documentation and expectations and not necessarily the implementation (i.e. never, ever say "service group")
  • Descriptive error messages
  • Form validation both client and server side
  • Similar interfaces for editing metadata for existing tools
  • Allow public editing of the keywords and possibly the description
    • public edits should be logged and easily revertible

The collected metadata should be stored somewhere that is accessible outside of Striker to allow others to experiment with different interfaces for searching. Ideally this exposed storage would be in Elasticsearch which provides a lot of features for filtering and other aggregate operations.

Details

Related Gerrit Patches:
labs/striker/deploy : masterTool account creation and more
labs/striker/staticfiles : masterUpdate static assets
labs/striker/wheels : masterAdd new wheels
labs/striker : masterFix author tracking for toolinfo create/edit
labs/striker : masterChange ToolInfo authors to list of strings
labs/striker : masterManage tool maintainers
labs/striker : masterCreate new tools
labs/striker : masterExpose all toolinfo data for indexing
labs/striker : masterAdd support for "tagging" toolinfo records
labs/striker : masterAdd toolinfo.json style data
mediawiki/vagrant : masterstriker: sudo schema support

Related Objects

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald TranscriptOct 28 2016, 10:38 PM
bd808 moved this task from Backlog to Ready on the Striker board.Apr 27 2017, 3:34 AM

Note: per T86668: Make all ldap users have a sane shell (/bin/bash) the loginShell attribute of newly created posixAccount records should be a valid shell and not /usr/local/bin/sillyshell

Change 353909 had a related patch set uploaded (by BryanDavis; owner: Bryan Davis):
[labs/striker@master] Add toolinfo.json style data

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

bd808 triaged this task as Normal priority.Jun 11 2017, 2:32 AM
bd808 moved this task from Backlog to Q1 on the cloud-services-team (FY2017-18) board.

Change 358505 had a related patch set uploaded (by BryanDavis; owner: Bryan Davis):
[labs/striker@master] Add support for "tagging" toolinfo records

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

Change 358506 had a related patch set uploaded (by BryanDavis; owner: Bryan Davis):
[labs/striker@master] Expose all toolinfo data for indexing

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

Change 361272 had a related patch set uploaded (by BryanDavis; owner: Bryan Davis):
[mediawiki/vagrant@master] striker: sudo schema support

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

Change 361272 merged by jenkins-bot:
[mediawiki/vagrant@master] striker: sudo schema support

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

bd808 claimed this task.Jul 3 2017, 8:36 PM
Restricted Application added a project: User-bd808. · View Herald TranscriptJul 3 2017, 8:36 PM

Change 364133 had a related patch set uploaded (by BryanDavis; owner: Bryan Davis):
[labs/striker@master] Create new tools

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

Change 364135 had a related patch set uploaded (by BryanDavis; owner: Bryan Davis):
[labs/striker@master] Manage tool maintainers

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

Change 364360 had a related patch set uploaded (by BryanDavis; owner: Bryan Davis):
[labs/striker/staticfiles@master] [WIP] Manage shared tool accounts

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

Change 370134 had a related patch set uploaded (by BryanDavis; owner: Bryan Davis):
[labs/striker@master] Change ToolInfo authors to list of strings

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

Change 370139 had a related patch set uploaded (by BryanDavis; owner: Bryan Davis):
[labs/striker/deploy@master] [WIP] DDL changes for tool account management

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

Change 371036 had a related patch set uploaded (by BryanDavis; owner: Bryan Davis):
[labs/striker/wheels@master] Add new wheels

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

Change 371504 had a related patch set uploaded (by BryanDavis; owner: Bryan Davis):
[labs/striker@master] Fix author tracking for toolinfo create/edit

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

Change 353909 merged by jenkins-bot:
[labs/striker@master] Add toolinfo.json style data

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

Change 358505 merged by jenkins-bot:
[labs/striker@master] Add support for "tagging" toolinfo records

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

Change 358506 merged by jenkins-bot:
[labs/striker@master] Expose all toolinfo data for indexing

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

Change 364133 merged by jenkins-bot:
[labs/striker@master] Create new tools

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

Change 364135 merged by jenkins-bot:
[labs/striker@master] Manage tool maintainers

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

Change 370134 merged by BryanDavis:
[labs/striker@master] Change ToolInfo authors to list of strings

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

Change 371504 merged by BryanDavis:
[labs/striker@master] Fix author tracking for toolinfo create/edit

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

Change 371036 merged by jenkins-bot:
[labs/striker/wheels@master] Add new wheels

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

Change 364360 merged by jenkins-bot:
[labs/striker/staticfiles@master] Update static assets

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

Change 370139 merged by jenkins-bot:
[labs/striker/deploy@master] Tool account creation and more

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

Stashbot added a subscriber: Stashbot.

Mentioned in SAL (#wikimedia-operations) [2017-08-23T16:23:46Z] <bd808@tin> Started deploy [striker/deploy@2f2dd7c]: Deploying 2f2dd7c "Tool account creation and more" (T128400, T149458, T159044, T164847, T167931, T168480, T173845)

Code is live. Remaining work is to document the functionality and promote it on wikitech + tech blog/mailing list.

Mentioned in SAL (#wikimedia-cloud) [2017-09-01T14:48:34Z] <bd808> Deployed 4cab928 (Link to Striker for tool creation) T149458

bd808 closed this task as Resolved.Sep 1 2017, 2:49 PM
bd808 moved this task from Doing to Done on the cloud-services-team (Kanban) board.
bd808 moved this task from Doing to Done on the Striker board.Sep 5 2017, 11:54 PM