*:: ENABLE_ADDRESS_REWRITING=TRUE *:: Asterisks in NETWORK_INTERFACE *:: Host and IP based security -*: How to specify COLLECTOR_HOST? Do the various querying mechanisms actually try a list, or can we only broadcast to multiple (via CONDOR_VIEW_HOST) +*: How to specify COLLECTOR_HOST? Do the various querying mechanisms actually try a list, or can we only broadcast to multiple (via CONDOR_VIEW_HOST). A very cursory look suggests lots of places are trying to parse COLLECTOR_HOST on their own; we'll probably need to unify this. *: What are we passing in on connect attempts? sinful string or object equivalent? {section: Plan} @@ -43,11 +43,11 @@ *:: Design such that if in the future we wanted to have arbitrarily long lists of addresses, we could do so while maintaining backward compatbility (older versions would just use the head of a list). This seems likely to be functionality we'll want in the future, and while we're messing with the sinful strings in the time to ensure the futureproofing is done. *:: Rejected: MyAddress (implicitly IPv4) and new attribute MyAddressIPv6. It means multiple places need to look in multiple attributes to find the appropriate address. We want to be able to hand a sinful string around and assume it's everything you need to contact someone. We made this same tradeoff of CCB and shared port. -3: Teach startd to listin on and advertise both IPv4 and IPv6 addresses. (Likely side effect: all daemons do.) +3: Teach startd to listen on and advertise both IPv4 and IPv6 addresses. (Likely side effect: all daemons do.) *:: Likely just done at the DaemonCore level where the attributes are automatically added. Indeed, likely even lower, at the "Gimme a sinful string for myself" level. *:: There will be breakage at this point, as the negotiator begins trying to match IPv4-only hosts to IPv6-only hosts. -4: Teach schedd to listin on and advertise both IPv4 and IPv6 addresses. (Possibly done by "teach startd" step.) +4: Teach schedd to listen on and advertise both IPv4 and IPv6 addresses. (Possibly done by "teach startd" step.) *:: There will be breakage at this point, as the negotiator begins trying to match IPv4-only hosts to IPv6-only hosts. 5: Teach negotiator to make matchmaking decisions based on IPv4 and IPv6 capabilities of the involved parties. @@ -56,7 +56,7 @@ *::: Rejected: Explicitly add. Risks trashing autoclusters, as every machine and job has a unique sinful string. *:: Rejected: add SpeaksIPv6=TRUE; SpeaksIPv4=TRUE then adding to Job/Machine adds (Requirements=SpeaksIPv6 && TARGET.SpeaksIPv6)||(Requirements=SpeaksIPv4 && TARGET.SpeaksIPv4). Not backward compatible. Could assume anyone lacking both only speaks IPv4, but breaks existance IPv6 pools. Not future proof: no hope for subtle things like "are these hosts on the same subnet and thus able to use link local IPv6?" -6: Teach other daemons to listin on and advertise both IPv4 and IPv6 addresses. (Possibly done by "teach startds" step). +6: Teach other daemons to listen on and advertise both IPv4 and IPv6 addresses. (Possibly done by "teach startds" step). 7: Gracefully handle impossible connection requests. 1:: Daemons that only handle one protocol shouldn't ever have a reason to connect to the other. But just in case, ensure the failure is graceful: complain to the log and carry on. EXCEPTing is absolutely not acceptable.