@@ -538,6 +538,15 @@ def list_services():
538
538
typer .secho (f"* { service } " , err = True )
539
539
540
540
541
+ @app .command ()
542
+ def list_legacy_adapted_services ():
543
+ """List the services which are adapted with legacy adaptor."""
544
+ _check_containers_running ()
545
+ typer .secho ("Known legacy adapted services:" , err = True )
546
+ for service in _list_legacy_adaptedservices ()[1 ]:
547
+ typer .secho (f"* { service } " , err = True )
548
+
549
+
541
550
@app .command ()
542
551
def runsvctrl (command : str , pattern : str ):
543
552
"""Execute runsvctrl inside the server container."""
@@ -1259,6 +1268,28 @@ def _list_services():
1259
1268
raise typer .Exit (1 )
1260
1269
1261
1270
1271
+ def _list_legacy_adaptedservices ():
1272
+ # Code to get the CFG, and extract the legacy adapted services
1273
+ # The Python 3 runit dir ends up in /diracos
1274
+ for runit_dir in ["ServerInstallDIR/runit" , "ServerInstallDIR/diracos/runit" ]:
1275
+ cmd = _build_docker_cmd ("server" )
1276
+ cmd += [
1277
+ "bash" ,
1278
+ "-c" ,
1279
+ f". $HOME/CONFIG && "
1280
+ ". $HOME/ServerInstallDIR/bashrc && "
1281
+ "python $HOME/LocalRepo/TestCode/DIRAC/tests/Integration/dirac-cfg-get-legacy-adapted-services.py" ,
1282
+ ]
1283
+ ret = subprocess .run (cmd , check = False , stdout = subprocess .PIPE , text = True )
1284
+ if not ret .returncode :
1285
+ return runit_dir , ret .stdout .split ()
1286
+ else :
1287
+ typer .secho ("Failed to find list of adapted services" , err = True , fg = c .RED )
1288
+ typer .secho (f"stdout was: { ret .stdout !r} " , err = True )
1289
+ typer .secho (f"stderr was: { ret .stderr !r} " , err = True )
1290
+ raise typer .Exit (1 )
1291
+
1292
+
1262
1293
def _log_popen_stdout (p ):
1263
1294
while p .poll () is None :
1264
1295
line = p .stdout .readline ().rstrip ()
0 commit comments