Update undeploy-loop flow
[clamp.git] / src / main / resources / clds / camel / routes / dcae-flows.xml
index a9d0352..7137bab 100644 (file)
                                        </setProperty>
                                        <to
                                                uri="bean:org.onap.clamp.policy.microservice.MicroServicePolicyService?method=updateDcaeDeploymentFields(${exchangeProperty[microServicePolicy]},${exchangeProperty[dcaeDeploymentId]},${exchangeProperty[dcaeStatusUrl]})" />
+                                       <setProperty propertyName="logMessage">
+                                               <simple>DEPLOY loop status
+                                                       (Dep-id:${exchangeProperty[dcaeDeploymentId]},
+                                                       StatusUrl:${exchangeProperty[dcaeStatusUrl]})
+                                               </simple>
+                                       </setProperty>
+                                       <setProperty propertyName="logComponent">
+                                               <simple>DCAE</simple>
+                                       </setProperty>
+                                       <to uri="direct:dump-loop-log-http-response" />
                        </split>
                        <doCatch>
-                               <exception>java.lang.Exception</exception>
-                               <handled>
-                                       <constant>false</constant>
-                               </handled>
                                <setProperty propertyName="logMessage">
-                                       <simple>DEPLOY loop status
-                                               (Dep-id:${exchangeProperty[dcaeDeploymentId]},
+                                       <simple>DEPLOY micro service failed 
+                                               (MicroService name:${exchangeProperty[microServicePolicy].getName()}),
+                                               Dep-id:${exchangeProperty[dcaeDeploymentId]},
                                                StatusUrl:${exchangeProperty[dcaeStatusUrl]})
                                        </simple>
                                </setProperty>
        </route>
        <route id="undeploy-loop">
                <from uri="direct:undeploy-loop" />
