Skip to content

Commit d97d777

Browse files
author
Robin VAN DE MERGHEL
committed
fix: Changed to make the legacy adaptor automatic.
1 parent bb4d82c commit d97d777

File tree

6 files changed

+24
-18
lines changed

6 files changed

+24
-18
lines changed

integration_tests.py

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -163,10 +163,9 @@ def create(
163163
run_server_tests: bool = True,
164164
run_client_tests: bool = True,
165165
run_pilot_tests: bool = True,
166-
legacy_adapted_services: Optional[list[str]] = typer.Option(None, help="Services that have legacy adaptors."),
167166
):
168167
"""Start a local instance of the integration tests"""
169-
prepare_environment(flags, editable, extra_module, diracx_dist_dir, release_var, legacy_adapted_services)
168+
prepare_environment(flags, editable, extra_module, diracx_dist_dir, release_var)
170169
install_server()
171170
install_client()
172171
install_pilot()
@@ -216,7 +215,6 @@ def prepare_environment(
216215
extra_module: Optional[list[str]] = None,
217216
diracx_dist_dir: Optional[str] = None,
218217
release_var: Optional[str] = None,
219-
legacy_adapted_services: Optional[list[str]] = typer.Option(None, help="Services that have legacy adaptors."),
220218
):
221219
"""Prepare the local environment for installing DIRAC."""
222220
if extra_module is None:
@@ -238,11 +236,7 @@ def prepare_environment(
238236
else:
239237
flags = dict(f.split("=", 1) for f in flags)
240238

241-
legacy_adapted_services_str = ""
242-
if legacy_adapted_services:
243-
legacy_adapted_services_str = " ".join(legacy_adapted_services)
244-
245-
docker_compose_env = _make_env(flags, legacy_adapted_services_str)
239+
docker_compose_env = _make_env(flags)
246240

247241
server_flags = {}
248242
client_flags = {}
@@ -715,7 +709,7 @@ def _find_dirac_release():
715709
return version_branch
716710

717711

718-
def _make_env(flags, legacy_adapted_services=""):
712+
def _make_env(flags):
719713
# Important note: when you add an env variable here to pass it to
720714
# a docker compose, make sure that in docker-compose.yml, you added an
721715
# `environment` field for your service.
@@ -736,7 +730,6 @@ def _make_env(flags, legacy_adapted_services=""):
736730
if "CVMFS_DIR" not in env or not Path(env["CVMFS_DIR"]).is_dir():
737731
typer.secho(f"CVMFS_DIR environment value: {env.get('CVMFS_DIR', 'NOT SET')}", fg=c.YELLOW)
738732
env["CVMFS_DIR"] = "/tmp"
739-
env["LEGACY_ADAPTED_SERVICES"] = legacy_adapted_services
740733
return env
741734

742735

src/DIRAC/Core/Utilities/Extensions.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,15 @@ def findServices(modules):
7373
return findModules(modules, "Service", "*Handler")
7474

7575

76+
def findFutureServices(modules):
77+
"""Find the legacy adapted services for one or more DIRAC extension(s)
78+
79+
:param list/str/module module: One or more Python modules or Python module names
80+
:returns: list of tuples of the form (SystemName, ServiceName)
81+
"""
82+
return findModules(modules, "FutureClient")
83+
84+
7685
@iterateThenSort
7786
def findDatabases(module):
7887
"""Find the DB SQL schema defintions for one or more DIRAC extension(s)
@@ -182,7 +191,7 @@ def parseArgs():
182191
parser = argparse.ArgumentParser()
183192
subparsers = parser.add_subparsers(required=True, dest="function")
184193
defaultExtensions = extensionsByPriority()
185-
for func in [findSystems, findAgents, findExecutors, findServices, findDatabases]:
194+
for func in [findSystems, findAgents, findExecutors, findServices, findDatabases, findFutureServices]:
186195
subparser = subparsers.add_parser(func.__name__)
187196
subparser.add_argument("--extensions", nargs="+", default=defaultExtensions)
188197
subparser.set_defaults(func=func)

src/DIRAC/WorkloadManagementSystem/Client/JobMonitoringClient.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ def __init__(self, **kwargs):
1818
super().__init__(**kwargs)
1919
self.setServer("WorkloadManagement/JobMonitoring")
2020

21-
diracxClient = futureJobMonitoringClient
21+
# Removed to avoid using it in ClientSelector
22+
# diracxClient = futureJobMonitoringClient
2223

2324
@ignoreEncodeWarning
2425
def getJobsStatus(self, jobIDs):

tests/CI/docker-compose.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,6 @@ services:
151151
environment:
152152
- DIRACX_CONFIG_BACKEND_URL=git+file:///cs_store/initialRepo
153153
- DIRACX_SERVICE_AUTH_TOKEN_KEYSTORE=file:///keystore/jwks.json
154-
- LEGACY_ADAPTED_SERVICES
155154
command: ["sleep", "infinity"] # This is necessary because of the issue described in https://github.com/moby/moby/issues/42275. What is added here is a hack/workaround.
156155
pull_policy: always
157156

tests/Jenkins/dirac-cfg-setup-diracx.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ def main(url: str, disabled_vos: list[str], legacy_adapted_services: list[str]):
7878
for service in legacy_adapted_services:
7979
print(f"Adding legacy adaptor for service {service}")
8080
# Service name such as: system/name
81-
system, name = service.split("/")
81+
system, name = service.split(" ")
8282

8383
if not system in legacy["LegacyClientEnabled"]:
8484
legacy["LegacyClientEnabled"][system] = {}

tests/Jenkins/dirac_ci.sh

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -167,11 +167,15 @@ installSite() {
167167
else
168168
diracxSetupArgs+=("--disable-vo" "vo")
169169
fi
170-
if [[ -n "${LEGACY_ADAPTED_SERVICES:-}" ]]; then
171-
# Add legacy adaptor
172-
# Format : --legacy-adapted-services serviceA serviceB ...
173-
diracxSetupArgs+=("--legacy-adapted-services" ${LEGACY_ADAPTED_SERVICES})
170+
171+
# Call findFutureServices and read services into an array
172+
mapfile -t futureServices < <(python -m DIRAC.Core.Utilities.Extensions findFutureServices)
173+
174+
# If there are any services, add them to the args
175+
if [[ ${#futureServices[@]} -gt 0 ]]; then
176+
diracxSetupArgs+=(--legacy-adapted-services "${futureServices[@]}")
174177
fi
178+
175179
if ! python "${TESTCODE}/DIRAC/tests/Jenkins/dirac-cfg-setup-diracx.py" "${diracxSetupArgs[@]}"; then
176180
echo "ERROR: dirac-cfg-setup-diracx.py failed" >&2
177181
exit 1

0 commit comments

Comments
 (0)