Fix for aai in vcpe 65/88765/1
authorPatrick Brady <patrick.brady@att.com>
Wed, 29 May 2019 07:46:03 +0000 (00:46 -0700)
committerTakamune Cho <takamune.cho@att.com>
Wed, 29 May 2019 12:57:52 +0000 (12:57 +0000)
Adding the template file and replaced the generic
restart DG to enable the workaround that was used
in casablanca. DG is modified to lookup aai
information from property files so that no values
need to be hardcoded.

Change-Id: I48569f133b301509204a879af133386e741dc142
Signed-off-by: Patrick Brady <patrick.brady@att.com>
Issue-ID: APPC-1614
(cherry picked from commit 4dce366b94f679ac0870230aa8eb32ae248c609f)

installation/appc/pom.xml
installation/appc/src/main/resources/aai-named-query.json [new file with mode: 0755]
installation/appc/src/main/scripts/installFeatures.sh
platform-logic/appc/src/main/xml/APPC_method_Generic_Restart_3.0.0.xml [deleted file]
platform-logic/appc/src/main/xml/vcpe-workaround-with-properties_APPC_method_Generic_Restart_3.0.0.xml [new file with mode: 0755]

index 8b8dd9f..82c3d14 100644 (file)
@@ -3,7 +3,7 @@
 ============LICENSE_START==========================================
 ONAP : APPC
 ===================================================================
-Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
+Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
 ===================================================================
 
 Unless otherwise specified, all software contained herein is licensed
@@ -116,6 +116,7 @@ limitations under the License.
                                                                                <include>*.sh</include>
                                                                                <include>*.cfg</include>
                                                                                <include>*.xml</include>
+                                                                               <include>*.json</include>
                                                                        </includes>
                                                                        <filtering>false</filtering>
                                                                </resource>
@@ -362,6 +363,7 @@ limitations under the License.
                                                                                                <include>*.sh</include>
                                                                                                <include>*.cfg</include>
                                                                                                <include>*.xml</include>
+                                                                                               <include>*.json</include>
                                                                                        </includes>
                                                                                        <filtering>false</filtering>
                                                                                </resource>
diff --git a/installation/appc/src/main/resources/aai-named-query.json b/installation/appc/src/main/resources/aai-named-query.json
new file mode 100755 (executable)
index 0000000..6ccb5de
--- /dev/null
@@ -0,0 +1,14 @@
+{ 
+    "query-parameters": { 
+            "named-query": { 
+            "named-query-uuid": ${tmp.named-query-uuid}
+        } 
+    }, 
+    "instance-filters":{ 
+            "instance-filter":[ { 
+            "generic-vnf": { 
+                "vnf-id": ${tmp.named-query-vnf-id} 
+            } 
+        } ] 
+    }
+}
index 9ad6898..4138fdc 100644 (file)
@@ -175,3 +175,8 @@ do
   sleep 7s
   echo "Sleep Finished"
 done
