How To Enable Ipv Six

We added preliminary IPv6 support to HTCondor 7.7.5. As of 7.7.5, this functionality is experimental and is disabled by default. You can enable the support if you would like to try it out.

IPv6 support is available in 7.7.4, but has a severe bug where the condor_starter will likely crash when attempting to connect to another computer over IPv6.

Limitations

Later versions of HTCondor should remove all of these limitations.

  • ENABLE_IPV6 must be specifed in your global HTCondor configuration file, not in one of you local configuration files (the ones specified with LOCAL_CONFIG_FILE or LOCAL_CONFIG_DIR), nor using the environment variable _CONDOR_ENABLE_IPV6. #3277
  • Microsoft Windows is not supported.
  • Mixed IPv4/IPv6 pools are not supported.
  • Security policies cannot use IP addresses, only hostnames. (If you use NO_DNS=TRUE, the "hostnames" are reformatted IP addresses, and you can match against those.)
  • You must set NETWORK_INTERFACE to a specific IPv6 address. It is not possible to use multiple IPv6 interfaces on a single computer.
  • Many of these settings require a condor_restart; just a condor_reconfig is likely to be insufficient.

Possibly limitations:

  • You must have valid IPv6 (AAAA) DNS and reverse DNS records for the computers. (NO_DNS=TRUE removes this limitation.)

Enabling IPv6

  1. Set ENABLE_IPV6 = TRUE
    ENABLE_IPV6 = TRUE
    

  2. Specify the IPv6 interface to use. Note, do not put [square brackets] around this address.
    NETWORK_INTERFACE = 2607:f388:1086:0:21b:24ff:fedf:b520
    

  3. Do a condor_restart.

Additional Notes

If you specify CONDOR_HOST or COLLECTOR_HOST as an IP address, you must put the address, but not the port, in square brackets. You can continue to specify hostnames. For example:

CONDOR_HOST =[2607:f388:1086:0:21e:68ff:fe0f:6462]
# This configures the collector to listen on the non-standard port 5332.
COLLECTOR_HOST =[2607:f388:1086:0:21e:68ff:fe0f:6462]:5332
Because IPv6 addresses are not supported in the security settings, you will be unable to use $(CONDOR_HOST) or $(COLLECTOR_HOST) in your security configuration if you specify an IP address.

When using NO_DNS, IPv6 addresses are turned into hostnames by taking the IPv6 address, changing colons to dashes, and appending DEFAULT_DOMAIN_NAME. So 2607:f388:1086:0:21b:24ff:fedf:b520 becomes 2607-f388-1086-0-21b-24ff-fedf-b520.example.com (assuming DEFAULT_DOMAIN_NAME=example.com)

Debugging

If your HTCondor daemons are having problems communicating, and your logs contain messages like this:

12/06/12 09:10:59 attempt to connect to <[2607:f388:1086:0:21b:24ff:fedf:b520]:52937> failed: Address family not supported by protocol (connect errno = 97). Will keep trying for 390 total seconds (390 to go).

The likely cause is that ENABLE_IPV6 has been set in a configuration file specified in LOCAL_CONFIG_FILE or LOCAL_CONFIG_DIR, and not in the global configuration file. The configuration must be in the global configuration file.