Page MenuHomePhabricator

Request creation of mdwiki-offline VPS project
Closed, ResolvedPublic

Description

Project Name: mdwiki-offline

Developer account usernames of requestors: Harej, @Tim-moody

Purpose: Caches articles from MDWiki for use in ZIM generation

Brief description: Used in the process of generating ZIM files for Kiwix for offline access to medical content. We are requesting a quota of 4 CPUs, 8 GB RAM, 80 GB storage.

How soon you are hoping this can be fulfilled: no specific deadline but sooner is better

Event Timeline

I am not sure it is proper to use cloud VPS to support a non-WMF project. It also hosts a Commons-like site for NC/ND files which do not meet https://foundation.wikimedia.org/wiki/Resolution:Licensing_policy.

Giving support to non-WMF projects is perfectly fine, as long as they benefit the Wikimedia movement (https://meta.wikimedia.org/wiki/Wikimedia_movement).

The licensing can be problematic though, @Harej can you clarify/elaborate on the licenses you use and meet the criteria here? https://wikitech.wikimedia.org/wiki/Wikitech:Cloud_Services_Terms_of_use#4.4_Proprietary_content

Thanks!

In general no media will be stored on this WMCS instance, and any content stored will be CC BY or CC BY-SA 4.0.

Have you considered using Toolforge instead?

I don't think this fits the usual pattern for Toolforge. First, it is not a service that would only get spun up from time to time; it must be perpetually on as Kiwix makes on demand requests at any time at which point there will be hundreds of thousands of requests. Second, I don't think it can use any of the prebuilt containers, so building a custom container will make implementation considerably more complex and error prone than implementing on a VPS.

Hi @Tim-moody!

It's perfectly fine if you prefer using a CloudVPS project, we are just trying to find the best option for you :)

Toolforge is able to host web services that are continuously running too, with quite a good deal of traffic (you can quotas higher than the default if needed). It's monitored 24/7 too (with the same service as CloudVPS) for major incidents, so you can consider it similarly stable.

About custom containers, in the last few months we have introduced the build service, that allows you to create your own image (using buildpacks, so not everything is possible, but a lot is). Have you had a look at it?

In any case, we would love to hear more about your use case if you want to share more information, as that would help us improve our offering and adapt it to what the users need. If you have some source code/documentation or similar that would help a lot too.

Thanks!

I admit that familiarity makes me inclined towards VPS. I have used docker containers from others, but not built anything serious. I noted the build service, but didn't investigate much. The summary description of Toolforge mentioned web services, but emphasized static content. It also mentioned redis for storage, whereas I use sqlite. I assume sqlite could be incorporated into a custom image. It also needs file storage. This is a python app invoked by uwsgi under nginx, which looks possible in Toolforge, but I don't know if there are devils in the details. I also expect I have more flexibility in exposing the service endpoint name with VPS.

I don't know what I would need to get a Toolforge account in order to experiment. I guess this project would be created as a tool, and I would be a member. I worry about the learning curve. I'd be interested in learning more, but for this project I really prefer VPS.

bd808 added a project: cloud-services-team.
bd808 subscribed.

Discussed in 2024-02-29 WMCS meeting. Consensus is +1 for a VPS for this project.

I think we are close to a future with better persistent storage systems for Toolforge, but right now those options are awkward for everyone. Having zim file generation and distribution on Toolforge's shared NFS would likely disadvantage everyone as well. A separate project isolates the disk IO needs from other tenants (as much as is possible in our Ceph backed world).

Mentioned in SAL (#wikimedia-cloud-feed) [2024-03-01T17:16:50Z] <fnegri@cloudcumin1001> END (PASS) - Cookbook wmcs.vps.create_project (exit_code=0) for project mdwikioffline in eqiad1 (T358023)

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

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

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

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

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

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

fnegri claimed this task.
fnegri subscribed.

Dashes in the project name are discouraged.

@Tim-moody I created the project as mdwikioffline with the quotas you requested, and added both you and Harej as members.

Please make sure to subscribe to the cloud-announce mailing list where we send important updates to Cloud VPS users.