HTCondor Project List Archives



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Condor-devel] Gridmanager without Globus



Currently, the condor_gridmanager is only compiled if HAVE_EXT_GLOBUS is defined, which only happens when Globus is available.

I think this is no longer correct. The gridmanager is used for Condor-C and ongoing EC2 work, which have nothing to do with Globus.

Attached is a patch to V7.0, but probably applies to V7.1, that always compiles the condor_gridmanager and selectively leaves out functionality based on available externals. For instance, GT4 code is left out if HAVE_EXT_GT4GAHP is not defined.

The patch compiled on all platforms, and appears to test fine as well. On my system, x86 F8, the job_condorc_ab_van and job_condor_abc_van tests pass when Globus is not available.

Thoughts?

Best,


matt
diff --git a/src/Imakefile b/src/Imakefile
index 6595f01..c3ac4f5 100644
--- a/src/Imakefile
+++ b/src/Imakefile
@@ -14,7 +14,7 @@
 #define StdUnvLibs ckpt syscall_lib
 
 #if HAVE_EXT_GLOBUS
-#define GlobusProgs gridmanager globus
+#define GlobusProgs globus
 #else
 #define GlobusProgs
 #endif
@@ -67,7 +67,7 @@
 		GlobusProgs starter.V6.1 shadow.V6.1 dcskel c-gahp had \
 		CreddProgs StorkProgs \
 		TTProgs DeploymentTools \
-		eventd.V2 transferd procd privsep vm-gahp
+		eventd.V2 transferd procd privsep vm-gahp gridmanager
 
 #define Libraries \
 		util_lib daemon_core.V6 daemon_client classad c++_util	\
@@ -284,8 +284,8 @@ condor_object_target(daemon_core.V6)
 condor_object_target(daemon_client)
 condor_object_target(prio)
 condor_object_target(scripts)
+condor_object_target(gridmanager)
 #if HAVE_EXT_GLOBUS
-    condor_object_target(gridmanager)
 	condor_object_target(globus)
 #endif
 #if HAVE_EXT_CLASSADS && HAVE_EXT_GLOBUS
diff --git a/src/condor_gridmanager/Imakefile b/src/condor_gridmanager/Imakefile
index cbc9e76..ec796ad 100644
--- a/src/condor_gridmanager/Imakefile
+++ b/src/condor_gridmanager/Imakefile
@@ -1,7 +1,12 @@
 NAME=condor_gridmanager
+#if HAVE_EXT_GT4GAHP
 GT4GAHP_WRAPPER_NAME = gt4_gahp
+#endif
+#if HAVE_EXT_UNICOREGAHP
 UNICOREGAHP_WRAPPER_NAME = unicore_gahp
+#endif
 GRIDFTP_WRAPPER_NAME = gridftp_wrapper.sh
+
 all_target($(NAME) grid_monitor.sh $(GT4GAHP_WRAPPER_NAME) $(UNICOREGAHP_WRAPPER_NAME) $(GRIDFTP_WRAPPER_NAME))
 
 #if WANT_ORACLE_UNIVERSE
@@ -16,26 +21,44 @@ LIB = $(ORACLE_JOB_LIB) $(DAEMONCORE_LIB) $(STD_LIBS)
 
 soapobjs(gridmanager)
 
