Allow optional subscription callback verification 17/14417/1
authorAllain Legacy <alegacy@redhat.com>
Wed, 14 May 2025 13:45:39 +0000 (09:45 -0400)
committerAllain Legacy <alegacy@redhat.com>
Wed, 14 May 2025 13:45:39 +0000 (09:45 -0400)
This allows optional control over whether to expect that the O2
application performs a reachability check on the subscriber's callback
URL.

Change-Id: I84995d678f4f1b1bdcc065f96e438b4723f8af19
Signed-off-by: Allain Legacy <alegacy@redhat.com>
test_scripts/O2IMS_Compliance_Test/mock.sh
test_scripts/O2IMS_Compliance_Test/o2ims_compliance/smo_server_mock.robot
test_scripts/O2IMS_Compliance_Test/test_configs.yaml

index fd2f6ed..526d842 100644 (file)
@@ -59,6 +59,22 @@ O2IMS_INVENTORY_OBSERVER="{
   \"priority\" : 10
 }"
 
+O2IMS_INVENTORY_OBSERVER_REACHABILITY="{
+  \"id\": \"mock_smo_inventory_change_notification_endpoint_registration\",
+  \"httpRequest\" : {
+    \"path\" : \"/mock_smo/v1/o2ims_inventory_observer\",
+    \"method\":\"GET\"
+  },
+  \"httpResponse\" : {
+    \"statusCode\": 204,
+    \"body\" : {
+    \"status\": 204,
+    \"result\": \"this is mocked inventory change notification callback\"
+    }
+  },
+  \"priority\" : 10
+}"
+
 O2IMS_ALARM_OBSERVER="{
   \"id\": \"mock_smo_alarm_notification_endpoint_registration\",
   \"httpRequest\" : {
@@ -75,9 +91,25 @@ O2IMS_ALARM_OBSERVER="{
   \"priority\" : 10
 }"
 
+O2IMS_ALARM_OBSERVER_REACHABILITY="{
+  \"id\": \"mock_smo_alarm_notification_endpoint_registration\",
+  \"httpRequest\" : {
+    \"path\" : \"/mock_smo/v1/o2ims_alarm_observer\",
+    \"method\":\"GET\"
+  },
+  \"httpResponse\" : {
+    \"statusCode\": 204,
+    \"body\" : {
+    \"status\": 204,
+    \"result\": \"Welcome to mocked smo server alarm notification endpoint\"
+    }
+  },
+  \"priority\" : 10
+}"
+
 curl -s -k -X PUT $SMO_ENDPOINT/expectation  --header 'Content-Type: application/json' \
 --header 'Accept: application/json' \
--d "${VALID_CLOUD_OBSERVER}" 
+-d "${VALID_CLOUD_OBSERVER}"
 
 curl -s -k -X PUT $SMO_ENDPOINT/expectation  --header 'Content-Type: application/json' \
 --header 'Accept: application/json' \
@@ -87,9 +119,16 @@ curl -s -k -X PUT $SMO_ENDPOINT/expectation  --header 'Content-Type: application
 --header 'Accept: application/json' \
 -d "${O2IMS_INVENTORY_OBSERVER}"
 
+curl -s -k -X PUT $SMO_ENDPOINT/expectation  --header 'Content-Type: application/json' \
+--header 'Accept: application/json' \
+-d "${O2IMS_INVENTORY_OBSERVER_REACHABILITY}"
 
 curl -s -k -X PUT $SMO_ENDPOINT/expectation  --header 'Content-Type: application/json' \
 --header 'Accept: application/json' \
 -d "${O2IMS_ALARM_OBSERVER}"
 
+curl -s -k -X PUT $SMO_ENDPOINT/expectation  --header 'Content-Type: application/json' \
+--header 'Accept: application/json' \
+-d "${O2IMS_ALARM_OBSERVER_REACHABILITY}"
+
 exit
index c378176..e080f24 100644 (file)
@@ -56,4 +56,11 @@ SMO called by IMS verification
     Set Headers     {"Content-Type": "application/json"}
     ${res}    put   ${SMO_VERIFY_URL}  ${args}
     log       ${res}  level=DEBUG
-    Integer     response status    406
+    # Whether the O-Cloud performs a reachability check (i.e., ETSI GS NFV-SOL 015 V1.1.1, section 5.9) or not is
+    # optional; therefore, here we provide the ability to override the verification based on the support provided by
+    # the O-Cloud.
+    IF   ${ocloud.oran_o2_app.expect_callback_verify}
+        Integer     response status    202
+    ELSE
+        Integer     response status    406
+    END
index 49d10e2..f969ad2 100644 (file)
@@ -6,7 +6,7 @@ ocloud:
     username: username\r
     password: passwd\r
     openrc: /etc/platform/openrc\r
-  #oran_o2_ims_info \r
+  #oran_o2_ims_info\r
   oran_o2_app:\r
     g_location_id: testlocation_1\r
     g_ocloud_id: 18f2dc90-b375-47dd-b8dc-ae80072e6cdb\r
@@ -14,6 +14,7 @@ ocloud:
     deploymentmanager_name: put_deploymentmanager_name_here\r
     resourcetype_name: put_resourcetype_name_here\r
     resource_description_substring: put_resource_description_substring_here\r
+    expect_callback_verify: False\r
 \r
     api:\r
       host: 192.168.112.15\r