Skip to content
Andre Luckow edited this page Jun 18, 2013 · 31 revisions

Setup Cloud Environment for BigJob

  1. Make sure that you can log into Sullivan:

     ssh -l <user> sullivan.opensciencedatacloud.org
    
  2. Generate new key pair for use with OSDC:

      ssh-keygen -f $HOME/.ssh/osdc_rsa
    

    Leave passphrase empty (for this tutorial).

  3. Log into Admin Console and import public key: $HOME/.ssh/osdc_rsa.pub (in Access & Security). Import the public key created above (the file is located at: $HOME/.ssh/osdc_rsa.pub) and import it 2x for the resource types: Sullivan Login Server and Sullivan Instances. Use the name OSDC for the keypair.

  4. If you want to use Pilot-Data, please add the following public key to the resource type Sullivan Login Server. Name it Pilot-Data:

      ssh-rsa   AAAAB3NzaC1yc2EAAAADAQABAAABAQDICWmGAdKr8WiexomeV77l/bOsK9Du8HWgH60s+RdnaFTwo0q2qfisJ+EX2dZ2mqS8q09KTYsF2f47PgGsqKy33PYf61dOJ7IPKJKR3ql1zZk01iubX5u0QyT6IZ2yKgEa7oodmw2TLr4bd7GetQnc/H7FMl9kAlnkHGYaxUJ9NdZCbU9HKZj+jYKkko6UriiGZu1QcZMpbU6TYT1/YJ24Ng15mUPN5P6nsviEC5wc7IChiEtSoHxeTxbMRymHYtK9dc222T678rYyYWSETn3eqSY2qG5WpHlMNfeAyWPTPkw+UACtdjpCy7UmhjYjA3RLar2oEoUYorcOtBeSUHlP
    

The private key is embedded in the BigJob VM and used to access the Pilot-Data on the sullivan machine.

Install BigJob on Sullivan

See BigJob documentation: http://saga-project.github.io/BigJob/.

Since the Sullivan node is missing the python-dev package, you will need to compile your own Python in order to install BigJob with easy_install.

    wget http://python.org/ftp/python/2.7.5/Python-2.7.5.tar.bz2
    tar -xjvf Python-2.7.5.tar.bz2
    cd Python-2.7.5
    ./configure --enable-shared --prefix=$HOME/sw/
    make 
    make install

Add /glusterfs/users/aluckow/sw/bin/ to your PATH.

Create Image with BigJob(Optional)

If you want to skip this step, you can also use the prepared BigJob AMI (ami-00000048).

  1. Launch the following image from Admin Console:

     Ubuntu-12.04-LTS-v1.3 Image	Active	Yes	QCOW2	Sullivan
    
  2. Log in and install BigJob dependencies:

    sudo apt-get update 
    apt-get install git gcc python-dev
    
  3. Checkout and Install BigJob:

     git clone https://github.com/saga-project/BigJob.git
     cd BigJob/bootstrap/
     python bigjob-bootstrap.py ~/.bigjob/python
    
  4. Add the following line to your .bashrc:

     . ~/.bigjob/python/bin/activate
    
  5. Create image in web console.

  6. Use euca-describe-images to get the AMI-ID of the image.

  7. You can share the image using the following command (optional):

     euca-modify-image-attribute ami-00000048 --launch-permission --add all
    

Use Pilot-API to manage VMs and Workload

  1. Adjust Redis Server:

     redis://xxxxx@gw68.quarry.iu.teragrid.org:6379
    
  2. Authorize SSH-Key (embedded in BigJob VM) for usage within Pilot-Data. Add the following line to your $HOME/.ssh/authorized_keys file. Create file if necessary - make sure it has the right permissions (600)

     ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDI4/7M1ieiBi/ZNW8OeGfuJK2xB/fAUv1hVWgGqW6wdlECS08HnAuuyPGc3QcIzm8LS9X9xwx4rVubd9mpixSZvyYeuLZMifAoVrp7KOjbUj6n1f/z/aEyDFTLPPaYpf89buETWejBNMTEfA5RvvKwiVKBBbGYHGyDLflpE1bYojG9qYiQ+derxdxZ/DJ/LvI3cUXIwc/nBdJsajZGD8IIGG9IXG2da3Ju32XTA3yYyrl0wCqnqhYOA2VibVPHLnEacKDdNgO/YDcDC2LJoI//sM4rHCTUQJLJrPMhlclpnOB+k1MofJ71UQVs5ZdDYVUgSHtJ20zp3pfwzFT8gzI7 ubuntu@vm-172-16-1-51
    
  3. Use Example example-pilot-compute-osdc.py as basis. Use OSDC config file as a basis:

     export OS_USERNAME=xxxxxxxxxxxxxx
     export OS_PASSWORD=xxxxxxxxxxxxxx
     export OS_AUTH_URL="http://10.103.114.3:5000/v2.0/"
     export EC2_URL=http://10.103.114.3:8773/services/Cloud
     export EC2_ACCESS_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
     export EC2_SECRET_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    

    Adjust pilot_compute_description:

     pilot_compute_description = {
                          "service_url": 'nova+ssh://10.103.114.3:8773/services/Cloud',
                          "number_of_processes": 1,
                          "vm_id": "ami-00000048",
                          "vm_ssh_username":"ubuntu",
                          "vm_ssh_keyname":"OSDC",
                          "vm_ssh_keyfile":"/glusterfs/users/aluckow/.ssh/id_rsa",
                          "vm_type":"m1.tiny",
                          "access_key_id":"xxxxxxxx",
                          "secret_access_key":"db32d545bd8e44b3b22514622b9621c5"                                                                      }
    

Using Pilot Data

  1. If not done, please add the following public key to the resource type Sullivan Login Server. Name it Pilot-Data:

      ssh-rsa   AAAAB3NzaC1yc2EAAAADAQABAAABAQDICWmGAdKr8WiexomeV77l/bOsK9Du8HWgH60s+RdnaFTwo0q2qfisJ+EX2dZ2mqS8q09KTYsF2f47PgGsqKy33PYf61dOJ7IPKJKR3ql1zZk01iubX5u0QyT6IZ2yKgEa7oodmw2TLr4bd7GetQnc/H7FMl9kAlnkHGYaxUJ9NdZCbU9HKZj+jYKkko6UriiGZu1QcZMpbU6TYT1/YJ24Ng15mUPN5P6nsviEC5wc7IChiEtSoHxeTxbMRymHYtK9dc222T678rYyYWSETn3eqSY2qG5WpHlMNfeAyWPTPkw+UACtdjpCy7UmhjYjA3RLar2oEoUYorcOtBeSUHlP
    

The private key is embedded in the BigJob VM and used to access the Pilot-Data on the sullivan machine.

  1. Use Example example-pilot-compute-data-osdc.py as basis.