Project

General

Profile

Actions

Feature #15397

open

Declutter the API

Added by Peter Amstutz almost 5 years ago. Updated 6 days ago.

Status:
In Progress
Priority:
Normal
Assigned To:
Category:
API
Story points:
3.0
Release:
Release relationship:
Auto

Description

There are several legacy tables "humans" "specimens" and "traits". These were added extremely early on with the best intentions of supporting the PGP use case but as far as I know they have never used for their intended purpose. They should be deprecated and removed to de-clutter the API.

  1. Announce deprecation/removal in future version (already done)
  2. A few integration tests use these APIs because they are generic resources with no business logic. These tests need to be updated to use a different resource or otherwise perform test a different way.
  3. Delete models, controllers, tests, and routes from API server
  4. Delete from documentation

These should not appear in the discovery document or the auto-generated python docs. The auto-generated SDKs (e.g. the R SDK) should also be updated.

We are also dropping the hosting git repository support (the "repositories" table). This means we can delete arvados/services/githttpd.

We would also like to remove and stop publishing anything related to the jobs API, e.g. "jobs" and "job_tasks", "pipeline_instances", "pipeline_templates", "nodes".

We should also get rid of the "keep_disks" table.

We should remove some unused fields from "api_client_authorization" response: default_owner_uuid, api_client_id, user_id (the _id fields may need to remain internally but should not be published by the API because they are not usable with any other API calls).

We should remove redundant resource methods from the Discovery Document (the Python and R autogenerated APIs already filter these out, so they are undocumented and nobody should be using them):

  • "show" (synonym for "get")
  • "index" (synonym for "list")
  • "destroy" (synonym for "delete")

There's a "Managed" section under SLURM that has options related to the obsolete slurm-on-cloud configuration.

Another thing to get rid of: support for legacy component-specific config files.

Config options to remove:

Mail.IssueReporterEmailFrom, Mail.IssueReporterEmailTo -- only used by Workbench1 mailers

Mail.EmailFrom -- also only used by Workbench1 mailers

Mail.MailchimpAPIKey, Mail.MailchimpListID -- seem to be tied to a long lost arvados-mailchimp-plugin that we don't use and can't locate

If we delete all of these, the only option left is "SendUserSetupNotificationEmail" which should really migrate to the "Users" section where all the actually-in-use user notification mail options are located.


Subtasks 1 (1 open0 closed)

Task #21683: ReviewNewPeter AmstutzActions

Related issues

Related to Arvados - Bug #10346: On the API docs (http://doc.arvados.org/api/), rearrange documentation so metadata features (humans, traits, specimens) do not distract/confuse peopleResolvedPeter Amstutz10/25/2016Actions
Related to Arvados - Idea #15880: Remove hosted git serviceNewActions
Related to Arvados Epics - Idea #20344: Arvados 3.0New08/01/202306/30/2024Actions
Related to Arvados - Idea #20951: Document deprecated api_client_authorization fieldsResolvedPeter AmstutzActions
Related to Arvados - Feature #19929: Improve documentation in the discovery documentNewBrett SmithActions
Related to Arvados - Feature #21226: Fix or remove tests that use deprecated APIsDuplicateTom CleggActions
Related to Arvados - Bug #21416: Document mail-releated configuration optionsResolvedPeter AmstutzActions
Blocked by Arvados - Support #20840: Update documentation to make it clear certain APIs are deprecatedResolvedPeter Amstutz09/03/2023Actions
Blocks Arvados - Feature #21666: provision.sh uses arvados-client diagnostics instead of run-test.shIn ProgressLucas Di PentimaActions
Actions

Also available in: Atom PDF