diff --git a/src/codeflare_sdk/utils/generate_yaml.py b/src/codeflare_sdk/utils/generate_yaml.py index dcd4a42c4..d6290c5c3 100755 --- a/src/codeflare_sdk/utils/generate_yaml.py +++ b/src/codeflare_sdk/utils/generate_yaml.py @@ -246,6 +246,17 @@ def augment_labels(item: dict, labels: dict): item["template"]["metadata"]["labels"].update(labels) +def notebook_annotations(item: dict): + nb_prefix = os.environ.get("NB_PREFIX") + if nb_prefix: + if "template" in item: + if not "annotations" in item["template"]["metadata"]: + item["template"]["metadata"]["annotations"] = {} + item["template"]["metadata"]["annotations"].update( + {"app.kubernetes.io/managed-by": nb_prefix} + ) + + def write_components( user_yaml: dict, output_file_name: str, @@ -341,6 +352,7 @@ def generate_appwrapper( ) augment_labels(item, labels) + notebook_annotations(item) if appwrapper: add_queue_label(user_yaml, namespace, local_queue) diff --git a/tests/test-case-no-mcad.yamls b/tests/test-case-no-mcad.yamls index 367703d67..b69c0d60f 100644 --- a/tests/test-case-no-mcad.yamls +++ b/tests/test-case-no-mcad.yamls @@ -2,6 +2,8 @@ apiVersion: ray.io/v1 kind: RayCluster metadata: + annotations: + app.kubernetes.io/managed-by: test-prefix labels: controller-tools.k8s.io: '1.0' kueue.x-k8s.io/queue-name: local-queue-default diff --git a/tests/unit_test.py b/tests/unit_test.py index 32d730c4d..b54d65490 100644 --- a/tests/unit_test.py +++ b/tests/unit_test.py @@ -345,6 +345,8 @@ def test_cluster_creation_no_mcad(mocker): "kubernetes.client.CustomObjectsApi.list_namespaced_custom_object", return_value=get_local_queue("kueue.x-k8s.io", "v1beta1", "ns", "localqueues"), ) + mocker.patch("os.environ.get", return_value="test-prefix") + config = createClusterConfig() config.name = "unit-test-cluster-ray" config.write_to_file = True @@ -373,6 +375,7 @@ def test_cluster_creation_no_mcad_local_queue(mocker): "kubernetes.client.CustomObjectsApi.list_namespaced_custom_object", return_value=get_local_queue("kueue.x-k8s.io", "v1beta1", "ns", "localqueues"), ) + mocker.patch("os.environ.get", return_value="test-prefix") config = createClusterConfig() config.name = "unit-test-cluster-ray" config.appwrapper = False