Merge pull request #2076 from bobh66/watch_named_object

Fix dynamic client watch of named resource
This commit is contained in:
Kubernetes Prow Robot 2024-04-23 15:25:23 -07:00 committed by GitHub
commit 9f9bec2739
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 9 additions and 1 deletions

View File

@ -195,10 +195,13 @@ class DynamicClient(object):
"""
if not watcher: watcher = watch.Watch()
# Use field selector to query for named instance so the watch parameter is handled properly.
if name:
field_selector = f"metadata.name={name}"
for event in watcher.stream(
resource.get,
namespace=namespace,
name=name,
field_selector=field_selector,
label_selector=label_selector,
resource_version=resource_version,

View File

@ -468,6 +468,11 @@ class TestDynamicClient(unittest.TestCase):
name=name, namespace='default', label_selector="e2e-test=true")
self.assertEqual(name, resp.metadata.name)
count = 0
for _ in client.watch(api, timeout=10, namespace="default", name=name):
count += 1
self.assertTrue(count > 0, msg="no events received for watch")
test_configmap['data']['config.json'] = "{}"
resp = api.patch(
name=name, namespace='default', body=test_configmap)