Index: /tags/ipp-pv3-20140717/ippTools/share/pxadmin_create_tables.sql
===================================================================
--- /tags/ipp-pv3-20140717/ippTools/share/pxadmin_create_tables.sql	(revision 37276)
+++ /tags/ipp-pv3-20140717/ippTools/share/pxadmin_create_tables.sql	(revision 37277)
@@ -2385,4 +2385,7 @@
     remote_id BIGINT,
     stage_id  BIGINT,
+    jobs      INT
+    state     VARCHAR(64) NOT NULL,
+    path_base VARCHAR(255),
     KEY (stage_id),
     FOREIGN KEY (remote_id) REFERENCES remoteRun(remote_id)
Index: /tags/ipp-pv3-20140717/ippTools/src/remotetool.c
===================================================================
--- /tags/ipp-pv3-20140717/ippTools/src/remotetool.c	(revision 37276)
+++ /tags/ipp-pv3-20140717/ippTools/src/remotetool.c	(revision 37277)
@@ -26,4 +26,5 @@
 static bool updaterunMode(pxConfig *config);
 static bool updatepollMode(pxConfig *config);
+static bool updatecomponentMode(pxConfig *config);
 static bool revertrunMode(pxConfig *config);
 static bool revertauthMode(pxConfig *config);
@@ -47,12 +48,13 @@
 
   switch (config->mode) {
-    MODECASE(REMOTETOOL_MODE_DEFINEBYQUERY, definebyqueryMode);
-    MODECASE(REMOTETOOL_MODE_LISTRUN,       listrunMode);
-    MODECASE(REMOTETOOL_MODE_LISTCOMPONENT, listcomponentMode);
-    MODECASE(REMOTETOOL_MODE_DROPCOMPONENT, dropcomponentMode);
-    MODECASE(REMOTETOOL_MODE_UPDATERUN,     updaterunMode);
-    MODECASE(REMOTETOOL_MODE_UPDATEPOLL,    updatepollMode);
-    MODECASE(REMOTETOOL_MODE_REVERTRUN,     revertrunMode);
-    MODECASE(REMOTETOOL_MODE_REVERTAUTH,    revertauthMode);
+    MODECASE(REMOTETOOL_MODE_DEFINEBYQUERY,   definebyqueryMode);
+    MODECASE(REMOTETOOL_MODE_LISTRUN,         listrunMode);
+    MODECASE(REMOTETOOL_MODE_LISTCOMPONENT,   listcomponentMode);
+    MODECASE(REMOTETOOL_MODE_DROPCOMPONENT,   dropcomponentMode);
+    MODECASE(REMOTETOOL_MODE_UPDATERUN,       updaterunMode);
+    MODECASE(REMOTETOOL_MODE_UPDATEPOLL,      updatepollMode);
+    MODECASE(REMOTETOOL_MODE_UPDATECOMPONENT, updatecomponentMode);
+    MODECASE(REMOTETOOL_MODE_REVERTRUN,       revertrunMode);
+    MODECASE(REMOTETOOL_MODE_REVERTAUTH,      revertauthMode);
 
   default:
@@ -200,5 +202,5 @@
                                           );
   if (!run) {
-    psError(PS_ERR_UNKNOWN, false, "failed to alloc lapRun object");
+    psError(PS_ERR_UNKNOWN, false, "failed to alloc remoteRun object");
     return(true);
   }
@@ -219,8 +221,7 @@
     psS64 stage_id = psMetadataLookupS64(NULL, md, "stage_id");
 
-    remoteComponentRow *comp = remoteComponentRowAlloc(remote_id,
-                                                       stage_id);
+    remoteComponentRow *comp = remoteComponentRowAlloc(remote_id, stage_id, 0, "new", NULL);
     if (!comp) {
-      psError(PS_ERR_UNKNOWN, false, "failed to alloc lapRun object");
+      psError(PS_ERR_UNKNOWN, false, "failed to alloc remoteComponent object");
       return(true);
     }
@@ -318,4 +319,7 @@
 static bool dropcomponentMode(pxConfig *config)
 {
+  fprintf (stderr, "do we really want to use -dropcomponent?\n");
+  exit (1);
+
   // Assert that we have a unique component to operate on.
   PXOPT_LOOKUP_S64(remote_id,config->args, "-remote_id",true, false);
@@ -341,6 +345,4 @@
   }
   psFree(query);
-
-
 
   // point of no return
@@ -411,6 +413,32 @@
 }
 
-
-
+static bool updatecomponentMode(pxConfig *config)
+{
+  PS_ASSERT_PTR_NON_NULL(config, false);
+  PXOPT_LOOKUP_S64(remote_id,  config->args, "-remote_id",    true, false);
+  PXOPT_LOOKUP_S64(stage_id,   config->args, "-stage_id",     true, false);
+  psAssert(remote_id && stage_id,"This should have failed before this point.");
+
+  psMetadata *where = psMetadataAlloc();
+  psMetadata *values = psMetadataAlloc();
+
+  // Wheres
+  PXOPT_COPY_S64(config->args, where, "-remote_id", "remote_id", "==");
+  PXOPT_COPY_S64(config->args, where, "-stage_id",  "stage_id",  "==");
+
+  // Values to set
+  PXOPT_COPY_S32(config->args, values, "-set_jobs",      "jobs",      "==");
+  PXOPT_COPY_STR(config->args, values, "-set_path_base", "path_base", "==");
+  PXOPT_COPY_STR(config->args, values, "-set_state", "state", "==");
+
+  long rows = psDBUpdateRows(config->dbh, "remoteComponent", where, values);
+  psFree(values);
+
+  if (rows < 1) {
+      fprintf (stderr, "no rows changed\n");
+      return false;
+  }
+  return true;
+}
 
 static bool revertrunMode(pxConfig *config)
