The current process to disable a tool stores state information in plaintext files in the tool's NFS home directory. This is not ideal as it constitutes an unnecessary dependency for NFS which we don't really need, and it could be replaced with some database instead.
Description
Details
Status | Subtype | Assigned | Task | ||
---|---|---|---|---|---|
Resolved | bd808 | T133777 Tools that should get archived/deleted (tracking) | |||
Resolved | Andrew | T170355 Figure out process for deleting an unused tool | |||
In Progress | Andrew | T332514 Store state information for the disable tool process outside NFS | |||
Open | taavi | T334629 Update maintain_kubeusers to use the toolstate database | |||
Resolved | dcaro | T334585 [cookbooks.wmcs.toolforge.component.deploy] Add secrets support when deploying | |||
Resolved | dcaro | T304532 buildservice: migrate to helmfile from of kustomize |
Event Timeline
At the time I used NFS because it was reachable from both inside and outside the VM realm. Now it is only inside the VM realm so it doesn't really work for state tracking anyway.
@taavi do you have an opinion about where that database is hosted? It's easiest to do in toolsdb (where I assume there's already a fair bit of meta-tool tracking already.)
It's easiest to do in toolsdb (where I assume there's already a fair bit of meta-tool tracking already.)
The tracking for maintain-dbusers is actually in the labsdbaccounts database on the m5 cluster.
Change 907982 had a related patch set uploaded (by Andrew Bogott; author: Andrew Bogott):
[labs/private@master] Added fake profile::toolforge::disable_tool::disable_tool_db_password
Change 907982 merged by Andrew Bogott:
[labs/private@master] Added fake profile::toolforge::disable_tool::disable_tool_db_password
Change 907983 had a related patch set uploaded (by Andrew Bogott; author: Andrew Bogott):
[operations/puppet@production] Add database config for disable_tool process
Change 907995 had a related patch set uploaded (by Andrew Bogott; author: Andrew Bogott):
[cloud/toolforge/disable-tool@master] Replace flag files with entries in a database
Change 907983 merged by Andrew Bogott:
[operations/puppet@production] Add database config for disable_tool process
Change 908317 had a related patch set uploaded (by Andrew Bogott; author: Andrew Bogott):
[operations/puppet@production] profile::toolforge::disable_tool: fix a couple of param names
Change 908317 merged by Andrew Bogott:
[operations/puppet@production] profile::toolforge::disable_tool: fix a couple of param names
Change 908319 had a related patch set uploaded (by Andrew Bogott; author: Andrew Bogott):
[operations/puppet@production] profile::toolforge::disable_tool: include python3-pymysql
Change 908319 merged by Andrew Bogott:
[operations/puppet@production] profile::toolforge::disable_tool: include python3-pymysql
Change 907995 merged by jenkins-bot:
[cloud/toolforge/disable-tool@master] Replace flag files with entries in a database
Change 908324 had a related patch set uploaded (by Andrew Bogott; author: Andrew Bogott):
[cloud/toolforge/disable-tool@master] set_step_complete: commit before closing db connection
Change 908324 merged by jenkins-bot:
[cloud/toolforge/disable-tool@master] set_step_complete: commit before closing db connection
Change 908342 had a related patch set uploaded (by Andrew Bogott; author: Andrew Bogott):
[cloud/toolforge/disable-tool@master] get_step_complete: fix dereference of rows
Change 908342 merged by jenkins-bot:
[cloud/toolforge/disable-tool@master] get_step_complete: fix dereference of rows
Change 908586 had a related patch set uploaded (by Andrew Bogott; author: Andrew Bogott):
[cloud/toolforge/disable-tool@master] Go back to using the nfs state file to ensure that k8s is disabled
Change 908586 merged by jenkins-bot:
[cloud/toolforge/disable-tool@master] Go back to using the nfs state file to ensure that k8s is disabled