File tree Expand file tree Collapse file tree 4 files changed +19
-2
lines changed Expand file tree Collapse file tree 4 files changed +19
-2
lines changed Original file line number Diff line number Diff line change 22
22
tornado : " 5.1.1"
23
23
- python : " 3.6"
24
24
- python : " 3.7"
25
+ controller_ip : " *"
25
26
- python : " 3.8"
26
27
mpi : true
27
28
- python : " 3.9"
36
37
~/conda
37
38
key : conda
38
39
40
+ - name : Set environment variables
41
+ if : matrix.controller_ip
42
+ run : |
43
+ echo "IPP_CONTROLLER_IP=${{ matrix.controller_ip }}" >> $GITHUB_ENV
44
+
39
45
- name : Install Python (conda) ${{ matrix.python }}
40
46
if : matrix.mpi
41
47
run : |
Original file line number Diff line number Diff line change @@ -766,9 +766,18 @@ def recursively_start_schedulers(identity, depth):
766
766
outgoing_id1 = identity * 2 + 1
767
767
outgoing_id2 = outgoing_id1 + 1
768
768
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 )
769
778
770
779
scheduler_args = dict (
771
- in_addr = self . client_url ( BroadcastScheduler . port_name , identity ) ,
780
+ in_addr = in_addr ,
772
781
mon_addr = monitor_url ,
773
782
not_addr = disambiguate_url (self .client_url ('notification' )),
774
783
reg_addr = disambiguate_url (self .client_url ('registration' )),
Original file line number Diff line number Diff line change @@ -302,7 +302,7 @@ def load_connector_file(self):
302
302
# allow hand-override of location for disambiguation
303
303
# and ssh-server
304
304
if 'IPEngine.location' not in self .cli_config :
305
- self .loction = d ['location' ]
305
+ self .location = d ['location' ]
306
306
if 'ssh' in d and not self .sshserver :
307
307
self .sshserver = d .get ("ssh" )
308
308
Original file line number Diff line number Diff line change @@ -68,6 +68,8 @@ def __str__(self):
68
68
'--ping=250' ,
69
69
'--dictdb' ,
70
70
]
71
+ if os .environ .get ("IPP_CONTROLLER_IP" ):
72
+ cp .cmd_and_args .append (f"--ip={ os .environ ['IPP_CONTROLLER_IP' ]} " )
71
73
cp .start ()
72
74
launchers .append (cp )
73
75
tic = time .time ()
You can’t perform that action at this time.
0 commit comments