Support second level NSSI in terminate app 87/123987/6
authorkrishnaa96 <krishna.moorthy6@wipro.com>
Thu, 9 Sep 2021 10:53:17 +0000 (16:23 +0530)
committerkrishnaa96 <krishna.moorthy6@wipro.com>
Mon, 4 Oct 2021 15:43:51 +0000 (21:13 +0530)
Issue-ID: OPTFRA-990
Signed-off-by: krishnaa96 <krishna.moorthy6@wipro.com>
Change-Id: If47b19d18e5eb1cbef24418c7697e0770818959f

15 files changed:
apps/nxi_termination/optimizers/remote_opt_processor.py
config/common_config.yaml
csit/scripts/osdf-properties/osdf_config.yaml
csit/tests/osdf/optf_osdf_nxi_termination.robot
osdf/adapters/aai/fetch_aai_data.py
pom.xml
test/apps/nxi_termination/failure_relationship_list.json
test/apps/nxi_termination/invalid_request.json
test/apps/nxi_termination/nxi_termination.json
test/apps/nxi_termination/success_relationship_list.json
test/apps/nxi_termination/test_remote_opt_processor_termination.py
test/functest/simulators/aai/response-payloads/nsi_instance.json [new file with mode: 0644]
test/functest/simulators/aai/response-payloads/nsi_instance_with_args.json [new file with mode: 0644]
test/functest/simulators/build_sim_image.sh
test/functest/simulators/oof_dependencies_simulators.py

index 7878f5d..fc3bc17 100644 (file)
@@ -21,6 +21,7 @@ from jinja2 import Template
 from apps.nxi_termination.optimizers.response_processor import get_nxi_termination_response
 from osdf.adapters.aai.fetch_aai_data import AAIException
 from osdf.adapters.aai.fetch_aai_data import execute_dsl_query
+from osdf.adapters.aai.fetch_aai_data import get_aai_data
 from osdf.logging.osdf_logging import debug_log
 
 
@@ -42,25 +43,38 @@ def process_nxi_termination_opt(request_json, osdf_config):
     }
 
     try:
+        if request_type == "NSSI":
+            templates = query_templates["nssi"]
+            for template in templates:
+                resource_count = get_resource_count(template, inputs, osdf_config)
+                if resource_count == -1:
+                    continue
+                elif resource_count > 1 or (resource_count == 1 and not addtnl_args.get("serviceInstanceId")):
+                    terminate_response = False
+                elif resource_count == 0:
+                    terminate_response = True
+                elif resource_count == 1 and addtnl_args.get("serviceInstanceId"):
+                    new_template = template + "('service-instance-id','{}')".format(addtnl_args["serviceInstanceId"])
+                    terminate_response = get_resource_count(new_template, inputs, osdf_config) == 1
+                return set_response("success", "", request_info, terminate_response)
+
         if request_type == "NSI":
-            query_type = "nsi"
-            if addtnl_args and "serviceProfileId" in addtnl_args:
-                inputs["profile_id"] = addtnl_args["serviceProfileId"]
-                query_type = "nsi_with_profile"
-        else:
-            query_type = "nssi"
-            if addtnl_args and "serviceInstanceId" in addtnl_args:
-                inputs["nsi_id"] = addtnl_args["serviceInstanceId"]
-                query_type = "nssi_with_nsi"
-
-        debug_log.debug("query type: {}".format(query_type))
-
-        resource_count = get_resource_count(query_templates[query_type], inputs, osdf_config)
-        if query_type not in ["nsi", "nssi"]:
-            # if additional args is provided, it must have exactly one resource in its relationships
-            resource_count = resource_count - 1
-
-        return set_response("success", "", request_info, resource_count <= 0)
+            allotted_resources = get_allotted_resources(request_json, osdf_config)
+            resource_count = len(allotted_resources)
+            if resource_count == 1 and addtnl_args.get("serviceInstanceId"):
+                debug_log.debug("resource count {}".format(resource_count))
+                terminate_response = False
+                properties = allotted_resources[0]["relationship-data"]
+                for property in properties:
+                    if property["relationship-key"] == "service-instance.service-instance-id" \
+                            and property["relationship-value"] == addtnl_args.get("serviceInstanceId"):
+                        terminate_response = True
+            elif resource_count > 1 or (resource_count == 1 and not addtnl_args.get("serviceInstanceId")):
+                terminate_response = False
+            elif resource_count == 0:
+                terminate_response = True
+
+        return set_response("success", "", request_info, terminate_response)
     except AAIException as e:
         reason = str(e)
         return set_response("failure", reason, request_info)