-OBJ = gridmanager_main.o gridmanager.o globusjob.o globusresource.o gt4job.o gt4resource.o infnbatchjob.o mirrorjob.o mirrorresource.o condorjob.o condorresource.o unicorejob.o nordugridjob.o nordugridresource.o creamjob.o creamresource.o proxymanager.o gahp-client.o $(ORACLE_JOB_OBJ) basejob.o baseresource.o gridftpmanager.o gridmanager_instantiate.o $(SOAP_OBJS)
+#if HAVE_EXT_GLOBUS
+GLOBUS_OBJ = globusjob.o globusresource.o
+#endif
+#if HAVE_EXT_GT4GAHP
+GT4_OBJ = gt4job.o gt4resource.o
+#endif
+#if HAVE_EXT_NORDUGRIDGAHP
+NORDUGRID_OBJ = nordugridjob.o nordugridresource.o
+#endif
+
+OBJ = gridmanager_main.o gridmanager.o $(GLOBUS_OBJ) $(GT4_OBJ) $(NORDUGRID_OBJ) infnbatchjob.o mirrorjob.o mirrorresource.o condorjob.o condorresource.o unicorejob.o creamjob.o creamresource.o proxymanager.o gahp-client.o $(ORACLE_JOB_OBJ) basejob.o baseresource.o gridftpmanager.o gridmanager_instantiate.o $(SOAP_OBJS)
 
 template_inst( gridmanager_instantiate.C, gridmanager_instantiate.o )
 
 public_c_plus_target($(NAME),sbin,$(OBJ),$(LIB))
 
-GT4GAHP_WRAPPER_OBJ = gt4_gahp_wrapper.o
+#if HAVE_EXT_UNICOREGAHP
 UNICOREGAHP_WRAPPER_OBJ = unicore_gahp_wrapper.o
 
 public_c_plus_target($(UNICOREGAHP_WRAPPER_NAME),sbin,$(UNICOREGAHP_WRAPPER_OBJ),$(STD_LIBS))
+#endif
 
+#if HAVE_EXT_GT4GAHP
+GT4GAHP_WRAPPER_OBJ = gt4_gahp_wrapper.o
 public_c_plus_target($(GT4GAHP_WRAPPER_NAME),sbin,$(GT4GAHP_WRAPPER_OBJ),$(STD_LIBS))
+#endif
 
+#if HAVE_EXT_GAHP
 release_copy_target($(GAHP_DIR)/gahp_server.dynamic,sbin,gahp_server,EXECUTABLE_MODE)
 static_copy_target($(GAHP_DIR)/gahp_server.static,sbin,gahp_server,EXECUTABLE_MODE)
 strip_copy_target($(GAHP_DIR)/gahp_server.dynamic,sbin,gahp_server,EXECUTABLE_MODE)
+#endif
 
+#if HAVE_EXT_GLOBUS
 release_copy_target($(GLOBUS_DIR)/sbin/globus-gridftp-server.dynamic,libexec,globus-gridftp-server,EXECUTABLE_MODE)
 static_copy_target($(GLOBUS_DIR)/sbin/globus-gridftp-server.static,libexec,globus-gridftp-server,EXECUTABLE_MODE)
 strip_copy_target($(GLOBUS_DIR)/sbin/globus-gridftp-server.dynamic,libexec,globus-gridftp-server,EXECUTABLE_MODE)
+#endif
 
 public_copy_target(grid_monitor.sh,sbin,grid_monitor.sh,EXECUTABLE_MODE)
 public_copy_target($(GRIDFTP_WRAPPER_NAME),libexec,$(GRIDFTP_WRAPPER_NAME),EXECUTABLE_MODE)
@@ -44,11 +67,13 @@ grid_monitor.sh: grid_monitor_wrapper grid_manager_monitor_agent
 	cat grid_monitor_wrapper grid_manager_monitor_agent > grid_monitor.sh
 	chmod 755 grid_monitor.sh
 
+#if HAVE_EXT_GT4GAHP
 public_copy_target($(GT4GAHP_DIR)/gt4-gahp.jar,lib,gt4-gahp.jar,TEXT_MODE)
 
 release_recursive_copy_target($(GT4GAHP_DIR)/gt4,lib/gt4)
 static_recursive_copy_target($(GT4GAHP_DIR)/gt4,lib/gt4)
 strip_recursive_copy_target($(GT4GAHP_DIR)/gt4,lib/gt4)
+#endif
 
 #if HAVE_EXT_BLAHP
 release_recursive_copy_target($(BLAHP_DIR)/dynamic,lib/glite)