+
+#Copy json template file for use by the generic restart DG aai fix
+mkdir -p /opt/onap/appc/restapi/templates
+cp /opt/onap/appc/data/aai-named-query.json /opt/onap/appc/restapi/templates/aai-named-query.json
+
diff --git a/platform-logic/appc/src/main/xml/APPC_method_Generic_Restart_3.0.0.xml b/platform-logic/appc/src/main/xml/APPC_method_Generic_Restart_3.0.0.xml
deleted file mode 100644 (file)
index 20df079..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-<!--
-  ============LICENSE_START=======================================================
-  APPC
-  ================================================================================
-  Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
-  ================================================================================
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-  
-       http://www.apache.org/licenses/LICENSE-2.0
-  
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  ============LICENSE_END=========================================================
-  ECOMP is a trademark and service mark of AT&T Intellectual Property.
--->
-<service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='APPC' version='3.0.0'><method rpc='Generic_Restart' mode='sync'>
-<execute plugin='org.onap.appc.dg.common.JsonDgUtil' method='flatAndAddToContext' >
-<parameter name="payload" value="`$input.payload`" /><outcome value='failure'>
-<block atomic='true'><execute plugin='org.onap.appc.dg.common.DCAEReporterPlugin' method='report' >
-<parameter name="apiVer" value="1.01"/>
-<parameter name="eventId" value="`$input.action-identifiers.vnf-id`" />
-<parameter name="output.status.message" value="Failure in flattening payload Json" /><outcome value='success'>
-</outcome></execute><return status='failure'>
-<parameter name="output.status.message" value="Failure in flattening payload Json" /></return></block></outcome><outcome value='not-found'>
-<block atomic='true'><execute plugin='org.onap.appc.dg.common.DCAEReporterPlugin' method='report' >
-<parameter name="apiVer" value="1.01"/>
-<parameter name="eventId" value="`$input.action-identifiers.vnf-id`" />
-<parameter name="output.status.message" value="Failure in loading Json flattening plugin" /><outcome value='success'>
-</outcome></execute><return status='failure'>
-<parameter name="output.status.message" value="Failure in loading Json flattening plugin" /></return></block></outcome><outcome value='success'>
-<switch test='$input.action-identifiers.vnf-id'>
-<outcome value=''><return status="failure">
-    <parameter name="error-message" value="input.action-identifiers.vnf-id is null" />
-</return></outcome><outcome value='Other'>
-<block atomic='true'>
-<set>
-<parameter name='namedQueryData.instance-filters.instance-filter[0].generic-vnf.vnf-id' value='`$input.action-identifiers.vnf-id`' />
-<parameter name='namedQueryData.instance-filters.instance-filter_length' value='`1`' /></set><get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="named-query" key="named-query-uuid = '037eb932-edac-48f5-9782-c19c0aa5a031' AND prefix = 'namedQueryData' " local-only="false" pfx="vnfInfo" >
-<outcome value='failure'>
-<block atomic='true'><execute plugin='org.onap.appc.dg.common.DCAEReporterPlugin' method='report' >
-<parameter name="apiVer" value="1.01"/>
-<parameter name="eventId" value="`$input.action-identifiers.vnf-id`" />
-<parameter name="output.status.message" value="Exception in running AAI Named Query" />
-
-<outcome value='success'>
-</outcome></execute><return status='failure'>
-</return></block></outcome></get-resource><switch test='`$vnfInfo.inventory-response-item[0].generic-vnf.vnf-id`'>
-<outcome value=''><block atomic='true'><execute plugin='org.onap.appc.dg.common.DCAEReporterPlugin' method='report' >
-<parameter name="eventId" value="`$input.action-identifiers.vnf-id`" />
-<parameter name="output.status.message" value="Failure in retrieving VNF Hierachy" /><outcome value='success'>
-</outcome></execute><return status='failure'>
-<parameter name="output.status.message" value="Failure in retrieving VNF Hierachy" /></return></block></outcome></switch><switch test='`$vnfInfo.inventory-response-item[0].generic-vnf.vnf-id == $input.action-identifiers.vnf-id`'>
-<outcome value='false'>
-<block atomic='true'><execute plugin='org.onap.appc.dg.common.DCAEReporterPlugin' method='report' >
-<parameter name="apiVer" value="1.01"/>
-<parameter name="eventId" value="`$input.action-identifiers.vnf-id`" />
-<parameter name="output.status.message" value="Failure matching vnf-id to VNF Hierachy" /><outcome value='success'>
-</outcome></execute><return status='failure'>
-<parameter name="output.status.message" value="Failure in loading Json flattening plugin" /></return></block></outcome><outcome value='true'>
-<block atomic='true'><for index='vserverIndex' start='0' end='`$vnfInfo.inventory-response-item[0].inventory-response-items.inventory-response-item_length`' >
-<switch test='vnfInfo.inventory-response-item[0].inventory-response-items.inventory-response-item[$vserverIndex].vserver.vserver-selflink'>
-<outcome value=''><block atomic='true'><execute plugin='org.onap.appc.dg.common.DCAEReporterPlugin' method='report' >
-<parameter name="eventId" value="`$input.action-identifiers.vnf-id`" />
-<parameter name="output.status.message" value="Failure in retrieving vserver-selflink from VNF Hierachy" /><outcome value='success'>
-</outcome></execute><return status='failure'>
-<parameter name="output.status.message" value="Failure in retrieving vserver-selflink from VNF Hierachy" /></return></block></outcome><outcome value='Other'>
-<switch test='vnfInfo.inventory-response-item[0].inventory-response-items.inventory-response-item[$vserverIndex].inventory-response-items.inventory-response-item[0].inventory-response-items.inventory-response-item[0].cloud-region.identity-url'>
-<outcome value=''><block atomic='true'><execute plugin='org.onap.appc.dg.common.DCAEReporterPlugin' method='report' >
-<parameter name="eventId" value="`$input.action-identifiers.vnf-id`" />
-<parameter name="output.status.message" value="Failure in retrieving identity-url from VNF Hierachy" /><outcome value='success'>
-</outcome></execute><return status='failure'>
-<parameter name="output.status.message" value="Failure in retrieving identity-url from VNF Hierachy" /></return></block></outcome><outcome value='Other'>
-<switch test='`$vm-id`'>
-<outcome value='Other'>
-<switch test='`$vnfInfo.inventory-response-item[0].inventory-response-items.inventory-response-item[$vserverIndex].vserver.vserver-selflink == $vm-id`'>
-<outcome value='true'>
-<execute plugin='org.onap.appc.adapter.iaas.ProviderAdapter' method='restartServer'>
-<parameter name="org.onap.appc.provider.name" value="OpenStack"/>
-<parameter name="org.onap.appc.instance.url" value="`$vnfInfo.inventory-response-item[0].inventory-response-items.inventory-response-item[$vserverIndex].vserver.vserver-selflink`" />
-<parameter name="org.onap.appc.identity.url" value="`$vnfInfo.inventory-response-item[0].inventory-response-items.inventory-response-item[$vserverIndex].inventory-response-items.inventory-response-item[0].inventory-response-items.inventory-response-item[0].cloud-region.identity-url`" />
-
-<outcome value='failure'>
-<block atomic='true'><execute plugin='org.onap.appc.dg.common.DCAEReporterPlugin' method='report' >
-<parameter name="apiVer" value="1.01"/>
-<parameter name="eventId" value="`$input.action-identifiers.vnf-id`" />
-<parameter name="output.status.message" value="`'Failure in restart for:' + $VNF.VM[$i].URL`" /><outcome value='success'>
-</outcome></execute><return status='failure'>
-</return></block></outcome><outcome value='success'>
-<switch test='`$RESTART_STATUS`'>
-<outcome value='ERROR'>
-<block atomic='true'><execute plugin='org.onap.appc.dg.common.DCAEReporterPlugin' method='report' >
-<parameter name="apiVer" value="1.01"/>
-<parameter name="eventId" value="`$input.action-identifiers.vnf-id`" />
-<parameter name="output.status.message" value="`'Stop : Error occoured while restarting the server:' + $VNF.VM[$i].URL`" /><outcome value='success'>
-</outcome></execute><return status='failure'>
-</return></block></outcome><outcome value='CONTEXT_NOT_FOUND'>
-<block atomic='true'><return status='failure'>
-</return><execute plugin='org.onap.appc.dg.common.DCAEReporterPlugin' method='report' >
-<parameter name="apiVer" value="1.01"/>
-<parameter name="eventId" value="`$input.action-identifiers.vnf-id`" />
-<parameter name="output.status.message" value="`'Stop : Context not found:' + $VNF.VM[$i].URL`" /><outcome value='success'>
-</outcome></execute></block></outcome><outcome value='SUCCESS'>
-<execute plugin='org.onap.appc.dg.common.DCAEReporterPlugin' method='reportSuccess' >
-<parameter name="eventId" value="`$input.action-identifiers.vnf-id`" />
-<parameter name="output.status.message" value="`'Restart event executed successfully for ' + $VNF.VM[$i].URL`" />
-<outcome value='failure'>
-</outcome><outcome value='success'>
-</outcome></execute></outcome></switch></outcome></execute></outcome></switch></outcome><outcome value=''><execute plugin='org.onap.appc.adapter.iaas.ProviderAdapter' method='restartServer'>
-<parameter name="org.onap.appc.provider.name" value="OpenStack"/>
-<parameter name="org.onap.appc.instance.url" value="`$vnfInfo.inventory-response-item[0].inventory-response-items.inventory-response-item[$vserverIndex].vserver.vserver-selflink`" />
-<parameter name="org.onap.appc.identity.url" value="`$vnfInfo.inventory-response-item[0].inventory-response-items.inventory-response-item[$vserverIndex].inventory-response-items.inventory-response-item[0].inventory-response-items.inventory-response-item[0].cloud-region.identity-url`" />
-
-<outcome value='failure'>
-<block atomic='true'><execute plugin='org.onap.appc.dg.common.DCAEReporterPlugin' method='report' >
-<parameter name="apiVer" value="1.01"/>
-<parameter name="eventId" value="`$input.action-identifiers.vnf-id`" />
-<parameter name="output.status.message" value="`'Failure in restart for:' + $VNF.VM[$i].URL`" /><outcome value='success'>
-</outcome></execute><return status='failure'>
-</return></block></outcome><outcome value='success'>
-<switch test='`$RESTART_STATUS`'>
-<outcome value='ERROR'>
-<block atomic='true'><execute plugin='org.onap.appc.dg.common.DCAEReporterPlugin' method='report' >
-<parameter name="apiVer" value="1.01"/>
-<parameter name="eventId" value="`$input.action-identifiers.vnf-id`" />
-<parameter name="output.status.message" value="`'Stop : Error occoured while restarting the server:' + $VNF.VM[$i].URL`" /><outcome value='success'>
-</outcome></execute><return status='failure'>
-</return></block></outcome><outcome value='CONTEXT_NOT_FOUND'>
-<block atomic='true'><return status='failure'>
-</return><execute plugin='org.onap.appc.dg.common.DCAEReporterPlugin' method='report' >
-<parameter name="apiVer" value="1.01"/>
-<parameter name="eventId" value="`$input.action-identifiers.vnf-id`" />
-<parameter name="output.status.message" value="`'Stop : Context not found:' + $VNF.VM[$i].URL`" /><outcome value='success'>
-</outcome></execute></block></outcome><outcome value='SUCCESS'>
-<execute plugin='org.onap.appc.dg.common.DCAEReporterPlugin' method='reportSuccess' >
-<parameter name="eventId" value="`$input.action-identifiers.vnf-id`" />
-<parameter name="output.status.message" value="`'Restart event executed successfully for ' + $VNF.VM[$i].URL`" />
-<outcome value='failure'>
-</outcome><outcome value='success'>
-</outcome></execute></outcome></switch></outcome></execute></outcome></switch></outcome></switch></outcome></switch></for><return status='success'>
-</return></block></outcome></switch></block></outcome></switch></outcome></execute></method></service-logic>
diff --git a/platform-logic/appc/src/main/xml/vcpe-workaround-with-properties_APPC_method_Generic_Restart_3.0.0.xml b/platform-logic/appc/src/main/xml/vcpe-workaround-with-properties_APPC_method_Generic_Restart_3.0.0.xml
new file mode 100755 (executable)
index 0000000..46a0011
--- /dev/null
@@ -0,0 +1,289 @@
+<!--\r
+  ============LICENSE_START=======================================================\r
+  APPC\r
+  ================================================================================\r
+  Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.\r
+  ================================================================================\r
+  Licensed under the Apache License, Version 2.0 (the "License");\r
+  you may not use this file except in compliance with the License.\r
+  You may obtain a copy of the License at\r
+  \r
+       http://www.apache.org/licenses/LICENSE-2.0\r
+  \r
+  Unless required by applicable law or agreed to in writing, software\r
+  distributed under the License is distributed on an "AS IS" BASIS,\r
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+  See the License for the specific language governing permissions and\r
+  limitations under the License.\r
+  ============LICENSE_END=========================================================\r
+-->\r
+<service-logic\r
+    xmlns='http://www.onap.org/sdnc/svclogic'\r
+    xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='APPC' version='3.0.0'>\r
+    <method rpc='Generic_Restart' mode='sync'>\r
+    \r
+    <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
+                    <parameter name='fileName' value='%APPC_CONFIG_DIR%/aaiclient.properties' />\r
+                    <parameter name='contextPrefix' value='prop' />\r
+                    <outcome value='Other'>\r
+                        <return status='failure'>\r
+                        </return>\r
+                    </outcome>\r
+                    <outcome value='success'>\r
+        <execute plugin='org.onap.appc.dg.common.JsonDgUtil' method='flatAndAddToContext' >\r
+            <parameter name="payload" value="`$input.payload`" />\r
+            <outcome value='failure'>\r
+                <block atomic='true'>\r
+                    <execute plugin='org.onap.appc.dg.common.DCAEReporterPlugin' method='report' >\r
+                        <parameter name="apiVer" value="1.01"/>\r
+                        <parameter name="eventId" value="`$input.action-identifiers.vnf-id`" />\r
+                        <parameter name="output.status.message" value="Failure in flattening payload Json" />\r
+                        <outcome value='success'></outcome>\r
+                    </execute>\r
+                    <return status='failure'>\r
+                        <parameter name="output.status.message" value="Failure in flattening payload Json" />\r
+                    </return>\r
+                </block>\r
+            </outcome>\r
+            <outcome value='not-found'>\r
+                <block atomic='true'>\r
+                    <execute plugin='org.onap.appc.dg.common.DCAEReporterPlugin' method='report' >\r
+                        <parameter name="apiVer" value="1.01"/>\r
+                        <parameter name="eventId" value="`$input.action-identifiers.vnf-id`" />\r
+                        <parameter name="output.status.message" value="Failure in loading Json flattening plugin" />\r
+                        <outcome value='success'></outcome>\r
+                    </execute>\r
+                    <return status='failure'>\r
+                        <parameter name="output.status.message" value="Failure in loading Json flattening plugin" />\r
+                    </return>\r
+                </block>\r
+            </outcome>\r
+            <outcome value='success'>\r
+                <switch test='$input.action-identifiers.vnf-id'>\r
+                    <outcome value=''>\r
+                        <return status="failure">\r
+                            <parameter name="error-message" value="input.action-identifiers.vnf-id is null" />\r
+                        </return>\r
+                    </outcome>\r
+                    <outcome value='Other'>\r
+                        <block atomic='true'>\r
+                            <set>\r
+                                <parameter name='namedQueryData.instance-filters.instance-filter[0].generic-vnf.vnf-id' value='`$input.action-identifiers.vnf-id`' />\r
+                                <parameter name='namedQueryData.instance-filters.instance-filter_length' value='`1`' />\r
+                            </set>\r
+                            <set>\r
+                                <parameter name='tmp.named-query-uuid' value='037eb932-edac-48f5-9782-c19c0aa5a031' />\r
+                                <parameter name='tmp.named-query-vnf-id' value='`$input.action-identifiers.vnf-id`' />\r
+                            </set>\r
+                            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+                                <parameter name='templateFileName' value='/opt/onap/appc/restapi/templates/aai-named-query.json' />\r
+                                <parameter name='restapiUrl' value='https://aai.onap:8443/aai/search/named-query' />\r
+                                <parameter name='restapiUser' value='AAI' />\r
+                                <parameter name='restapiPassword' value='AAI' />\r
+                                <parameter name='contentType' value='application/json' />\r
+                                <parameter name='format' value='json' />\r
+                                <parameter name='httpMethod' value='POST' />\r
+                                <parameter name='responsePrefix' value='vnfInfo' />\r
+                                <parameter name='dumpHeaders' value='true' />\r
+                                <parameter name='customHttpHeaders' value='X-FromAppId=AAI-Temp-Tool,X-TransactionId=AAI-Temp-Tool' />\r
+                                <!--  <parameter name='restapiUrl' value="`$prop.controller.url + $prop.restapi.preloadinformation + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name + '/vf-module'`" /><parameter name='restapiUser' value='`$prop.controller.user`' /><parameter name='restapiPassword' value='`$prop.controller.pwd`' /><parameter name='customHttpHeaders' value='X-FromAppId=AAI-Temp-Tool,X-TransactionId=AAI-Temp-Tool' />\r
+    -->\r
+                                <outcome value='failure'>\r
+                                    <block atomic='true'>\r
+                                        <execute plugin='org.onap.appc.dg.common.DCAEReporterPlugin' method='report' >\r
+                                            <parameter name="apiVer" value="1.01"/>\r
+                                            <parameter name="eventId" value="`$input.action-identifiers.vnf-id`" />\r
+                                            <parameter name="output.status.message" value="Exception in running AAI Named Query" />\r
+                                            <outcome value='success'></outcome>\r
+                                        </execute>\r
+                                        <return status='failure'></return>\r
+                                    </block>\r
+                                </outcome>\r
+                            </execute>\r
+                            <switch test='`$vnfInfo.inventory-response-item[0].generic-vnf.vnf-id`'>\r
+                                <outcome value=''>\r
+                                    <block atomic='true'>\r
+                                        <execute plugin='org.onap.appc.dg.common.DCAEReporterPlugin' method='report' >\r
+                                            <parameter name="eventId" value="`$input.action-identifiers.vnf-id`" />\r
+                                            <parameter name="output.status.message" value="Failure in retrieving VNF Hierachy" />\r
+                                            <outcome value='success'></outcome>\r
+                                        </execute>\r
+                                        <return status='failure'>\r
+                                            <parameter name="output.status.message" value="Failure in retrieving VNF Hierachy" />\r
+                                        </return>\r
+                                    </block>\r
+                                </outcome>\r
+                            </switch>\r
+                            <switch test='`$vnfInfo.inventory-response-item[0].generic-vnf.vnf-id == $input.action-identifiers.vnf-id`'>\r
+                                <outcome value='false'>\r
+                                    <block atomic='true'>\r
+                                        <execute plugin='org.onap.appc.dg.common.DCAEReporterPlugin' method='report' >\r
+                                            <parameter name="apiVer" value="1.01"/>\r
+                                            <parameter name="eventId" value="`$input.action-identifiers.vnf-id`" />\r
+                                            <parameter name="output.status.message" value="Failure matching vnf-id to VNF Hierachy" />\r
+                                            <outcome value='success'></outcome>\r
+                                        </execute>\r
+                                        <return status='failure'>\r
+                                            <parameter name="output.status.message" value="Failure in loading Json flattening plugin" />\r
+                                        </return>\r
+                                    </block>\r
+                                </outcome>\r
+                                <outcome value='true'>\r
+                                    <block atomic='true'>\r
+                                        <for index='vserverIndex' start='0' end='`$vnfInfo.inventory-response-item[0].inventory-response-items.inventory-response-item_length`' >\r
+                                            <switch test='vnfInfo.inventory-response-item[0].inventory-response-items.inventory-response-item[$vserverIndex].vserver.vserver-selflink'>\r
+                                                <outcome value=''>\r
+                                                    <block atomic='true'>\r
+                                                        <execute plugin='org.onap.appc.dg.common.DCAEReporterPlugin' method='report' >\r
+                                                            <parameter name="eventId" value="`$input.action-identifiers.vnf-id`" />\r
+                                                            <parameter name="output.status.message" value="Failure in retrieving vserver-selflink from VNF Hierachy" />\r
+                                                            <outcome value='success'></outcome>\r
+                                                        </execute>\r
+                                                        <return status='failure'>\r
+                                                            <parameter name="output.status.message" value="Failure in retrieving vserver-selflink from VNF Hierachy" />\r
+                                                        </return>\r
+                                                    </block>\r
+                                                </outcome>\r
+                                                <outcome value='Other'>\r
+                                                    <switch test='vnfInfo.inventory-response-item[0].inventory-response-items.inventory-response-item[$vserverIndex].inventory-response-items.inventory-response-item[0].inventory-response-items.inventory-response-item[0].cloud-region.identity-url'>\r
+                                                        <outcome value=''>\r
+                                                            <block atomic='true'>\r
+                                                                <execute plugin='org.onap.appc.dg.common.DCAEReporterPlugin' method='report' >\r
+                                                                    <parameter name="eventId" value="`$input.action-identifiers.vnf-id`" />\r
+                                                                    <parameter name="output.status.message" value="Failure in retrieving identity-url from VNF Hierachy" />\r
+                                                                    <outcome value='success'></outcome>\r
+                                                                </execute>\r
+                                                                <return status='failure'>\r
+                                                                    <parameter name="output.status.message" value="Failure in retrieving identity-url from VNF Hierachy" />\r
+                                                                </return>\r
+                                                            </block>\r
+                                                        </outcome>\r
+                                                        <outcome value='Other'>\r
+                                                            <switch test='`$vm-id`'>\r
+                                                                <outcome value='Other'>\r
+                                                                    <switch test='`$vnfInfo.inventory-response-item[0].inventory-response-items.inventory-response-item[$vserverIndex].vserver.vserver-selflink == $vm-id`'>\r
+                                                                        <outcome value='true'>\r
+                                                                            <execute plugin='org.onap.appc.adapter.iaas.ProviderAdapter' method='restartServer'>\r
+                                                                                <parameter name="org.onap.appc.provider.name" value="OpenStack"/>\r
+                                                                                <parameter name="org.onap.appc.instance.url" value="`$vnfInfo.inventory-response-item[0].inventory-response-items.inventory-response-item[$vserverIndex].vserver.vserver-selflink`" />\r
+                                                                                <parameter name="org.onap.appc.identity.url" value="`$vnfInfo.inventory-response-item[0].inventory-response-items.inventory-response-item[$vserverIndex].inventory-response-items.inventory-response-item[0].inventory-response-items.inventory-response-item[0].cloud-region.identity-url`" />\r
+                                                                                <outcome value='failure'>\r
+                                                                                    <block atomic='true'>\r
+                                                                                        <execute plugin='org.onap.appc.dg.common.DCAEReporterPlugin' method='report' >\r
+                                                                                            <parameter name="apiVer" value="1.01"/>\r
+                                                                                            <parameter name="eventId" value="`$input.action-identifiers.vnf-id`" />\r
+                                                                                            <parameter name="output.status.message" value="`'Failure in restart for:' + $VNF.VM[$i].URL`" />\r
+                                                                                            <outcome value='success'></outcome>\r
+                                                                                        </execute>\r
+                                                                                        <return status='failure'></return>\r
+                                                                                    </block>\r
+                                                                                </outcome>\r
+                                                                                <outcome value='success'>\r
+                                                                                    <switch test='`$RESTART_STATUS`'>\r
+                                                                                        <outcome value='ERROR'>\r
+                                                                                            <block atomic='true'>\r
+                                                                                                <execute plugin='org.onap.appc.dg.common.DCAEReporterPlugin' method='report' >\r
+                                                                                                    <parameter name="apiVer" value="1.01"/>\r
+                                                                                                    <parameter name="eventId" value="`$input.action-identifiers.vnf-id`" />\r
+                                                                                                    <parameter name="output.status.message" value="`'Stop : Error occoured while restarting the server:' + $VNF.VM[$i].URL`" />\r
+                                                                                                    <outcome value='success'></outcome>\r
+                                                                                                </execute>\r
+                                                                                                <return status='failure'></return>\r
+                                                                                            </block>\r
+                                                                                        </outcome>\r
+                                                                                        <outcome value='CONTEXT_NOT_FOUND'>\r
+                                                                                            <block atomic='true'>\r
+                                                                                                <return status='failure'></return>\r
+                                                                                                <execute plugin='org.onap.appc.dg.common.DCAEReporterPlugin' method='report' >\r
+                                                                                                    <parameter name="apiVer" value="1.01"/>\r
+                                                                                                    <parameter name="eventId" value="`$input.action-identifiers.vnf-id`" />\r
+                                                                                                    <parameter name="output.status.message" value="`'Stop : Context not found:' + $VNF.VM[$i].URL`" />\r
+                                                                                                    <outcome value='success'></outcome>\r
+                                                                                                </execute>\r
+                                                                                            </block>\r
+                                                                                        </outcome>\r
+                                                                                        <outcome value='SUCCESS'>\r
+                                                                                            <execute plugin='org.onap.appc.dg.common.DCAEReporterPlugin' method='reportSuccess' >\r
+                                                                                                <parameter name="eventId" value="`$input.action-identifiers.vnf-id`" />\r
+                                                                                                <parameter name="output.status.message" value="`'Restart event executed successfully for ' + $VNF.VM[$i].URL`" />\r
+                                                                                                <outcome value='failure'></outcome>\r
+                                                                                                <outcome value='success'></outcome>\r
+                                                                                            </execute>\r
+                                                                                        </outcome>\r
+                                                                                    </switch>\r
+                                                                                </outcome>\r
+                                                                            </execute>\r
+                                                                        </outcome>\r
+                                                                    </switch>\r
+                                                                </outcome>\r
+                                                                <outcome value=''>\r
+                                                                    <execute plugin='org.onap.appc.adapter.iaas.ProviderAdapter' method='restartServer'>\r
+                                                                        <parameter name="org.onap.appc.provider.name" value="OpenStack"/>\r
+                                                                        <parameter name="org.onap.appc.instance.url" value="`$vnfInfo.inventory-response-item[0].inventory-response-items.inventory-response-item[$vserverIndex].vserver.vserver-selflink`" />\r
+                                                                        <parameter name="org.onap.appc.identity.url" value="`$vnfInfo.inventory-response-item[0].inventory-response-items.inventory-response-item[$vserverIndex].inventory-response-items.inventory-response-item[0].inventory-response-items.inventory-response-item[0].cloud-region.identity-url`" />\r
+                                                                        <outcome value='failure'>\r
+                                                                            <block atomic='true'>\r
+                                                                                <execute plugin='org.onap.appc.dg.common.DCAEReporterPlugin' method='report' >\r
+                                                                                    <parameter name="apiVer" value="1.01"/>\r
+                                                                                    <parameter name="eventId" value="`$input.action-identifiers.vnf-id`" />\r
+                                                                                    <parameter name="output.status.message" value="`'Failure in restart for:' + $VNF.VM[$i].URL`" />\r
+                                                                                    <outcome value='success'></outcome>\r
+                                                                                </execute>\r
+                                                                                <return status='failure'></return>\r
+                                                                            </block>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='success'>\r
+                                                                            <switch test='`$RESTART_STATUS`'>\r
+                                                                                <outcome value='ERROR'>\r
+                                                                                    <block atomic='true'>\r
+                                                                                        <execute plugin='org.onap.appc.dg.common.DCAEReporterPlugin' method='report' >\r
+                                                                                            <parameter name="apiVer" value="1.01"/>\r
+                                                                                            <parameter name="eventId" value="`$input.action-identifiers.vnf-id`" />\r
+                                                                                            <parameter name="output.status.message" value="`'Stop : Error occoured while restarting the server:' + $VNF.VM[$i].URL`" />\r
+                                                                                            <outcome value='success'></outcome>\r
+                                                                                        </execute>\r
+                                                                                        <return status='failure'></return>\r
+                                                                                    </block>\r
+                                                                                </outcome>\r
+                                                                                <outcome value='CONTEXT_NOT_FOUND'>\r
+                                                                                    <block atomic='true'>\r
+                                                                                        <return status='failure'></return>\r
+                                                                                        <execute plugin='org.onap.appc.dg.common.DCAEReporterPlugin' method='report' >\r
+                                                                                            <parameter name="apiVer" value="1.01"/>\r
+                                                                                            <parameter name="eventId" value="`$input.action-identifiers.vnf-id`" />\r
+                                                                                            <parameter name="output.status.message" value="`'Stop : Context not found:' + $VNF.VM[$i].URL`" />\r
+                                                                                            <outcome value='success'></outcome>\r
+                                                                                        </execute>\r
+                                                                                    </block>\r
+                                                                                </outcome>\r
+                                                                                <outcome value='SUCCESS'>\r
+                                                                                    <execute plugin='org.onap.appc.dg.common.DCAEReporterPlugin' method='reportSuccess' >\r
+                                                                                        <parameter name="eventId" value="`$input.action-identifiers.vnf-id`" />\r
+                                                                                        <parameter name="output.status.message" value="`'Restart event executed successfully for ' + $VNF.VM[$i].URL`" />\r
+                                                                                        <outcome value='failure'></outcome>\r
+                                                                                        <outcome value='success'></outcome>\r
+                                                                                    </execute>\r
+                                                                                </outcome>\r
+                                                                            </switch>\r
+                                                                        </outcome>\r
+                                                                    </execute>\r
+                                                                </outcome>\r
+                                                            </switch>\r
+                                                        </outcome>\r
+                                                    </switch>\r
+                                                </outcome>\r
+                                            </switch>\r
+                                        </for>\r
+                                        <return status='success'></return>\r
+                                    </block>\r
+                                </outcome>\r
+                            </switch>\r
+                        </block>\r
+                    </outcome>\r
+                </switch>\r
+            </outcome>\r
+        </execute>\r
+        </outcome>\r
+        </execute>\r
+    </method>\r
+</service-logic>\r