Skip to content

Commit

Permalink
refactor: Change Absolute Imports to Relative Imports in Storage-Proxy
Browse files Browse the repository at this point in the history
  • Loading branch information
MintCat98 committed Feb 13, 2025
1 parent e687750 commit e1f8f04
Show file tree
Hide file tree
Showing 25 changed files with 94 additions and 111 deletions.
1 change: 1 addition & 0 deletions changes/3685.enhance.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Change Absolute Imports to Relative Imports in Storage-Proxy
4 changes: 2 additions & 2 deletions src/ai/backend/common/dto/storage/response.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

from pydantic import Field

from ai.backend.common.api_handlers import BaseResponseModel
from ai.backend.common.dto.storage.field import VFolderMetaField, VolumeMetaField
from ...api_handlers import BaseResponseModel
from .field import VFolderMetaField, VolumeMetaField


class GetVolumeResponse(BaseResponseModel):
Expand Down
11 changes: 5 additions & 6 deletions src/ai/backend/storage/api/vfolder/handler.py
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
from typing import Optional, Protocol

from ai.backend.common.api_handlers import APIResponse, BodyParam, PathParam, api_handler
from ai.backend.common.dto.storage.path import QuotaScopeKeyPath, VFolderKeyPath, VolumeIDPath
from ai.backend.common.dto.storage.request import (
from ....common.api_handlers import APIResponse, BodyParam, PathParam, api_handler
from ....common.dto.storage.path import QuotaScopeKeyPath, VFolderKeyPath, VolumeIDPath
from ....common.dto.storage.request import (
CloneVFolderReq,
GetVFolderMetaReq,
QuotaScopeReq,
)
from ai.backend.common.dto.storage.response import (
from ....common.dto.storage.response import (
GetVolumeResponse,
GetVolumesResponse,
VFolderMetadataResponse,
)
from ai.backend.common.types import QuotaConfig, VFolderID, VolumeID

from ....common.types import QuotaConfig, VFolderID, VolumeID
from ...volumes.types import (
QuotaScopeKey,
QuotaScopeMeta,
Expand Down
7 changes: 3 additions & 4 deletions src/ai/backend/storage/services/service.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,9 @@

from aiohttp import web

from ai.backend.common.events import VFolderDeletionFailureEvent, VFolderDeletionSuccessEvent
from ai.backend.common.types import QuotaConfig, VFolderID, VolumeID
from ai.backend.logging.utils import BraceStyleAdapter

from ...common.events import VFolderDeletionFailureEvent, VFolderDeletionSuccessEvent
from ...common.types import QuotaConfig, VFolderID, VolumeID
from ...logging.utils import BraceStyleAdapter
from ..exception import (
ExternalError,
InvalidQuotaConfig,
Expand Down
10 changes: 5 additions & 5 deletions src/ai/backend/storage/volumes/abc.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,11 @@
)

from ai.backend.common.defs import DEFAULT_VFOLDER_PERMISSION_MODE
from ai.backend.common.etcd import AsyncEtcd
from ai.backend.common.events import EventDispatcher, EventProducer
from ai.backend.common.types import BinarySize, HardwareMetadata, QuotaScopeID
from ai.backend.logging import BraceStyleAdapter
from ai.backend.storage.watcher import WatcherClient

from ...common.etcd import AsyncEtcd
from ...common.events import EventDispatcher, EventProducer
from ...common.types import BinarySize, HardwareMetadata, QuotaScopeID
from ...logging import BraceStyleAdapter
from ..exception import InvalidSubpathError, VFolderNotFoundError
from ..types import (
CapacityUsage,
Expand All @@ -32,6 +31,7 @@
TreeUsage,
VFolderID,
)
from ..watcher import WatcherClient

# Available capabilities of a volume implementation
CAP_VFOLDER: Final = "vfolder" # ability to create vfolder
Expand Down
9 changes: 4 additions & 5 deletions src/ai/backend/storage/volumes/cephfs/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,10 @@

import aiofiles.os

from ai.backend.common.types import BinarySize, QuotaScopeID
from ai.backend.storage.exception import QuotaScopeNotFoundError
from ai.backend.storage.subproc import run
from ai.backend.storage.types import CapacityUsage, Optional, QuotaConfig, QuotaUsage, TreeUsage

from ....common.types import BinarySize, QuotaScopeID
from ...exception import QuotaScopeNotFoundError
from ...subproc import run
from ...types import CapacityUsage, Optional, QuotaConfig, QuotaUsage, TreeUsage
from ..abc import (
CAP_FAST_SIZE,
CAP_QUOTA,
Expand Down
11 changes: 5 additions & 6 deletions src/ai/backend/storage/volumes/ddn/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,11 @@
import aiofiles
import aiofiles.os

from ai.backend.common.etcd import AsyncEtcd
from ai.backend.common.types import QuotaScopeID
from ai.backend.storage.exception import QuotaScopeAlreadyExists, QuotaScopeNotFoundError
from ai.backend.storage.subproc import run
from ai.backend.storage.types import Optional, QuotaConfig, QuotaUsage

from ....common.etcd import AsyncEtcd
from ....common.types import QuotaScopeID
from ...exception import QuotaScopeAlreadyExists, QuotaScopeNotFoundError
from ...subproc import run
from ...types import Optional, QuotaConfig, QuotaUsage
from ..abc import CAP_QUOTA, CAP_VFOLDER, AbstractQuotaModel
from ..vfs import BaseQuotaModel, BaseVolume

Expand Down
11 changes: 5 additions & 6 deletions src/ai/backend/storage/volumes/dellemc/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,11 @@

import aiofiles.os

from ai.backend.common.etcd import AsyncEtcd
from ai.backend.common.events import EventDispatcher, EventProducer
from ai.backend.common.types import HardwareMetadata, QuotaScopeID
from ai.backend.storage.exception import NotEmptyError
from ai.backend.storage.types import CapacityUsage, FSPerfMetric, QuotaConfig, QuotaUsage

from ....common.etcd import AsyncEtcd
from ....common.events import EventDispatcher, EventProducer
from ....common.types import HardwareMetadata, QuotaScopeID
from ...exception import NotEmptyError
from ...types import CapacityUsage, FSPerfMetric, QuotaConfig, QuotaUsage
from ..abc import CAP_FAST_FS_SIZE, CAP_METRIC, CAP_QUOTA, CAP_VFOLDER, AbstractQuotaModel
from ..vfs import BaseQuotaModel, BaseVolume
from .config import config_iv
Expand Down
2 changes: 1 addition & 1 deletion src/ai/backend/storage/volumes/dellemc/config.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import trafaret as t

from ai.backend.common import validators as tx
from ....common import validators as tx

config_iv = t.Dict({
t.Key("dell_endpoint"): t.String(),
Expand Down
11 changes: 5 additions & 6 deletions src/ai/backend/storage/volumes/gpfs/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,11 @@
from pathlib import Path
from typing import Any, FrozenSet, Mapping, Optional

from ai.backend.common.etcd import AsyncEtcd
from ai.backend.common.events import EventDispatcher, EventProducer
from ai.backend.common.types import BinarySize, HardwareMetadata, QuotaScopeID
from ai.backend.logging import BraceStyleAdapter
from ai.backend.storage.types import CapacityUsage, FSPerfMetric

from ....common.etcd import AsyncEtcd
from ....common.events import EventDispatcher, EventProducer
from ....common.types import BinarySize, HardwareMetadata, QuotaScopeID
from ....logging import BraceStyleAdapter
from ...types import CapacityUsage, FSPerfMetric
from ..abc import (
CAP_FAST_FS_SIZE,
CAP_METRIC,
Expand Down
7 changes: 3 additions & 4 deletions src/ai/backend/storage/volumes/gpfs/gpfs_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,9 @@
wait_fixed,
)

from ai.backend.common.types import BinarySize
from ai.backend.logging import BraceStyleAdapter
from ai.backend.storage.exception import ExternalError

from ....common.types import BinarySize
from ....logging import BraceStyleAdapter
from ...exception import ExternalError
from .exceptions import (
GPFSAPIError,
GPFSInvalidBodyError,
Expand Down
13 changes: 6 additions & 7 deletions src/ai/backend/storage/volumes/netapp/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,16 +27,16 @@
wait_fixed,
)

from ai.backend.common.types import BinarySize, HardwareMetadata, QuotaScopeID
from ai.backend.logging import BraceStyleAdapter
from ai.backend.storage.exception import (
from ....common.types import BinarySize, HardwareMetadata, QuotaScopeID
from ....logging import BraceStyleAdapter
from ...exception import (
ExecutionError,
InvalidQuotaScopeError,
NotEmptyError,
QuotaScopeNotFoundError,
)
from ai.backend.storage.subproc import spawn_and_watch
from ai.backend.storage.types import (
from ...subproc import spawn_and_watch
from ...types import (
SENTINEL,
CapacityUsage,
DirEntry,
Expand All @@ -48,8 +48,7 @@
Stat,
TreeUsage,
)
from ai.backend.storage.utils import fstime2datetime

from ...utils import fstime2datetime
from ..abc import (
CAP_FAST_FS_SIZE,
CAP_FAST_SIZE,
Expand Down
4 changes: 2 additions & 2 deletions src/ai/backend/storage/volumes/netapp/netappclient.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,8 @@

import aiohttp

from ai.backend.storage.exception import ExternalError
from ai.backend.storage.types import QuotaConfig, QuotaUsage
from ...exception import ExternalError
from ...types import QuotaConfig, QuotaUsage

StorageID: TypeAlias = uuid.UUID
VolumeID: TypeAlias = uuid.UUID
Expand Down
7 changes: 3 additions & 4 deletions src/ai/backend/storage/volumes/pool.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,9 @@
from pathlib import Path
from typing import Any, AsyncIterator, Mapping, Type

from ai.backend.common.etcd import AsyncEtcd
from ai.backend.common.events import EventDispatcher, EventProducer
from ai.backend.common.types import VolumeID

from ...common.etcd import AsyncEtcd
from ...common.events import EventDispatcher, EventProducer
from ...common.types import VolumeID
from ..exception import InvalidVolumeError
from ..types import VolumeInfo
from .abc import AbstractVolume
Expand Down
7 changes: 3 additions & 4 deletions src/ai/backend/storage/volumes/purestorage/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,9 @@
import re
from typing import FrozenSet

from ai.backend.common.types import HardwareMetadata
from ai.backend.logging import BraceStyleAdapter
from ai.backend.storage.types import CapacityUsage, FSPerfMetric

from ....common.types import HardwareMetadata
from ....logging import BraceStyleAdapter
from ...types import CapacityUsage, FSPerfMetric
from ..abc import (
CAP_FAST_FS_SIZE,
CAP_FAST_SCAN,
Expand Down
9 changes: 4 additions & 5 deletions src/ai/backend/storage/volumes/purestorage/rapidfiles.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,10 @@
from subprocess import CalledProcessError
from typing import AsyncIterator

from ai.backend.common.types import BinarySize
from ai.backend.storage.subproc import run
from ai.backend.storage.types import DirEntry, DirEntryType, Stat, TreeUsage
from ai.backend.storage.utils import fstime2datetime

from ....common.types import BinarySize
from ...subproc import run
from ...types import DirEntry, DirEntryType, Stat, TreeUsage
from ...utils import fstime2datetime
from ..vfs import BaseFSOpModel


Expand Down
7 changes: 3 additions & 4 deletions src/ai/backend/storage/volumes/purestorage/rapidfiles_v2.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,9 @@
from subprocess import CalledProcessError
from typing import AsyncIterator

from ai.backend.storage.subproc import run
from ai.backend.storage.types import DirEntry, DirEntryType, Stat, TreeUsage
from ai.backend.storage.utils import fstime2datetime

from ...subproc import run
from ...types import DirEntry, DirEntryType, Stat, TreeUsage
from ...utils import fstime2datetime
from .rapidfiles import RapidFileToolsFSOpModel


Expand Down
8 changes: 4 additions & 4 deletions src/ai/backend/storage/volumes/types.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@

from pydantic import BaseModel, Field

from ai.backend.common.dto.storage.field import VFolderMetaField, VolumeMetaField
from ai.backend.common.dto.storage.path import QuotaScopeKeyPath, VFolderKeyPath
from ai.backend.common.dto.storage.response import QuotaScopeResponse
from ai.backend.common.types import QuotaScopeID, VFolderID, VolumeID
from ...common.dto.storage.field import VFolderMetaField, VolumeMetaField
from ...common.dto.storage.path import QuotaScopeKeyPath, VFolderKeyPath
from ...common.dto.storage.response import QuotaScopeResponse
from ...common.types import QuotaScopeID, VFolderID, VolumeID


@dataclass
Expand Down
13 changes: 6 additions & 7 deletions src/ai/backend/storage/volumes/vast/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,17 @@
import aiofiles
import aiofiles.os

from ai.backend.common.etcd import AsyncEtcd
from ai.backend.common.events import EventDispatcher, EventProducer
from ai.backend.common.types import HardwareMetadata, QuotaConfig, QuotaScopeID
from ai.backend.logging import BraceStyleAdapter
from ai.backend.storage.exception import (
from ....common.etcd import AsyncEtcd
from ....common.events import EventDispatcher, EventProducer
from ....common.types import HardwareMetadata, QuotaConfig, QuotaScopeID
from ....logging import BraceStyleAdapter
from ...exception import (
ExternalError,
InvalidQuotaConfig,
QuotaScopeNotFoundError,
StorageProxyError,
)
from ai.backend.storage.types import CapacityUsage, FSPerfMetric, QuotaUsage

from ...types import CapacityUsage, FSPerfMetric, QuotaUsage
from ..abc import CAP_FAST_FS_SIZE, CAP_FAST_SIZE, CAP_METRIC, CAP_QUOTA, CAP_VFOLDER
from ..vfs import BaseQuotaModel, BaseVolume
from .config import config_iv
Expand Down
2 changes: 1 addition & 1 deletion src/ai/backend/storage/volumes/vast/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

import trafaret as t

from ai.backend.common import validators as tx
from ....common import validators as tx

DEFAULT_CLUSTER_ID: Final = 1

Expand Down
7 changes: 3 additions & 4 deletions src/ai/backend/storage/volumes/vast/vastdata_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,9 @@
import jwt
from yarl import URL

from ai.backend.logging import BraceStyleAdapter
from ai.backend.storage.exception import ExternalError, QuotaScopeAlreadyExists
from ai.backend.storage.types import CapacityUsage

from ....logging import BraceStyleAdapter
from ...exception import ExternalError, QuotaScopeAlreadyExists
from ...types import CapacityUsage
from .config import APIVersion
from .exceptions import (
VASTAPIError,
Expand Down
13 changes: 6 additions & 7 deletions src/ai/backend/storage/volumes/vfs/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,18 +16,18 @@
import janus
import trafaret as t

from ai.backend.common.defs import DEFAULT_VFOLDER_PERMISSION_MODE
from ai.backend.common.types import BinarySize, HardwareMetadata, QuotaScopeID
from ai.backend.logging import BraceStyleAdapter
from ai.backend.storage.exception import (
from ....common.defs import DEFAULT_VFOLDER_PERMISSION_MODE
from ....common.types import BinarySize, HardwareMetadata, QuotaScopeID
from ....logging import BraceStyleAdapter
from ...exception import (
ExecutionError,
InvalidAPIParameters,
InvalidQuotaScopeError,
NotEmptyError,
QuotaScopeNotFoundError,
)
from ai.backend.storage.subproc import run
from ai.backend.storage.types import (
from ...subproc import run
from ...types import (
SENTINEL,
CapacityUsage,
DirEntry,
Expand All @@ -40,7 +40,6 @@
TreeUsage,
VFolderID,
)

from ...utils import fstime2datetime
from ...watcher import DeletePathTask, WatcherClient
from ..abc import CAP_VFOLDER, AbstractFSOpModel, AbstractQuotaModel, AbstractVolume
Expand Down
11 changes: 5 additions & 6 deletions src/ai/backend/storage/volumes/weka/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,11 @@

import aiofiles.os

from ai.backend.common.etcd import AsyncEtcd
from ai.backend.common.events import EventDispatcher, EventProducer
from ai.backend.common.types import HardwareMetadata, QuotaConfig, QuotaScopeID
from ai.backend.logging import BraceStyleAdapter
from ai.backend.storage.types import CapacityUsage, FSPerfMetric, QuotaUsage

from ....common.etcd import AsyncEtcd
from ....common.events import EventDispatcher, EventProducer
from ....common.types import HardwareMetadata, QuotaConfig, QuotaScopeID
from ....logging import BraceStyleAdapter
from ...types import CapacityUsage, FSPerfMetric, QuotaUsage
from ..abc import CAP_FAST_FS_SIZE, CAP_METRIC, CAP_QUOTA, CAP_VFOLDER, AbstractQuotaModel
from ..vfs import BaseQuotaModel, BaseVolume
from .exceptions import WekaAPIError, WekaInitError, WekaNoMetricError, WekaNotFoundError
Expand Down
5 changes: 2 additions & 3 deletions src/ai/backend/storage/volumes/weka/weka_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,8 @@
import aiohttp
from aiohttp import web

from ai.backend.common.types import BinarySize
from ai.backend.logging import BraceStyleAdapter

from ....common.types import BinarySize
from ....logging import BraceStyleAdapter
from .exceptions import WekaAPIError, WekaInvalidBodyError, WekaNotFoundError, WekaUnauthorizedError

log = BraceStyleAdapter(logging.getLogger(__spec__.name))
Expand Down
Loading

0 comments on commit e1f8f04

Please sign in to comment.