-{section: Creating a personal HTCondor from your own build of HTCondor or from prebuilt binaries} - -{subsection: Building HTCondor} - -Note this section is optional -- if you are on a CSL machine, you can skip to the "Settting up your Personal HTCondor" section - -Pretend you have your build in =/scratch/roy/v66=. -Pretend you have you want to set up a personal HTCondor in =/scratch/roy/personal-condor=. -Substitute pathnames appropriately. - -First, build HTCondor as described in {wiki: BuildingHtcondorOnUnix here}. After you run make, do "make install" (note: in older versions of the code, this used to be "make release"). You'll find that you have a new directory =/scratch/roy/v66/release_dir=, and if you look inside it, you will see something like: -{code} -> ls /scratch/roy/v66/release_dir/ -bin/ include/ lib/ man/ sbin/ src/ -{endcode} -This is very similar to what a HTCondor installation has in it. Note that if you have a version of HTCondor 7.5.5 or later, do not do the "make release" command. - -{subsection: Setting up your Personal HTCondor} - -There are lots of ways to set up a personal HTCondor: I'll show you one way. You want to set up your =PATH= to point at the =bin= and =sbin= directories in your release directory. You want to set =CONDOR_CONFIG= to point at a =condor_config= file. You want to edit your =condor_config= file appropriately. Here is what I do: -{subsubsection: Make a link to your release directory} -{code} -cd /scratch/roy/personal-condor -ln -s /scratch/roy/v66/src/release_dir . -{endcode} -With the new {link: https://condor-wiki.cs.wisc.edu/index.cgi/wiki?p=BuildModernization build} system using cmake, you will want to remove the =src/= part of the path in the above =ln= command, (for versions of HTCondor later than 7.5.5.) - -Or, if you want to use the pre-built binaries in the CS pool, the release directory is in "/unsup/condor", and you don't need to make the subdirectories below. - -Make some directories for HTCondor -{code} -mkdir execute -mkdir log -mkdir spool -{endcode} -{subsubsection: Set up your environment} -This commands are for tcsh: you'll need to edit them for bash. -{code} -cat > setup -setenv PATH /scratch/roy/personal-condor/release_dir/bin:${PATH} -setenv PATH /scratch/roy/personal-condor/release_dir/sbin:${PATH} -setenv CONDOR_CONFIG /scratch/roy/personal-condor/condor_config -(control-d) -{endcode} -When you do source setup your environment will be set up for your personal HTCondor. -{subsubsection: Create your HTCondor configuration file} -{code} -cp /scratch/roy/v66/src/condor_examples/condor_config.generic condor_config -touch condor_config.local -{endcode} -Now you need to edit your =condor_config= file. Search for the following configuration variables, and set them as follows (using the correct pathnames and email address for you): -{code} -CONDOR_HOST = $(FULL_HOSTNAME) -RELEASE_DIR = /scratch/roy/personal-condor/release_dir -LOCAL_DIR = /scratch/roy/personal-condor -LOCAL_CONFIG_FILE = $(LOCAL_DIR)/condor_config.local -CONDOR_ADMIN = your-email@cs.wisc.edu -UID_DOMAIN = $(FULL_HOSTNAME) -FILESYSTEM_DOMAIN = $(FULL_HOSTNAME) - -COLLECTOR_HOST = $(CONDOR_HOST):11000 -# Not necessary for late versions of HTCondor -NEGOTIATOR_HOST = $(CONDOR_HOST):11001 - -WANT_SUSPEND = $(TESTINGMODE_WANT_SUSPEND) -WANT_VACATE = $(TESTINGMODE_WANT_VACATE) -START = $(TESTINGMODE_START) -SUSPEND = $(TESTINGMODE_SUSPEND) -CONTINUE = $(TESTINGMODE_CONTINUE) -PREEMPT = $(TESTINGMODE_PREEMPT) -KILL = $(TESTINGMODE_KILL) -PERIODIC_CHECKPOINT = $(TESTINGMODE_PERIODIC_CHECKPOINT) -PREEMPTION_REQUIREMENTS = $(TESTINGMODE_PREEMPTION_REQUIREMENTS) -PREEMPTION_RANK = $(TESTINGMODE_PREEMPTION_RANK) - -DAEMON_LIST = MASTER, STARTD, SCHEDD, COLLECTOR, NEGOTIATOR -{endcode} -_Note:_ Pick different numbers for the COLLECTOR_HOST and the NEGOTIATOR_HOST. These are port numbers, and each personal HTCondor running on a machine needs to have different ports. Probably randomly picking numbers that are greater than 1024 will be sufficient. - -This looks like a lot of things to edit. Why is it so hard? Well, our installation script normally sets things up for you, but because you are using a build environment, it is harder to use the installation script. Also, it is useful for you to be familiar with these settings, so you understand better how HTCondor works. - -{subsubsection: Run HTCondor} - -First, make sure that you will run the correct HTCondor. Which should tell you the one you expect to see: -{code} -> source setup -> which condor_master -/scratch/roy/personal-condor/release_dir/sbin/condor_master -{endcode} -Then run condor_master: -{code} -condor_master -{endcode} -Wait a second, and make sure that everything is running: -{code} -ps -x | grep condor -{endcode} -When you are done with your personal HTCondor, you can kill it with: -{code} -condor_off -master -{endcode} - -{subsubsection: Advanced configuration and problem solving} - -If you are debugging a daemon, you may want to have additional debugging information. For instance, if you are debugging the collector, you can edit COLLECTOR_DEBUG. For instance, you might do: -{code} -COLLECTOR_DEBUG = D_FULLDEBUG D_PROTOCOL -{endcode} -Note that this set up described above is rather nice for working with different versions of HTCondor. Just change the link to the release directory, and you can test a different version of HTCondor. +See CreatingPersonalHtcondor