Skip to content

Commit 0fcf487

Browse files
committed
test: log custom actions
1 parent 3176c3a commit 0fcf487

File tree

1 file changed

+65
-34
lines changed

1 file changed

+65
-34
lines changed

test/integration/smoke/test_network_extension_namespace.py

Lines changed: 65 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -405,6 +405,37 @@ def _custom_action_details(resp):
405405
return getattr(result, 'details', '') or ''
406406
return ''
407407

408+
def _run_custom_action_logged(self, action, resourceid, parameters=None):
409+
"""Run a custom action and log the request/response for smoke debugging."""
410+
action_name = getattr(action, 'name', None) or getattr(action, 'customactionname', None) or str(action)
411+
action_id = getattr(action, 'id', None)
412+
self.logger.info(
413+
"runCustomAction command: action=%s id=%s resourceid=%s parameters=%s",
414+
action_name,
415+
action_id,
416+
resourceid,
417+
parameters if parameters is not None else []
418+
)
419+
if parameters is None:
420+
out = action.run(self.apiclient, resourceid=resourceid)
421+
else:
422+
out = action.run(self.apiclient, resourceid=resourceid, parameters=parameters)
423+
result = getattr(out, 'result', None)
424+
message = ''
425+
if isinstance(result, dict):
426+
message = result.get('message', '') or ''
427+
elif hasattr(result, '__dict__'):
428+
message = getattr(result, 'message', '') or ''
429+
self.logger.info(
430+
"runCustomAction output: action=%s success=%s message=%s details=%s raw=%s",
431+
action_name,
432+
getattr(out, 'success', None),
433+
message,
434+
self._custom_action_details(out),
435+
out
436+
)
437+
return out
438+
408439
@classmethod
409440
def setUpClass(cls):
410441
testClient = super(TestNetworkExtensionNamespace, cls).getClsTestClient()
@@ -2228,66 +2259,66 @@ def _mk_action(name, parameters = []):
22282259
])
22292260