@@ -83,4 +97,11 @@ def get_resource_count(query_template, inputs, osdf_config):
     dsl_response = execute_dsl_query(query, "count", osdf_config)
     debug_log.debug("dsl_response {}".format(dsl_response))
     # the dsl query with format "count" includes the original service-instance, hence reducing one from the result
-    return dsl_response["results"][0]["service-instance"] - 1
+    count = dsl_response["results"][0]
+    return count.get("service-instance", 0) - 1
+
+
+def get_allotted_resources(request_json, osdf_config):
+    response = get_aai_data(request_json, osdf_config)
+    rel_list = response["relationship-list"]["relationship"]
+    return [rel for rel in rel_list if rel["related-to"] == "allotted-resource"]
index b9578f2..5307776 100644 (file)
@@ -155,5 +155,11 @@ nxi_termination:
     query_templates:
         nsi: "service-instance*('service-instance-id','{{instance_id}}') > service-instance*('service-role','e2eserviceprofile-service')"
         nsi_with_profile: "service-instance*('service-instance-id','{{instance_id}}') > service-instance*('service-role','e2eserviceprofile-service')('service-instance-id','{{profile_id}}')"
-        nssi: "service-instance*('service-instance-id','{{instance_id}}') > service-instance*('service-role','nsi')"
-        nssi_with_nsi: "service-instance*('service-instance-id','{{instance_id}}') > service-instance*('service-role','nsi')('service-instance-id','{{nsi_id}}')"
\ No newline at end of file
+        nssi:
+            - "service-instance*('service-instance-id','{{instance_id}}')('workload-context', 'CN') > service-instance*('service-role','nsi')"
+            - "service-instance*('service-instance-id','{{instance_id}}')('workload-context', 'CN') > service-instance*('service-role','nsi')"
+            - "service-instance*('service-instance-id','{{instance_id}}')('workload-context', 'TN-BH') > service-instance*('service-role','nsi')"
+            - "service-instance*('service-instance-id','{{instance_id}}')('workload-context', 'AN') > service-instance*('service-role','nsi')"
+            - "service-instance*('service-instance-id','{{instance_id}}')('workload-context', 'AN-NF') > service-instance*('workload-context','AN')"
+            - "service-instance*('service-instance-id','{{instance_id}}')('workload-context', 'TN-MH') > service-instance*('workload-context','AN')"
+            - "service-instance*('service-instance-id','{{instance_id}}')('workload-context', 'AN-NF') > service-instance*('workload-context','AN')"
index 93ea197..f97a743 100755 (executable)
@@ -60,7 +60,7 @@ cpsPassword: ''
 #aai api
 aaiUrl: "http://127.0.0.1:5000"
 aaiGetLinksUrl: "/aai/v16/network/logical-links"
-aaiServiceInstanceUrl : "/aai/v20/nodes/service-instances/service-instance/"
+aaiServiceInstanceUrl : "/simulated/aai/v23/nodes/service-instances/service-instance/"
 aaiGetControllersUrl: /aai/v19/external-system/esr-thirdparty-sdnc-list
 controllerQueryUrl: /aai/v19/query?format=resource
 aaiGetInterDomainLinksUrl: /aai/v19/network/logical-links?link-type=inter-domain&operational-status=up
index da6836e..881d4cd 100644 (file)
@@ -33,7 +33,7 @@ TerminationRequestGeneration
     Set Global Variable       ${nssi_termination_request}
     ${nsi_termination_request_args}=      copy.deepcopy  ${nsi_termination_request}
     ${request_info}=          Set Variable      ${nsi_termination_request_args["requestInfo"]}
-    ${addtnl_args}=           Create Dictionary  serviceProfileId=660ca85c-1a0f-4521-a559-65f23e794699
+    ${addtnl_args}=           Create Dictionary  serviceInstanceId=660ca85c-1a0f-4521-a559-65f23e794699
     Set To Dictionary         ${request_info}      addtnlArgs=${addtnl_args}
     Set To Dictionary         ${nsi_termination_request_args}      requestInfo=${request_info}
     Set Global Variable       ${nsi_termination_request_args}
index fad2512..170d5e5 100644 (file)
@@ -52,7 +52,9 @@ def get_aai_data(request_json, osdf_config):
     aai_req_url = aai_url + config["aaiServiceInstanceUrl"] + nxi_id + "?depth=2"
 
     try:
