diff --git a/datadog_checks_base/changelog.d/16542.added b/datadog_checks_base/changelog.d/16542.added new file mode 100644 index 0000000000000..f74ba5ae42295 --- /dev/null +++ b/datadog_checks_base/changelog.d/16542.added @@ -0,0 +1 @@ +Update pyvmomi to 8.0.2.0.1 diff --git a/datadog_checks_base/datadog_checks/base/data/agent_requirements.in b/datadog_checks_base/datadog_checks/base/data/agent_requirements.in index cfeca180a4448..2bb61ae1fce8c 100644 --- a/datadog_checks_base/datadog_checks/base/data/agent_requirements.in +++ b/datadog_checks_base/datadog_checks/base/data/agent_requirements.in @@ -79,7 +79,7 @@ python-binary-memcached==0.26.1; sys_platform != 'win32' and python_version < '3 python-binary-memcached==0.31.2; sys_platform != 'win32' and python_version > '3.0' python-dateutil==2.8.2 python3-gearman==0.1.0; sys_platform != 'win32' and python_version > '3.0' -pyvmomi==7.0.3 +pyvmomi==8.0.2.0.1 pywin32==228; sys_platform == 'win32' and python_version < '3.0' pywin32==306; sys_platform == 'win32' and python_version > '3.0' pyyaml==5.4.1; python_version < '3.0' diff --git a/vsphere/changelog.d/16542.added b/vsphere/changelog.d/16542.added new file mode 100644 index 0000000000000..f74ba5ae42295 --- /dev/null +++ b/vsphere/changelog.d/16542.added @@ -0,0 +1 @@ +Update pyvmomi to 8.0.2.0.1 diff --git a/vsphere/datadog_checks/vsphere/api.py b/vsphere/datadog_checks/vsphere/api.py index 77c3575761be3..75402a6d5527d 100644 --- a/vsphere/datadog_checks/vsphere/api.py +++ b/vsphere/datadog_checks/vsphere/api.py @@ -7,7 +7,7 @@ from typing import Any, Callable, List, TypeVar, cast # noqa: F401 from pyVim import connect -from pyVmomi import SoapAdapter, vim, vmodl +from pyVmomi import vim, vmodl from six import itervalues from datadog_checks.base.log import CheckLoggingAdapter # noqa: F401 @@ -332,7 +332,7 @@ def get_new_events(self, start_time): query_filter.type = ALLOWED_EVENTS try: events = event_manager.QueryEvents(query_filter) - except SoapAdapter.ParserError as e: + except KeyError as e: self.log.debug("Error parsing bulk events: %s", e) if self.config.use_collect_events_fallback: @@ -361,7 +361,7 @@ def _get_new_events_one_by_one(self, query_filter): while True: try: collected_events = event_collector.ReadNextEvents(1) # Read with page_size=1 - except SoapAdapter.ParserError as e: + except KeyError as e: self.log.debug("Cannot parse event, skipped: %s", e) continue if len(collected_events) == 0: diff --git a/vsphere/pyproject.toml b/vsphere/pyproject.toml index b06e1e216f741..fd11cdf5644c7 100644 --- a/vsphere/pyproject.toml +++ b/vsphere/pyproject.toml @@ -40,7 +40,7 @@ license = "BSD-3-Clause" [project.optional-dependencies] deps = [ "futures==3.4.0; python_version < '3.0'", - "pyvmomi==7.0.3", + "pyvmomi==8.0.2.0.1", ] [project.urls] diff --git a/vsphere/tests/test_api.py b/vsphere/tests/test_api.py index 2b55b5498f39f..af8d44c54ebd7 100644 --- a/vsphere/tests/test_api.py +++ b/vsphere/tests/test_api.py @@ -6,7 +6,7 @@ import pytest from mock import ANY, MagicMock, patch -from pyVmomi import SoapAdapter, vim, vmodl +from pyVmomi import vim, vmodl from datadog_checks.vsphere.api import APIConnectionError, VSphereAPI from datadog_checks.vsphere.config import VSphereConfig @@ -183,9 +183,9 @@ def test_get_new_events_failure_without_fallback(realtime_instance): config = VSphereConfig(realtime_instance, {}, MagicMock()) api = VSphereAPI(config, MagicMock()) - api._conn.content.eventManager.QueryEvents.side_effect = SoapAdapter.ParserError("some parse error") + api._conn.content.eventManager.QueryEvents.side_effect = KeyError("some parse error") - with pytest.raises(SoapAdapter.ParserError): + with pytest.raises(KeyError): api.get_new_events(start_time=dt.datetime.now()) @@ -200,16 +200,16 @@ def test_get_new_events_with_fallback(realtime_instance): event3 = vim.event.Event(key=3) event_collector = MagicMock() api._conn.content.eventManager.QueryEvents.side_effect = [ - SoapAdapter.ParserError("some parse error"), + KeyError("some parse error"), [event1], - SoapAdapter.ParserError("event parse error"), + KeyError("event parse error"), [event3], ] api._conn.content.eventManager.CreateCollectorForEvents.return_value = event_collector event_collector.ReadNextEvents.side_effect = [ [event1], - SoapAdapter.ParserError("event parse error"), + KeyError("event parse error"), [event3], [], ]