Help:Getting Started: Difference between revisions

From Wikitech
Content deleted Content added
Gifti (talk | contribs)
Hydriz (talk | contribs)
→‎Join Projects: change owners -> members per talk page
Line 36: Line 36:
In order to work on Wikimedia Labs projects you need to be assigned to them. By default, you have access to the [[Nova Resource:Bastion|bastion]] project so that you can view all the other instances in Wikimedia Labs, however, you need to be assigned to a project in order to work with its instances.
In order to work on Wikimedia Labs projects you need to be assigned to them. By default, you have access to the [[Nova Resource:Bastion|bastion]] project so that you can view all the other instances in Wikimedia Labs, however, you need to be assigned to a project in order to work with its instances.


* [[:Special:Ask/-5B-5BResource-20Type::project-5D-5D/-3F/-3FMember/-3FDescription/mainlabel%3D-2D|Contact the current project owners]] for access rights or see the left sub-menu on this page ''“Labs : List Projects”''.
* [[:Special:Ask/-5B-5BResource-20Type::project-5D-5D/-3F/-3FMember/-3FDescription/mainlabel%3D-2D|Contact the current project members]] for access rights or see the left sub-menu on this page ''“Labs : List Projects”''.
* Once you are in a project, you can [[#Access Project Instances|Access Project Instances]].
* Once you are in a project, you can [[#Access Project Instances|Access Project Instances]].



Revision as of 13:30, 27 December 2012

Welcome to Wikimedia Labs! Wikimedia Labs is a virtualization cluster and hosts various virtual machines (called instances) using OpenStack Compute. This is slightly different from your normal servers that you ssh to (i.e. Toolserver), as virtual machines do not exist physically, but reside inside a much bigger machine called the host machine.

If you are unsure about what to do next after visiting this site, this page will walk you through getting you started on Wikimedia Labs and start your development work!

Create a User Account

If you haven’t done so, create a user account for yourself. This account allows you to :

  • Commit code to Wikimedia’s Git repositories via Gerrit
  • Work with Wikimedia Labs projects

Request Shell Access

Shell access to virtual machines (vm) on Wikimedia Labs gives you the ability to create new vm instances, configure them, and manage them depending on the Access Rights granted to your account and the projects you have been assigned. Shell access is granted by a Cloud Admin; please submit a request here:

  • {{#formlink:form=Shell Access Request|link text=Request Shell Access}}
    nb: while not necessary, if you know that you want to become part of a project or create a new project, indicate that in your request.

You can see the list of outstanding and completed requests here:

  • {{#ask:Is Completed::false|?Shell Justification|?Modification date|format=broadtable|sort=Modification date|order=asc|headers=show|searchlabel=Outstanding Requests|limit=0|default=(No outstanding requests)}}
  • {{#ask:Is Completed::true|?Shell Justification|?Modification date|format=broadtable|sort=Modification date|order=asc|headers=show|searchlabel=Completed Requests|limit=0|default=(No completed requests)}}

Upload your SSH key

Wikimedia Labs and Wikimedia Code Review use an SSH key to authenticate you. If you already have an SSH key you can use that one, or generate a new one specifically for Wikimedia use; the default public key name generated by ssh-keygen is typically id_rsa.pub.

to Wikimedia Labs

Upload your public key to Wikimedia Labs.

to Wikimedia Code Review

Upload your public key to Wikimedia Code Review.

  1. “Sign In” with your Wikimedia Developer Account
  2. Click the “Settings” link at the top right hand corner of the page
  3. Click on the “SSH Public Keys” tab on the left menu
  4. Click on “Add Key ...” to upload your public key

Projects

Join Projects

In order to work on Wikimedia Labs projects you need to be assigned to them. By default, you have access to the bastion project so that you can view all the other instances in Wikimedia Labs, however, you need to be assigned to a project in order to work with its instances.

Create Projects

If you need to create a new project for your development work, either drop by our IRC channel (#wikimedia-labs on Freenode) to ask for it, email the labs-l mailing list or place your request {{#formlink:form=New Project Request|link text=here}}.

  • To create instances within a project, you'll need to have a sysadmin on the project, or have an admin add you to the sysadmin role for that project. In a project you can create as many instances as you'd like. The default quota limit per-project is 10 instances, but we can increase that number as much as needed.

Project Instances

Access Project Instances

After you have received shell access, been added to or created a project and successfully added your SSH key to Wikimedia Labs and Wikimedia Code Review, read the Help:Access manual.

In short, accessing your project instances involves using either Agent Forwarding, or the ProxyCommand ssh option ( requires ssh >= 5.4 ) to connect to your instance.

Using Agent Forwarding

from your local computer

eval `ssh-agent`
ssh-add ~/.ssh/your_key_file_for_labs
ssh -A <username>@bastion.wmflabs.org

#once in bastion
ssh <instancename>.pmtpa.wmflabs

#or
ssh <instancename>

Using ProxyCommand

Generally, using the ProxyCommand ssh option would allow you to directly connect to your instance, skipping the portion about having to login to the bastion host and then logging in to your instance. If you have followed the steps given to set up the ProxyCommand ssh option, then this is the general command to use to login to your instance in the Terminal:
from your local computer

ssh <instancename>.pmtpa.wmflabs

The instance name is given in the "Instance name" column in Special:NovaInstance, or the first-left column of that page. Logging in to the instance is just like logging in to another computer. You have complete root access to it, and you can install relevant programs that benefit your project's purpose, and do work that comply with our Terms of Use.

You can also make queries for nova resources in order to get more information about current project instances; currently only Nova instances have semantic properties enabled.

Create Project Instances

see Help:Instances

Configure Project Instances

see Help:Instances#Configuring_Instances

Log your actions

Wikimedia Labs provides a Server Admin Log which all users can log their actions on their projects. You can add a log entry in the #wikimedia-labs channel on Freenode by using the following command:

!log <projectname> <message>

It's best to log all changes to the instances in your project. Doing so makes it easier for others to follow your progress, and to more easily join your project and help out.

Read the documentation and rules

Git committers

If you are just simply getting an account for committing into Gerrit, read some detailed documentation about it

  • Help:Git - (somewhat) complete documentation of using Gerrit
  • Git workflow - A lengthy page detailing all aspects of committing into Gerrit and using it.

Further help

If you encounter any problems, drop by our IRC channel at #wikimedia-labs on Freenode. Happy hacking!