Fix for aai in vcpe
[appc/deployment.git] / platform-logic / appc / src / main / xml / vcpe-workaround-with-properties_APPC_method_Generic_Restart_3.0.0.xml
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