@@ -2370,9 +2370,55 @@ disable_plugin(Config, Node, Plugin) ->
2370
2370
plugin_action (Config , Node , [disable , Plugin ]).
2371
2371
2372
2372
plugin_action (Config , Node , Args ) ->
2373
- Rabbitmqplugins = ? config (rabbitmq_plugins_cmd , Config ),
2374
2373
NodeConfig = get_node_config (Config , Node ),
2375
2374
Nodename = ? config (nodename , NodeConfig ),
2375
+ % % We want to use the CLI from the given node if there is a secondary
2376
+ % % umbrella being configured.
2377
+ I = get_node_index (Config , Node ),
2378
+ CanUseSecondary = (I + 1 ) rem 2 =:= 0 ,
2379
+ WithPlugins0 = rabbit_ct_helpers :get_config (Config ,
2380
+ broker_with_plugins ),
2381
+ WithPlugins = case is_list (WithPlugins0 ) of
2382
+ true -> lists :nth (I + 1 , WithPlugins0 );
2383
+ false -> WithPlugins0
2384
+ end ,
2385
+ UseSecondaryDist = case ? config (secondary_dist , Config ) of
2386
+ false -> false ;
2387
+ _ -> CanUseSecondary
2388
+ end ,
2389
+ UseSecondaryUmbrella = case ? config (secondary_umbrella , Config ) of
2390
+ false ->
2391
+ false ;
2392
+ _ ->
2393
+ CanUseSecondary
2394
+ end ,
2395
+ Rabbitmqplugins = case UseSecondaryUmbrella of
2396
+ true ->
2397
+ SrcDir = case WithPlugins of
2398
+ false ->
2399
+ ? config (
2400
+ secondary_rabbit_srcdir ,
2401
+ Config );
2402
+ _ ->
2403
+ ? config (
2404
+ secondary_current_srcdir ,
2405
+ Config )
2406
+ end ,
2407
+ SecScriptsDir = filename :join (
2408
+ [SrcDir , " sbin" ]),
2409
+ rabbit_misc :format (
2410
+ " ~ts /rabbitmq-plugins" , [SecScriptsDir ]);
2411
+ false ->
2412
+ case UseSecondaryDist of
2413
+ true ->
2414
+ SecondaryDist = ? config (secondary_dist , Config ),
2415
+ rabbit_misc :format (
2416
+ " ~ts /sbin/rabbitmq-plugins" , [SecondaryDist ]);
2417
+ false ->
2418
+ ? config (rabbitmq_plugins_cmd , Config )
2419
+ end
2420
+ end ,
2421
+
2376
2422
Env = [
2377
2423
{" RABBITMQ_SCRIPTS_DIR" , filename :dirname (Rabbitmqplugins )},
2378
2424
{" RABBITMQ_PID_FILE" , ? config (pid_file , NodeConfig )},
0 commit comments