ICS-E4020: Pouta cloud service

Pouta workflow

Step 0: Request for a user account

  1. Send an email to Jukka Suomela with the following title: “PPC Pouta user account”. The body of the email can be empty.
  2. In return, you should receive two invitation emails: one from Google Docs and one from Pouta cloud service.
  3. First follow the instructions in Google Docs invitation. Make sure you have got a write access to our bookkeeping document before you continue.

Step 1: Create an account on Pouta

  1. Follow the link to Pouta that you have received.
  2. Your browser probably complains about the certificate being self-signed. Proceed by choosing "Add Exception..." or something similar.
  3. Choose a password and enter it twice.

Step 2: Upload your SSH key

  1. If you do not yet have an SSH key, generate one by running ssh-keygen.
  2. Choose "Account" from the top menu in the Pouta service.
  3. Click "Upload Public Key". Choose the file containing your public SSH key, most commonly ~/.ssh/id_rsa.pub.

Step 3: Launch a new instance

  1. Check and update the bookkeeping in Google Docs — do not continue if there are no free resources left.
  2. In Pouta user interface, click "Pouta Blueprints" in the menu. Choose one of the types
    • medium: 8 cores
    • large: 12 cores
    • fullnode: 16 cores
    and click the corresponding "Launch" button. A new line should appear under the "Instances" section.
  3. Wait until the state of the new instance is "running".
  4. Click the name of the instance you just created. Click "Query client IP" (or fill in your own public IP in the field by hand) and click "Change client IP".
  5. You can find the IP address of the instance under "Public IP". In the following, substitute PUBLICIP with this address.

Step 4: Log in to the instance

Now you are ready to log in using SSH. The user is cloud-user and the hostname is PUBLICIP. To keep your known_hosts file clean, you can log in using the following command:
    $ ssh -o UserKnownHostsFile=/dev/null \
          -o StrictHostKeyChecking=no cloud-user@PUBLICIP

Step 5: Install tools and clone your repository

  1. Clone your Git repository according to Step 6 in the Github workflow:
       $ git clone https://github.com/ICS-E4020/solutions-YOUR-ACCOUNT.git
       $ cd solutions-YOUR-ACCOUNT/
       $ git remote add upstream https://github.com/ICS-E4020/exercises.git
  2. Compile and run your code as usual.

Step 6: Cleanup

  1. Destroy the instance in the Pouta user interface.
  2. Update the bookkeeping in Google Docs.


After the instance is launched, it will automatically run a bunch of commands that install e.g. git, g++-4.9, g++-4.8, and libpng. This will take several minutes. You can try cat /var/log/cloud-init-output.log to see what is happening.

The instances have a limited lifetime. Keep an eye on the “Life-time left” information. Once the lifetime is over, the instance is automatically destroyed and all data will be gone.

You have got a full root access. Just use sudo to do whatever you want. For example, you can use sudo apt-get install xyz to install Ubuntu package xyz.

You are only allowed to use the Pouta cloud service for purposes related to this course. Please try to behave nicely. Destroy instances that you no longer use.