Thanks for the update.
The combination of all the patches from this thread do fix the reachability issue we have been seeing in my testing.
I do sort of prefer the option to not have to include the port which was working with my earlier patch to the reachable method. Mainly because we have some supporting code to auto configure the canonical as well as cleaning up any stale dynamic peers that now needs to consider the port being specified.
diff --git a/packages/acs-tcl/tcl/cluster-procs.tcl b/packages/acs-tcl/tcl/cluster-procs.tcl
index 3db0afb84..a6ffaab79 100644
--- a/packages/acs-tcl/tcl/cluster-procs.tcl
+++ b/packages/acs-tcl/tcl/cluster-procs.tcl
@@ -397,12 +397,20 @@ namespace eval ::acs {
# We can check via ns_connchan
#
try {
- #ns_logctl severity Debug(connchan) on
+ if {![info exists port]} {
+ if {$proto eq "http"} {
+ set port 80
+ } else {
+ set port 443
+ }
+ }
+ # ns_logctl severity Debug(connchan) on
ns_connchan connect $host $port
- } on error {} {
+ } on error {errorMsg} {
#
# Not reachable, stick with the default 0
#
+ ns_log Notice "'$host' is not reachable on port '$port': $errorMsg"
} on ok {chan} {
set result 1
ns_connchan close $chan