22302261
# 1) Create and list routing table
2231-
out = act_create_table.run(
2232-
self.apiclient,
2262+
out = self._run_custom_action_logged(
2263+
act_create_table,
22332264
resourceid=network.id,
22342265
parameters=[{"table-id": "100", "table-name": table_name}],
22352266
)
22362267
self.assertTrue(getattr(out, 'success', False), "pbr-create-table should succeed")
22372268

2238-
out = act_list_tables.run(self.apiclient, resourceid=network.id)
2269+
out = self._run_custom_action_logged(act_list_tables, resourceid=network.id)
22392270
self.assertTrue(getattr(out, 'success', False), "pbr-list-tables should succeed")
22402271
self.assertIn(table_name, self._custom_action_details(out))
22412272

22422273
# 2) Add and list route in table
2243-
out = act_add_route.run(
2244-
self.apiclient,
2274+
out = self._run_custom_action_logged(
2275+
act_add_route,
22452276
resourceid=network.id,
22462277
parameters=[{"table": table_name, "route": "blackhole %s" % route_cidr}],
22472278
)
22482279
self.assertTrue(getattr(out, 'success', False), "pbr-add-route should succeed")
22492280

2250-
out = act_list_routes.run(
2251-
self.apiclient,
2281+
out = self._run_custom_action_logged(
2282+
act_list_routes,
22522283
resourceid=network.id,
22532284
parameters=[{"table": table_name}],
22542285
)
22552286
self.assertTrue(getattr(out, 'success', False), "pbr-list-routes should succeed")
22562287
self.assertIn(route_cidr, self._custom_action_details(out))
22572288

22582289
# 3) Add and list policy rule
2259-
out = act_add_rule.run(
2260-
self.apiclient,
2290+
out = self._run_custom_action_logged(
2291+
act_add_rule,
22612292
resourceid=network.id,
22622293
parameters=[{"table": table_name, "rule": "to %s" % route_cidr}],
22632294
)
22642295
self.assertTrue(getattr(out, 'success', False), "pbr-add-rule should succeed")
22652296

2266-
out = act_list_rules.run(
2267-
self.apiclient,
2297+
out = self._run_custom_action_logged(
2298+
act_list_rules,
22682299
resourceid=network.id,
22692300
parameters=[{"table": table_name}],
22702301
)
22712302
self.assertTrue(getattr(out, 'success', False), "pbr-list-rules should succeed")
22722303
self.assertIn(table_name, self._custom_action_details(out))
22732304

22742305
# 4) Delete policy rule, route, and table
2275-
out = act_delete_rule.run(
2276-
self.apiclient,
2306+
out = self._run_custom_action_logged(
2307+
act_delete_rule,
22772308
resourceid=network.id,
22782309
parameters=[{"table": table_name, "rule": "to %s" % route_cidr}],
22792310
)
22802311
self.assertTrue(getattr(out, 'success', False), "pbr-delete-rule should succeed")
22812312

2282-
out = act_delete_route.run(
2283-
self.apiclient,
2313+
out = self._run_custom_action_logged(
2314+
act_delete_route,
22842315
resourceid=network.id,
22852316
parameters=[{"table": table_name, "route": "blackhole %s" % route_cidr}],
22862317
)
22872318
self.assertTrue(getattr(out, 'success', False), "pbr-delete-route should succeed")
22882319

2289-
out = act_delete_table.run(
2290-
self.apiclient,
2320+
out = self._run_custom_action_logged(
2321+
act_delete_table,
22912322
resourceid=network.id,
22922323
parameters=[{"table-name": table_name}],
22932324
)
@@ -2748,66 +2779,66 @@ def _mk_action(name, parameters=[]):
27482779
])
27492780

27502781
# 1) Create and list routing table
2751-
out = act_create_table.run(
2752-
self.apiclient,
2782+
out = self._run_custom_action_logged(
2783+
act_create_table,
27532784
resourceid=vpc.id,
27542785
parameters=[{"table-id": "100", "table-name": table_name}],
27552786
)
27562787
self.assertTrue(getattr(out, 'success', False), "pbr-create-table should succeed")
27572788

2758-
out = act_list_tables.run(self.apiclient, resourceid=vpc.id)
2789+
out = self._run_custom_action_logged(act_list_tables, resourceid=vpc.id)
27592790
self.assertTrue(getattr(out, 'success', False), "pbr-list-tables should succeed")
27602791
self.assertIn(table_name, self._custom_action_details(out))
27612792

27622793
# 2) Add and list route in table
2763-
out = act_add_route.run(
2764-
self.apiclient,
2794+
out = self._run_custom_action_logged(
2795+
act_add_route,
27652796
resourceid=vpc.id,
27662797
parameters=[{"table": table_name, "route": "blackhole %s" % route_cidr}],
27672798
)
27682799
self.assertTrue(getattr(out, 'success', False), "pbr-add-route should succeed")
27692800

2770-
out = act_list_routes.run(
2771-
self.apiclient,
2801+
out = self._run_custom_action_logged(
2802+
act_list_routes,
27722803
resourceid=vpc.id,
27732804
parameters=[{"table": table_name}],
27742805
)
27752806
self.assertTrue(getattr(out, 'success', False), "pbr-list-routes should succeed")
27762807
self.assertIn(route_cidr, self._custom_action_details(out))
27772808

27782809
# 3) Add and list policy rule
2779-
out = act_add_rule.run(
2780-
self.apiclient,
2810+
out = self._run_custom_action_logged(
2811+
act_add_rule,
27812812
resourceid=vpc.id,
27822813
parameters=[{"table": table_name, "rule": "to %s" % route_cidr}],
27832814
)
27842815
self.assertTrue(getattr(out, 'success', False), "pbr-add-rule should succeed")
27852816

2786-
out = act_list_rules.run(
2787-
self.apiclient,
2817+
out = self._run_custom_action_logged(
2818+
act_list_rules,
27882819
resourceid=vpc.id,
27892820
parameters=[{"table": table_name}],
27902821
)
27912822
self.assertTrue(getattr(out, 'success', False), "pbr-list-rules should succeed")
27922823
self.assertIn(table_name, self._custom_action_details(out))
27932824

27942825
# 4) Delete policy rule, route, and table
2795-
out = act_delete_rule.run(
2796-
self.apiclient,
2826+
out = self._run_custom_action_logged(
2827+
act_delete_rule,
27972828
resourceid=vpc.id,
27982829
parameters=[{"table": table_name, "rule": "to %s" % route_cidr}],
27992830
)
28002831
self.assertTrue(getattr(out, 'success', False), "pbr-delete-rule should succeed")
28012832

2802-
out = act_delete_route.run(
2803-
self.apiclient,
2833+
out = self._run_custom_action_logged(
2834+
act_delete_route,
28042835
resourceid=vpc.id,
28052836
parameters=[{"table": table_name, "route": "blackhole %s" % route_cidr}],
28062837
)
28072838
self.assertTrue(getattr(out, 'success', False), "pbr-delete-route should succeed")
28082839

2809-
out = act_delete_table.run(
2810-
self.apiclient,
2840+
out = self._run_custom_action_logged(
2841+
act_delete_table,
28112842
resourceid=vpc.id,
28122843
parameters=[{"table-name": table_name}],
28132844
)

0 commit comments

Comments
 (0)