Upgrading from an 23.0 LTS version to an 24.0 LTS version of HTCondor
Upgrading from a 23.0 LTS version of HTCondor to a 24.0 LTS version will bring new features introduced in the 23.x versions of HTCondor. These new features include the following (note that this list contains only the most significant changes; a full list of changes can be found in the version history: Version 23 Feature Releases):
Much improved disk usage tracking and enforcement is now available when using the Logical Volume manager. Also, the execute directories can be encrypted. See Per Job Ephemeral Scratch Filesystems for more information. (HTCONDOR-1783) (HTCONDOR-2558)
Additions to the htcondor CLI tool.
Add nouns
server,
ap,
andcm
that take astatus
verb. (HTCONDOR-2580)Add
credential
verb to allow user management of job credentials. (HTCONDOR-2483)Add htcondor job
out
,err
, andlog
verbs. (HTCONDOR-2182)
Add support for tracking and enforcing CPU and memory utilization using cgroups version 2.
On execution points using cgroups, jobs can only see GPUs that have been assigned to that job.
DAGMan can now produce job credentials when submitting directly to the condor_schedd. (HTCONDOR-1711)
condor_q
-better-analyze
now emits the units for memory and disk. (HTCONDOR-2333)Added new submit commands for constraining GPU properties. When these commands are use the
RequireGPUs
expression is generated automatically by submit and desired values are stored as job attributes. The new submit commands are gpus_minimum_memory, gpus_minimum_runtime, gpus_minimum_capability and gpus_maximum_capability. (HTCONDOR-2201)New implementations of the Python bindings,
htcondor2
andclassad2
. This re-implementation of the Python bindings fixes short-comings in the original implementation and eases future maintenance. Users are encouraged to transition to this new version of the Python bindings.New default security configuration which allows READ-level commands to be performed without authentication but with encryption and integrity.
Multiple improvements that significantly reduced CPU and memory usage on the Central Manager.
Upgrading from a 23.0 LTS version of HTCondor to a 24.0 LTS version will also introduce changes that administrators and users of sites running from an older HTCondor version should be aware of when planning an upgrade. Here is a list of items that administrators should be aware of.
The old job router route language (i.e. configuration macros JOB_ROUTER_DEFAULTS, JOB_ROUTER_ENTRIES, JOB_ROUTER_ENTRIES_FILE, and JOB_ROUTER_ENTRIES_CMD) is no longer supported and will be removed during the lifetime of the V24 feature series. The new route language (configuration macros JOB_ROUTER_ROUTE_<name>, JOB_ROUTER_TRANSFORM_<name> JOB_ROUTER_PRE_ROUTE_TRANSFORM_NAMES, and JOB_ROUTER_POST_ROUTE_TRANSFORM_NAMES) should be used instead. (HTCONDOR-2259)
The ClassAd language no longer supports unit suffixes on numeric literals. This was almost always a cause for confusion and bugs in ClassAd expressions. Note that unit suffixes are still allowed in the submit language in request_disk and request_memory, but not in arbitrary ClassAd expressions. (HTCONDOR-2455)
The use of multiple queue statements in a single submit description file is now deprecated. This functionality is planned to be removed during the lifetime of the V24 feature series. (HTCONDOR-2338)
The C++ library libcondorapi.a for reading events from the event log files is no longer shipped with HTCondor. We know of no users of this library, and any new users are strongly encouraged to use the Python bindings to read event logs.