Index: /tags/ipp-pv3-20140717/ippTools/src/remotetool.h
===================================================================
--- /tags/ipp-pv3-20140717/ippTools/src/remotetool.h	(revision 37276)
+++ /tags/ipp-pv3-20140717/ippTools/src/remotetool.h	(revision 37277)
@@ -16,4 +16,5 @@
   REMOTETOOL_MODE_UPDATERUN,
   REMOTETOOL_MODE_UPDATEPOLL,
+  REMOTETOOL_MODE_UPDATECOMPONENT,
   REMOTETOOL_MODE_REVERTRUN,    
   REMOTETOOL_MODE_REVERTAUTH,   
Index: /tags/ipp-pv3-20140717/ippTools/src/remotetoolConfig.c
===================================================================
--- /tags/ipp-pv3-20140717/ippTools/src/remotetoolConfig.c	(revision 37276)
+++ /tags/ipp-pv3-20140717/ippTools/src/remotetoolConfig.c	(revision 37277)
@@ -84,4 +84,12 @@
   ADD_OPT(S64, updatepollArgs, "-remote_id",            "run to update", 0);
   
+  // -updatecomponent
+  psMetadata  *updatecomponentArgs = psMetadataAlloc();
+  ADD_OPT(S64, updatecomponentArgs, "-remote_id",     "remote_id to update", 0);
+  ADD_OPT(S64, updatecomponentArgs, "-stage_id",      "stage_id to update", 0);
+  ADD_OPT(Str, updatecomponentArgs, "-set_state",     "remoteComponent state to assign", NULL);
+  ADD_OPT(Str, updatecomponentArgs, "-set_path_base", "remoteRun path_base to assign", NULL);
+  ADD_OPT(S32, updatecomponentArgs, "-set_jobs",      "number of jobs for this stage_id", 0);
+
   // -revertrun
   psMetadata *revertrunArgs = psMetadataAlloc();
@@ -98,12 +106,13 @@
   psMetadata *modes   = psMetadataAlloc();
 
-  PXOPT_ADD_MODE("-definebyquery",     "", REMOTETOOL_MODE_DEFINEBYQUERY,  definebyqueryArgs);
-  PXOPT_ADD_MODE("-listrun",           "", REMOTETOOL_MODE_LISTRUN,        listrunArgs);
-  PXOPT_ADD_MODE("-listcomponent",     "", REMOTETOOL_MODE_LISTCOMPONENT,  listcomponentArgs);
-  PXOPT_ADD_MODE("-dropcomponent",     "", REMOTETOOL_MODE_DROPCOMPONENT,  dropcomponentArgs);
-  PXOPT_ADD_MODE("-updaterun",         "", REMOTETOOL_MODE_UPDATERUN,      updaterunArgs);
-  PXOPT_ADD_MODE("-updatepoll",        "", REMOTETOOL_MODE_UPDATEPOLL,     updatepollArgs);
-  PXOPT_ADD_MODE("-revertrun",         "", REMOTETOOL_MODE_REVERTRUN,      revertrunArgs);
-  PXOPT_ADD_MODE("-revertauth",        "", REMOTETOOL_MODE_REVERTAUTH,     revertauthArgs);
+  PXOPT_ADD_MODE("-definebyquery",     "", REMOTETOOL_MODE_DEFINEBYQUERY,   definebyqueryArgs);
+  PXOPT_ADD_MODE("-listrun",           "", REMOTETOOL_MODE_LISTRUN,         listrunArgs);
+  PXOPT_ADD_MODE("-listcomponent",     "", REMOTETOOL_MODE_LISTCOMPONENT,   listcomponentArgs);
+  PXOPT_ADD_MODE("-dropcomponent",     "", REMOTETOOL_MODE_DROPCOMPONENT,   dropcomponentArgs);
+  PXOPT_ADD_MODE("-updaterun",         "", REMOTETOOL_MODE_UPDATERUN,       updaterunArgs);
+  PXOPT_ADD_MODE("-updatepoll",        "", REMOTETOOL_MODE_UPDATEPOLL,      updatepollArgs);
+  PXOPT_ADD_MODE("-updatecomponent",   "", REMOTETOOL_MODE_UPDATECOMPONENT, updatecomponentArgs);
+  PXOPT_ADD_MODE("-revertrun",         "", REMOTETOOL_MODE_REVERTRUN,       revertrunArgs);
+  PXOPT_ADD_MODE("-revertauth",        "", REMOTETOOL_MODE_REVERTAUTH,      revertauthArgs);
 
 