+        debug_log.debug("aai request: {}".format(aai_req_url))
         response = requests.get(aai_req_url, headers=AAI_HEADERS, auth=AUTH, verify=False)
+        debug_log.debug("aai response: {}".format(response.json()))
     except RequestException as e:
         raise AAIException("Request exception was encountered {}".format(e))
 
@@ -77,6 +79,7 @@ def execute_dsl_query(query, format, osdf_config):
     debug_log.debug("aai dsl request: {}".format(data))
     try:
         response = requests.put(dsl_url, data=data, headers=AAI_HEADERS, auth=AUTH, verify=False)
+        debug_log.debug("aai dsl response: {}".format(response))
     except RequestException as ex:
         raise AAIException("Request exception was encountered {}".format(ex))
 
diff --git a/pom.xml b/pom.xml
index dfbe441..9563886 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -29,7 +29,7 @@ http://maven.apache.org/POM/4.0.0 ">
        <groupId>org.onap.optf.osdf</groupId>
        <artifactId>optf-osdf</artifactId>
        <name>optf-osdf</name>
-       <version>3.0.5-SNAPSHOT</version>
+       <version>3.0.6-SNAPSHOT</version>
        <description>Optimization Service Design Framework</description>
 
        <properties>
index 537f283..392f4db 100644 (file)
@@ -1,27 +1,66 @@
 [
+    {
+        "related-to": "allotted-resource",
+        "relationship-label": "org.onap.relationships.inventory.Uses",
+        "related-link": "/aai/v23/business/customers/customer/5GCustomer/service-subscriptions/service-subscription/5G/service-instances/service-instance/d88b6ce6-19be-439d-8553-4f9d6cce0494/allotted-resources/allotted-resource/07138106-f535-413b-b002-40ba24f95937",
+        "relationship-data": [
             {
-                "related-to": "service-instance",
-                "relationship-label": "org.onap.relationships.inventory.ComposedOf",
-                "related-link": "/aai/v16/business/customers/customer/5GCustomer/service-subscriptions/service-subscription/5G/service-instances/service-instance/4115d3c8-dd59-45d6-b09d-e756dee9b518",
-                "relationship-data": [
-                    {
-                        "relationship-key": "customer.global-customer-id",
-                        "relationship-value": "5GCustomer"
-                    },
-                    {
-                        "relationship-key": "service-subscription.service-type",
-                        "relationship-value": "5G"
-                    },
-                    {
-                        "relationship-key": "service-instance.service-instance-id",
-                        "relationship-value": "4115d3c8-dd59-45d6-b09d-e756dee9b567"
-                    }
-                ],
-                "related-to-property": [
-                    {
-                        "property-key": "service-instance.service-instance-name",
-                        "property-value": "nsi_test_0211"
-                    }
-                ]
+                "relationship-key": "customer.global-customer-id",
+                "relationship-value": "5GCustomer"
+            },
+            {
+                "relationship-key": "service-subscription.service-type",
+                "relationship-value": "5G"
+            },
+            {
+                "relationship-key": "service-instance.service-instance-id",
+                "relationship-value": "07138106-f535-413b-b002-40ba24f95937"
+            },
+            {
+                "relationship-key": "allotted-resource.id",
+                "relationship-value": "07138106-f535-413b-b002-40ba24f95937"
+            }
+        ],
+        "related-to-property": [
+            {
+                "property-key": "allotted-resource.description"
+            },
+            {
+                "property-key": "allotted-resource.allotted-resource-name",
+                "property-value": "Allotted_coe"
+            }
+        ]
+    },
+    {
+        "related-to": "allotted-resource",
+        "relationship-label": "org.onap.relationships.inventory.Uses",
+        "related-link": "/aai/v23/business/customers/customer/5GCustomer/service-subscriptions/service-subscription/5G/service-instances/service-instance/d88b6ce6-19be-439d-8553-4f9d6cce0494/allotted-resources/allotted-resource/07138106-f535-413b-b002-40ba24f95937",
+        "relationship-data": [
+            {
+                "relationship-key": "customer.global-customer-id",
+                "relationship-value": "5GCustomer"
+            },
+            {
+                "relationship-key": "service-subscription.service-type",
+                "relationship-value": "5G"
+            },
+            {
+                "relationship-key": "service-instance.service-instance-id",
+                "relationship-value": "d290f1ee-6c54-4b01-90e6-d701748f0851"
+            },
+            {
+                "relationship-key": "allotted-resource.id",
+                "relationship-value": "d290f1ee-6c54-4b01-90e6-d701748f0851"
+            }
+        ],
+        "related-to-property": [
+            {
+                "property-key": "allotted-resource.description"
+            },
+            {
+                "property-key": "allotted-resource.allotted-resource-name",
+                "property-value": "Allotted_terminate"
             }
-        ]
\ No newline at end of file
+        ]
+    }
+]
\ No newline at end of file
index 793776d..72eafd7 100644 (file)
@@ -6,7 +6,7 @@
     "sourceId": "SO",
     "timeout": 5,
     "addtnlArgs": {
-      "serviceProfileId":"cdad9f49-4201-4e3a-aac1-b0f27902c299"
+      "serviceInstanceId":"cdad9f49-4201-4e3a-aac1-b0f27902c299"
     }
   },
   "type":"NST",
