diff --git a/scripts/playbooks.py b/scripts/playbooks.py index 96465982..c19b0a02 100755 --- a/scripts/playbooks.py +++ b/scripts/playbooks.py @@ -20,7 +20,7 @@ import click import networkx as nx -from tdp.cli.params import collections_option +from tdp.cli.params.collections_option import collections_option from tdp.core.constants import DEFAULT_SERVICE_PRIORITY, SERVICE_PRIORITY from tdp.core.dag import Dag from tdp.core.entities.operation import OperationName diff --git a/tdp/cli/commands/browse.py b/tdp/cli/commands/browse.py index 1dd34307..b9ea60ad 100644 --- a/tdp/cli/commands/browse.py +++ b/tdp/cli/commands/browse.py @@ -8,7 +8,7 @@ from sqlalchemy import Engine from tabulate import tabulate -from tdp.cli.params import database_dsn_option +from tdp.cli.params.database_dsn_option import database_dsn_option from tdp.cli.utils import ( print_deployment, print_operations, diff --git a/tdp/cli/commands/dag.py b/tdp/cli/commands/dag.py index 48464d03..296db2df 100644 --- a/tdp/cli/commands/dag.py +++ b/tdp/cli/commands/dag.py @@ -11,11 +11,11 @@ import click import networkx as nx -from tdp.cli.params import collections_option +from tdp.cli.params.collections_option import collections_option from tdp.core.dag import Dag if TYPE_CHECKING: - from tdp.core.collections import Collections + from tdp.core.collections.collections import Collections @click.command() diff --git a/tdp/cli/commands/default_diff.py b/tdp/cli/commands/default_diff.py index 80a1a4b1..57486687 100644 --- a/tdp/cli/commands/default_diff.py +++ b/tdp/cli/commands/default_diff.py @@ -12,12 +12,14 @@ import click from ansible.utils.vars import merge_hash -from tdp.cli.params import collections_option, vars_option +from tdp.cli.params.collections_option import collections_option +from tdp.cli.params.vars_option import vars_option from tdp.core.constants import DEFAULT_VARS_DIRECTORY_NAME -from tdp.core.variables import ClusterVariables, Variables +from tdp.core.variables.cluster_variables import ClusterVariables +from tdp.core.variables.variables import Variables if TYPE_CHECKING: - from tdp.core.collections import Collections + from tdp.core.collections.collections import Collections @click.command() diff --git a/tdp/cli/commands/deploy.py b/tdp/cli/commands/deploy.py index 2dea43e7..30cea819 100644 --- a/tdp/cli/commands/deploy.py +++ b/tdp/cli/commands/deploy.py @@ -9,20 +9,19 @@ import click from sqlalchemy import Engine -from tdp.cli.params import ( - collections_option, - database_dsn_option, - validate_option, - vars_option, -) +from tdp.cli.params.collections_option import collections_option +from tdp.cli.params.database_dsn_option import database_dsn_option +from tdp.cli.params.validate_option import validate_option +from tdp.cli.params.vars_option import vars_option from tdp.cli.utils import check_services_cleanliness -from tdp.core.deployment import DeploymentRunner, Executor +from tdp.core.deployment.deployment_runner import DeploymentRunner +from tdp.core.deployment.executor import Executor from tdp.core.models.enums import DeploymentStateEnum -from tdp.core.variables import ClusterVariables +from tdp.core.variables.cluster_variables import ClusterVariables from tdp.dao import Dao if TYPE_CHECKING: - from tdp.core.collections import Collections + from tdp.core.collections.collections import Collections @click.command() diff --git a/tdp/cli/commands/init.py b/tdp/cli/commands/init.py index dc52c46f..ee59ac53 100644 --- a/tdp/cli/commands/init.py +++ b/tdp/cli/commands/init.py @@ -9,17 +9,15 @@ import click from sqlalchemy import Engine -from tdp.cli.params import ( - collections_option, - database_dsn_option, - validate_option, - vars_option, -) -from tdp.core.models import init_database -from tdp.core.variables import ClusterVariables +from tdp.cli.params.collections_option import collections_option +from tdp.cli.params.database_dsn_option import database_dsn_option +from tdp.cli.params.validate_option import validate_option +from tdp.cli.params.vars_option import vars_option +from tdp.core.models.base_model import init_database +from tdp.core.variables.cluster_variables import ClusterVariables if TYPE_CHECKING: - from tdp.core.collections import Collections + from tdp.core.collections.collections import Collections @click.command() diff --git a/tdp/cli/commands/ops.py b/tdp/cli/commands/ops.py index 315576ba..6b83f468 100644 --- a/tdp/cli/commands/ops.py +++ b/tdp/cli/commands/ops.py @@ -9,12 +9,13 @@ import click from tabulate import tabulate -from tdp.cli.params import collections_option, hosts_option +from tdp.cli.params.collections_option import collections_option +from tdp.cli.params.hosts_option import hosts_option from tdp.core.dag import Dag from tdp.core.entities.operation import Operation, PlaybookOperation if TYPE_CHECKING: - from tdp.core.collections import Collections + from tdp.core.collections.collections import Collections @click.command() diff --git a/tdp/cli/commands/plan/__init__.py b/tdp/cli/commands/plan/__init__.py index efa5da77..741ce417 100644 --- a/tdp/cli/commands/plan/__init__.py +++ b/tdp/cli/commands/plan/__init__.py @@ -3,12 +3,12 @@ import click -from tdp.cli.commands.plan.dag import dag -from tdp.cli.commands.plan.edit import edit -from tdp.cli.commands.plan.import_file import import_file -from tdp.cli.commands.plan.ops import ops -from tdp.cli.commands.plan.reconfigure import reconfigure -from tdp.cli.commands.plan.resume import resume +from .dag import dag +from .edit import edit +from .import_file import import_file +from .ops import ops +from .reconfigure import reconfigure +from .resume import resume @click.group() diff --git a/tdp/cli/commands/plan/dag.py b/tdp/cli/commands/plan/dag.py index 3c61f196..256b934f 100644 --- a/tdp/cli/commands/plan/dag.py +++ b/tdp/cli/commands/plan/dag.py @@ -8,16 +8,19 @@ import click from sqlalchemy import Engine -from tdp.cli.params import collections_option, database_dsn_option -from tdp.cli.params.plan import force_option, preview_option, rolling_interval_option +from tdp.cli.params.collections_option import collections_option +from tdp.cli.params.database_dsn_option import database_dsn_option +from tdp.cli.params.plan.force_option import force_option +from tdp.cli.params.plan.preview_option import preview_option +from tdp.cli.params.plan.rolling_interval_option import rolling_interval_option from tdp.cli.utils import print_deployment from tdp.core.dag import Dag -from tdp.core.models import DeploymentModel +from tdp.core.models.deployment_model import DeploymentModel from tdp.core.models.enums import FilterTypeEnum from tdp.dao import Dao if TYPE_CHECKING: - from tdp.core.collections import Collections + from tdp.core.collections.collections import Collections def _validate_filtertype( diff --git a/tdp/cli/commands/plan/edit.py b/tdp/cli/commands/plan/edit.py index 7b977b3d..60afe558 100644 --- a/tdp/cli/commands/plan/edit.py +++ b/tdp/cli/commands/plan/edit.py @@ -12,13 +12,14 @@ import click from sqlalchemy import Engine -from tdp.cli.params import collections_option, database_dsn_option +from tdp.cli.params.collections_option import collections_option +from tdp.cli.params.database_dsn_option import database_dsn_option from tdp.cli.utils import parse_file from tdp.core.models.deployment_model import DeploymentModel from tdp.dao import Dao if TYPE_CHECKING: - from tdp.core.collections import Collections + from tdp.core.collections.collections import Collections logger = logging.getLogger(__name__) diff --git a/tdp/cli/commands/plan/import_file.py b/tdp/cli/commands/plan/import_file.py index d2929244..57f772d4 100644 --- a/tdp/cli/commands/plan/import_file.py +++ b/tdp/cli/commands/plan/import_file.py @@ -9,14 +9,15 @@ import click from sqlalchemy import Engine -from tdp.cli.params import collections_option, database_dsn_option -from tdp.cli.params.plan import force_option +from tdp.cli.params.collections_option import collections_option +from tdp.cli.params.database_dsn_option import database_dsn_option +from tdp.cli.params.plan.force_option import force_option from tdp.cli.utils import parse_file from tdp.core.models.deployment_model import DeploymentModel from tdp.dao import Dao if TYPE_CHECKING: - from tdp.core.collections import Collections + from tdp.core.collections.collections import Collections logger = logging.getLogger(__name__) diff --git a/tdp/cli/commands/plan/ops.py b/tdp/cli/commands/plan/ops.py index 5e6efd94..f4a4244a 100644 --- a/tdp/cli/commands/plan/ops.py +++ b/tdp/cli/commands/plan/ops.py @@ -8,16 +8,18 @@ import click from sqlalchemy import Engine -from tdp.cli.params import collections_option, database_dsn_option, hosts_option -from tdp.cli.params.plan import force_option, preview_option, rolling_interval_option -from tdp.cli.utils import ( - print_deployment, -) -from tdp.core.models import DeploymentModel +from tdp.cli.params.collections_option import collections_option +from tdp.cli.params.database_dsn_option import database_dsn_option +from tdp.cli.params.hosts_option import hosts_option +from tdp.cli.params.plan.force_option import force_option +from tdp.cli.params.plan.preview_option import preview_option +from tdp.cli.params.plan.rolling_interval_option import rolling_interval_option +from tdp.cli.utils import print_deployment +from tdp.core.models.deployment_model import DeploymentModel from tdp.dao import Dao if TYPE_CHECKING: - from tdp.core.collections import Collections + from tdp.core.collections.collections import Collections @click.command() diff --git a/tdp/cli/commands/plan/reconfigure.py b/tdp/cli/commands/plan/reconfigure.py index e1378eb4..3af529b0 100644 --- a/tdp/cli/commands/plan/reconfigure.py +++ b/tdp/cli/commands/plan/reconfigure.py @@ -8,16 +8,17 @@ import click from sqlalchemy import Engine -from tdp.cli.params import collections_option, database_dsn_option -from tdp.cli.params.plan import force_option, preview_option, rolling_interval_option -from tdp.cli.utils import ( - print_deployment, -) -from tdp.core.models import DeploymentModel +from tdp.cli.params.collections_option import collections_option +from tdp.cli.params.database_dsn_option import database_dsn_option +from tdp.cli.params.plan.force_option import force_option +from tdp.cli.params.plan.preview_option import preview_option +from tdp.cli.params.plan.rolling_interval_option import rolling_interval_option +from tdp.cli.utils import print_deployment +from tdp.core.models.deployment_model import DeploymentModel from tdp.dao import Dao if TYPE_CHECKING: - from tdp.core.collections import Collections + from tdp.core.collections.collections import Collections @click.command() diff --git a/tdp/cli/commands/plan/resume.py b/tdp/cli/commands/plan/resume.py index fc23c822..2124850c 100644 --- a/tdp/cli/commands/plan/resume.py +++ b/tdp/cli/commands/plan/resume.py @@ -8,14 +8,15 @@ import click from sqlalchemy import Engine -from tdp.cli.params import collections_option, database_dsn_option -from tdp.cli.params.plan import preview_option +from tdp.cli.params.collections_option import collections_option +from tdp.cli.params.database_dsn_option import database_dsn_option +from tdp.cli.params.plan.preview_option import preview_option from tdp.cli.utils import print_deployment -from tdp.core.models import DeploymentModel +from tdp.core.models.deployment_model import DeploymentModel from tdp.dao import Dao if TYPE_CHECKING: - from tdp.core.collections import Collections + from tdp.core.collections.collections import Collections @click.command() diff --git a/tdp/cli/commands/status/__init__.py b/tdp/cli/commands/status/__init__.py index cfacea7f..af78b4f0 100644 --- a/tdp/cli/commands/status/__init__.py +++ b/tdp/cli/commands/status/__init__.py @@ -3,9 +3,9 @@ import click -from tdp.cli.commands.status.edit import edit -from tdp.cli.commands.status.generate_stales import generate_stales -from tdp.cli.commands.status.show import show +from .edit import edit +from .generate_stales import generate_stales +from .show import show @click.group() diff --git a/tdp/cli/commands/status/edit.py b/tdp/cli/commands/status/edit.py index e8eb368f..d811d3e8 100644 --- a/tdp/cli/commands/status/edit.py +++ b/tdp/cli/commands/status/edit.py @@ -8,26 +8,25 @@ import click from sqlalchemy import Engine -from tdp.cli.params import ( - collections_option, - database_dsn_option, - hosts_option, - validate_option, - vars_option, -) -from tdp.cli.params.status import component_argument_option, service_argument_option +from tdp.cli.params.collections_option import collections_option +from tdp.cli.params.database_dsn_option import database_dsn_option +from tdp.cli.params.hosts_option import hosts_option +from tdp.cli.params.status.component_argument import component_argument_option +from tdp.cli.params.status.service_argument import service_argument_option +from tdp.cli.params.validate_option import validate_option +from tdp.cli.params.vars_option import vars_option from tdp.cli.utils import check_services_cleanliness, print_hosted_entity_status_log from tdp.core.models.sch_status_log_model import ( SCHStatusLogModel, SCHStatusLogSourceEnum, ) -from tdp.core.variables import ClusterVariables +from tdp.core.variables.cluster_variables import ClusterVariables from tdp.dao import Dao if TYPE_CHECKING: from pathlib import Path - from tdp.core.collections import Collections + from tdp.core.collections.collections import Collections @click.command() diff --git a/tdp/cli/commands/status/generate_stales.py b/tdp/cli/commands/status/generate_stales.py index 479df85f..7da74c27 100644 --- a/tdp/cli/commands/status/generate_stales.py +++ b/tdp/cli/commands/status/generate_stales.py @@ -8,21 +8,20 @@ import click from sqlalchemy import Engine -from tdp.cli.params import ( - collections_option, - database_dsn_option, - validate_option, - vars_option, -) -from tdp.cli.params.status import component_argument_option, service_argument_option +from tdp.cli.params.collections_option import collections_option +from tdp.cli.params.database_dsn_option import database_dsn_option +from tdp.cli.params.status.component_argument import component_argument_option +from tdp.cli.params.status.service_argument import service_argument_option +from tdp.cli.params.validate_option import validate_option +from tdp.cli.params.vars_option import vars_option from tdp.cli.utils import check_services_cleanliness, print_hosted_entity_status_log -from tdp.core.variables import ClusterVariables +from tdp.core.variables.cluster_variables import ClusterVariables from tdp.dao import Dao if TYPE_CHECKING: from pathlib import Path - from tdp.core.collections import Collections + from tdp.core.collections.collections import Collections @click.command() diff --git a/tdp/cli/commands/status/show.py b/tdp/cli/commands/status/show.py index 031a6ccb..e6858fc5 100644 --- a/tdp/cli/commands/status/show.py +++ b/tdp/cli/commands/status/show.py @@ -9,29 +9,25 @@ from sqlalchemy import Engine from tabulate import tabulate -from tdp.cli.params import ( - collections_option, - database_dsn_option, - hosts_option, - validate_option, - vars_option, -) -from tdp.cli.params.status import ( - component_argument_option, - service_argument_option, -) +from tdp.cli.params.collections_option import collections_option +from tdp.cli.params.database_dsn_option import database_dsn_option +from tdp.cli.params.hosts_option import hosts_option +from tdp.cli.params.status.component_argument import component_argument_option +from tdp.cli.params.status.service_argument import service_argument_option +from tdp.cli.params.validate_option import validate_option +from tdp.cli.params.vars_option import vars_option from tdp.cli.utils import ( check_services_cleanliness, print_hosted_entity_status_log, ) from tdp.core.models.sch_status_log_model import SCHStatusLogModel -from tdp.core.variables import ClusterVariables +from tdp.core.variables.cluster_variables import ClusterVariables from tdp.dao import Dao if TYPE_CHECKING: from pathlib import Path - from tdp.core.collections import Collections + from tdp.core.collections.collections import Collections def _filter_stale(stale: Optional[bool], no_stale: Optional[bool]) -> Optional[bool]: diff --git a/tdp/cli/commands/vars/__init__.py b/tdp/cli/commands/vars/__init__.py index 2d29e93c..5c480a1b 100644 --- a/tdp/cli/commands/vars/__init__.py +++ b/tdp/cli/commands/vars/__init__.py @@ -3,8 +3,8 @@ import click -from tdp.cli.commands.vars.edit import edit -from tdp.cli.commands.vars.validate import validate +from .edit import edit +from .validate import validate @click.group() diff --git a/tdp/cli/commands/vars/edit.py b/tdp/cli/commands/vars/edit.py index d1f1f65f..11ee71c5 100644 --- a/tdp/cli/commands/vars/edit.py +++ b/tdp/cli/commands/vars/edit.py @@ -8,20 +8,18 @@ import click from sqlalchemy import Engine -from tdp.cli.params import ( - collections_option, - database_dsn_option, - validate_option, - vars_option, -) -from tdp.core.collections import Collections +from tdp.cli.params.collections_option import collections_option +from tdp.cli.params.database_dsn_option import database_dsn_option +from tdp.cli.params.validate_option import validate_option +from tdp.cli.params.vars_option import vars_option +from tdp.core.collections.collections import Collections from tdp.core.constants import YML_EXTENSION from tdp.core.entities.entity_name import ( ServiceComponentName, parse_entity_name, ) from tdp.core.repository.repository import EmptyCommit -from tdp.core.variables import ClusterVariables +from tdp.core.variables.cluster_variables import ClusterVariables from tdp.core.variables.schema.exceptions import InvalidSchemaError from tdp.dao import Dao diff --git a/tdp/cli/commands/vars/validate.py b/tdp/cli/commands/vars/validate.py index 45ad199d..cba2b281 100644 --- a/tdp/cli/commands/vars/validate.py +++ b/tdp/cli/commands/vars/validate.py @@ -8,11 +8,12 @@ import click -from tdp.cli.params import collections_option, vars_option -from tdp.core.variables import ClusterVariables +from tdp.cli.params.collections_option import collections_option +from tdp.cli.params.vars_option import vars_option +from tdp.core.variables.cluster_variables import ClusterVariables if TYPE_CHECKING: - from tdp.core.collections import Collections + from tdp.core.collections.collections import Collections @click.command() diff --git a/tdp/cli/params/__init__.py b/tdp/cli/params/__init__.py index be976d6c..821e8433 100644 --- a/tdp/cli/params/__init__.py +++ b/tdp/cli/params/__init__.py @@ -1,8 +1,2 @@ # Copyright 2022 TOSIT.IO # SPDX-License-Identifier: Apache-2.0 - -from .collections_option import collections_option -from .database_dsn_option import database_dsn_option -from .hosts_option import hosts_option -from .validate_option import validate_option -from .vars_option import vars_option diff --git a/tdp/cli/params/collections_option.py b/tdp/cli/params/collections_option.py index 6b29c3cb..a3db085d 100644 --- a/tdp/cli/params/collections_option.py +++ b/tdp/cli/params/collections_option.py @@ -6,7 +6,7 @@ import click from click.decorators import FC -from tdp.core.collections import Collections +from tdp.core.collections.collections import Collections def _collections_from_paths( diff --git a/tdp/cli/params/plan/__init__.py b/tdp/cli/params/plan/__init__.py index aed10112..821e8433 100644 --- a/tdp/cli/params/plan/__init__.py +++ b/tdp/cli/params/plan/__init__.py @@ -1,6 +1,2 @@ # Copyright 2022 TOSIT.IO # SPDX-License-Identifier: Apache-2.0 - -from .force_option import force_option -from .preview_option import preview_option -from .rolling_interval_option import rolling_interval_option diff --git a/tdp/cli/params/status/__init__.py b/tdp/cli/params/status/__init__.py index a4415a70..821e8433 100644 --- a/tdp/cli/params/status/__init__.py +++ b/tdp/cli/params/status/__init__.py @@ -1,5 +1,2 @@ # Copyright 2022 TOSIT.IO # SPDX-License-Identifier: Apache-2.0 - -from .component_argument import component_argument_option -from .service_argument import service_argument_option diff --git a/tdp/cli/params/status/component_argument.py b/tdp/cli/params/status/component_argument.py index 3fac64e0..e62af60f 100644 --- a/tdp/cli/params/status/component_argument.py +++ b/tdp/cli/params/status/component_argument.py @@ -9,7 +9,7 @@ from click.decorators import FC if TYPE_CHECKING: - from tdp.core.collections import Collections + from tdp.core.collections.collections import Collections def _check_component( diff --git a/tdp/cli/params/status/service_argument.py b/tdp/cli/params/status/service_argument.py index a28255c8..b223eb92 100644 --- a/tdp/cli/params/status/service_argument.py +++ b/tdp/cli/params/status/service_argument.py @@ -7,7 +7,7 @@ import click from click.decorators import FC -from tdp.core.collections import Collections +from tdp.core.collections.collections import Collections from tdp.core.variables.cluster_variables import ClusterVariables diff --git a/tdp/cli/utils.py b/tdp/cli/utils.py index b56b53ea..08142381 100644 --- a/tdp/cli/utils.py +++ b/tdp/cli/utils.py @@ -14,7 +14,7 @@ from tdp.core.models.operation_model import OperationModel if TYPE_CHECKING: - from tdp.core.models import DeploymentModel + from tdp.core.models.deployment_model import DeploymentModel from tdp.core.variables.cluster_variables import ClusterVariables diff --git a/tdp/core/cluster_status.py b/tdp/core/cluster_status.py index 82be415a..71e878bc 100644 --- a/tdp/core/cluster_status.py +++ b/tdp/core/cluster_status.py @@ -25,8 +25,8 @@ ) if TYPE_CHECKING: - from tdp.core.collections import Collections - from tdp.core.variables import ClusterVariables + from tdp.core.collections.collections import Collections + from tdp.core.variables.cluster_variables import ClusterVariables logger = logging.getLogger(__name__) diff --git a/tdp/core/collections/__init__.py b/tdp/core/collections/__init__.py index 953f287c..821e8433 100644 --- a/tdp/core/collections/__init__.py +++ b/tdp/core/collections/__init__.py @@ -1,4 +1,2 @@ # Copyright 2022 TOSIT.IO # SPDX-License-Identifier: Apache-2.0 - -from .collections import Collections diff --git a/tdp/core/collections/collection_reader.py b/tdp/core/collections/collection_reader.py index c8ad4e04..03627c85 100644 --- a/tdp/core/collections/collection_reader.py +++ b/tdp/core/collections/collection_reader.py @@ -22,8 +22,8 @@ from tdp.core.entities.operation import Playbook from tdp.core.inventory_reader import InventoryReader from tdp.core.types import PathLike -from tdp.core.variables.schema import ServiceCollectionSchema from tdp.core.variables.schema.exceptions import InvalidSchemaError +from tdp.core.variables.schema.service_collection_schema import ServiceCollectionSchema try: from yaml import CLoader as Loader diff --git a/tdp/core/dag.py b/tdp/core/dag.py index 8f1578ff..d9316227 100644 --- a/tdp/core/dag.py +++ b/tdp/core/dag.py @@ -30,7 +30,7 @@ ) if TYPE_CHECKING: - from tdp.core.collections import Collections + from tdp.core.collections.collections import Collections from tdp.core.entities.operation import Operation T = TypeVar("T") diff --git a/tdp/core/deployment/__init__.py b/tdp/core/deployment/__init__.py index a40ec5f1..821e8433 100644 --- a/tdp/core/deployment/__init__.py +++ b/tdp/core/deployment/__init__.py @@ -1,6 +1,2 @@ # Copyright 2022 TOSIT.IO # SPDX-License-Identifier: Apache-2.0 - -from tdp.core.deployment.deployment_iterator import DeploymentIterator -from tdp.core.deployment.deployment_runner import DeploymentRunner -from tdp.core.deployment.executor import Executor diff --git a/tdp/core/deployment/deployment_iterator.py b/tdp/core/deployment/deployment_iterator.py index a939cc2a..1b9f4bc6 100644 --- a/tdp/core/deployment/deployment_iterator.py +++ b/tdp/core/deployment/deployment_iterator.py @@ -14,19 +14,18 @@ from tdp.core.entities.entity_name import create_entity_name from tdp.core.entities.hosted_entity import create_hosted_entity from tdp.core.entities.operation import OperationName, OperationNoop, PlaybookOperation -from tdp.core.models import ( - DeploymentModel, - NothingToReconfigureError, - OperationModel, +from tdp.core.models.deployment_model import DeploymentModel, NothingToReconfigureError +from tdp.core.models.enums import DeploymentStateEnum, OperationStateEnum +from tdp.core.models.operation_model import OperationModel +from tdp.core.models.sch_status_log_model import ( SCHStatusLogModel, SCHStatusLogSourceEnum, ) -from tdp.core.models.enums import DeploymentStateEnum, OperationStateEnum if TYPE_CHECKING: from tdp.core.cluster_status import ClusterStatus - from tdp.core.collections import Collections - from tdp.core.variables import ClusterVariables + from tdp.core.collections.collections import Collections + from tdp.core.variables.cluster_variables import ClusterVariables logger = logging.getLogger(__name__) diff --git a/tdp/core/deployment/deployment_runner.py b/tdp/core/deployment/deployment_runner.py index 11a2255f..7bcd5ef4 100644 --- a/tdp/core/deployment/deployment_runner.py +++ b/tdp/core/deployment/deployment_runner.py @@ -10,13 +10,14 @@ from tdp.core.deployment.deployment_iterator import DeploymentIterator from tdp.core.entities.operation import PlaybookOperation from tdp.core.models.enums import DeploymentStateEnum, OperationStateEnum -from tdp.core.variables import ClusterVariables +from tdp.core.variables.cluster_variables import ClusterVariables if TYPE_CHECKING: from tdp.core.cluster_status import ClusterStatus - from tdp.core.collections import Collections + from tdp.core.collections.collections import Collections from tdp.core.deployment.executor import Executor - from tdp.core.models import DeploymentModel, OperationModel + from tdp.core.models.deployment_model import DeploymentModel + from tdp.core.models.operation_model import OperationModel logger = logging.getLogger(__name__) diff --git a/tdp/core/entities/__init__.py b/tdp/core/entities/__init__.py new file mode 100644 index 00000000..821e8433 --- /dev/null +++ b/tdp/core/entities/__init__.py @@ -0,0 +1,2 @@ +# Copyright 2022 TOSIT.IO +# SPDX-License-Identifier: Apache-2.0 diff --git a/tdp/core/models/__init__.py b/tdp/core/models/__init__.py index 953ba004..821e8433 100644 --- a/tdp/core/models/__init__.py +++ b/tdp/core/models/__init__.py @@ -1,24 +1,2 @@ # Copyright 2022 TOSIT.IO # SPDX-License-Identifier: Apache-2.0 - -from typing import Optional - -from sqlalchemy import Engine -from sqlalchemy.engine.row import Row - -from tdp.core.models.base_model import BaseModel -from tdp.core.models.deployment_model import ( - DeploymentModel, - NoOperationMatchError, - NothingToReconfigureError, - NothingToResumeError, -) -from tdp.core.models.operation_model import OperationModel -from tdp.core.models.sch_status_log_model import ( - SCHStatusLogModel, - SCHStatusLogSourceEnum, -) - - -def init_database(engine: Engine) -> None: - BaseModel.metadata.create_all(engine) diff --git a/tdp/core/models/base_model.py b/tdp/core/models/base_model.py index b05f645f..4bac9348 100644 --- a/tdp/core/models/base_model.py +++ b/tdp/core/models/base_model.py @@ -1,13 +1,19 @@ # Copyright 2022 TOSIT.IO # SPDX-License-Identifier: Apache-2.0 +from __future__ import annotations + from datetime import datetime, timezone -from typing import Any, Optional +from typing import TYPE_CHECKING, Any, Optional from sqlalchemy.orm import DeclarativeBase from tdp.core.utils import BaseEnum +if TYPE_CHECKING: + from sqlalchemy import Engine + + LOCAL_TIMEZONE = datetime.now(timezone.utc).astimezone().tzinfo @@ -66,3 +72,7 @@ def _formater(self, key: str, value: Optional[Any]) -> str: elif value is None: return "" return str(value) + + +def init_database(engine: Engine) -> None: + BaseModel.metadata.create_all(engine) diff --git a/tdp/core/models/deployment_model.py b/tdp/core/models/deployment_model.py index e8a3b15d..e53653d8 100644 --- a/tdp/core/models/deployment_model.py +++ b/tdp/core/models/deployment_model.py @@ -26,7 +26,7 @@ from tdp.core.models.operation_model import OperationModel if TYPE_CHECKING: - from tdp.core.collections import Collections + from tdp.core.collections.collections import Collections from tdp.core.entities.hosted_entity_status import HostedEntityStatus from tdp.core.entities.operation import Operation diff --git a/tdp/core/models/operation_model.py b/tdp/core/models/operation_model.py index 95f71d42..7bd88890 100644 --- a/tdp/core/models/operation_model.py +++ b/tdp/core/models/operation_model.py @@ -18,7 +18,7 @@ from tdp.core.models.enums import OperationStateEnum if TYPE_CHECKING: - from tdp.core.models import DeploymentModel + from tdp.core.models.deployment_model import DeploymentModel class OperationModel(BaseModel): diff --git a/tdp/core/variables/__init__.py b/tdp/core/variables/__init__.py index abe1937f..821e8433 100644 --- a/tdp/core/variables/__init__.py +++ b/tdp/core/variables/__init__.py @@ -1,8 +1,2 @@ # Copyright 2022 TOSIT.IO # SPDX-License-Identifier: Apache-2.0 - -from tdp.core.variables.cluster_variables import ClusterVariables -from tdp.core.variables.service_variables import ( - ServiceVariables, -) -from tdp.core.variables.variables import Variables, VariablesDict diff --git a/tdp/core/variables/cluster_variables.py b/tdp/core/variables/cluster_variables.py index 59782b11..0ff66e8c 100644 --- a/tdp/core/variables/cluster_variables.py +++ b/tdp/core/variables/cluster_variables.py @@ -15,7 +15,7 @@ from tdp.core.variables.service_variables import ServiceVariables if TYPE_CHECKING: - from tdp.core.collections import Collections + from tdp.core.collections.collections import Collections from tdp.core.entities.hosted_entity import HostedEntity from tdp.core.entities.hosted_entity_status import HostedEntityStatus from tdp.core.repository.repository import Repository diff --git a/tdp/core/variables/schema/__init__.py b/tdp/core/variables/schema/__init__.py index 199914a5..821e8433 100644 --- a/tdp/core/variables/schema/__init__.py +++ b/tdp/core/variables/schema/__init__.py @@ -1,12 +1,2 @@ # Copyright 2022 TOSIT.IO # SPDX-License-Identifier: Apache-2.0 - -from tdp.core.variables.schema.exceptions import ( - InvalidSchemaError, - InvalidVariablesError, - SchemaValidationError, -) -from tdp.core.variables.schema.service_collection_schema import ServiceCollectionSchema -from tdp.core.variables.schema.service_schema import ServiceSchema -from tdp.core.variables.schema.types import Schema -from tdp.core.variables.schema.validator import VariablesValidator diff --git a/test_dag_order/conftest.py b/test_dag_order/conftest.py index 320f9f6c..31519f54 100644 --- a/test_dag_order/conftest.py +++ b/test_dag_order/conftest.py @@ -14,13 +14,14 @@ import pytest from sqlalchemy import Engine, create_engine -from tdp.core.collections import Collections +from tdp.core.collections.collections import Collections from tdp.core.constants import YML_EXTENSION from tdp.core.dag import Dag -from tdp.core.deployment import DeploymentRunner +from tdp.core.deployment.deployment_runner import DeploymentRunner from tdp.core.entities.operation import OperationName -from tdp.core.models import DeploymentModel, init_database -from tdp.core.variables import ClusterVariables +from tdp.core.models.base_model import init_database +from tdp.core.models.deployment_model import DeploymentModel +from tdp.core.variables.cluster_variables import ClusterVariables from tdp.dao import Dao from tests.unit.core.deployment.test_deployment_runner import MockExecutor diff --git a/test_dag_order/helpers.py b/test_dag_order/helpers.py index efe6d2be..71f7904a 100644 --- a/test_dag_order/helpers.py +++ b/test_dag_order/helpers.py @@ -10,13 +10,13 @@ import yaml -from tdp.core.collections import Collections from tdp.core.collections.collection_reader import ( CollectionReader, MissingMandatoryDirectoryError, PathDoesNotExistsError, PathIsNotADirectoryError, ) +from tdp.core.collections.collections import Collections from tdp.core.constants import YML_EXTENSION from tdp.core.entities.entity_name import ( ServiceName, diff --git a/test_dag_order/test_reconfigure.py b/test_dag_order/test_reconfigure.py index 2bf2aaf5..754759b2 100644 --- a/test_dag_order/test_reconfigure.py +++ b/test_dag_order/test_reconfigure.py @@ -6,10 +6,9 @@ rules directory of each collection. """ - from collections.abc import Iterable -from tdp.core.collections import Collections +from tdp.core.collections.collections import Collections from test_dag_order.helpers import resolve_components diff --git a/tests/conftest.py b/tests/conftest.py index 0f59921c..6b93f369 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -18,7 +18,7 @@ PLAYBOOKS_DIRECTORY_NAME, YML_EXTENSION, ) -from tdp.core.models import BaseModel, init_database +from tdp.core.models.base_model import BaseModel, init_database def pytest_addoption(parser: pytest.Parser) -> None: @@ -35,7 +35,9 @@ def pytest_generate_tests(metafunc: pytest.Metafunc) -> None: """Pytest hook to generate tests based on the database dsn option.""" if "db_dsn" in metafunc.fixturenames: metafunc.parametrize( - "db_dsn", metafunc.config.getoption("database_dsn"), indirect=True # type: ignore + "db_dsn", + metafunc.config.getoption("database_dsn"), + indirect=True, # type: ignore ) diff --git a/tests/e2e/conftest.py b/tests/e2e/conftest.py index 9f3cc909..cbd61512 100644 --- a/tests/e2e/conftest.py +++ b/tests/e2e/conftest.py @@ -10,7 +10,7 @@ from sqlalchemy import create_engine from tdp.cli.commands.init import init -from tdp.core.models import BaseModel +from tdp.core.models.base_model import BaseModel from tests.conftest import generate_collection_at_path diff --git a/tests/unit/core/conftest.py b/tests/unit/core/conftest.py index 51893936..930349db 100644 --- a/tests/unit/core/conftest.py +++ b/tests/unit/core/conftest.py @@ -4,9 +4,9 @@ import pytest from tdp.core.cluster_status import ClusterStatus -from tdp.core.collections import Collections +from tdp.core.collections.collections import Collections from tdp.core.dag import Dag -from tdp.core.variables import ClusterVariables +from tdp.core.variables.cluster_variables import ClusterVariables from tests.conftest import generate_collection_at_path diff --git a/tests/unit/core/deployment/test_deployment_runner.py b/tests/unit/core/deployment/test_deployment_runner.py index c9f692d1..c5041be8 100644 --- a/tests/unit/core/deployment/test_deployment_runner.py +++ b/tests/unit/core/deployment/test_deployment_runner.py @@ -10,9 +10,7 @@ from tdp.core.deployment.deployment_runner import DeploymentRunner from tdp.core.deployment.executor import Executor -from tdp.core.models import ( - DeploymentModel, -) +from tdp.core.models.deployment_model import DeploymentModel from tdp.core.models.enums import ( DeploymentStateEnum, DeploymentTypeEnum, @@ -21,9 +19,9 @@ if TYPE_CHECKING: from tdp.core.cluster_status import ClusterStatus - from tdp.core.collections import Collections + from tdp.core.collections.collections import Collections from tdp.core.dag import Dag - from tdp.core.variables import ClusterVariables + from tdp.core.variables.cluster_variables import ClusterVariables class MockExecutor(Executor): diff --git a/tests/unit/core/models/test_deployment_log.py b/tests/unit/core/models/test_deployment_log.py index 79a1ba81..4f56ce40 100644 --- a/tests/unit/core/models/test_deployment_log.py +++ b/tests/unit/core/models/test_deployment_log.py @@ -9,16 +9,17 @@ import pytest from sqlalchemy import Engine -from tdp.core.collections import ( - Collections, -) +from tdp.core.collections.collections import Collections from tdp.core.inventory_reader import InventoryReader from tdp.core.models.deployment_model import ( DeploymentModel, - DeploymentTypeEnum, NothingToResumeError, ) -from tdp.core.models.enums import DeploymentStateEnum, OperationStateEnum +from tdp.core.models.enums import ( + DeploymentStateEnum, + DeploymentTypeEnum, + OperationStateEnum, +) from tdp.core.models.operation_model import OperationModel from tests.conftest import create_session, generate_collection_at_path diff --git a/tests/unit/core/models/test_models.py b/tests/unit/core/models/test_models.py index 3d29f303..29a03f10 100644 --- a/tests/unit/core/models/test_models.py +++ b/tests/unit/core/models/test_models.py @@ -7,7 +7,9 @@ import pytest from sqlalchemy.engine import Engine -from tdp.core.models import DeploymentModel, OperationModel, SCHStatusLogModel +from tdp.core.models.deployment_model import DeploymentModel +from tdp.core.models.operation_model import OperationModel +from tdp.core.models.sch_status_log_model import SCHStatusLogModel from tests.conftest import create_session logger = logging.getLogger(__name__) diff --git a/tests/unit/core/test_collections.py b/tests/unit/core/test_collections.py index 08ec1cb0..37e3c56d 100644 --- a/tests/unit/core/test_collections.py +++ b/tests/unit/core/test_collections.py @@ -3,7 +3,7 @@ import pytest -from tdp.core.collections import Collections +from tdp.core.collections.collections import Collections from tdp.core.entities.operation import DagOperation, OperationName from tests.conftest import generate_collection_at_path diff --git a/tests/unit/core/variables/test_variables.py b/tests/unit/core/variables/test_variables.py index 4b0f0fb2..25892279 100644 --- a/tests/unit/core/variables/test_variables.py +++ b/tests/unit/core/variables/test_variables.py @@ -10,7 +10,7 @@ from ansible.parsing.dataloader import DataLoader from ansible.vars.manager import VariableManager -from tdp.core.variables import Variables +from tdp.core.variables.variables import Variables _DummyInventory = tuple[DataLoader, InventoryManager, VariableManager, Path] diff --git a/tests/unit/test_dao.py b/tests/unit/test_dao.py index c94299b9..c8502658 100644 --- a/tests/unit/test_dao.py +++ b/tests/unit/test_dao.py @@ -9,13 +9,14 @@ import pytest from sqlalchemy.engine import Engine -from tdp.core.models import ( - DeploymentModel, - OperationModel, - SCHStatusLogModel, +from tdp.core.models.deployment_model import DeploymentModel +from tdp.core.models.enums import ( + DeploymentStateEnum, + OperationStateEnum, SCHStatusLogSourceEnum, ) -from tdp.core.models.enums import DeploymentStateEnum, OperationStateEnum +from tdp.core.models.operation_model import OperationModel +from tdp.core.models.sch_status_log_model import SCHStatusLogModel from tdp.dao import Dao from tests.conftest import assert_equal_values_in_model, create_session