|This page may be outdated or contain incorrect details. Please update it if you can.|
Wikimedia Cloud documentationThis is a documentation page for Wikimedia Cloud. If you can improve it, please do that. You can also request help on #wikimedia-cloud connect. For all documentation pages, please see the List of all documentation pages for Wikimedia Cloud. If you are seeking a help with a specific project, please contact the project owners.
An instance is a virtual machine, see Help:Terminology.
Creating an instance
You must have Project Admin rights (see Help:Terminology) in a project to create and manage its instances. You can ask an existing Project Admin in a project to grant you the role. See http://tools.wmflabs.org/openstack-browser/project/<project name> for a list of project admins.
In a project you can create as many instances as you'd like up to its quota. A wikitech admin can increase a project's limits as needed. To request additional quota follow the quota request instructions in Phabricator.
If you are in the cloudadmin group on this wiki, and have two-factor authentication enabled, you can add members to any project.
Before you create an instance, make sure your project has an appropriate security group for the instance's networking needs. For example, a web server or wiki requires access on port 80, the default port for HTTP requests; the security group for this is often named "Web" or "web-servers".
- Log in to https://horizon.wikimedia.org/.
- Use the dropdown at top to select the project you want to work on.
- Click 'Instances' in the sidebar.
- Click the 'Launch instance' button.
- Choose the parameters you want and launch the instance.
- Instance name
The name of your instance will also be its hostname. Important: it’s a good idea to name your instance using the following format project-instance, e.g, project name is myproject, instance is coolbot, so the resulting instance name would be myproject-coolbot
- Instance type
The drop-down contains a range of possible instance types indicating RAM, number of CPUs, and Hard Drive space. Further information on Instance Types also known as Flavors.
The drop-down contains a list of system images available with your most likely choice at the top.
- Security groups
A list of available security groups for your instance is listed; select any security groups you think you need for this instance; it is usually best to make sure that at least the default security group is selected.
nb: 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.
Build the Instance
When happy with the configuration, click on the [Submit] button.
The instance will be created, but it will be a short while until the instance is ready to be logged into. You can check the process of the build by viewing the instance's console log (see § Managing Instances). When the puppet run finishes, you can log into it with ssh (see Help:Access).
Once your instance is created, a new row appears in the instances list. You can click on the instance name to get more information about it. The following 4 tabs are displayed:
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.
Wikimedia Labs uses Puppet to manage instance configurations.
You can also ssh to your instance and administer it from the command line. You can use apt-get (Ubuntu’s documentation, also see Debian's package management) or other package manager if you wish. But if you are developing something that will eventually get deployed to Wikimedia servers, you have to use puppet to configure it, see Help:Standalone_puppetmaster.
When you click on the
Puppet Configuration tab, you get a list of various puppet roles available for your instance.
If you're setting up a test MediaWiki server,
role::labs::mediawiki_vagrant is all you need, see MediaWiki-Vagrant in Cloud VPS.
Once you submit the change, you can either run puppet by running
sudo puppet agent -tv or just wait until puppet runs on your instance. If you encounter a problem running the sudo command above, then you might need be added as a sudo user for the project you're working on. Any user with the projectadmin role for the project can do that – see Help:Sudo Policies for more information.
Understanding the Instance lifecycle
Periodically we verify use and cleanup unused resources to keep them available for active projects