@@ -14,4 +14,4 @@
   "UUID":"d290f1ee-6c54-4b01-90e6-d701748f0851",
   "invariantUUID":"d290f1ee-6c54-4b01-90e6-d701748f0851"
 
-}
\ No newline at end of file
+}
index ac53c4d..1e25f2e 100644 (file)
@@ -6,7 +6,7 @@
     "sourceId": "SO",
     "timeout": 5,
     "addtnlArgs": {
-      "serviceProfileId":"cdad9f49-4201-4e3a-aac1-b0f27902c299"
+      "serviceInstanceId":"cdad9f49-4201-4e3a-aac1-b0f27902c299"
     }
   },
   "type":"NSI",
@@ -14,4 +14,4 @@
   "UUID":"d290f1ee-6c54-4b01-90e6-d701748f0851",
   "invariantUUID":"d290f1ee-6c54-4b01-90e6-d701748f0851"
 
-}
\ No newline at end of file
+}
index 4f2a8bb..608418d 100644 (file)
@@ -1,27 +1,34 @@
 [
+    {
+        "related-to": "allotted-resource",
+        "relationship-label": "org.onap.relationships.inventory.Uses",
+        "related-link": "/aai/v23/business/customers/customer/5GCustomer/service-subscriptions/service-subscription/5G/service-instances/service-instance/d88b6ce6-19be-439d-8553-4f9d6cce0494/allotted-resources/allotted-resource/07138106-f535-413b-b002-40ba24f95937",
+        "relationship-data": [
             {
-                "related-to": "service-instance",
-                "relationship-label": "org.onap.relationships.inventory.ComposedOf",
-                "related-link": "/aai/v16/business/customers/customer/5GCustomer/service-subscriptions/service-subscription/5G/service-instances/service-instance/4115d3c8-dd59-45d6-b09d-e756dee9b518",
-                "relationship-data": [
-                    {
-                        "relationship-key": "customer.global-customer-id",
-                        "relationship-value": "5GCustomer"
-                    },
-                    {
-                        "relationship-key": "service-subscription.service-type",
-                        "relationship-value": "5G"
-                    },
-                    {
-                        "relationship-key": "service-instance.service-instance-id",
-                        "relationship-value": "4115d3c8-dd59-45d6-b09d-e756dee9b518"
-                    }
-                ],
-                "related-to-property": [
-                    {
-                        "property-key": "service-instance.service-instance-name",
-                        "property-value": "nsi_test_0211"
-                    }
-                ]
+                "relationship-key": "customer.global-customer-id",
+                "relationship-value": "5GCustomer"
+            },
+            {
+                "relationship-key": "service-subscription.service-type",
+                "relationship-value": "5G"
+            },
+            {
+                "relationship-key": "service-instance.service-instance-id",
+                "relationship-value": "cdad9f49-4201-4e3a-aac1-b0f27902c299"
+            },
+            {
+                "relationship-key": "allotted-resource.id",
+                "relationship-value": "07138106-f535-413b-b002-40ba24f95937"
+            }
+        ],
+        "related-to-property": [
+            {
+                "property-key": "allotted-resource.description"
+            },
+            {
+                "property-key": "allotted-resource.allotted-resource-name",
+                "property-value": "Allotted_coe"
             }
-        ]
\ No newline at end of file
+        ]
+    }
+]
\ No newline at end of file
index 9fbc27b..555f2e8 100644 (file)
@@ -69,13 +69,13 @@ class TestRemoteOptProcessor(unittest.TestCase):
         exception_response_json1 = json_from_file(exception_response_file1)
 
         #nsi success scenario
