Skip to content

Commit 0f59377

Browse files
committed
Merge remote-tracking branch 'upstream/main' into mgather
2 parents 3ec4126 + dd4e021 commit 0f59377

File tree

8 files changed

+458
-679
lines changed

8 files changed

+458
-679
lines changed

tests/model_registry/negative_tests/conftest.py

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
from utilities.constants import MODEL_REGISTRY_CUSTOM_NAMESPACE
2626
from utilities.general import wait_for_pods_by_labels
2727
from utilities.infra import create_ns
28+
from tests.model_registry.negative_tests.utils import execute_mysql_command, create_mysql_credentials_file
2829

2930
DB_RESOURCES_NAME_NEGATIVE = "db-model-registry-negative"
3031

@@ -139,28 +140,15 @@ def model_registry_db_deployment_negative_test(
139140
@pytest.fixture()
140141
def set_mr_db_dirty(model_registry_db_instance_pod: Pod) -> int:
141142
"""Set the model registry database dirty and return the latest migration version"""
142-
output = model_registry_db_instance_pod.execute(
143-
command=[
144-
"mysql",
145-
"-u",
146-
MODEL_REGISTRY_DB_SECRET_STR_DATA["database-user"],
147-
f"-p{MODEL_REGISTRY_DB_SECRET_STR_DATA['database-password']}",
148-
"-e",
149-
"SELECT version FROM schema_migrations ORDER BY version DESC LIMIT 1;",
150-
MODEL_REGISTRY_DB_SECRET_STR_DATA["database-name"],
151-
]
143+
create_mysql_credentials_file(model_registry_db_instance_pod=model_registry_db_instance_pod)
144+
output = execute_mysql_command(
145+
sql_query="SELECT version FROM schema_migrations ORDER BY version DESC LIMIT 1;",
146+
model_registry_db_instance_pod=model_registry_db_instance_pod,
152147
)
153148
latest_migration_version = int(output.strip().split()[1])
154-
model_registry_db_instance_pod.execute(
155-
command=[
156-
"mysql",
157-
"-u",
158-
MODEL_REGISTRY_DB_SECRET_STR_DATA["database-user"],
159-
f"-p{MODEL_REGISTRY_DB_SECRET_STR_DATA['database-password']}",
160-
"-e",
161-
f"UPDATE schema_migrations SET dirty = 1 WHERE version = {latest_migration_version};",
162-
MODEL_REGISTRY_DB_SECRET_STR_DATA["database-name"],
163-
]
149+
execute_mysql_command(
150+
sql_query=f"UPDATE schema_migrations SET dirty = 1 WHERE version = {latest_migration_version};",
151+
model_registry_db_instance_pod=model_registry_db_instance_pod,
164152
)
165153
return latest_migration_version
166154

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
from ocp_resources.pod import Pod
2+
from tests.model_registry.constants import MODEL_REGISTRY_DB_SECRET_STR_DATA
3+
import base64
4+
5+
6+
def create_mysql_credentials_file(model_registry_db_instance_pod: Pod) -> None:
7+
"""
8+
Setup MySQL configuration file with credentials.
9+
"""
10+
credentials_file_content = f"""[client]
11+
user={MODEL_REGISTRY_DB_SECRET_STR_DATA["database-user"]}
12+
password={MODEL_REGISTRY_DB_SECRET_STR_DATA["database-password"]}
13+
"""
14+
b64_content = base64.b64encode(credentials_file_content.encode("utf-8")).decode("utf-8")
15+
16+
model_registry_db_instance_pod.execute(
17+
command=["bash", "-c", f"echo '{b64_content}' | base64 --decode > /tmp/.my.cnf"]
18+
)
19+
20+
21+
def execute_mysql_command(sql_query: str, model_registry_db_instance_pod: Pod) -> str:
22+
"""
23+
Execute a MySQL command on the model registry database instance pod.
24+
"""
25+
return model_registry_db_instance_pod.execute(
26+
command=[
27+
"mysql",
28+
"--defaults-file=/tmp/.my.cnf",
29+
"-e",
30+
sql_query,
31+
MODEL_REGISTRY_DB_SECRET_STR_DATA["database-name"],
32+
]
33+
)

0 commit comments

Comments
 (0)