Skip to content

Commit 3e48611

Browse files
committed
fix connect urls in broadcast scheduler when IPController.ip=*
1 parent dcce663 commit 3e48611

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

ipyparallel/controller/app.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -766,9 +766,18 @@ def recursively_start_schedulers(identity, depth):
766766
outgoing_id1 = identity * 2 + 1
767767
outgoing_id2 = outgoing_id1 + 1
768768
is_leaf = depth == self.broadcast_scheduler_depth
769+
is_root = depth == 0
770+
771+
# FIXME: use localhost, not client ip for internal communication
772+
# this will still be localhost anyway for the most common cases
773+
# of localhost or */0.0.0.0
774+
in_addr = self.client_url(BroadcastScheduler.port_name, identity)
775+
if not is_root:
776+
# non-root schedulers connect, so they need a disambiguated url
777+
in_addr = disambiguate_url(in_addr)
769778

770779
scheduler_args = dict(
771-
in_addr=self.client_url(BroadcastScheduler.port_name, identity),
780+
in_addr=in_addr,
772781
mon_addr=monitor_url,
773782
not_addr=disambiguate_url(self.client_url('notification')),
774783
reg_addr=disambiguate_url(self.client_url('registration')),

0 commit comments

Comments
 (0)