No Description

Thomas Wiest 4935246c7b Added oo_len filter 10 years ago
filter_plugins 4935246c7b Added oo_len filter 10 years ago
inventory 5994dee9a8 Initial Commit. Sharing is caring 10 years ago
playbooks 49bcc9b8d4 Fixed terminate so that it properly removes the attached OS disk. 10 years ago
roles f5d9b265b7 removed client-cert.pem and client-key.pem as tasks (the files were removed previously). 10 years ago
README_GCE.txt 3d57c7e4d0 WIP Infra - Support for multiple GCE projects 10 years ago
cloud.rb a24bcdcb74 WIP Infra - Update reporting in cloud.rb 10 years ago
cluster.sh bc5cd79739 terminate playbook 10 years ago

README_GCE.txt


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 /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