summaryrefslogtreecommitdiffstats
path: root/README_GCE.txt
blob: 3848778a1e8bbf71bc02fa518a6aefca160de5c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48

GCE Setup Instructions

Get a gce service key
---------------------
1. ping twiest and ask for a GCE service key

Note: If your GCE project doesn't show a Service Account under <Project>/APIs & auth/Credentials, you will need to use "Create new
Client ID" to create a Service Account.


Convert a GCE service key into a pem (for ansible)
--------------------------------------------------
1. The gce service key looks something like this: os302gce-ef83bd90f261.p12
2. the ef83bd90f261 part is the public hash
3. Be in the same directory as the p12 key file.
4. The commands below should be copy / paste-able
5. Run these commands:
   # Temporarily set hash variable
   export GCE_KEY_HASH=ef83bd90f261

   # Convert the service key (note: 'notasecret' is literally what we want here)
   openssl pkcs12 -in os302gce-${GCE_KEY_HASH}.p12 -passin pass:notasecret -nodes -nocerts | openssl rsa -out os302gce-${GCE_KEY_HASH}.pem

   # Move the converted service key to the .ssh dir
   mv os302gce-${GCE_KEY_HASH}.pem ~/.ssh

   # Set a sym link so it's easy to reference
   ln -s ~/.ssh/os302gce-${GCE_KEY_HASH}.pem ~/.ssh/os302gce_priv_key.pem

6. Once this is done, put the original service key file (os302gce-ef83bd90f261.p12) somewhere safe, or delete it (your call, I don't know what else we'll use it for, and we can always regen it if needed)



Install Dependencies (not needed for ctl1)
------------------------------------------
1. Ansible requires libcloud for gce operations:
    yum install -y ansible python-libcloud


Test The Setup
--------------
1. cd li-ops/cloud
2. Try to list all instances:
   ./cloud.rb gce list

3. Try to create an instance:
   ./cloud.rb gce launch -n ${USER}-minion1 -e int --type os3-minion