[Saga-devel] saga SVN commit 3354: /trunk/adaptors/aws/aws_job/

amerzky at cct.lsu.edu amerzky at cct.lsu.edu
Thu Jan 22 18:47:11 CST 2009


User: amerzky
Date: 2009/01/22 06:47 PM

Modified:
 /trunk/adaptors/aws/aws_job/
  aws_job_service.cpp

Log:
 fix

File Changes:

Directory: /trunk/adaptors/aws/aws_job/
=======================================

File [modified]: aws_job_service.cpp
Delta lines: +42 -41
===================================================================
--- trunk/adaptors/aws/aws_job/aws_job_service.cpp	2009-01-22 20:37:10 UTC (rev 3353)
+++ trunk/adaptors/aws/aws_job/aws_job_service.cpp	2009-01-23 00:47:01 UTC (rev 3354)
@@ -95,7 +95,8 @@
 
     saga::adaptors::utils::process proc (env_);
 
-    // is a VM given which we should contact?
+    // is a VM given which we should contact, or do we need to start a new one?
+    bool instance_started = false;
     if ( idata->rm_.get_host () == "" )
     {
       // no host - create a new VM instance to submit jobs to.
@@ -202,47 +203,8 @@
 
       SAGA_LOG_ALWAYS ("trying ssh ok");
 
-      // instanc e is up, ssh is up - now run an image preparation if needed
-      if ( ini_["ec2_image_prep"] == "" )
-      {
-        SAGA_LOG_ALWAYS ("no image prep needed");
-      }
-      else
-      {
-        SAGA_LOG_ALWAYS ("preparing image");
+      instance_started = true;
 
-        // stage the prep script to the VM
-        proc.set_cmd ("/usr/bin/scp");
-
-        proc.clear_args ();
-        proc.add_args ("-o", "StrictHostKeyChecking=no");
-        proc.add_args ("-i", ini_["ec2_proxy"]);
-        proc.add_arg  (ini_["ec2_image_prep"]);
-        proc.add_arg  (user_ + "@" + vm_ip_ + ":/tmp/saga-ec2-image-prep");
-
-        proc.run_sync ();
-
-        if ( proc.fail () )
-        {
-          SAGA_ADAPTOR_THROW ("image prep-staging failed", saga::NoSuccess);
-        }
-
-        // run the prep script
-        proc.set_cmd ("/usr/bin/ssh");
-
-        proc.clear_args ();
-        proc.add_args ("-o", "StrictHostKeyChecking=no");
-        proc.add_args ("-i", ini_["ec2_proxy"]);
-        proc.add_arg  (user_ + "@" + vm_ip_);
-        proc.add_arg  ("/tmp/saga-ec2-image-prep");
-
-        proc.run_sync ();
-
-        if ( proc.fail () )
-        {
-          SAGA_ADAPTOR_THROW ("image preparation failed", saga::NoSuccess);
-        }
-      }
     } 
     else
     {
@@ -413,6 +375,45 @@
 
     // create ssh job service which from now on handles job submission etc
     js_ = TR1::shared_ptr <saga::job::service> (new saga::job::service (ssh_session_, ssh_url_));
+
+    // seems to work, ssh is set up - now prepare the image for job submission,
+    // if needed
+    if ( instance_started && ini_["ec2_image_prep"] != "" )
+    {
+      SAGA_LOG_ALWAYS ("preparing image");
+
+      // stage the prep script to the VM
+      proc.set_cmd ("/usr/bin/scp");
+
+      proc.clear_args ();
+      proc.add_args ("-o", "StrictHostKeyChecking=no");
+      proc.add_args ("-i", ini_["ec2_proxy"]);
+      proc.add_arg  (ini_["ec2_image_prep"]);
+      proc.add_arg  (user_ + "@" + vm_ip_ + ":/tmp/saga-ec2-image-prep");
+
+      proc.run_sync ();
+
+      if ( proc.fail () )
+      {
+        SAGA_ADAPTOR_THROW ("image prep-staging failed", saga::NoSuccess);
+      }
+
+      // run the prep script
+      proc.set_cmd ("/usr/bin/ssh");
+
+      proc.clear_args ();
+      proc.add_args ("-o", "StrictHostKeyChecking=no");
+      proc.add_args ("-i", ini_["ec2_proxy"]);
+      proc.add_arg  (user_ + "@" + vm_ip_);
+      proc.add_arg  ("/tmp/saga-ec2-image-prep");
+
+      proc.run_sync ();
+
+      if ( proc.fail () )
+      {
+        SAGA_ADAPTOR_THROW ("image preparation failed", saga::NoSuccess);
+      }
+    }
   }
 
   //////////////////////////////////////////////////////////////////////



More information about the saga-devel mailing list