# HTCondor to ClusterCockpit Sync ## HTCondor ClassAdLog Plugin ### Building Requirements: A build environment reasonably similar to the submission nodes (might want to use the HTCondor nmi build docker containers). Use CMake to configure the project. ```bash mkdir build ; cd build cmake .. -DCONDOR_SRC= -DCONDOR_BUILD= -DCMAKE_BUILD_TYPE=Release ``` ### Configuration The target system will need the corresponding `curl` package installed. Adapt and add to `condor_config.local` or any other HTCondor config file: ``` SCHEDD.PLUGINS = $(SCHEDD.PLUGINS) /path/to/libhtcondor_cc_sync_plugin.so CCSYNC_URL= CCSYNC_APIKEY= CCSYNC_CLUSTER_NAME= CCSYNC_GPU_MAP=/path/to/gpu_map.json CCSYNC_SUBMIT_ID= ``` `gpu_map.json` is expected in the format and can be generated with `condor_status_to_gpu_map.py `, where `condor_status.json` is generated by calling `condor_status -json > condor_status.json` on the cluster: ``` { "hostname1": { "GPU-acb66c44": "0000:07:00.0", ... }, "hostname2": { "GPU-31f57da0": "0000:0A:00.0", ... } } ```