Page MenuHomePhabricator

Request creation of logger-discord-bot VPS project
Closed, ResolvedPublic

Description

Project Name: logger-discord-bot

Developer account usernames of requestors: 0xDeadbeef

Purpose: To host the logger Discord bot for the Wikimedia community discord server.

Brief description: The official discord bot for logger is shutting down on April 5th 2024, and the Wikimedia Community discord server uses the logger bot for administration purposes. As it uses PostgreSQL, the most straightforward way of hosting it must be on VPS since toolforge doesn't support Postgres.

How soon you are hoping this can be fulfilled: Preferably this month to give me time to setup everything before logger shuts down.

Event Timeline

As it uses PostgreSQL, the most straightforward way of hosting it must be on VPS since toolforge doesn't support Postgres.

@fnegri Is it reasonably easy for a Toolforge tool to get a Trove database these days? I think I remember you working with some tools that are large users of ToolsDB to migrate to their own Trove instances. If that is possible it might be a nicer solution for this tool that taking on a full VPS project mostly to get a Postgres db.

@bd808 it's reasonably easy but it still involves creating a Cloud-VPS project. It can be created with quotas that only let you create a Trove database, but not instances or other resources.

I think so far we've done it only for a couple tools, but this one seems a good use case.

From https://wikitech.wikimedia.org/wiki/Help:Trove_database_user_guide#Key_concepts:

Toolforge tools that are approved to use Trove have a Cloud VPS project that exists only to provide their database instance.

@0xDeadbeef do you know how much space you need for the database?

A rough estimate I got from a person hosting the bot themselves is 1-2GB. So I suppose 2 or 3GB would suffice?

Looks like we're moving forward with Trove, and that would probably need to be associated with a tool on toolforge. I've pre-emptively created one at https://toolsadmin.wikimedia.org/tools/id/logger-discord-bot.

logger-discord-bot is a valid tool name in Toolforge, but for the Trove project dashes in the name are discouraged, would loggerdiscordbot without the dashes be ok? Otherwise feel free to suggest a different name. The Toolforge name and the Trove name can be different.

loggerdiscordbot is fine by me.

Mentioned in SAL (#wikimedia-cloud-feed) [2024-03-01T17:03:40Z] <fnegri@cloudcumin1001> START - Cookbook wmcs.vps.add_user_to_project for user 'dbeef' in role 'reader' (T358337)

Mentioned in SAL (#wikimedia-cloud-feed) [2024-03-01T17:04:20Z] <fnegri@cloudcumin1001> END (PASS) - Cookbook wmcs.vps.add_user_to_project (exit_code=0) for user 'dbeef' in role 'reader' (T358337)

fnegri claimed this task.

@bd808 I took your comment as an implicit approval for a Trove-only project.

@0xDeadbeef I created loggerdiscordbot, and set quotas to 0 for most things except for Trove databases. You can create up to 5 Database instances, for a maximum total of 5 GB of storage and 4GB of RAM. If you need more, let us know!

fnegri@cloudcontrol1005:~$ sudo wmcs-openstack database quota show loggerdiscordbot
+-----------+--------+----------+-------+
| Resource  | In Use | Reserved | Limit |
+-----------+--------+----------+-------+
| backups   |      0 |        0 |     2 |
| instances |      0 |        0 |     5 |
| ram       |      0 |        0 |  4096 |
| volumes   |      0 |        0 |     5 |
+-----------+--------+----------+-------+
fnegri@cloudcontrol1005:~$ sudo wmcs-openstack quota show loggerdiscordbot
+-----------------------+-------+
| Resource              | Limit |
+-----------------------+-------+
| cores                 |     0 |
| instances             |     0 |
| ram                   |     0 |
| volumes               |     0 |
| snapshots             |     0 |
| gigabytes             |     0 |
| backups               |    10 |
| volumes_high-iops     |    -1 |
| gigabytes_high-iops   |    -1 |
| snapshots_high-iops   |    -1 |
| volumes___DEFAULT__   |    -1 |
| gigabytes___DEFAULT__ |    -1 |
| snapshots___DEFAULT__ |    -1 |
| volumes_standard      |    -1 |
| gigabytes_standard    |    -1 |
| snapshots_standard    |    -1 |
| groups                |     4 |
| networks              |   100 |
| ports                 |   500 |
| rbac_policies         |    10 |
| routers               |    10 |
| subnets               |   100 |
| subnet_pools          |    -1 |
| fixed-ips             |    -1 |
| injected-file-size    | 10240 |
| injected-path-size    |   255 |
| injected-files        |     5 |
| key-pairs             |   100 |
| properties            |   128 |
| server-groups         |    10 |
| server-group-members  |    10 |
| floating-ips          |     0 |
| secgroup-rules        |   100 |
| secgroups             |    40 |
| backup-gigabytes      |  1000 |
| per-volume-gigabytes  |    -1 |
+-----------------------+-------+

Mentioned in SAL (#wikimedia-cloud-feed) [2024-03-01T17:19:14Z] <fnegri@cloudcumin1001> START - Cookbook wmcs.vps.add_user_to_project for user 'dbeef' in role 'member' (T358337)

Mentioned in SAL (#wikimedia-cloud-feed) [2024-03-01T17:19:19Z] <fnegri@cloudcumin1001> END (PASS) - Cookbook wmcs.vps.add_user_to_project (exit_code=0) for user 'dbeef' in role 'member' (T358337)

Mentioned in SAL (#wikimedia-cloud) [2024-03-04T14:56:32Z] <dhinus> delete project "loggerdiscordbot" in favor of new project "discordbots" T358337,T358427