users.scrbl 6.03 KB
Newer Older
Robert Ricci's avatar
Robert Ricci committed
1
#lang scribble/manual
Robert Ricci's avatar
Robert Ricci committed
2
@(require "defs.rkt")
Robert Ricci's avatar
Robert Ricci committed
3

4
@title[#:tag "users" #:version apt-version]{@(tb) Users}
Robert Ricci's avatar
Robert Ricci committed
5

6
You may either use @(tb) as a @seclink["guest-users"]{guest} or as a
Robert Ricci's avatar
Robert Ricci committed
7 8
@seclink["registered-users"]{registered user}.

9
Using @(tb) as a guest is a great way to give it a try; if you find it useful
Robert Ricci's avatar
Robert Ricci committed
10 11 12
and want to start using it for ``real work,'' you should
@seclink["register"]{sign up for a (free) account}, because a guest account (1)
won't let you hold your experiments for very long and (2) only allows you to
Robert Ricci's avatar
Robert Ricci committed
13 14 15
use @seclink["virtual-machines"]{virutal machines}, which are not ideal for
@seclink["repeatable-research"]{reproducing results}, since they don't have
strong performance isolation from other users.
Robert Ricci's avatar
Robert Ricci committed
16 17 18

@section[#:tag "guest-users"]{Guest Users}

19
You may become a guest user simply by entering your email address on @(tb)'s
Robert Ricci's avatar
Robert Ricci committed
20
@hyperlink[(apturl "instantiate.php")]{``Instantiate an Experiment''} page and 
21
picking a username. @(tb) will send you an email with a verification code - be
Robert Ricci's avatar
Robert Ricci committed
22 23
sure to check your spam folder if you don't receive it within a few minutes.

24
You'll remain logged in to @(tb) as long as you use the same browser and it
Robert Ricci's avatar
Robert Ricci committed
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
retains its cookies. If you get logged out for any reason, simply enter the
same email address and username again, and you'll be sent a new verification
code.

Guest users are limited in several ways:

@itemlist[
 @item{Guests are only allowed to hold experiments for a short period of
     time---a few hours to start with, and they can extend this up to a day}
 @item{Access to some resources (such as bare metal and large VMs) is not
     allowed, meaning that some profiles which require these things are not
     available}
 @item{Experiments held by guest user are very heavily firewalled---no outgoing
     connections are allowed, and almost all incoming traffic is blocked}
 @item{Guest users are only allowed to have one active experiment at a time}
 @item{Guest users may not create profiles}
]

43
If you are going to use @(tb) for much serious work, we encourage you to
Robert Ricci's avatar
Robert Ricci committed
44
@seclink["register"]{register for an account}.
Robert Ricci's avatar
Robert Ricci committed
45 46 47

@section[#:tag "registered-users"]{Registered Users}

Robert Ricci's avatar
Robert Ricci committed
48 49
Registering for an account is @seclink["register"]{quick and easy}. Registering
doesn't cost anything, it's simply for accountability. We just ask that if
50 51
you're going to use @(tb) for anything other than light use, you tell us a bit
more about who you are and what you want to use @(tb) for.
Robert Ricci's avatar
Robert Ricci committed
52

53
Users in @(tb) are grouped into @seclink["projects"]{@italic{projects}}: a
Robert Ricci's avatar
Robert Ricci committed
54
project is a (loosely-defined) group of people working together on some common
55
goal, whether that be a research project, a class, etc. @(tb) places a lot of
Robert Ricci's avatar
Robert Ricci committed
56
trust on project leaders, including the ability to authorize others to use the
57
@(tb). We therefore require that project leaders be faculty, senior research
Robert Ricci's avatar
Robert Ricci committed
58
staff, or others who are relatively senior positions.
59 60

@section[#:tag "register"]{Register for an Account}
Robert Ricci's avatar
Robert Ricci committed
61

62
To get an account on @(tb), you either @seclink["join-project"]{join an existing
Robert Ricci's avatar
Robert Ricci committed
63
project} or @seclink["create-project"]{create a new one}. In general, if you are
64 65 66 67 68
a student, you should join a project led by a faculty member with whom
you're working.

If you already have an account on
@hyperlink["http://www.emulab.net/"]{Emulab.net}, you don't need to sign
69
up for a new account on @(tb)---simply log in with your Emulab username and
70 71
password.

Robert Ricci's avatar
Robert Ricci committed
72
@subsection[#:tag "join-project"]{Join an existing project}
73

Robert Ricci's avatar
Robert Ricci committed
74
@screenshot["join-project.png"]
75 76

To join an existing project, simply use the ``Sign Up'' button found on every
77
@(tb) page. The form will ask you a few basic questions about yourself and the
78 79 80 81 82 83 84
institution you're affiliated with.

An SSH public key is required; if you're
unfamiliar with creating and using ssh keypairs, we recommend taking a look
at the first few steps in
@hyperlink["https://help.github.com/articles/generating-ssh-keys"]{GitHub's
guide to generating SSH keys}. (Obviously, the steps about how to upload the
85
keypair into GitHub don't apply to @(tb).)
86

87
@margin-note{@(tb) will send you email to confirm your address---watch for it (it
Robert Ricci's avatar
Robert Ricci committed
88 89
might end up in your spam folder), as your request won't be processed until
you've confirmed your address.}
90 91
You'll be asked to enter the project ID for the project you are asking to
join; you should get this from the leader of the project, likely your advisor
92
or your class instructor. (If they don't already have a project on @(tb), you
Robert Ricci's avatar
Robert Ricci committed
93 94
can @seclink["create-project"]{ask them to create one}.) The leader of your
project is responsible for approving your account.
95 96


Robert Ricci's avatar
Robert Ricci committed
97
@subsection[#:tag "create-project"]{Create a new project}
98 99 100 101 102 103 104

@screenshot["create-project.png"]

@margin-note{You should only start a new project if you are a faculty member,
senior research staff, or in some other senior position.  Students should ask
their advisor or course instructor to create a new project.}

105
To start a new project, use the ``Sign Up'' button found on every @(tb) page. In
106
addition to basic information about yourself, the form will ask you a few
107
questions about how you intend to use @(tb). The application will be reviewed
108 109 110 111
by our staff, so please provide enough information for us to understand the
research or educational value of your project. The review process may take
a few days, and you will receive mail informing you of the outcome.

Robert Ricci's avatar
Robert Ricci committed
112 113 114 115 116 117 118 119
Every person working in your project needs to have
@seclink["join-project"]{their own account}. You get to approve these
additional users yourself (you will receive email when anyone applies to join.)
It is common, for example, for a faculty member to create a project which is
primarily used by his or her students, who are the ones who run experiments. We
still require that the project leader be the faculty member, as we require that
there is someone in a position of authority we can contact if there are
questions about the activities of the project.
120

121
Note that projects in @(tb) are publicly-listed: a page that allows users to
122 123 124
see a list of all projects and search through them does not exist yet, but
it will in the future.

Robert Ricci's avatar
Robert Ricci committed
125 126
@;{

Robert Ricci's avatar
Robert Ricci committed
127
@subsection[#:tag "invite-project"]{Invite others to join your project}
128 129

@TODO{Write about this when the feature is finished}
Robert Ricci's avatar
Robert Ricci committed
130 131

}