CONDOR_DRAIN(1)

πŸ’§ condor_drain β€” bestie edition

okay so. CONDOR_DRAIN(1) β€” that's the manual page we're reading, and it lives in the HTCondor manual. Say hi to condor_drain, the HTCondor utility that lets you control the draining of an execute machine. It's giving admin-tool realness and honestly? obsessed. 🫢


✨ NAME ✨

condor_drain β€” it's the HTCondor Manual joint, and it does one thing beautifully: control draining of an execute machine. no cap.


✨ SYNOPSIS ✨

condor_drain [-help ]

condor_drain [-debug ] [-pool pool-name] [-graceful | -quick | -fast]
[-reason reason-text] [-resume-on-completion | -restart-on-completion |
-reconfig-on-completion | -exit-on-completion] [-check expr] [-start
expr] machine-name

condor_drain [-debug ] [-pool pool-name] -cancel [-request-id id]
machine-name

✨ DESCRIPTION ✨

condor_drain is an administrative command β€” so like, admin main character energy β€” and its whole vibe is controlling the draining of all slots on an execute machine. πŸ’…

When a machine is draining, it will not accept any new jobs… unless the -start expression says otherwise, because we love an exception. πŸ™ˆ

Which machine are we draining, you ask? That's the machine-name argument, and bestie, it's literally the same as the machine ClassAd attribute Machine. So if you know that, you already know where to point this thing.

How the currently-running jobs get treated? Depends entirely on the draining schedule you pick with a command-line option. Here's the tea:

  • -graceful: initiate a graceful eviction of the job. That means all promises made to the job are honored, including MaxJobRetirementTime. The eviction of jobs is coordinated to reduce idle time β€” which means if one slot has a job with a long retirement time and the other slots have jobs with shorter retirement times, the effective retirement time for all of the jobs is the longer one. 😭 (collective suffering, but make it efficient). If no draining schedule is specified, -graceful is chosen by default. periodt.
  • -quick: MaxJobRetirementTime is not honored. Eviction of jobs is immediately initiated. Jobs are given time to shut down according to the usual policy, that is, given by MachineMaxVacateTime.
  • -fast: jobs are immediately hard-killed, with no chance to gracefully shut down. πŸ’€ brutal. iconic.

If you specify -graceful, you may also specify -start. On a gracefully-draining machine, some jobs may finish retiring before others β€” natural, no shade. By default, the resources used by the newly-retired jobs do not become available for use by other jobs until the machine exits the draining state (see below). The -start expression you supply replaces the draining machine's normal START expression for the duration of the draining state, potentially making those resources available. For more on all that, go read the admin-manual/ep-policy-configuration:*condor_startd* Policy Configuration section. πŸ“š

Once draining is complete, the machine will enter the Drained/Idle state. To resume normal operation (negotiation) at that time β€” or at any previous time during draining β€” you can use the -cancel option. The -resume-on-completion option does the automatic edition: normal operation resumes by itself once draining has completed, and you can hand it over when you initiate draining. This is useful for forcing a machine with partitionable slots to join all of the resources back together into one machine, which facilitates de-fragmentation and whole machine negotiation. slay. πŸ¦‹


✨ OPTIONS ✨

  • -help β€” display brief usage information and dip. that's it, that's the whole thing. πŸŽ€
  • -debug β€” causes debugging information to be sent to stderr, based on the value of the configuration variable TOOL_DEBUG.
  • -verbose β€” print the request ID assigned to the drain request after it is submitted. That request ID can later be passed to -cancel via -request-id to cancel a specific draining request. keep the receipt, bestie. 🧾
  • -pool pool-name β€” specify an alternate HTCondor pool, if the default one is not desired.
  • -graceful β€” (the default) honor the maximum vacate and retirement time policy. 😌
  • -quick β€” honor the maximum vacate time, but not the retirement time policy.
  • -fast β€” honor neither the maximum vacate time policy nor the retirement time policy. no chill, zero patience. πŸ”₯
  • -reason reason-text β€” set the drain reason to reason-text. While the condor_startd is draining it will advertise the given reason. If this option is not used, the reason defaults to the name of the user that started the drain. πŸ“
  • -resume-on-completion β€” when done draining, resume normal operation, such that potentially the whole machine could be claimed.
  • -restart-on-completion β€” when done draining, restart the condor_startd daemon so that configuration changes will take effect. πŸ”„
  • -reconfig-on-completion β€” when done draining, reconfig and then resume normal operation. A reconfig will not change the resources assigned to slots, but most other configuration changes will be applied, including changes to the START expression and to offline GPUs and universes.
  • -exit-on-completion β€” when done draining, shut down the condor_startd daemon and tell the condor_master not to restart it automatically. πŸ‘‹
  • -check expr β€” abort draining, if expr is not true for all slots to be drained.
  • -start expr β€” the START expression to use while the machine is draining. You can't reference the machine's existing START expression. not negotiable. πŸ™…
  • -cancel β€” cancel a prior draining request, to permit the condor_negotiator to use the machine again.
  • -request-id id β€” specify a specific draining request to cancel, where id is given by the DrainingRequestId machine ClassAd attribute.

✨ EXIT STATUS ✨

condor_drain will exit with a non-zero status value if it fails, and zero status if it succeeds. so basically, zero = we ate, non-zero = we did not eat. 😭


✨ AUTHOR ✨

HTCondor Team πŸ‘‘


1990-2026, Center for High Throughput Computing, Computer Sciences Department, University of Wisconsin-Madison, Madison, WI, US. Licensed under the Apache License, Version 2.0.


lowkey the most important part: this was lifted straight out of the HTCondor Manual, page CONDOR_DRAIN(1), and that footer date stamp says Oct 16, 2026. matching the source/version and the date exactly, because facts don't change just because the vibe does. πŸ’–βœ¨πŸŒΈ

stay drained, stay unbothered, and pls read your START expressions before you yolo them. mwah. πŸ’…πŸ«ΆπŸŒˆ

πŸ“¦ where this page comes from