static void usage(char *me)
{
- fprintf(stderr,"usage: %s [-m bkserver] [-x|-X non-default_sock_path] [-j dg_jobid] [-s source_id] [-n num_subjobs [-S][-C]] [-P] [-l jdl_file] [-e seed] [-E]\n", me);
+ fprintf(stderr,"usage: %s [-m bkserver] [-x|-X non-default_sock_path] [-j dg_jobid] [-s source_id] [-o owner] [-n num_subjobs [-S][-C]] [-P] [-l jdl_file] [-e seed] [-E]\n", me);
}
int main(int argc, char *argv[])
opterr = 0;
do {
- switch (getopt(argc,argv,"xX:s:j:m:n:SCl:e:PcvE")) {
+ switch (getopt(argc,argv,"xX:s:j:m:o:n:SCl:e:PcvE")) {
case 'x': lbproxy = 1; break;
case 'X': lbproxy = 1;
edg_wll_SetParam(ctx, EDG_WLL_PARAM_LBPROXY_STORE_SOCK, optarg);
case 's': src = (char *) strdup(optarg); break;
case 'j': job = (char *) strdup(optarg); break;
case 'm': server = strdup(optarg); break;
+ case 'o': edg_wll_SetParam(ctx, EDG_WLL_PARAM_LBPROXY_USER, optarg); break;
case 'n': num_subjobs = atoi(optarg); break;
case 'S': reg_subjobs = 1; break;
case 'C': collection = 1; break;
REQUIRE
HOSTNAME
ID
- VM_SOURCE
MANAGER
/;
EDG_WLL_SOURCE_PBS_SMOM,
EDG_WLL_SOURCE_PBS_MOM,
EDG_WLL_SOURCE_PBS_SCHEDULER,
+ EDG_WLL_SOURCE_CLOUD_MANAGER,
+ EDG_WLL_SOURCE_VM_MANAGER,
+ EDG_WLL_SOURCE_VM_SYSTEM,
EDG_WLL_SOURCE__LAST /* marker, for internal use only */
} edg_wll_Source;
"PBSServer",
"PBSMomSuperior",
"PBSMom",
- "PBSScheduler"
+ "PBSScheduler",
+ "CloudManager",
+ "VMManager",
+ "VMSystem"
};
edg_wll_Source edg_wll_StringToSource(const char *name)
#define PBSsMom lbt__eventSource__PBSsMom
#define PBSMom lbt__eventSource__PBSMom
#define PBSScheduler lbt__eventSource__PBSScheduler
+#define CloudManager lbt__eventSource__CloudManager
+#define VMManager lbt__eventSource__VMManager
+#define VMSystem lbt__eventSource__VMSystem
#endif
case PBSsMom: *out = EDG_WLL_SOURCE_PBS_SMOM; break;
case PBSMom: *out = EDG_WLL_SOURCE_PBS_MOM; break;
case PBSScheduler: *out = EDG_WLL_SOURCE_PBS_SCHEDULER; break;
+ case CloudManager: *out = EDG_WLL_SOURCE_CLOUD_MANAGER; break;
+ case VMManager: *out = EDG_WLL_SOURCE_VM_MANAGER; break;
+ case VMSystem: *out = EDG_WLL_SOURCE_VM_SYSTEM; break;
default: assert(0); break;
}
}
case EDG_WLL_SOURCE_PBS_SMOM: *out = PBSsMom; break;
case EDG_WLL_SOURCE_PBS_MOM: *out = PBSMom; break;
case EDG_WLL_SOURCE_PBS_SCHEDULER: *out = PBSScheduler; break;
+ case EDG_WLL_SOURCE_CLOUD_MANAGER: *out = CloudManager; break;
+ case EDG_WLL_SOURCE_VM_MANAGER: *out = VMManager; break;
+ case EDG_WLL_SOURCE_VM_SYSTEM: *out = VMSystem; break;
+
case EDG_WLL_SOURCE_NONE:
case EDG_WLL_SOURCE__LAST:
default:
break;
case EDG_WLL_EVENT_VMRUNNING:
if (USABLE(res)) {
- switch( e->vMRunning.vm_source){
- case EDG_WLL_VMRUNNING_CM:
- case EDG_WLL_VMRUNNING_VMM:
- js->pub.vm_state = EDG_WLL_STAT_VM_RUNNING;
+ switch( e->any.source){
+ case EDG_WLL_SOURCE_CLOUD_MANAGER:
+ case EDG_WLL_SOURCE_VM_MANAGER:
+ if (js->pub.vm_state != EDG_WLL_STAT_VM_REALLY_RUNNING)
+ js->pub.vm_state = EDG_WLL_STAT_VM_RUNNING;
break;
- case EDG_WLL_VMRUNNING_MACHINE:
+ case EDG_WLL_SOURCE_VM_SYSTEM:
js->pub.vm_state = EDG_WLL_STAT_VM_REALLY_RUNNING;
break;
default:
break;
case EDG_WLL_EVENT_VMSHUTDOWN:
if (USABLE(res)) {
- switch (e->vMShutdown.vm_source){
- case EDG_WLL_VMSHUTDOWN_CM:
+ switch (e->any.source){
+ case EDG_WLL_SOURCE_CLOUD_MANAGER:
js->pub.vm_state = EDG_WLL_STAT_VM_SHUTDOWN;
break;
- case EDG_WLL_VMSHUTDOWN_VMM:
+ case EDG_WLL_SOURCE_VM_MANAGER:
js->pub.vm_system_halting = 1;
break;
- case EDG_WLL_VMSHUTDOWN_MACHINE:
+ case EDG_WLL_SOURCE_VM_SYSTEM:
js->pub.vm_system_halting = 1;
if (js->pub.vm_state == EDG_WLL_STAT_VM_REALLY_RUNNING)
js->pub.vm_state = EDG_WLL_STAT_VM_RUNNING;
string image machine image
@type VMRunning VM is running
- int vm_source
- _code_ CM cloud manager
- _code_ VMM VM manager
- _code_ MACHINE system
@type VMShutdown
- int vm_source
- _code_ CM cloud manager
- _code_ VMM VM manager
- _code_ MACHINE system
string usage
_optional_
<val name="PBSsMom"/>
<val name="PBSMom"/>
<val name="PBSScheduler"/>
+ <val name="CloudManager"/>
+ <val name="VMManager"/>
+ <val name="VMSystem"/>
</enum>
<struct name="stateEnterTimesItem">