From e64ff288e4ad0154cfdb09e3361598f9a0cd9f39 Mon Sep 17 00:00:00 2001 From: A Vertex SDK engineer Date: Thu, 6 Nov 2025 12:47:52 -0800 Subject: [PATCH] fix: add telemetry enablement env for agent engines deployed using module This is to fix telemetry enablement in `adk deploy` CLI. PiperOrigin-RevId: 829069039 --- .../unit/vertexai/genai/test_agent_engines.py | 46 +++++++++++++++++++ vertexai/_genai/agent_engines.py | 3 ++ 2 files changed, 49 insertions(+) diff --git a/tests/unit/vertexai/genai/test_agent_engines.py b/tests/unit/vertexai/genai/test_agent_engines.py index ca97917edf..e74fcf2607 100644 --- a/tests/unit/vertexai/genai/test_agent_engines.py +++ b/tests/unit/vertexai/genai/test_agent_engines.py @@ -903,6 +903,52 @@ def test_agent_engine_adk_telemetry_enablement( {"name": key, "value": value} for key, value in expected_env_vars.items() ] + @mock.patch.object(_agent_engines_utils, "_prepare") + @pytest.mark.parametrize( + "env_vars,expected_env_vars", + [ + ({}, {GOOGLE_CLOUD_AGENT_ENGINE_ENABLE_TELEMETRY: "unspecified"}), + (None, {GOOGLE_CLOUD_AGENT_ENGINE_ENABLE_TELEMETRY: "unspecified"}), + ( + {"some_env": "some_val"}, + { + "some_env": "some_val", + GOOGLE_CLOUD_AGENT_ENGINE_ENABLE_TELEMETRY: "unspecified", + }, + ), + ( + {GOOGLE_CLOUD_AGENT_ENGINE_ENABLE_TELEMETRY: "true"}, + {GOOGLE_CLOUD_AGENT_ENGINE_ENABLE_TELEMETRY: "true"}, + ), + ( + {GOOGLE_CLOUD_AGENT_ENGINE_ENABLE_TELEMETRY: "false"}, + {GOOGLE_CLOUD_AGENT_ENGINE_ENABLE_TELEMETRY: "false"}, + ), + ], + ) + def test_agent_engine_adk_telemetry_enablement_through_source_packages( + self, + mock_prepare: mock.Mock, + env_vars: dict[str, str], + expected_env_vars: dict[str, str], + ): + config = self.client.agent_engines._create_config( + mode="create", + display_name=_TEST_AGENT_ENGINE_DISPLAY_NAME, + description=_TEST_AGENT_ENGINE_DESCRIPTION, + source_packages=[], + class_methods=[], + entrypoint_module=".", + entrypoint_object=".", + env_vars=env_vars, + agent_framework="google-adk", + ) + assert config["display_name"] == _TEST_AGENT_ENGINE_DISPLAY_NAME + assert config["description"] == _TEST_AGENT_ENGINE_DESCRIPTION + assert config["spec"]["deployment_spec"]["env"] == [ + {"name": key, "value": value} for key, value in expected_env_vars.items() + ] + @mock.patch.object(_agent_engines_utils, "_prepare") def test_create_agent_engine_config_full(self, mock_prepare): config = self.client.agent_engines._create_config( diff --git a/vertexai/_genai/agent_engines.py b/vertexai/_genai/agent_engines.py index 9b0a882de2..5d57c6fd70 100644 --- a/vertexai/_genai/agent_engines.py +++ b/vertexai/_genai/agent_engines.py @@ -1024,6 +1024,9 @@ def _create_config( update_masks.append("labels") config["labels"] = labels + if agent_framework == "google-adk": + env_vars = _agent_engines_utils._add_telemetry_enablement_env(env_vars) + sys_version = f"{sys.version_info.major}.{sys.version_info.minor}" agent_engine_spec = None if agent is not None: