@@ -1625,6 +1625,7 @@ def join_ssh_impl(local_user, seed_host, seed_user, ssh_public_keys: typing.List
1625
1625
user_by_host .add (local_user , utils .this_node ())
1626
1626
user_by_host .set_no_generating_ssh_key (bool (ssh_public_keys ))
1627
1627
user_by_host .save_local ()
1628
+ detect_cluster_service_on_node (seed_host )
1628
1629
user_by_host .add (seed_user , get_node_canonical_hostname (seed_host ))
1629
1630
user_by_host .save_local ()
1630
1631
@@ -2204,6 +2205,17 @@ def bootstrap_add(context):
2204
2205
print (out )
2205
2206
2206
2207
2208
+ def detect_cluster_service_on_node (peer_node ):
2209
+ service_manager = ServiceManager ()
2210
+ for _ in range (REJOIN_COUNT ):
2211
+ if service_manager .service_is_active ("pacemaker.service" , peer_node ):
2212
+ break
2213
+ logger .warning ("Cluster is inactive on %s. Retry in %d seconds" , peer_node , REJOIN_INTERVAL )
2214
+ sleep (REJOIN_INTERVAL )
2215
+ else :
2216
+ utils .fatal ("Cluster is inactive on {}" .format (peer_node ))
2217
+
2218
+
2207
2219
def bootstrap_join (context ):
2208
2220
"""
2209
2221
Join cluster process
@@ -2242,24 +2254,13 @@ def bootstrap_join(context):
2242
2254
init_upgradeutil ()
2243
2255
remote_user , cluster_node = _parse_user_at_host (_context .cluster_node , _context .current_user )
2244
2256
utils .ping_node (cluster_node )
2245
-
2246
2257
join_ssh (cluster_node , remote_user )
2247
2258
remote_user = utils .user_of (cluster_node )
2248
2259
2249
- service_manager = ServiceManager ()
2250
- n = 0
2251
- while n < REJOIN_COUNT :
2252
- if service_manager .service_is_active ("pacemaker.service" , cluster_node ):
2253
- break
2254
- n += 1
2255
- logger .warning ("Cluster is inactive on %s. Retry in %d seconds" , cluster_node , REJOIN_INTERVAL )
2256
- sleep (REJOIN_INTERVAL )
2257
- else :
2258
- utils .fatal ("Cluster is inactive on {}" .format (cluster_node ))
2259
-
2260
2260
lock_inst = lock .RemoteLock (cluster_node )
2261
2261
try :
2262
2262
with lock_inst .lock ():
2263
+ service_manager = ServiceManager ()
2263
2264
_context .node_list_in_cluster = utils .fetch_cluster_node_list_from_node (cluster_node )
2264
2265
setup_passwordless_with_other_nodes (cluster_node , remote_user )
2265
2266
join_remote_auth (cluster_node , remote_user )
0 commit comments