1 <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='GENERIC-RESOURCE-API' version='${project.version}'><method rpc='network-topology-operation-activate' mode='sync'>
\r
2 <block atomic="true"><get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
3 resource="l3-network"
\r
4 key="l3-network.network-id = $network-topology-operation-input.network-information.network-id"
\r
6 pfx="aai.l3-network">
\r
7 <outcome value='not-found'>
\r
8 <return status='failure'>
\r
9 <parameter name="error-code" value="404" />
\r
10 <parameter name="error-message" value="network-id not found in AAI" /></return></outcome><outcome value='failure'>
\r
11 <return status='failure'>
\r
12 <parameter name="error-code" value="500" />
\r
13 <parameter name="error-message" value="'Error retrieving l3-network with network-id=' + $network-topology-operation-input.network-request-information.network-id + 'from AnAI'" /></return></outcome></get-resource><switch test='`$aai.l3-network.subnets.subnet_length`'>
\r
15 <return status='failure'>
\r
16 <parameter name='ack-final' value='Y'/>
\r
17 <parameter name="error-code" value="500" />
\r
18 <parameter name="error-message" value="no networks found" />
\r
19 </return></outcome><outcome value='Other'>
\r
20 <for index='sidx' start='0' end='`$aai.l3-network.subnets.subnet_length`' >
\r
21 <block atomic="true"><get-resource
\r
22 plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'
\r
24 key="SELECT * from EIPAM_IP_SUBNETS where entity_id = $aai.l3-network.subnets.subnet[$sidx].subnet-id ; "
\r
25 pfx='tmp.eipam-subnet-row'>
\r
27 <outcome value='failure'>
\r
28 <return status="failure">
\r
29 <parameter name="error-code" value="500"/>
\r
30 <parameter name="error-message" value="Query to DB table EIPAM_IP_SUBNETS failed to find subnet matching aai subnet." />
\r
31 </return></outcome><outcome value="not-found"><return status="failure">
\r
32 <parameter name="error-code" value="500"/>
\r
33 <parameter name="error-message" value="Subnet not found in EIPAM_IP_SUBNETS - activate failed." />
\r
34 </return></outcome><outcome value='success'>
\r
35 <block atomic='true'><set>
\r
36 <parameter name="eipam-ip-block.entity-id" value="`$aai.l3-network.subnets.subnet[$sidx].subnet-id`"/>
\r
37 <parameter name="eipam-ip-block.plans[0].plan-name" value="`$tmp.eipam-subnet-row.plan-name`"/>
\r
38 </set><!--subnet and subnet_keys are deleted in the EIPAMPlugin--><execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="activateSubnet">
\r
39 <outcome value='failure'><return status="failure">
\r
40 <parameter name="error-code" value="500"/>
\r
41 <parameter name="error-message" value="An error occured while activating subnet in EIPAM." />
\r
42 </return></outcome></execute><save
\r
43 plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'
\r
45 key="UPDATE EIPAM_IP_SUBNETS
\r
46 SET status = 'ACTIVE'
\r
47 WHERE entity_id = $eipam-ip-block.entity-id ; "
\r
49 pfx='pfx.eipam-subnet-row'>
\r
50 <outcome value='failure'>
\r
51 <return status="failure">
\r
52 <parameter name="error-code" value="500"/>
\r
53 <parameter name="error-message" value="An error occured while updating subnet to active in mysql." />
\r
54 </return></outcome><outcome value="not-found"><return status="failure">
\r
55 <parameter name="error-code" value="500"/>
\r
56 <parameter name="error-message" value="An error occured while updating subnet to active in mysql." />
\r
57 </return></outcome><outcome value='success'>
\r
58 <block atomic='true'><update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
60 key="l3-network.network-id = $aai.l3-network.network-id
\r
61 AND subnet.subnet-id = $eipam-ip-block.entity-id" >
\r
62 <parameter name="orchestration-status" value="Created" />
\r
63 <outcome value='failure'>
\r
64 <return status="failure">
\r
65 <parameter name="error-code" value="500"/>
\r
66 <parameter name="error-message" value="Failure updating orchestration-status in AAI for subnet." />
\r
67 </return></outcome><outcome value="not-found"><return status="failure">
\r
68 <parameter name="error-code" value="500"/>
\r
69 <parameter name="error-message" value="Failure updating orchestration-status in AAI for subnet. Subnet not found." />
\r
70 </return></outcome></update></block></outcome></save></block></outcome></get-resource></block></for></outcome></switch><update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
\r
71 resource="l3-network"
\r
72 key="l3-network.network-id = $aai.l3-network.network-id" >
\r
73 <parameter name="orchestration-status" value="Active" /> <outcome value='failure'>
\r
74 <return status="failure">
\r
75 <parameter name="error-code" value="500"/>
\r
76 <parameter name="error-message" value="Failure updating orchestration-status in AAI for l3-network" />
\r
77 </return></outcome><outcome value="not-found"><return status="failure">
\r
78 <parameter name="error-code" value="500"/>
\r
79 <parameter name="error-message" value="Failure updating orchestration-status in AAI for l3-network. Network not found." />
\r
80 </return></outcome></update><set>
\r
81 <parameter name='service-data.networks.network[$nidx].network-data.sdnc-request-header.' value='`$network-topology-operation-input.sdnc-request-header.`' />
\r
82 <parameter name='service-data.networks.network[$nidx].network-data.request-information.' value='`$network-topology-operation-input.request-information.`' />
\r
84 <parameter name='networkId' value='`$network-topology-operation-input.network-information.network-id`' />
\r
86 <parameter name='network-object-path' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
\r
87 + $network-topology-operation-input.service-information.service-instance-id
\r
88 + '/service-data/networks/network/'
\r
90 + '/network-data/network-topology/'` " />
\r
93 <parameter name='service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status' value='Created' />
\r
94 <parameter name='service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.last-rpc-action' value='`$network-topology-operation-input.sdnc-request-header.svc-action`' />
\r
95 <parameter name='service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.last-action' value='`$network-topology-operation-input.request-information.request-action`' />
\r
96 </set><return status='success'>
\r
97 <parameter name="ack-final-indicator" value="Y" />
\r
98 <parameter name="error-code" value="200" />
\r
99 <parameter name="error-message" value="`$error-message`" />
\r
100 </return></block></method></service-logic>