Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_network-topology-operation-activate.xml
1 <service-logic\r
2     xmlns='http://www.onap.org/sdnc/svclogic'\r
3     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}'>\r
4     <method rpc='network-topology-operation-activate' mode='sync'>\r
5         <block atomic="true">\r
6             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
7         resource="l3-network" \r
8                 key="l3-network.network-id = $network-topology-operation-input.network-information.network-id AND \r
9                      depth = 'all'" \r
10                 local-only="false" \r
11                 pfx="aai.l3-network">\r
12                 <outcome value='not-found'>\r
13                     <return status='failure'>\r
14                         <parameter name="error-code" value="404" />\r
15                         <parameter name="error-message" value="network-id not found in AAI" />\r
16                     </return>\r
17                 </outcome>\r
18                 <outcome value='failure'>\r
19                     <return status='failure'>\r
20                         <parameter name="error-code" value="500" />\r
21                         <parameter name="error-message" value="'Error retrieving l3-network with network-id=' + $network-topology-operation-input.network-request-information.network-id + 'from AnAI'" />\r
22                     </return>\r
23                 </outcome>\r
24             </get-resource>\r
25             <switch test='`$aai.l3-network.subnets.subnet_length`'>\r
26                 <outcome value=''>\r
27                     <return status='failure'>\r
28                         <parameter name='ack-final' value='Y'/>\r
29                         <parameter name="error-code" value="500" />\r
30                         <parameter name="error-message" value="no networks found" />\r
31                     </return>\r
32                 </outcome>\r
33                 <outcome value='Other'>\r
34                     <switch test='`$network-data.network-topology.network-topology-identifier-structure.network-instance-group-id`'>\r
35                         <outcome value=''>\r
36                             <switch test='`$service-data.networks.network[$nidx].network-data.network-information.from-preload`'>\r
37                                 <outcome value='true'>\r
38                                     <block atomic="true">\r
39                                         <for index='sidx' start='0' end='`$aai.l3-network.subnets.subnet_length`' >\r
40                                             <block atomic="true">\r
41                                                 <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
42         resource="subnet" \r
43                 key="l3-network.network-id = $aai.l3-network.network-id \r
44                         AND subnet.subnet-id = $aai.l3-network.subnets.subnet[$sidx].subnet-id" >\r
45                                                     <parameter name="orchestration-status" value="Active" />\r
46                                                     <outcome value='failure'>\r
47                                                         <return status="failure">\r
48                                                             <parameter name="error-code" value="500"/>\r
49                                                             <parameter name="error-message" value="Failure updating orchestration-status in AAI for subnet." />\r
50                                                         </return>\r
51                                                     </outcome>\r
52                                                     <outcome value="not-found">\r
53                                                         <return status="failure">\r
54                                                             <parameter name="error-code" value="500"/>\r
55                                                             <parameter name="error-message" value="Failure updating orchestration-status in AAI for subnet.  Subnet not found." />\r
56                                                         </return>\r
57                                                     </outcome>\r
58                                                 </update>\r
59                                             </block>\r
60                                         </for>\r
61                                     </block>\r
62                                 </outcome>\r
63                                 <outcome value='Other'>\r
64                                     <block atomic="true">\r
65                                         <for index='sidx' start='0' end='`$aai.l3-network.subnets.subnet_length`' >\r
66                                             <block atomic="true">\r
67                                                 <get-resource\r
68         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
69         resource='SQL'\r
70         key="SELECT * from EIPAM_IP_SUBNETS where entity_id = $aai.l3-network.subnets.subnet[$sidx].subnet-id ; "\r
71         pfx='tmp.eipam-subnet-row'>\r
72                                                     <outcome value='failure'>\r
73                                                         <return status="failure">\r
74                                                             <parameter name="error-code" value="500"/>\r
75                                                             <parameter name="error-message" value="Query to DB table EIPAM_IP_SUBNETS failed to find subnet matching aai subnet." />\r
76                                                         </return>\r
77                                                     </outcome>\r
78                                                     <outcome value="not-found">\r
79                                                         <return status="failure">\r
80                                                             <parameter name="error-code" value="500"/>\r
81                                                             <parameter name="error-message" value="Subnet not found in EIPAM_IP_SUBNETS - activate failed." />\r
82                                                         </return>\r
83                                                     </outcome>\r
84                                                     <outcome value='success'>\r
85                                                         <block atomic='true'>\r
86                                                             <set>\r
87                                                                 <parameter name="eipam-ip-block.entity-id" value="`$aai.l3-network.subnets.subnet[$sidx].subnet-id`"/>\r
88                                                                 <parameter name="eipam-ip-block.plans[0].plan-name" value="`$tmp.eipam-subnet-row.plan-name`"/>\r
89                                                             </set>\r
90                                                             <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
91                                                             <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="activateSubnet">\r
92                                                                 <outcome value='failure'>\r
93                                                                     <return status="failure">\r
94                                                                         <parameter name="error-code" value="500"/>\r
95                                                                         <parameter name="error-message" value="An error occured while activating subnet in EIPAM." />\r
96                                                                     </return>\r
97                                                                 </outcome>\r
98                                                             </execute>\r
99                                                             <save \r
100         plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' \r
101         resource='SQL'\r
102         key="UPDATE EIPAM_IP_SUBNETS\r
103              SET status = 'ACTIVE'\r
104              WHERE entity_id = $eipam-ip-block.entity-id ; "\r
105     force='true'\r
106         pfx='pfx.eipam-subnet-row'>\r
107                                                                 <outcome value='failure'>\r
108                                                                     <return status="failure">\r
109                                                                         <parameter name="error-code" value="500"/>\r
110                                                                         <parameter name="error-message" value="An error occured while updating subnet to active in mysql." />\r
111                                                                     </return>\r
112                                                                 </outcome>\r
113                                                                 <outcome value="not-found">\r
114                                                                     <return status="failure">\r
115                                                                         <parameter name="error-code" value="500"/>\r
116                                                                         <parameter name="error-message" value="An error occured while updating subnet to active in mysql." />\r
117                                                                     </return>\r
118                                                                 </outcome>\r
119                                                                 <outcome value='success'>\r
120                                                                     <block atomic='true'>\r
121                                                                         <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
122         resource="subnet" \r
123                 key="l3-network.network-id = $aai.l3-network.network-id \r
124                         AND subnet.subnet-id = $eipam-ip-block.entity-id" >\r
125                                                                             <parameter name="orchestration-status" value="Active" />\r
126                                                                             <outcome value='failure'>\r
127                                                                                 <return status="failure">\r
128                                                                                     <parameter name="error-code" value="500"/>\r
129                                                                                     <parameter name="error-message" value="Failure updating orchestration-status in AAI for subnet." />\r
130                                                                                 </return>\r
131                                                                             </outcome>\r
132                                                                             <outcome value="not-found">\r
133                                                                                 <return status="failure">\r
134                                                                                     <parameter name="error-code" value="500"/>\r
135                                                                                     <parameter name="error-message" value="Failure updating orchestration-status in AAI for subnet.  Subnet not found." />\r
136                                                                                 </return>\r
137                                                                             </outcome>\r
138                                                                         </update>\r
139                                                                     </block>\r
140                                                                 </outcome>\r
141                                                             </save>\r
142                                                         </block>\r
143                                                     </outcome>\r
144                                                 </get-resource>\r
145                                             </block>\r
146                                         </for>\r
147                                     </block>\r
148                                 </outcome>\r
149                             </switch>\r
150                         </outcome>\r
151                         <outcome value='Other'>\r
152                             <block atomic="true">\r
153                                 <return status='failure'>\r
154                                     <parameter name='ack-final' value='Y'/>\r
155                                     <parameter name="error-code" value="500" />\r
156                                     <parameter name="error-message" value="network collection activate failed" />\r
157                                 </return>\r
158                             </block>\r
159                         </outcome>\r
160                     </switch>\r
161                 </outcome>\r
162             </switch>\r
163             <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
164         resource="l3-network" \r
165                 key="l3-network.network-id = $aai.l3-network.network-id" >\r
166                 <parameter name="orchestration-status" value="Active" />\r
167                 <outcome value='failure'>\r
168                     <return status="failure">\r
169                         <parameter name="error-code" value="500"/>\r
170                         <parameter name="error-message" value="Failure updating orchestration-status in AAI for l3-network" />\r
171                     </return>\r
172                 </outcome>\r
173                 <outcome value="not-found">\r
174                     <return status="failure">\r
175                         <parameter name="error-code" value="500"/>\r
176                         <parameter name="error-message" value="Failure updating orchestration-status in AAI for l3-network.  Network not found." />\r
177                     </return>\r
178                 </outcome>\r
179             </update>\r
180             <set>\r
181                 <parameter name='service-data.networks.network[$nidx].network-data.sdnc-request-header.' value='`$network-topology-operation-input.sdnc-request-header.`' />\r
182                 <parameter name='service-data.networks.network[$nidx].network-data.request-information.' value='`$network-topology-operation-input.request-information.`' />\r
183             </set>\r
184             <set>\r
185                 <parameter name='networkId' value='`$network-topology-operation-input.network-information.network-id`' />\r
186             </set>\r
187             <set>\r
188                 <parameter name='network-object-path' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'\r
189  + $network-topology-operation-input.service-information.service-instance-id\r
190  + '/service-data/networks/network/'\r
191  + $networkId\r
192  + '/network-data/network-topology/'` " />\r
193             </set>\r
194             <set>\r
195                 <parameter name='service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status' value='Created' />\r
196                 <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
197                 <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
198             </set>\r
199             <return status='success'>\r
200                 <parameter name="ack-final-indicator" value="Y" />\r
201                 <parameter name="error-code" value="200" />\r
202                 <parameter name="error-message" value="`$error-message`" />\r
203             </return>\r
204         </block>\r
205     </method>\r
206 </service-logic>