-        self.patcher_req = patch('apps.nxi_termination.optimizers.remote_opt_processor.get_resource_count', return_value=1)
+        self.patcher_req = patch('apps.nxi_termination.optimizers.remote_opt_processor.get_allotted_resources', return_value=success_rel_json)
         self.Mock_req = self.patcher_req.start()
         self.assertEquals(success_output_json, process_nxi_termination_opt(request_json, osdf_config))
         self.patcher_req.stop()
 
         #nsi failure scenario
-        self.patcher_req = patch('apps.nxi_termination.optimizers.remote_opt_processor.get_resource_count', return_value=3)
+        self.patcher_req = patch('apps.nxi_termination.optimizers.remote_opt_processor.get_allotted_resources', return_value=failure_rel_json)
         self.Mock_req = self.patcher_req.start()
         self.assertEquals(nxi_failure_output_json1, process_nxi_termination_opt(request_json, osdf_config))
         self.patcher_req.stop()
@@ -83,18 +83,12 @@ class TestRemoteOptProcessor(unittest.TestCase):
         request_json["requestInfo"]["addtnlArgs"] = {}
 
         #nsi success scenario
-        self.patcher_req = patch('apps.nxi_termination.optimizers.remote_opt_processor.get_resource_count',
-                                 return_value=0)
+        self.patcher_req = patch('apps.nxi_termination.optimizers.remote_opt_processor.get_allotted_resources',
+                                 return_value=[])
         self.Mock_req = self.patcher_req.start()
         self.assertEquals(success_output_json, process_nxi_termination_opt(request_json, osdf_config))
         self.patcher_req.stop()
 
-        # nsi failure scenario
-        self.patcher_req = patch('apps.nxi_termination.optimizers.remote_opt_processor.get_resource_count',
-                                 return_value=1)
-        self.Mock_req = self.patcher_req.start()
-        self.assertEquals(nxi_failure_output_json2, process_nxi_termination_opt(request_json, osdf_config))
-        self.patcher_req.stop()
         # #
         # nssi success scenario
         self.patcher_req = patch('apps.nxi_termination.optimizers.remote_opt_processor.get_resource_count', return_value=1)
