User:SRodlund/Cloud VPS Instances (Staging)

From Wikitech
This page is in the process of being improved: https://phabricator.wikimedia.org/T233765

This page contains information how to set up a Cloud VPS instance.

What is a Cloud VPS instance?

An instance is a virtual machine (VM). Every instance belongs to a Cloud VPS project.

Difference between an Cloud VPS project and an instance

  • A Cloud VPS project can be defined as the group of users and resources (like instances, security groups, floating IPs, Puppet groups, etc.) associated with a piece of software hosted on Cloud VPS.
  • An instance is just one resource that a Cloud VPS project might use.

Why create an Cloud VPS instance?

Cloud VPS is a flexible option for those who need it. It is equivalent to having your own server(s).

Before requesting a Cloud VPS instance, we recommend you consider using Toolforge instead of. Toolforge has many of the same features as Cloud VPS, and Toolforge users do not have to manage the full virtual environment. Toolforge users can apply Puppet roles to instances via the Horizon WebUI; Toolforge users also have access to toolsdb, wiki replicas, and a number of other services.

See Cloud VPS vs Toolforge to help decide which service is right for you.

Who can create a Cloud VPS instance?

Project admins. You must be a Project Admin in a project to create and manage its instances.

What are the responsibilities of project admins?

Project admins must subscribe to the cloud-announce and cloud mailing lists and follow the maintenance or communication actions requested by the WMCS Admins. Failure to respond may result in unexpected loss of data or service interruptions.

Project admins should delete unused instances and notify other admins when a project is no longer active. See Cloud VPS lifecycle for more details.

Requesting project admin rights

To create instances, individuals must have project admin rights on the specific project they want to have instances created for. The following people can grant project admin rights:

  • Project admins. Project admins can grant project admin rights on projects they belong to. You can find project administrators listed on the individual pages for their projects.
  • Members of the cloudadmin group. Cloudadmin group members with two-factor authorization enabled can grant project admin rights on any project.

Contacting admins
Project admins and members of the cloudadmin group can be contacted through the 'email a user' function or through their talk page on Wikitech. Please note: Many members of the Wikitech community are volunteers who may not check their email or talk pages regularly. You may need to check with more than one admin before you receive a response.

Project access rights
Learn more about project access rights.

Before you create a Cloud VPS instance

  • Be a project admin in the project you intend to create an instance for.
  • Make sure your project has an appropriate security group for the instance's networking needs.
  • Be aware of your project's quotas (usage limits).
  • Understand the Cloud VPS instance lifecycle.

Create a Cloud VPS instance

  1. Log in to https://horizon.wikimedia.org/.
  2. Use the dropdown at top to select the project you want to work on.
  3. Click Instances in the sidebar.
  4. Click the Launch instance button.
  5. Choose the parameters you want and launch the instance.
  6. Add instance information
  7. Click Submit
  8. ⭐Voila!⭐

Instance information

Add the following information to your instance:

Information type Action
Instance name The name of your instance will also be its hostname. Name your instance using the following format project-instance, e.g, the project name is myproject; the instance is coolbot; the instance name is myproject-coolbot
Instance type Contains a range of possible instance types indicating RAM, number of CPUs, and Hard Drive space. Your most likely choice will be at the top of the list of system images available. Further information on Instance Types also known as Flavors
Security groups Contains a list of security groups At minimum, the default security group should be selected. ※

If the projectadmin for the project has not created any additional security groups, besides the default group, you will only see the default security group listed.

Manage a Cloud VPS instances

After you set your configurations and click Submit, it will take some time before the instance is ready. You will know your instance is ready when, a new row appears in the instances list.

The following 4 areas are displayed:

Area Description
Overview general description
Log show console output
Action Log list OpenStack operations, such as instance creation
Puppet Configuration set up the instance with available Puppet roles

Puppet Configuration for Cloud VPS instances

Cloud VPS uses Puppet to manage instance configurations.

The Puppet Configuration tab, displays a list of available Puppet roles.

If you are a sudo user for the project, you can run sudo puppet agent -tv or wait until puppet runs on your instance.

When the puppet run finishes, you can log into it with ssh.

Setting up a test MediaWiki Server

See MediaWiki-Vagrant in Cloud VPS for more information.

Increase quotas for projects

Quotas are the usage limits for projects. Quotas refer to one or more of CPU, RAM, disk storage, number of VM instances and/or floating IPs. The default quota for a new project allows up to 8 instances.

Projects can have their quota increased following the instructions on the "Cloud-VPS (Quota-requests)" phabricator task.

The Cloud VPS Instance lifecycle

Instances are allocated resources (storage, RAM, CPU, power). Over time, these resources need to be used or reclaimed. WMCS admins periodically check projects and instances to ensure they are being used by active projects. Instances will be removed for projects that have been determined inactive.

Process for removing Cloud VPS instances

  1. Notice will be sent to cloud via cloud-announce at least 2 weeks before any expected action is taken. Emergencies may require more immediate intervention.
  2. If possible, instances will be suspended or shutdown for at least 2 weeks (a total of a month) before further unsolicited actions are taken to allow the tenant to notice.
  3. Inactive projects (those without instances or any responsive users) will be removed (along with their quota)

Backups of Cloud VPS instances

No backups will be kept by Wikimedia Cloud Services.

See Also