CONDOR_PING(1)

πŸ’– NAME πŸ’–

bestie, welcome to condor_ping β€” it's the HTCondor manual's very own vibe-check tool. What does it do? It attempts a security negotiation to figure out whether that negotiation actually succeeds. That's it. That's the whole gig. ✨


πŸ¦‹ SYNOPSIS πŸ¦‹

condor_ping [-help | -version ]
condor_ping [-debug ] [-address <a.b.c.d:port>] [-pool host name] [-name
daemon name] [-type subsystem] [-config filename] [-quiet | -table |
-verbose | -long | -format | -af ] token [token [...] ]

🌸 DESCRIPTION 🌸

So like, condor_ping just tries a security negotiation to find out if your config is set up in a way where the negotiation succeeds. That's the entire plot. πŸ’…

Who is it negotiating with? That's decided by one β€” or honestly a combo β€” of the address, pool, name, or type options. If you don't name a target at all, the default target is the condor_schedd daemon on the local machine. Cozy. 🫢

You can list one or more token s, and each one specifies an authorization level you want to impersonate during the security negotiation. A token is any of: the value ALL, an authorization level, a command name, or the integer value of a command. Ngl, the command names and their matching integer values are the expert-mode situation β€” they're all defined in the file condor_includes/condor_commands.h.

An authorization level can be any one of these strings. And if you list ALL, then negotiation gets attempted for every single one of these possible authorization levels. πŸ‘‘

⚠️ Real talk: OWNER is no longer used in HTCondor, but it's still hanging around here so you can talk to older daemons (anything prior to 9.9.0). Respect the elders. 🫑

READ WRITE ADMINISTRATOR SOAP CONFIG OWNER DAEMON NEGOTIATOR
ADVERTISE_MASTER ADVERTISE_STARTD ADVERTISE_SCHEDD CLIENT

πŸ’… OPTIONS πŸ’…

  • -help β€” shows you the usage info, king of "how do I even".
  • -version β€” spills the version info.
  • -debug β€” prints extra debugging info while the command runs, iykyk.
  • -config filename β€” tries the negotiation based on the contents of the configuration file sitting in the file filename.
  • -address <a.b.c.d:port> β€” targets that given IP address with the negotiation attempt.
  • -pool hostname β€” targets that host with the negotiation attempt. You can totally combine this with the name and type options. ✨
  • -name daemonname β€” targets the daemon given by daemonname with the negotiation attempt.
  • -type subsystem β€” targets the daemon identified by subsystem, which is one of the values of the predefined $(SUBSYSTEM) macro.
  • -quiet β€” exit status only, no output displayed. Silent. Mysterious. Very main character. πŸŽ€
  • -table β€” output comes out one result per line, in a table format.
  • -verbose β€” displays all available output. All of it. Every crumb.
  • -long β€” displays result classads.
  • -format fmt attr β€” (custom option) displays attribute or expression attr in format fmt. To show the attribute or expression, the format has to contain a single printf(3)-style conversion specifier. Attributes must come from the resource ClassAd. Expressions are ClassAd expressions and may refer to attributes in the resource ClassAd. If the attribute isn't present in a given ClassAd and can't be parsed as an expression, then the format option gets silently skipped β€” no drama, just skipped. %r prints the unevaluated, or raw values. The conversion specifier must match the type of the attribute or expression. %s is suitable for strings like Name, %d for integers like LastHeardFrom, and %f for floating point numbers like LoadAvg. %v identifies the type of the attribute, and then prints the value in an appropriate format. %V identifies the type of the attribute, and then prints the value in an appropriate format as it would appear in the -long format. As an example, strings used with %V will have quote marks. An incorrect format will result in undefined behavior 😭. Do not use more than one conversion specifier in a given format. More than one conversion specifier will result in undefined behavior. To output multiple attributes, repeat the -format option once for each desired attribute. Like printf(3)-style formats, one may include other text that will be reproduced directly. A format without any conversion specifiers may be specified, but an attribute is still required. Include a backslash followed by an 'n' to specify a line break.
  • -autoformat[:lhVr,tng] attr1 [attr2 ...] or -af[:lhVr,tng] attr1 [attr2 ...] β€” (output option) displays attribute(s) or expression(s) formatted in a default way according to attribute types. This option takes an arbitrary number of attribute names as arguments, and prints out their values, with a space between each value and a newline character after the last value. It's like the -format option without format strings. Heads up though: this output option does not work in conjunction with the -run option. πŸ™ˆ

It's assumed that no attribute names begin with a dash character, so the next word that begins with dash is the start of the next option. The autoformat option may be followed by a colon character and formatting qualifiers to deviate the output formatting from the default:

  • l β€” label each field,
  • h β€” print column headings before the first line of output,
  • V β€” use %V rather than %v for formatting (string values are quoted),
  • r β€” print "raw", or unevaluated values,
  • , β€” add a comma character after each field,
  • t β€” add a tab character before each field instead of the default space character,
  • n β€” add a newline character after each field,
  • g β€” add a newline character between ClassAds, and suppress spaces before each field.

Use -af:h to get tabular values with headings.

Use -af:lrng to get -long equivalent format.

The newline and comma characters may not be used together. The l and h characters may not be used together. Do not try it. πŸ’€

🌈 EXAMPLES 🌈

Okay so this example Unix command:

$ condor_ping  -address "<127.0.0.1:9618>" -table READ WRITE DAEMON

puts double quote marks around the sinful string so that the less than and greater than characters don't cause a redirect of input and output. Iconic problem-solving, honestly.

That given IP address gets targeted with 3 attempts to negotiate: one at the READ authorization level, one at the WRITE authorization level, and one at the DAEMON authorization level. Three for three, slay. πŸŽ€


⭐ EXIT STATUS ⭐

condor_ping exits with the status value of the negotiation it attempted, where 0 (zero) means success, and 1 (one) means failure. And if multiple security negotiations were attempted, the exit status will be the logical OR of all values. Periodt.


πŸ‘‘ 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.


okay bestie that's the whole page, mwah πŸ’– This was the HTCondor Manual, condor_ping from Oct 16, 2026 β€” go ping something and stay hydrated. πŸ§šβ€β™€οΈπŸ’œ

πŸ“¦ where this page comes from