From 677e01ccd848523eb7bb4e3bd6c2d7ac1f58a2ce Mon Sep 17 00:00:00 2001 From: Elsie4ever <3467996@gmail.com> Date: Wed, 25 Sep 2024 11:38:05 -0700 Subject: [PATCH 1/3] update runtime status description structure change --- .../edge/providers/check/base/resource.py | 20 +++------- .../tests/edge/checks/test_mq_checks_unit.py | 40 ++++++++++++++++--- 2 files changed, 39 insertions(+), 21 deletions(-) diff --git a/azext_edge/edge/providers/check/base/resource.py b/azext_edge/edge/providers/check/base/resource.py index 6f85181fb..c3291c6ea 100644 --- a/azext_edge/edge/providers/check/base/resource.py +++ b/azext_edge/edge/providers/check/base/resource.py @@ -279,9 +279,7 @@ def process_resource_property_by_type( return display_text = f"{display_name}:" - check_manager.add_display( - target_name=target_name, namespace=namespace, display=Padding(display_text, padding) - ) + check_manager.add_display(target_name=target_name, namespace=namespace, display=Padding(display_text, padding)) for property in properties: display_text = f"- {display_name} {properties.index(property) + 1}" @@ -308,14 +306,10 @@ def process_resource_property_by_type( display_text = f"[cyan]{properties}[/cyan]" padding = (0, 0, 0, padding_left + 4) - check_manager.add_display( - target_name=target_name, namespace=namespace, display=Padding(display_text, padding) - ) + check_manager.add_display(target_name=target_name, namespace=namespace, display=Padding(display_text, padding)) elif isinstance(properties, dict): display_text = f"{display_name}:" - check_manager.add_display( - target_name=target_name, namespace=namespace, display=Padding(display_text, padding) - ) + check_manager.add_display(target_name=target_name, namespace=namespace, display=Padding(display_text, padding)) for prop, value in properties.items(): display_text = f"{prop}: [cyan]{value}[/cyan]" check_manager.add_display( @@ -363,9 +357,7 @@ def validate_one_of_conditions( eval_status = CheckTaskStatus.error.value one_of_condition = f"oneOf({conditions_names})" - check_manager.add_target_conditions( - target_name=target_name, namespace=namespace, conditions=[one_of_condition] - ) + check_manager.add_target_conditions(target_name=target_name, namespace=namespace, conditions=[one_of_condition]) check_manager.add_target_eval( target_name=target_name, namespace=namespace, @@ -467,9 +459,7 @@ def process_custom_resource_status( if prop_value: status_text = f"{prop_name} {{{decorate_resource_status(prop_value.get('status'))}}}." if detail_level == ResourceOutputDetailLevel.verbose.value: - status_description = prop_value.get("statusDescription") or prop_value.get( - "output", {} - ).get("message") + status_description = prop_value.get("description") or prop_value.get("output", {}).get("message") if status_description: status_text = status_text.replace(".", f", [cyan]{status_description}[/cyan].") diff --git a/azext_edge/tests/edge/checks/test_mq_checks_unit.py b/azext_edge/tests/edge/checks/test_mq_checks_unit.py index d6f167965..ed388d173 100644 --- a/azext_edge/tests/edge/checks/test_mq_checks_unit.py +++ b/azext_edge/tests/edge/checks/test_mq_checks_unit.py @@ -66,7 +66,12 @@ def test_check_mq_by_resource_types(ops_service, mocker, mock_resource_types, re }, "mode": "distributed", }, - status={"runtimeStatus": {"status": ResourceState.running.value, "statusDescription": ""}}, + status={ + "runtimeStatus": { + "status": ResourceState.running.value, + "description": "All replicas are running.", + } + }, ), # service obj generate_resource_stub( @@ -98,7 +103,12 @@ def test_check_mq_by_resource_types(ops_service, mocker, mock_resource_types, re ("name", "mock-name"), ( "value/status", - {"runtimeStatus": {"status": ResourceState.running.value, "statusDescription": ""}}, + { + "runtimeStatus": { + "status": ResourceState.running.value, + "description": "All replicas are running.", + } + }, ), ], [ @@ -129,7 +139,10 @@ def test_check_mq_by_resource_types(ops_service, mocker, mock_resource_types, re }, }, status={ - "runtimeStatus": {"status": ResourceState.starting.value, "statusDescription": ""}, + "runtimeStatus": { + "status": ResourceState.starting.value, + "description": "Waiting for all replicas to report ready.", + }, }, ), # service obj @@ -157,7 +170,12 @@ def test_check_mq_by_resource_types(ops_service, mocker, mock_resource_types, re ("name", "mock-name"), ( "value/status", - {"runtimeStatus": {"status": ResourceState.starting.value, "statusDescription": ""}}, + { + "runtimeStatus": { + "status": ResourceState.starting.value, + "description": "Waiting for all replicas to report ready.", + } + }, ), ], [ @@ -192,7 +210,12 @@ def test_check_mq_by_resource_types(ops_service, mocker, mock_resource_types, re }, "mode": "distributed", }, - status={"runtimeStatus": {"status": ResourceState.running.value, "statusDescription": ""}}, + status={ + "runtimeStatus": { + "status": ResourceState.running.value, + "statusDescription": "All replicas are running.", + } + }, ), # service obj generate_resource_stub( @@ -224,7 +247,12 @@ def test_check_mq_by_resource_types(ops_service, mocker, mock_resource_types, re ("name", "mock-name"), ( "value/status", - {"runtimeStatus": {"status": ResourceState.running.value, "statusDescription": ""}}, + { + "runtimeStatus": { + "status": ResourceState.running.value, + "statusDescription": "All replicas are running.", + } + }, ), ], [ From 2d48391f6614e3287a7d2636f2a618f8e92077ff Mon Sep 17 00:00:00 2001 From: Elsie4ever <3467996@gmail.com> Date: Wed, 25 Sep 2024 11:50:53 -0700 Subject: [PATCH 2/3] update test --- azext_edge/tests/edge/checks/test_mq_checks_unit.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/azext_edge/tests/edge/checks/test_mq_checks_unit.py b/azext_edge/tests/edge/checks/test_mq_checks_unit.py index ed388d173..a9f9a8b26 100644 --- a/azext_edge/tests/edge/checks/test_mq_checks_unit.py +++ b/azext_edge/tests/edge/checks/test_mq_checks_unit.py @@ -213,7 +213,7 @@ def test_check_mq_by_resource_types(ops_service, mocker, mock_resource_types, re status={ "runtimeStatus": { "status": ResourceState.running.value, - "statusDescription": "All replicas are running.", + "description": "All replicas are running.", } }, ), @@ -250,7 +250,7 @@ def test_check_mq_by_resource_types(ops_service, mocker, mock_resource_types, re { "runtimeStatus": { "status": ResourceState.running.value, - "statusDescription": "All replicas are running.", + "description": "All replicas are running.", } }, ), @@ -309,7 +309,7 @@ def test_broker_checks( "port": 8080, "authenticationEnabled": "True", }, - status={"runtimeStatus": {"status": ResourceState.running.value, "statusDescription": ""}}, + status={"runtimeStatus": {"status": ResourceState.running.value, "description": ""}}, ), # service obj generate_resource_stub( @@ -331,7 +331,7 @@ def test_broker_checks( ("name", "mock-name"), ( "value/status", - {"runtimeStatus": {"status": ResourceState.running.value, "statusDescription": ""}}, + {"runtimeStatus": {"status": ResourceState.running.value, "description": ""}}, ), ], [ @@ -370,7 +370,7 @@ def test_broker_checks( "port": 8080, "authenticationEnabled": "True", }, - status={"runtimeStatus": {"status": ResourceState.running.value, "statusDescription": ""}}, + status={"runtimeStatus": {"status": ResourceState.running.value, "description": ""}}, ), # service obj generate_resource_stub( @@ -392,7 +392,7 @@ def test_broker_checks( ("name", "mock-name"), ( "value/status", - {"runtimeStatus": {"status": ResourceState.running.value, "statusDescription": ""}}, + {"runtimeStatus": {"status": ResourceState.running.value, "description": ""}}, ), ], [ From a93e03b3b0cdd48aaf421c0aebbe6ffad9a85923 Mon Sep 17 00:00:00 2001 From: Elsie4ever <3467996@gmail.com> Date: Wed, 25 Sep 2024 12:01:49 -0700 Subject: [PATCH 3/3] update test --- azext_edge/tests/edge/checks/base/test_resource_unit.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/azext_edge/tests/edge/checks/base/test_resource_unit.py b/azext_edge/tests/edge/checks/base/test_resource_unit.py index c79e0f996..164db68fd 100644 --- a/azext_edge/tests/edge/checks/base/test_resource_unit.py +++ b/azext_edge/tests/edge/checks/base/test_resource_unit.py @@ -857,7 +857,7 @@ def test_calculate_status(resource_state, expected_status): # Scenario 1: Both runtimeStatus and provisioningStatus are provided with summary detail level. ( { - "runtimeStatus": {"status": "Running", "statusDescription": "All good"}, + "runtimeStatus": {"status": "Running", "description": "All good"}, "provisioningStatus": {"status": "Success"}, }, ResourceOutputDetailLevel.summary.value, @@ -870,7 +870,7 @@ def test_calculate_status(resource_state, expected_status): status="success", value={ "status": { - "runtimeStatus": {"status": "Running", "statusDescription": "All good"}, + "runtimeStatus": {"status": "Running", "description": "All good"}, "provisioningStatus": {"status": "Success"}, } }, @@ -897,7 +897,7 @@ def test_calculate_status(resource_state, expected_status): # Scenario 3: Both statuses, verbose detail level. ( { - "runtimeStatus": {"status": "Running", "statusDescription": "All good"}, + "runtimeStatus": {"status": "Running", "description": "All good"}, "provisioningStatus": {"status": "Success"}, }, ResourceOutputDetailLevel.verbose.value, @@ -914,7 +914,7 @@ def test_calculate_status(resource_state, expected_status): status="success", value={ "status": { - "runtimeStatus": {"status": "Running", "statusDescription": "All good"}, + "runtimeStatus": {"status": "Running", "description": "All good"}, "provisioningStatus": {"status": "Success"}, } },