Help:Cloud VPS project

From Wikitech

This page describes what a Cloud VPS project is, how to find and manage existing projects, and how to request new Cloud VPS projects.

About Cloud VPS projects

A Cloud VPS project is the basic unit of organization in the Cloud VPS OpenStack environment. The use of the term "project" comes from the upstream documentation of OpenStack. Each project has separate members and administrators who can create and maintain virtual machines ("instances") for use by that project. One project can have up to 8 instances.

In technical terms, a Cloud VPS project is:

  • A group of zero or more users
  • The owner of a 'quota' for the maximum amount of CPU, RAM, and disk storage that can be used to create virtual machine instances
  • The owner of virtual machine instances
  • The owner of other configuration related to virtual machine instances such as sudo rules, Puppet configuration, and DNS entries.

Find existing Cloud VPS projects

A list of all Cloud VPS projects is available at toolforge:openstack-browser/project/.

Request a new Cloud VPS project

Before you request a project

Before you request a new Cloud VPS project, read Help:Cloud Services Introduction to confirm which service is right for your needs. Depending on your workflow and available resources, Toolforge or data services may be a better choice.

A VPS project may be granted for any Wikimedia-related work that cannot be accomplished using other Cloud Services products. Cloud VPS instances go through a request and approval processes (see details below).

Because Cloud VPS projects are typically resource-intensive and pose some long-term security risks, all projects must have one or more active maintainers. Maintainers must:

Instances are not permanent and are reviewed periodically for potential deletion/removal.

File a new project request in Phabricator

If you have read the above requirements for projects and maintainers, and are ready to request a Cloud VPS Project, follow the instructions at the #Cloud-VPS (Project-requests) Phabricator project.

After you submit a ticket, Cloud Services administrators will review and reply to your request.

Reviews of Cloud VPS Project requests

The majority of project requests are approved, but if your request involves any of the following items, it may require further discussion:

Intentionally limiting membership to a closed group.
There are valid reasons for a project to limit participants (sensitive data stored/transmitted, infrastructure for larger initiatives, etc). Because Cloud VPS administrators prefer to dedicate resources to inclusive projects, projects that limit membership require additional scrutiny.
"Umbrella" projects with a broad scope, such as all the work to be done by an engineering team or a large problem space.
"Umbrella" projects with broad scopes are difficult to track over time because of organizational changes and lack of continuity in ownership.
"Laptop in the cloud" projects for a single individual to use as a personal development machine
Projects for use by single individuals raise a problem of fairness and inclusivity. The Cloud VPS environment does not have the resources[1] to accommodate these projects. The Hardware donation program or another Wikimedia grant program may provide an alternative.
Projects intended to build content wikis
These are generally not in scope for Cloud VPS, but there may be exceptions such as the Beta Cluster, where the content is a necessary side effect of testing at scale.
Projects that need more than the default quota and resources.
The default quota for a new project allows up to 8 instances. Large resource requests (for dozens of gigabytes of RAM, or hundreds of gigabytes of disk space) will receive extra scrutiny. New Cloud VPS projects that require more than the default quotas require further discussion. The Cloud VPS environment has limited resources, and these must be distributed fairly between users. See Help:Cloud_VPS_Instances#Increase_quotas_for_projects
"Emergency" requests are very unlikely to be granted without the normal review process.
Cloud VPS administrators do not accommodate emergency requests.

Manage a Cloud VPS project

The web interface at https://horizon.wikimedia.org/ is the main dashboard for managing Cloud VPS projects. To learn more about it, read the Horizon FAQ.

Join an existing project

  1. Choose a project to join with OpenStack browser.
  2. Request membership by creating a Phabricator task and assigning it directly to the project administrator(s). You can find the list of project admins by going to https://openstack-browser.toolforge.org/project/<project-name>.

Add members or viewers to a project

Project members can add new members and viewers via https://horizon.wikimedia.org/project/member/.

Add instances to a project

To learn more about project instances and how to add them, read the project instances documentation.

Log your actions

It is best practice to log changes to all instances of your project.

Wikimedia Cloud Services provides a Server Admin Log for users to log their project server administration actions on.

You can add a log entry in the #wikimedia-cloud connect channel on Libera Chat by sending a message like: !log <projectname> <message>

Communication and support

Support and administration of the WMCS resources is provided by the Wikimedia Foundation Cloud Services team and Wikimedia movement volunteers. Please reach out with questions and join the conversation:

Discuss and receive general support
Stay aware of critical changes and plans
Track work tasks and report bugs

Use a subproject of the #Cloud-Services Phabricator project to track confirmed bug reports and feature requests about the Cloud Services infrastructure itself

Read stories and WMCS blog posts

Read the Cloud Services Blog (for the broader Wikimedia movement, see the Wikimedia Technical Blog)

  1. Allow volunteer developers to create MediaWiki development environments in CloudVPS