diff --git a/test/functest/simulators/aai/response-payloads/nsi_instance.json b/test/functest/simulators/aai/response-payloads/nsi_instance.json
new file mode 100644 (file)
index 0000000..b09d2e4
--- /dev/null
@@ -0,0 +1,13 @@
+{
+    "service-instance-id": "9629e36c-a3d9-4aed-8368-f72b8be1cd34",
+    "service-instance-name": "nsi_test_0211",
+    "service-type": "embb",
+    "service-role": "nsi",
+    "environment-context": "cn",
+    "model-invariant-id": "21d57d4b-52ad-4d3c-a798-248b5bb9124a",
+    "model-version-id": "bfba363e-e39c-4bd9-a9d5-1371c28f4d22",
+    "resource-version": "1581418601616",
+    "orchestration-status": "active",
+    "relationship-list": {
+        "relationship": [
+]}}
diff --git a/test/functest/simulators/aai/response-payloads/nsi_instance_with_args.json b/test/functest/simulators/aai/response-payloads/nsi_instance_with_args.json
new file mode 100644 (file)
index 0000000..19e5ac1
--- /dev/null
@@ -0,0 +1,45 @@
+{
+    "service-instance-id": "9629e36c-a3d9-4aed-8368-f72b8be1cd34",
+    "service-instance-name": "nsi_test_0211",
+    "service-type": "embb",
+    "service-role": "nsi",
+    "environment-context": "cn",
+    "model-invariant-id": "21d57d4b-52ad-4d3c-a798-248b5bb9124a",
+    "model-version-id": "bfba363e-e39c-4bd9-a9d5-1371c28f4d22",
+    "resource-version": "1581418601616",
+    "orchestration-status": "active",
+    "relationship-list": {
+        "relationship": [
+    {
+        "related-to": "allotted-resource",
+        "relationship-label": "org.onap.relationships.inventory.Uses",
+        "related-link": "/aai/v23/business/customers/customer/5GCustomer/service-subscriptions/service-subscription/5G/service-instances/service-instance/d88b6ce6-19be-439d-8553-4f9d6cce0494/allotted-resources/allotted-resource/07138106-f535-413b-b002-40ba24f95937",
+        "relationship-data": [
+            {
+                "relationship-key": "customer.global-customer-id",
+                "relationship-value": "5GCustomer"
+            },
+            {
+                "relationship-key": "service-subscription.service-type",
+                "relationship-value": "5G"
+            },
+            {
+                "relationship-key": "service-instance.service-instance-id",
+                "relationship-value": "cdad9f49-4201-4e3a-aac1-b0f27902c299"
+            },
+            {
+                "relationship-key": "allotted-resource.id",
+                "relationship-value": "07138106-f535-413b-b002-40ba24f95937"
+            }
+        ],
+        "related-to-property": [
+            {
+                "property-key": "allotted-resource.description"
+            },
+            {
+                "property-key": "allotted-resource.allotted-resource-name",
+                "property-value": "Allotted_coe"
+            }
+        ]
+    }
+]}}
index 5d46ecb..6a71d3c 100755 (executable)
@@ -43,6 +43,7 @@ cp $SIMULATORS_DIR/simulated-config/*.config $DOCKER_DIR/sim/config/
 cp -r $SIMULATORS_DIR/configdb $DOCKER_DIR/sim
 cp -r $SIMULATORS_DIR/has-api $DOCKER_DIR/sim
 cp -r $SIMULATORS_DIR/policy $DOCKER_DIR/sim
+cp -r $SIMULATORS_DIR/aai $DOCKER_DIR/sim
 cp $TEST_DIR/policy-local-files/*.json $DOCKER_DIR/sim/policy/response-payloads/pdp-has-vcpe-good
 cp $TEST_DIR/placement-tests/policy_response.json $DOCKER_DIR/sim/policy/response-payloads/
 cp $SIMULATORS_DIR/oof_dependencies_simulators.py $DOCKER_DIR/sim/oof_dependencies_simulators.py
index 53cc74e..d7b1f04 100644 (file)
@@ -118,36 +118,30 @@ def get_nbr_list(cell_id, ts):
         return jsonify(data)
     return jsonify(data), 503
 
+@app.route("/simulated/aai/v23/nodes/service-instances/service-instance/<service_id>", methods=["GET"])
+def get_aai_instances(service_id):
+    data, status = get_payload_for_simulated_component('aai', 'nsi_instance.json')
+    if not status:
+        return jsonify(data)
+    return jsonify(data), 503
 
 @app.route("/simulated/aai/v23/dsl", methods=["PUT"])
 def dsl_query():
 
-    nsi_query = {"dsl": "service-instance*('service-instance-id','9629e36c-a3d9-4aed-8368-f72b8be1cd34') > "
-                        "service-instance*('service-role','e2eserviceprofile-service')"}
-
-    nssi_query = {"dsl": "service-instance*('service-instance-id','9629e36c-a3d9-4aed-8368-f72b8be1cd34') > "
+    nssi_query = {"dsl": "service-instance*('service-instance-id','9629e36c-a3d9-4aed-8368-f72b8be1cd34')('workload-context', 'CN') > "
                          "service-instance*('service-role','nsi')"}
 
-    nsi_with_sp_query = {"dsl": "service-instance*('service-instance-id','9629e36c-a3d9-4aed-8368-f72b8be1cd34') > "
-                                "service-instance*('service-role','e2eserviceprofile-service')("
-                                "'service-instance-id',"
-                                "'660ca85c-1a0f-4521-a559-65f23e794699660ca85c-1a0f-4521-a559-65f23e794699')"}
-
-    nssi_with_nsi_query = {"dsl": "service-instance*('service-instance-id','9629e36c-a3d9-4aed-8368-f72b8be1cd34') > "
+    nssi_with_nsi_query = {"dsl": "service-instance*('service-instance-id','9629e36c-a3d9-4aed-8368-f72b8be1cd34')('workload-context', 'CN') > "
                                   "service-instance*('service-role','nsi')('service-instance-id',"
                                   "'660ca85c-1a0f-4521-a559-65f23e794699')"}
 
     queries = {
-        "nsi": nsi_query,
         "nssi_query": nssi_query,
-        "nsi_with_sp": nsi_with_sp_query,
         "nssi_with_nsi": nssi_with_nsi_query
     }
 
     count = {
-        "nsi": 1,
         "nssi_query": 1,
-        "nsi_with_sp": 2,
         "nssi_with_nsi": 2
     }