Skip to content

Commit ca7b8c9

Browse files
clean up on-prem artificats
1 parent 6f597ee commit ca7b8c9

File tree

5 files changed

+30
-15
lines changed

5 files changed

+30
-15
lines changed

model-engine/model_engine_server/domain/entities/model_bundle_entity.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,13 @@ def validate_fields_present_for_framework_type(cls, field_values):
7575
"Expected `image_tag` to be non-null because the custom framework "
7676
"type was selected."
7777
)
78+
if not field_values.get("ecr_repo"):
79+
from model_engine_server.core.config import infra_config
80+
if infra_config().cloud_provider != "onprem":
81+
raise ValueError(
82+
"Expected `ecr_repo` to be non-null for custom framework. "
83+
"For on-prem deployments, ecr_repo can be omitted to use direct image references."
84+
)
7885
return field_values
7986

8087
model_config = ConfigDict(from_attributes=True)

model-engine/model_engine_server/infra/gateways/resources/onprem_queue_endpoint_resource_delegate.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ async def create_queue_if_not_exists(
2626
f"(Redis queues don't require explicit creation)"
2727
)
2828

29-
return QueueInfo(queue_name=queue_name, queue_url=None)
29+
return QueueInfo(queue_name=queue_name, queue_url=queue_name)
3030

3131
async def delete_queue(self, endpoint_id: str) -> None:
3232
queue_name = QueueEndpointResourceDelegate.endpoint_id_to_queue_name(endpoint_id)
@@ -37,7 +37,11 @@ async def delete_queue(self, endpoint_id: str) -> None:
3737
async def get_queue_attributes(self, endpoint_id: str) -> Dict[str, Any]:
3838
queue_name = QueueEndpointResourceDelegate.endpoint_id_to_queue_name(endpoint_id)
3939

40-
logger.debug(f"Getting attributes for queue {queue_name}")
40+
logger.warning(
41+
f"Getting queue attributes for {queue_name} - returning hardcoded values. "
42+
f"On-prem Redis queues do not support real-time message counts. "
43+
f"Do not rely on ApproximateNumberOfMessages for autoscaling decisions."
44+
)
4145

4246
return {
4347
"Attributes": {

model-engine/model_engine_server/infra/gateways/s3_file_storage_gateway.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -92,11 +92,12 @@ async def list_files(self, owner: str) -> List[FileMetadata]:
9292
files = []
9393
for obj in objects.get("Contents", []):
9494
key = obj["Key"]
95-
file_id = key[len(owner) :].lstrip("/")
96-
if file_id:
97-
file_metadata = await self.get_file(owner, file_id)
98-
if file_metadata:
99-
files.append(file_metadata)
95+
if key.startswith(owner):
96+
file_id = key[len(owner):].lstrip("/")
97+
if file_id:
98+
file_metadata = await self.get_file(owner, file_id)
99+
if file_metadata:
100+
files.append(file_metadata)
100101
logger.debug(f"Listed {len(files)} files for owner {owner}")
101102
return files
102103
except Exception as e:

model-engine/model_engine_server/infra/gateways/s3_utils.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,12 @@
88
logger = make_logger(logger_name())
99

1010

11-
def is_onprem_mode() -> bool:
12-
return os.getenv("DEPLOYMENT_MODE") == "onprem"
13-
14-
1511
def get_s3_client(kwargs: Optional[Dict[str, Any]] = None):
1612
kwargs = kwargs or {}
1713
session = boto3.Session()
1814
client_kwargs = {}
1915

20-
if is_onprem_mode():
16+
if infra_config().cloud_provider == "onprem":
2117
logger.debug("Using on-prem/MinIO S3-compatible configuration")
2218

2319
s3_endpoint = getattr(infra_config(), "s3_endpoint_url", None) or os.getenv(
@@ -45,7 +41,7 @@ def get_s3_resource(kwargs: Optional[Dict[str, Any]] = None):
4541
session = boto3.Session()
4642
resource_kwargs = {}
4743

48-
if is_onprem_mode():
44+
if infra_config().cloud_provider == "onprem":
4945
logger.debug("Using on-prem/MinIO S3-compatible configuration")
5046

5147
s3_endpoint = getattr(infra_config(), "s3_endpoint_url", None) or os.getenv(

model-engine/model_engine_server/infra/repositories/onprem_docker_repository.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,17 @@ def image_exists(
1313
self, image_tag: str, repository_name: str, aws_profile: Optional[str] = None
1414
) -> bool:
1515
if not repository_name:
16-
logger.debug(f"Direct image reference: {image_tag}, assuming exists")
16+
logger.warning(
17+
f"Direct image reference: {image_tag}, assuming exists. "
18+
f"Image validation skipped for on-prem deployments."
19+
)
1720
return True
1821

19-
logger.debug(f"Registry image: {repository_name}:{image_tag}, assuming exists")
22+
logger.warning(
23+
f"Registry image: {repository_name}:{image_tag}, assuming exists. "
24+
f"Image validation skipped for on-prem deployments. "
25+
f"Deployment will fail if image does not exist in registry."
26+
)
2027
return True
2128

2229
def get_image_url(self, image_tag: str, repository_name: str) -> str:

0 commit comments

Comments
 (0)