+               <choice>
+                       <when>
+                               <simple>${exchangeProperty['loopObject'].getLoopTemplate().getBlueprint()} != null
+                               </simple>
+                               <to uri="direct:undeploy-loop-single-blueprint" />
+                       </when>
+                       <when>
+                               <simple>${exchangeProperty['loopObject'].getLoopTemplate().getBlueprint()} == null
+                               </simple>
+                               <to uri="direct:undeploy-loop-multi-blueprint" />
+                       </when>
+               </choice>
+       </route>
+       <route id="undeploy-loop-multi-blueprint">
+               <from uri="direct:undeploy-loop-multi-blueprint" />
+               <doTry>
+                       <log loggingLevel="INFO"
+                               message="Undeploying the blueprints for loop: ${exchangeProperty[loopObject].getName()}" />
+                       <to
+                               uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeLog('DCAE', 'Undeploying the loop with multiple blueprints')" />
+                       <split>
+                               <simple>${exchangeProperty[loopObject].getMicroServicePolicies()}
+                               </simple>
+                               <setProperty propertyName="microServicePolicy">
+                                       <simple>${body}</simple>
+                               </setProperty>
+                               <log
+                                       loggingLevel="INFO"
+                                       message="Processing Micro Service Policy: ${exchangeProperty[microServicePolicy].getName()}" />
+                               <choice>
+                                       <when>
+                                               <simple>${exchangeProperty[microServicePolicy].getDcaeDeploymentId()} != null
+                                               </simple>
+                                               <setBody>
+                                                       <method ref="org.onap.clamp.loop.components.external.DcaeComponent"
+                                                               method="getUndeployPayload(${exchangeProperty[microServicePolicy]})" />
+                                               </setBody>
+                                               <setHeader headerName="CamelHttpMethod">
+                                                       <constant>DELETE</constant>
+                                               </setHeader>
+                                               <setHeader headerName="Content-Type">
+                                                       <constant>application/json</constant>
+                                               </setHeader>
+                                               <setHeader headerName="X-ONAP-RequestID">
+                                                       <simple>${exchangeProperty[X-ONAP-RequestID]}
+                                                       </simple>
+                                               </setHeader>
+                                               <setHeader headerName="X-ONAP-InvocationID">
+                                                       <simple>${exchangeProperty[X-ONAP-InvocationID]}
+                                                       </simple>
+                                               </setHeader>
+                                               <setHeader headerName="X-ONAP-PartnerName">
+                                                       <simple>${exchangeProperty[X-ONAP-PartnerName]}
+                                                       </simple>
+                                               </setHeader>
+                                               <log loggingLevel="INFO"
+                                                       message="Endpoint to undeploy loop: {{clamp.config.dcae.deployment.url}}/dcae-deployments/${exchangeProperty[microServicePolicy].getDcaeDeploymentId()}"></log>
+                                               <toD
+                                                       uri="{{clamp.config.dcae.deployment.url}}/dcae-deployments/${exchangeProperty[microServicePolicy].getDcaeDeploymentId()}?bridgeEndpoint=true&amp;useSystemProperties=true&amp;mapHttpMessageHeaders=false&amp;throwExceptionOnFailure=${exchangeProperty[raiseHttpExceptionFlag]}&amp;authUsername={{clamp.config.dcae.deployment.userName}}&amp;authPassword={{clamp.config.dcae.deployment.password}}&amp;connectionTimeToLive=5000&amp;httpClient.connectTimeout=10000&amp;httpClient.socketTimeout=300000&amp;authenticationPreemptive=true&amp;connectionClose=true" />
+                                               <convertBodyTo type="java.lang.String" />
+                                               <setProperty propertyName="dcaeResponse">
+                                                       <method ref="org.onap.clamp.loop.components.external.DcaeComponent"
+                                                               method="convertDcaeResponse(${body})" />
+                                               </setProperty>
+                                               <setProperty propertyName="dcaeStatusUrl">
+                                                       <method ref="org.onap.clamp.loop.components.external.DcaeComponent"
+                                                               method="getStatusUrl(${exchangeProperty[dcaeResponse]})" />
+                                               </setProperty>
+                                               <to
+                                                       uri="bean:org.onap.clamp.policy.microservice.MicroServicePolicyService?method=updateDcaeDeploymentFields(${exchangeProperty[microServicePolicy]},${exchangeProperty[microServicePolicy].getDcaeDeploymentId()},${exchangeProperty[dcaeStatusUrl]})" />
+                                               <setProperty propertyName="logMessage">
+                                                       <simple>UNDEPLOY micro service successful
+                                                               (MicroService name:${exchangeProperty[microServicePolicy].getName()})
+                                                       </simple>
+                                               </setProperty>
+                                               <setProperty propertyName="logComponent">
+                                                       <simple>DCAE</simple>
+                                               </setProperty>
+                                               <to uri="direct:dump-loop-log-http-response" />
+                                       </when>
+                                       <otherwise>
+                                               <log loggingLevel="WARNING"
+                                                       message="Cannot Undeploy for the micro service: ${exchangeProperty[microServicePolicy].getName()}, the Deployment ID does not exist !" />
+                                               <to
+                                                       uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Cannot Undeploy for the micro service: ${exchangeProperty[microServicePolicy].getName()}, the Deployment ID does not exist !','WARNING',${exchangeProperty[loopObject]})" />
+                                       </otherwise>
+                               </choice>
+                       </split>
+                       <doCatch>
+                               <setProperty propertyName="logMessage">
+                                       <simple>UNDEPLOY micro service failed
+                                               (MicroService name:${exchangeProperty[microServicePolicy].getName()})
+                                       </simple>
+                               </setProperty>
+                               <setProperty propertyName="logComponent">
+                                       <simple>DCAE</simple>
+                               </setProperty>
+                               <to uri="direct:dump-loop-log-http-response" />
+                       </doCatch>
+                       <doFinally>
+                               <to uri="direct:reset-raise-http-exception-flag" />
+                               <to
+                                       uri="bean:org.onap.clamp.flow.log.FlowLogOperation?method=invokeReturnLog()" />
+                       </doFinally>
+               </doTry>
+       </route>
+       <route id="undeploy-loop-single-blueprint">
+               <from uri="direct:undeploy-loop-single-blueprint" />
                <log loggingLevel="INFO"
                        message="Undeploying the loop: ${exchangeProperty[loopObject].getName()} : ${exchangeProperty[loopObject].getDcaeDeploymentId()}" />
                <to
                                        message="Cannot Undeploy for the loop: ${exchangeProperty[loopObject].getName()}, the Deployment ID does not exist !" />
                                <to
                                        uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Cannot Undeploy for the loop: ${exchangeProperty[loopObject].getName()}, the Deployment ID does not exist !','WARNING',${exchangeProperty[loopObject]})" />
-
                        </otherwise>
                </choice>
        </route>