From dfea93540c568ac8625b5662bd44f65cbe08733e Mon Sep 17 00:00:00 2001 From: Mikayla Thompson Date: Thu, 16 May 2024 11:44:36 -0600 Subject: [PATCH] Address review comments & flake8 Signed-off-by: Mikayla Thompson --- .../src/main/docker/docker-compose.yml | 5 +++-- .../main/docker/migrationConsole/Dockerfile | 3 +-- .../console_link/logic/__init__.py | 2 -- .../console_link/console_link/__init__.py | 0 .../{ => lib}/console_link/console_link/cli.py | 0 .../console_link/logic/__init__.py | 2 ++ .../console_link/logic/clusters.py | 0 .../console_link/logic/instantiation.py | 2 +- .../console_link/models/cluster.py | 2 +- .../console_link/models/metrics_source.py | 0 .../console_link/models/replayer.py | 18 +++++++++++++++++- .../{ => lib}/console_link/services.yaml | 0 .../{ => lib}/console_link/setup.py | 0 .../console_link/tests/requirements.txt | 0 .../console_link/tests/test_cluster.py | 0 15 files changed, 25 insertions(+), 9 deletions(-) delete mode 100644 TrafficCapture/dockerSolution/src/main/docker/migrationConsole/console_link/console_link/logic/__init__.py rename TrafficCapture/dockerSolution/src/main/docker/migrationConsole/{ => lib}/console_link/console_link/__init__.py (100%) rename TrafficCapture/dockerSolution/src/main/docker/migrationConsole/{ => lib}/console_link/console_link/cli.py (100%) create mode 100644 TrafficCapture/dockerSolution/src/main/docker/migrationConsole/lib/console_link/console_link/logic/__init__.py rename TrafficCapture/dockerSolution/src/main/docker/migrationConsole/{ => lib}/console_link/console_link/logic/clusters.py (100%) rename TrafficCapture/dockerSolution/src/main/docker/migrationConsole/{ => lib}/console_link/console_link/logic/instantiation.py (94%) rename TrafficCapture/dockerSolution/src/main/docker/migrationConsole/{ => lib}/console_link/console_link/models/cluster.py (98%) create mode 100644 TrafficCapture/dockerSolution/src/main/docker/migrationConsole/lib/console_link/console_link/models/metrics_source.py rename TrafficCapture/dockerSolution/src/main/docker/migrationConsole/{ => lib}/console_link/console_link/models/replayer.py (76%) rename TrafficCapture/dockerSolution/src/main/docker/migrationConsole/{ => lib}/console_link/services.yaml (100%) rename TrafficCapture/dockerSolution/src/main/docker/migrationConsole/{ => lib}/console_link/setup.py (100%) rename TrafficCapture/dockerSolution/src/main/docker/migrationConsole/{ => lib}/console_link/tests/requirements.txt (100%) rename TrafficCapture/dockerSolution/src/main/docker/migrationConsole/{ => lib}/console_link/tests/test_cluster.py (100%) diff --git a/TrafficCapture/dockerSolution/src/main/docker/docker-compose.yml b/TrafficCapture/dockerSolution/src/main/docker/docker-compose.yml index 89882519a..65f96a500 100644 --- a/TrafficCapture/dockerSolution/src/main/docker/docker-compose.yml +++ b/TrafficCapture/dockerSolution/src/main/docker/docker-compose.yml @@ -95,8 +95,9 @@ services: - migrations volumes: - sharedReplayerOutput:/shared-replayer-output - - ./migrationConsole/console_link/services.yaml:/etc/migration_services.yaml - - ./migrationConsole/console_link:/root/console_link + - ./migrationConsole/lib/console_link/services.yaml:/etc/migration_services.yaml + # this is a convenience thing for testing -- it should be removed before this makes it to prod. + - ./migrationConsole/lib/console_link:/root/lib/console_link environment: - MIGRATION_KAFKA_BROKER_ENDPOINTS=kafka:9092 # command: ./runTestBenchmarks.sh diff --git a/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/Dockerfile b/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/Dockerfile index 1d773e12f..ff2c6958d 100644 --- a/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/Dockerfile +++ b/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/Dockerfile @@ -41,7 +41,6 @@ RUN chmod ug+x /root/showFetchMigrationCommand.sh RUN chmod ug+x /root/osiMigration.py RUN chmod ug+x /root/kafka-tools/kafkaExport.sh -COPY console_link /root/console_link -RUN pip install -e /root/console_link/ +RUN pip install -e /root/lib/console_link/ CMD tail -f /dev/null diff --git a/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/console_link/console_link/logic/__init__.py b/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/console_link/console_link/logic/__init__.py deleted file mode 100644 index a79414ae6..000000000 --- a/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/console_link/console_link/logic/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -import console_link.logic.clusters -import console_link.logic.instantiation diff --git a/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/console_link/console_link/__init__.py b/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/lib/console_link/console_link/__init__.py similarity index 100% rename from TrafficCapture/dockerSolution/src/main/docker/migrationConsole/console_link/console_link/__init__.py rename to TrafficCapture/dockerSolution/src/main/docker/migrationConsole/lib/console_link/console_link/__init__.py diff --git a/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/console_link/console_link/cli.py b/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/lib/console_link/console_link/cli.py similarity index 100% rename from TrafficCapture/dockerSolution/src/main/docker/migrationConsole/console_link/console_link/cli.py rename to TrafficCapture/dockerSolution/src/main/docker/migrationConsole/lib/console_link/console_link/cli.py diff --git a/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/lib/console_link/console_link/logic/__init__.py b/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/lib/console_link/console_link/logic/__init__.py new file mode 100644 index 000000000..25a7cfb91 --- /dev/null +++ b/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/lib/console_link/console_link/logic/__init__.py @@ -0,0 +1,2 @@ +import console_link.logic.clusters +import console_link.logic.instantiation # noqa: F401 diff --git a/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/console_link/console_link/logic/clusters.py b/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/lib/console_link/console_link/logic/clusters.py similarity index 100% rename from TrafficCapture/dockerSolution/src/main/docker/migrationConsole/console_link/console_link/logic/clusters.py rename to TrafficCapture/dockerSolution/src/main/docker/migrationConsole/lib/console_link/console_link/logic/clusters.py diff --git a/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/console_link/console_link/logic/instantiation.py b/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/lib/console_link/console_link/logic/instantiation.py similarity index 94% rename from TrafficCapture/dockerSolution/src/main/docker/migrationConsole/console_link/console_link/logic/instantiation.py rename to TrafficCapture/dockerSolution/src/main/docker/migrationConsole/lib/console_link/console_link/logic/instantiation.py index 483540899..2111d131a 100644 --- a/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/console_link/console_link/logic/instantiation.py +++ b/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/lib/console_link/console_link/logic/instantiation.py @@ -31,7 +31,7 @@ def __init__(self, config_file: str): self.config = yaml.safe_load(f) v = Validator(SCHEMA) if not v.validate(self.config): - raise ValueError(f"Invalid config file: {v.errors}") + raise ValueError("Invalid config file", v.errors) self.source_cluster = Cluster(self.config['source_cluster']) diff --git a/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/console_link/console_link/models/cluster.py b/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/lib/console_link/console_link/models/cluster.py similarity index 98% rename from TrafficCapture/dockerSolution/src/main/docker/migrationConsole/console_link/console_link/models/cluster.py rename to TrafficCapture/dockerSolution/src/main/docker/migrationConsole/lib/console_link/console_link/models/cluster.py index eafe13939..d0b796f45 100644 --- a/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/console_link/console_link/models/cluster.py +++ b/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/lib/console_link/console_link/models/cluster.py @@ -55,7 +55,7 @@ def __init__(self, config: Dict) -> None: self.auth_details = config["authorization"]["details"] pass - def call_api(self, path, method: HttpMethod = HttpMethod.GET) -> Dict: + def call_api(self, path, method: HttpMethod = HttpMethod.GET) -> requests.Response: """ Calls an API on the cluster. """ diff --git a/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/lib/console_link/console_link/models/metrics_source.py b/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/lib/console_link/console_link/models/metrics_source.py new file mode 100644 index 000000000..e69de29bb diff --git a/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/console_link/console_link/models/replayer.py b/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/lib/console_link/console_link/models/replayer.py similarity index 76% rename from TrafficCapture/dockerSolution/src/main/docker/migrationConsole/console_link/console_link/models/replayer.py rename to TrafficCapture/dockerSolution/src/main/docker/migrationConsole/lib/console_link/console_link/models/replayer.py index b48714a97..ede125ead 100644 --- a/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/console_link/console_link/models/replayer.py +++ b/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/lib/console_link/console_link/models/replayer.py @@ -1,6 +1,7 @@ from enum import Enum from typing import Dict import boto3 +from cerberus import Validator DeploymentType = Enum('DeploymentType', ['DOCKER', 'ECS']) @@ -20,7 +21,7 @@ def __init__(self, config: Dict) -> None: self.config = config v = Validator(SCHEMA) if not v.validate(config): - raise ValueError(f"Invalid config file for cluster: {v.errors}") + raise ValueError("Invalid config file for replayer", v.errors) def start_replayer(self): """ @@ -43,11 +44,26 @@ def stop_replayer(self): pass +ECS_SCHEMA = { + 'cluster_name': { + 'type': 'string', + 'required': True + }, + 'service_name': { + 'type': 'string', + 'required': True + } +} + + class ECSReplayer(BaseReplayer): client = boto3.client('ecs') def __init__(self, config: Dict) -> None: super().__init__(config) + v = Validator(ECS_SCHEMA) + if not v.validate(config): + raise ValueError("Invalid config file for replayer", v.errors) self.cluster_name = config['cluster_name'] self.service_name = config['service_name'] diff --git a/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/console_link/services.yaml b/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/lib/console_link/services.yaml similarity index 100% rename from TrafficCapture/dockerSolution/src/main/docker/migrationConsole/console_link/services.yaml rename to TrafficCapture/dockerSolution/src/main/docker/migrationConsole/lib/console_link/services.yaml diff --git a/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/console_link/setup.py b/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/lib/console_link/setup.py similarity index 100% rename from TrafficCapture/dockerSolution/src/main/docker/migrationConsole/console_link/setup.py rename to TrafficCapture/dockerSolution/src/main/docker/migrationConsole/lib/console_link/setup.py diff --git a/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/console_link/tests/requirements.txt b/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/lib/console_link/tests/requirements.txt similarity index 100% rename from TrafficCapture/dockerSolution/src/main/docker/migrationConsole/console_link/tests/requirements.txt rename to TrafficCapture/dockerSolution/src/main/docker/migrationConsole/lib/console_link/tests/requirements.txt diff --git a/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/console_link/tests/test_cluster.py b/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/lib/console_link/tests/test_cluster.py similarity index 100% rename from TrafficCapture/dockerSolution/src/main/docker/migrationConsole/console_link/tests/test_cluster.py rename to TrafficCapture/dockerSolution/src/main/docker/migrationConsole/lib/console_link/tests/test_cluster.py