Page MenuHomePhabricator

Undeploy ApiFeatureUsage extension from WMF production infrastructure
Closed, DeclinedPublic

Description

As announced to wikitech-l on May 5th, ApiFeatureUsage is to be undeployed from WMF production.

The API Feature Usage extension, which is not owned by the Search team, is currently implemented in a complicated and brittle way that depends on Elasticsearch, which is maintained by the Search team.

We are currently updating our Elasticsearch version, and the continued maintenance of this infrequently used extension is causing development drag on the team’s work. As such, we will be sunsetting this extension in the coming couple of months as we continue our Elasticsearch upgrade.

Our goal is to remove the dependency of this extension on Elasticsearch in order to reduce the accumulating maintenance costs and development drag on the overburdened Search team — we are agnostic to the future of this extension. If it is an extension that you think is useful and would like to continue to support and develop, we think it’d be great if you wanted to own it and update it to no longer have the brittle Elasticsearch dependency!

If you think this change will significantly affect you and you have questions, please reach out to the Search team. Thanks!

The following all need to be done as part of decomissioning. While they are approximately in order this is not well-defined yet

  • Stop loading ApiFeatureUsage from operations/mediawiki-config
  • Stop branching ApiFeatureUsage in tools/release
  • Undeploy logstash pipelines supporting ApiFeatureUsage (carefully, the underlying logging channel should still write to logstash clusters)
  • Decomission apifeatureusage[12]001 (maybe, verify they are not needed for writing to logstash clusters)
  • Drop existing apifeatureusage indexes from cirrus elasticsearch clusters
  • Cleanup puppet references to ApiFeatureUsage
  • Review beta cluster and undeploy as necessary

AC:

  • apifeatureusage indices are no longer created/populated/managed in the cirrus elasticsearch clusters
  • ApiBase::logFeatureUsage still works and writes logs to the logstash elasticsearch clusters. This mostly means the data doesn't become completely inaccessible, but it will not be publicly queryable.

Follows-Up: T301724: Sunset ApiFeatureUsage, T302638: Sunset ApiFeatureUsage (TDMP).

User-notice ApiFeatureUsage will be undeployed indefinitely from WMF production to move forward with the Elasticsearch 7.10 upgrade.

Event Timeline

Change 814870 had a related patch set uploaded (by Ebernhardson; author: Ebernhardson):

[operations/mediawiki-config@master] Turn off ApiFeatureUsage extension

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

Change 814871 had a related patch set uploaded (by Ebernhardson; author: Ebernhardson):

[operations/mediawiki-config@master] Remove references to ApiFeatureUsage

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

Change 814872 had a related patch set uploaded (by Ebernhardson; author: Ebernhardson):

[mediawiki/tools/release@master] Stop weekly release branching ApiFeatureUsage

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

Change 814873 had a related patch set uploaded (by Ebernhardson; author: Ebernhardson):

[operations/mediawiki-config@master] Remove unused wmgUseApiFeatureUsage config var

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

Change 814870 abandoned by Ebernhardson:

[operations/mediawiki-config@master] Turn off ApiFeatureUsage extension

Reason:

Instead of deploying a patch to turn this variable off followed by a patch to remove the variable entirely, deploy a patch removing the functionality this variable enables. Allows to do two deploys instead of three.

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

Change 814885 had a related patch set uploaded (by Amire80; author: Amire80):

[translatewiki@master] [ApiFeatureUsage] Move to Legacy

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

Change 814885 merged by jenkins-bot:

[translatewiki@master] [ApiFeatureUsage] Move to Legacy

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

The undeployment process is being put on hold for at least one week.

Change 814872 abandoned by Ebernhardson:

[mediawiki/tools/release@master] Stop weekly release branching ApiFeatureUsage

Reason:

ApiFeatureUsage will be migrated to elastic 7 rather than undeployed

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

Change 814873 abandoned by Ebernhardson:

[operations/mediawiki-config@master] Remove i18n and IS references to ApiFeatureUsage

Reason:

ApiFeatureUsage will be migrated to elastic 7 rather than undeployed

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

The decision has been made to migrate ApiFeatureUsage to elastic 7 with the rest of the stack. That migration will be tracked in T313434

Change 815984 had a related patch set uploaded (by Ebernhardson; author: Ebernhardson):

[translatewiki@master] Revert "[ApiFeatureUsage] Move to Legacy"

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

Change 815984 merged by jenkins-bot:

[translatewiki@master] Revert "[ApiFeatureUsage] Move to Legacy"

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

Change 814871 abandoned by Ebernhardson:

[operations/mediawiki-config@master] Remove references to ApiFeatureUsage

Reason:

ApiFeatureUsage is no longer being undeployed

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