@@ -56,15 +81,20 @@ static_recursive_copy_target($(BLAHP_DIR)/static,lib/glite)
 strip_recursive_copy_target($(BLAHP_DIR)/dynamic,lib/glite)
 #endif
 
+#if HAVE_EXT_UNICOREGAHP
 public_copy_target($(UNICOREGAHP_DIR)/ugahp.jar,lib,ugahp.jar,TEXT_MODE)
+#endif
 
+#if HAVE_EXT_NORDUGRIDGAHP
 release_copy_target($(NORDUGRIDGAHP_DIR)/bin/nordugrid_gahp.dynamic,sbin,nordugrid_gahp,EXECUTABLE_MODE)
 static_copy_target($(NORDUGRIDGAHP_DIR)/bin/nordugrid_gahp.static,sbin,nordugrid_gahp,EXECUTABLE_MODE)
 strip_copy_target($(NORDUGRIDGAHP_DIR)/bin/nordugrid_gahp.dynamic,sbin,nordugrid_gahp,EXECUTABLE_MODE)
+#endif
 
-
+#if HAVE_EXT_GAHP
 $(GAHP_DIR)/gahp_server:
 	/bin/true
+#endif
 
 html:
 testbin:: all
diff --git a/src/condor_gridmanager/gridmanager.C b/src/condor_gridmanager/gridmanager.C
index e85d71c..7089d4b 100644
--- a/src/condor_gridmanager/gridmanager.C
+++ b/src/condor_gridmanager/gridmanager.C
@@ -40,11 +40,13 @@
 #include "oraclejob.h"
 #endif
 
+#if HAVE_EXT_GLOBUS
 #include "nordugridjob.h"
+#include "gt4job.h"
+#endif
 #include "unicorejob.h"
 #include "mirrorjob.h"
 #include "condorjob.h"
-#include "gt4job.h"
 #include "infnbatchjob.h"
 
 #if !defined(WIN32)
@@ -333,6 +335,7 @@ Init()
 	jobTypes.Append( new_type );
 #endif
 
+#if HAVE_EXT_GLOBUS
 	new_type = new JobType;
 	new_type->Name = strdup( "Nordugrid" );
 	new_type->InitFunc = NordugridJobInit;
@@ -340,7 +343,9 @@ Init()
 	new_type->AdMatchFunc = NordugridJobAdMatch;
 	new_type->CreateFunc = NordugridJobCreate;
 	jobTypes.Append( new_type );
+#endif
 
+#if HAVE_EXT_UNICOREGAHP
 	new_type = new JobType;
 	new_type->Name = strdup( "Unicore" );
 	new_type->InitFunc = UnicoreJobInit;
@@ -348,6 +353,7 @@ Init()
 	new_type->AdMatchFunc = UnicoreJobAdMatch;
 	new_type->CreateFunc = UnicoreJobCreate;
 	jobTypes.Append( new_type );
+#endif
 
 	new_type = new JobType;
 	new_type->Name = strdup( "Mirror" );
@@ -373,6 +379,7 @@ Init()
 	new_type->CreateFunc = CondorJobCreate;
 	jobTypes.Append( new_type );
 
+#if HAVE_EXT_GT4GAHP
 	new_type = new JobType;
 	new_type->Name = strdup( "GT4" );
 	new_type->InitFunc = GT4JobInit;
@@ -380,7 +387,9 @@ Init()
 	new_type->AdMatchFunc = GT4JobAdMatch;
 	new_type->CreateFunc = GT4JobCreate;
 	jobTypes.Append( new_type );
+#endif
 
+#if HAVE_EXT_GLOBUS
 	new_type = new JobType;
 	new_type->Name = strdup( "Globus" );
 	new_type->InitFunc = GlobusJobInit;
@@ -388,6 +397,7 @@ Init()
 	new_type->AdMatchFunc = GlobusJobAdMatch;
 	new_type->CreateFunc = GlobusJobCreate;
 	jobTypes.Append( new_type );
+#endif
 
 	jobTypes.Rewind();
 	while ( jobTypes.Next( new_type ) ) {