dd24063357de9c43ee3e312746f0be78dae15db2
[sdnc/oam.git] / platform-logic / lcm / src / main / xml / LCM_rollback.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='LCM' version='${project.version}'>\r
4     <method rpc='rollback' mode='sync'>\r
5         <block atomic='true'>\r
6             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
7                 <parameter name='fileName' value='%SDNC_CONFIG_DIR%/lcm-dg.properties' />\r
8                 <parameter name='contextPrefix' value='prop' />\r
9             </execute>\r
10             <set>\r
11                 <parameter name='status.code' value='200' />\r
12                 <parameter name='status.message' value='unexpected return from DG' />\r
13                 <parameter name='quote' value="'" />\r
14             </set>\r
15             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='jsonStringToCtx'>\r
16                 <parameter name='source' value='rollback-input.payload' />\r
17                 <parameter name='outputPath' value='payloadJson' />\r
18                 <parameter name='isEscaped' value='true' />\r
19             </execute>\r
20             <switch test='`$payloadJson.pnf-flag`'>\r
21                 <outcome value='true'>\r
22                     <set>\r
23                         <parameter name='nodelist' value="`'[' + $quote + $payloadJson.ipaddress-v4-oam +  $quote + ']'`"/>\r
24                         <parameter name='playbookname' value='`$prop.lcm.pnf.rollback.playbookname`'/>\r
25                     </set>\r
26                 </outcome>\r
27                 <outcome value='Other'>\r
28                     <block>\r
29                         <return status='failure'>\r
30                             <parameter name='status.code' value='401' />\r
31                             <parameter name='status.message' value='Currently only support PNF.' />\r
32                         </return>\r
33                     </block>\r
34                 </outcome>\r
35             </switch>\r
36             <switch test='`$playbookname`'>\r
37                 <outcome value=''>\r
38                     <set>\r
39                         <parameter name='nodelist' value="`$prop.ansible.nodelist`"/>\r
40                         <parameter name='playbookname' value='`$prop.lcm.rollback.playbookname`'/>\r
41                     </set>\r
42                 </outcome>\r
43             </switch>\r
44             <switch test='`$nodelist`'>\r
45                 <outcome value=''>\r
46                     <set>\r
47                         <parameter name='nodelist' value="`$prop.ansible.nodelist`"/>\r
48                     </set>\r
49                 </outcome>\r
50                 <outcome value="['']">\r
51                     <set>\r
52                         <parameter name='nodelist' value="`$prop.ansible.nodelist`"/>\r
53                     </set>\r
54                 </outcome>\r
55             </switch>\r
56             <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
57                 <parameter name="logger" value="message-log"/>\r
58                 <parameter name="field1" value='`$playbookname`'/>\r
59                 <parameter name="field2" value='`$nodelist`'/>\r
60             </record>\r
61             <execute plugin='org.onap.ccsdk.sli.adaptors.ansible.AnsibleAdapter' method='reqExec' >\r
62                 <parameter name='AgentUrl' value='`$prop.ansible.agenturl`'/>\r
63                 <parameter name='User' value='`$prop.ansible.user`'/>\r
64                 <parameter name='Password' value='`$prop.ansible.password`'/>\r
65                 <parameter name='LocalParameters' value='`$prop.ansible.lcm.localparameters`'/>\r
66                 <parameter name='EnvParameters' value='`$rollback-input.payload`'/>\r
67                 <parameter name='NodeList' value="`$nodelist`"/>\r
68                 <parameter name='Timeout' value='`$prop.ansible.timeout`'/>\r
69                 <parameter name='Version' value='`$prop.ansible.version`'/>\r
70                 <parameter name='Id' value='`$rollback-input.common-header.request-id`'/>\r
71                 <parameter name='PlaybookName' value='`$playbookname`'/>\r
72                 <outcome value='not-found'>\r
73                     <block>\r
74                         <set>\r
75                             <parameter name='org.onap.appc.adapter.ansible.result.code' value='401'/>\r
76                             <parameter name='org.onap.appc.adapter.ansible.message' value='Ansible Adapter was not found'/>\r
77                         </set>\r
78                         <block>\r
79                             <set>\r
80                                 <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>\r
81                                 <parameter name='lcm-dmaap.correlation-id' value="`$rollback-input.common-header.request-id + '-' + $rollback-input.common-header.sub-request-id`"/>\r
82                                 <parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>\r
83                                 <parameter name='lcm-dmaap.rpc-name' value='rollback'/>\r
84                                 <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>\r
85                                 <parameter name='lcm-dmaap.timestamp' value='`$rollback-input.common-header.timestamp`'/>\r
86                                 <parameter name='lcm-dmaap.api-ver' value='`$rollback-input.common-header.api-ver`'/>\r
87                                 <parameter name='lcm-dmaap.originator-id' value='`$rollback-input.common-header.originator-id`'/>\r
88                                 <parameter name='lcm-dmaap.request-id' value='`$rollback-input.common-header.request-id`'/>\r
89                                 <parameter name='lcm-dmaap.sub-request-id' value='`$rollback-input.common-header.sub-request-id`'/>\r
90                                 <parameter name='lcm-dmaap.flags.mode' value='`$rollback-input.common-header.flags.mode`'/>\r
91                                 <parameter name='lcm-dmaap.flags.force' value='`$rollback-input.common-header.flags.force`'/>\r
92                                 <parameter name='lcm-dmaap.flags.ttl' value='`$rollback-input.common-header.flags.ttl`'/>\r
93                                 <parameter name='lcm-dmaap.status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />\r
94                                 <parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>\r
95                             </set>\r
96                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
97                                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.lcm.dmaap.publish.templatefile`" />\r
98                                 <parameter name='restapiUrl' value='`$prop.lcm.dmaap.url`' />\r
99                                 <parameter name='restapiUser' value='`$prop.lcm.dmaap.user`' />\r
100                                 <parameter name='restapiPassword' value='`$prop.lcm.dmaap.password`' />\r
101                                 <parameter name='format' value='json' />\r
102                                 <parameter name='httpMethod' value='POST' />\r
103                                 <parameter name='contentType' value='application/json' />\r
104                                 <parameter name="responsePrefix" value="lcm" />\r
105                                 <outcome value='failure'>\r
106                                     <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
107                                         <parameter name="logger" value="message-log"/>\r
108                                         <parameter name="field1" value='Failed to Publish to DMaap'/>\r
109                                     </record>\r
110                                 </outcome>\r
111                             </execute>\r
112                             <return status='failure'>\r
113                                 <parameter name='status.code' value='401' />\r
114                                 <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />\r
115                             </return>\r
116                         </block>\r
117                     </block>\r
118                 </outcome>\r
119                 <outcome value='failure'>\r
120                     <block>\r
121                         <set>\r
122                             <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>\r
123                             <parameter name='lcm-dmaap.correlation-id' value="`$rollback-input.common-header.request-id + '-' + $rollback-input.common-header.sub-request-id`"/>\r
124                             <parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>\r
125                             <parameter name='lcm-dmaap.rpc-name' value='rollback'/>\r
126                             <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>\r
127                             <parameter name='lcm-dmaap.timestamp' value='`$rollback-input.common-header.timestamp`'/>\r
128                             <parameter name='lcm-dmaap.api-ver' value='`$rollback-input.common-header.api-ver`'/>\r
129                             <parameter name='lcm-dmaap.originator-id' value='`$rollback-input.common-header.originator-id`'/>\r
130                             <parameter name='lcm-dmaap.request-id' value='`$rollback-input.common-header.request-id`'/>\r
131                             <parameter name='lcm-dmaap.sub-request-id' value='`$rollback-input.common-header.sub-request-id`'/>\r
132                             <parameter name='lcm-dmaap.flags.mode' value='`$rollback-input.common-header.flags.mode`'/>\r
133                             <parameter name='lcm-dmaap.flags.force' value='`$rollback-input.common-header.flags.force`'/>\r
134                             <parameter name='lcm-dmaap.flags.ttl' value='`$rollback-input.common-header.flags.ttl`'/>\r
135                             <parameter name='lcm-dmaap.status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />\r
136                             <parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>\r
137                         </set>\r
138                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
139                             <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.lcm.dmaap.publish.templatefile`" />\r
140                             <parameter name='restapiUrl' value='`$prop.lcm.dmaap.url`' />\r
141                             <parameter name='restapiUser' value='`$prop.lcm.dmaap.user`' />\r
142                             <parameter name='restapiPassword' value='`$prop.lcm.dmaap.password`' />\r
143                             <parameter name='format' value='json' />\r
144                             <parameter name='httpMethod' value='POST' />\r
145                             <parameter name='contentType' value='application/json' />\r
146                             <parameter name="responsePrefix" value="lcm" />\r
147                             <outcome value='failure'>\r
148                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
149                                     <parameter name="logger" value="message-log"/>\r
150                                     <parameter name="field1" value='Failed to Publish to DMaap'/>\r
151                                 </record>\r
152                             </outcome>\r
153                         </execute>\r
154                         <return status='failure'>\r
155                             <parameter name='status.code' value='401' />\r
156                             <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />\r
157                         </return>\r
158                     </block>\r
159                 </outcome>\r
160                 <outcome value='Other'>\r
161                     <switch test="`$org.onap.appc.adapter.ansible.result.code`">\r
162                         <outcome value='101'>\r
163                             <block>\r
164                                 <set>\r
165                                     <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>\r
166                                     <parameter name='lcm-dmaap.correlation-id' value="`$rollback-input.common-header.request-id + '-' + $rollback-input.common-header.sub-request-id`"/>\r
167                                     <parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>\r
168                                     <parameter name='lcm-dmaap.rpc-name' value='rollback'/>\r
169                                     <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>\r
170                                     <parameter name='lcm-dmaap.timestamp' value='`$rollback-input.common-header.timestamp`'/>\r
171                                     <parameter name='lcm-dmaap.api-ver' value='`$rollback-input.common-header.api-ver`'/>\r
172                                     <parameter name='lcm-dmaap.originator-id' value='`$rollback-input.common-header.originator-id`'/>\r
173                                     <parameter name='lcm-dmaap.request-id' value='`$rollback-input.common-header.request-id`'/>\r
174                                     <parameter name='lcm-dmaap.sub-request-id' value='`$rollback-input.common-header.sub-request-id`'/>\r
175                                     <parameter name='lcm-dmaap.flags.mode' value='`$rollback-input.common-header.flags.mode`'/>\r
176                                     <parameter name='lcm-dmaap.flags.force' value='`$rollback-input.common-header.flags.force`'/>\r
177                                     <parameter name='lcm-dmaap.flags.ttl' value='`$rollback-input.common-header.flags.ttl`'/>\r
178                                     <parameter name='lcm-dmaap.status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />\r
179                                     <parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>\r
180                                 </set>\r
181                                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
182                                     <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.lcm.dmaap.publish.templatefile`" />\r
183                                     <parameter name='restapiUrl' value='`$prop.lcm.dmaap.url`' />\r
184                                     <parameter name='restapiUser' value='`$prop.lcm.dmaap.user`' />\r
185                                     <parameter name='restapiPassword' value='`$prop.lcm.dmaap.password`' />\r
186                                     <parameter name='format' value='json' />\r
187                                     <parameter name='httpMethod' value='POST' />\r
188                                     <parameter name='contentType' value='application/json' />\r
189                                     <parameter name="responsePrefix" value="lcm" />\r
190                                     <outcome value='failure'>\r
191                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
192                                             <parameter name="logger" value="message-log"/>\r
193                                             <parameter name="field1" value='Failed to Publish to DMaap'/>\r
194                                         </record>\r
195                                     </outcome>\r
196                                 </execute>\r
197                                 <return status='failure'>\r
198                                     <parameter name='status.code' value='401' />\r
199                                     <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />\r
200                                 </return>\r
201                             </block>\r
202                         </outcome>\r
203                         <outcome value='500'>\r
204                             <block>\r
205                                 <set>\r
206                                     <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>\r
207                                     <parameter name='lcm-dmaap.correlation-id' value="`$rollback-input.common-header.request-id + '-' + $rollback-input.common-header.sub-request-id`"/>\r
208                                     <parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>\r
209                                     <parameter name='lcm-dmaap.rpc-name' value='rollback'/>\r
210                                     <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>\r
211                                     <parameter name='lcm-dmaap.timestamp' value='`$rollback-input.common-header.timestamp`'/>\r
212                                     <parameter name='lcm-dmaap.api-ver' value='`$rollback-input.common-header.api-ver`'/>\r
213                                     <parameter name='lcm-dmaap.originator-id' value='`$rollback-input.common-header.originator-id`'/>\r
214                                     <parameter name='lcm-dmaap.request-id' value='`$rollback-input.common-header.request-id`'/>\r
215                                     <parameter name='lcm-dmaap.sub-request-id' value='`$rollback-input.common-header.sub-request-id`'/>\r
216                                     <parameter name='lcm-dmaap.flags.mode' value='`$rollback-input.common-header.flags.mode`'/>\r
217                                     <parameter name='lcm-dmaap.flags.force' value='`$rollback-input.common-header.flags.force`'/>\r
218                                     <parameter name='lcm-dmaap.flags.ttl' value='`$rollback-input.common-header.flags.ttl`'/>\r
219                                     <parameter name='lcm-dmaap.status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />\r
220                                     <parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>\r
221                                 </set>\r
222                                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
223                                     <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.lcm.dmaap.publish.templatefile`" />\r
224                                     <parameter name='restapiUrl' value='`$prop.lcm.dmaap.url`' />\r
225                                     <parameter name='restapiUser' value='`$prop.lcm.dmaap.user`' />\r
226                                     <parameter name='restapiPassword' value='`$prop.lcm.dmaap.password`' />\r
227                                     <parameter name='format' value='json' />\r
228                                     <parameter name='httpMethod' value='POST' />\r
229                                     <parameter name='contentType' value='application/json' />\r
230                                     <parameter name="responsePrefix" value="lcm" />\r
231                                     <outcome value='failure'>\r
232                                         <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
233                                             <parameter name="logger" value="message-log"/>\r
234                                             <parameter name="field1" value='Failed to Publish to DMaap'/>\r
235                                         </record>\r
236                                     </outcome>\r
237                                 </execute>\r
238                                 <return status='failure'>\r
239                                     <parameter name='status.code' value='401' />\r
240                                     <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />\r
241                                 </return>\r
242                             </block>\r
243                         </outcome>\r
244                         <outcome value='100'>\r
245                             <execute plugin='org.onap.ccsdk.sli.adaptors.ansible.AnsibleAdapter' method='reqExecResult' >\r
246                                 <parameter name='AgentUrl' value='`$prop.ansible.agenturl`'/>\r
247                                 <parameter name='User' value='`$prop.ansible.user`'/>\r
248                                 <parameter name='Password' value='`$prop.ansible.password`'/>\r
249                                 <parameter name='Id' value='`$org.onap.appc.adapter.ansible.Id`'/>\r
250                                 <parameter name='PlaybookName' value='`$playbookname`'/>\r
251                                 <outcome value='failure'>\r
252                                     <block>\r
253                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='jsonStringToCtx'>\r
254                                             <parameter name='source' value='org.onap.appc.adapter.ansible.results' />\r
255                                             <parameter name='outputPath' value='resultsJson' />\r
256                                             <parameter name='isEscaped' value='false' />\r
257                                         </execute>\r
258                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\r
259                                             <parameter name='source' value="`'resultsJson.' + $payloadJson.ipaddress-v4-oam + '.Output'`" />\r
260                                             <parameter name='outputPath' value='outputPayload' />\r
261                                         </execute>\r
262                                         <switch test='`$outputPayload`'>\r
263                                             <outcome value=''>\r
264                                                 <set>\r
265                                                     <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>\r
266                                                     <parameter name='lcm-dmaap.correlation-id' value="`$rollback-input.common-header.request-id + '-' + $rollback-input.common-header.sub-request-id`"/>\r
267                                                     <parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>\r
268                                                     <parameter name='lcm-dmaap.rpc-name' value='rollback'/>\r
269                                                     <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>\r
270                                                     <parameter name='lcm-dmaap.timestamp' value='`$rollback-input.common-header.timestamp`'/>\r
271                                                     <parameter name='lcm-dmaap.api-ver' value='`$rollback-input.common-header.api-ver`'/>\r
272                                                     <parameter name='lcm-dmaap.originator-id' value='`$rollback-input.common-header.originator-id`'/>\r
273                                                     <parameter name='lcm-dmaap.request-id' value='`$rollback-input.common-header.request-id`'/>\r
274                                                     <parameter name='lcm-dmaap.sub-request-id' value='`$rollback-input.common-header.sub-request-id`'/>\r
275                                                     <parameter name='lcm-dmaap.flags.mode' value='`$rollback-input.common-header.flags.mode`'/>\r
276                                                     <parameter name='lcm-dmaap.flags.force' value='`$rollback-input.common-header.flags.force`'/>\r
277                                                     <parameter name='lcm-dmaap.flags.ttl' value='`$rollback-input.common-header.flags.ttl`'/>\r
278                                                     <parameter name='lcm-dmaap.status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />\r
279                                                     <parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>\r
280                                                 </set>\r
281                                             </outcome>\r
282                                             <outcome value='Other'>\r
283                                                 <set>\r
284                                                     <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>\r
285                                                     <parameter name='lcm-dmaap.correlation-id' value="`$rollback-input.common-header.request-id + '-' + $rollback-input.common-header.sub-request-id`"/>\r
286                                                     <parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>\r
287                                                     <parameter name='lcm-dmaap.rpc-name' value='rollback'/>\r
288                                                     <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>\r
289                                                     <parameter name='lcm-dmaap.timestamp' value='`$rollback-input.common-header.timestamp`'/>\r
290                                                     <parameter name='lcm-dmaap.api-ver' value='`$rollback-input.common-header.api-ver`'/>\r
291                                                     <parameter name='lcm-dmaap.originator-id' value='`$rollback-input.common-header.originator-id`'/>\r
292                                                     <parameter name='lcm-dmaap.request-id' value='`$rollback-input.common-header.request-id`'/>\r
293                                                     <parameter name='lcm-dmaap.sub-request-id' value='`$rollback-input.common-header.sub-request-id`'/>\r
294                                                     <parameter name='lcm-dmaap.flags.mode' value='`$rollback-input.common-header.flags.mode`'/>\r
295                                                     <parameter name='lcm-dmaap.flags.force' value='`$rollback-input.common-header.flags.force`'/>\r
296                                                     <parameter name='lcm-dmaap.flags.ttl' value='`$rollback-input.common-header.flags.ttl`'/>\r
297                                                     <parameter name='lcm-dmaap.status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />\r
298                                                     <parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>\r
299                                                     <parameter name='lcm-dmaap.payload' value='`$outputPayload`'/>\r
300                                                 </set>\r
301                                             </outcome>\r
302                                         </switch>\r
303                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
304                                             <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.lcm.dmaap.publish.templatefile`" />\r
305                                             <parameter name='restapiUrl' value='`$prop.lcm.dmaap.url`' />\r
306                                             <parameter name='restapiUser' value='`$prop.lcm.dmaap.user`' />\r
307                                             <parameter name='restapiPassword' value='`$prop.lcm.dmaap.password`' />\r
308                                             <parameter name='format' value='json' />\r
309                                             <parameter name='httpMethod' value='POST' />\r
310                                             <parameter name='contentType' value='application/json' />\r
311                                             <parameter name="responsePrefix" value="lcm" />\r
312                                             <outcome value='failure'>\r
313                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
314                                                     <parameter name="logger" value="message-log"/>\r
315                                                     <parameter name="field1" value='Failed to Publish to DMaap'/>\r
316                                                 </record>\r
317                                             </outcome>\r
318                                         </execute>\r
319                                         <switch test='`$outputPayload`'>\r
320                                             <outcome value=''>\r
321                                                 <switch test="`$org.onap.appc.adapter.ansible.result.code`">\r
322                                                     <outcome value='400'>\r
323                                                         <return status='success'>\r
324                                                             <parameter name='status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />\r
325                                                             <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`'/>\r
326                                                         </return>\r
327                                                     </outcome>\r
328                                                     <outcome value='Other'>\r
329                                                         <return status='failure'>\r
330                                                             <parameter name='status.code' value='401' />\r
331                                                             <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />\r
332                                                         </return>\r
333                                                     </outcome>\r
334                                                 </switch>\r
335                                             </outcome>\r
336                                             <outcome value='Other'>\r
337                                                 <switch test="`$org.onap.appc.adapter.ansible.result.code`">\r
338                                                     <outcome value='400'>\r
339                                                         <return status='success'>\r
340                                                             <parameter name='status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />\r
341                                                             <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`'/>\r
342                                                             <parameter name='payload' value='`$outputPayload`'/>\r
343                                                         </return>\r
344                                                     </outcome>\r
345                                                     <outcome value='Other'>\r
346                                                         <return status='failure'>\r
347                                                             <parameter name='status.code' value='401' />\r
348                                                             <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />\r
349                                                             <parameter name='payload' value='`$outputPayload`'/>\r
350                                                         </return>\r
351                                                     </outcome>\r
352                                                 </switch>\r
353                                             </outcome>\r
354                                         </switch>\r
355                                     </block>\r
356                                 </outcome>\r
357                                 <outcome value='success'>\r
358                                     <block>\r
359                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='jsonStringToCtx'>\r
360                                             <parameter name='source' value='org.onap.appc.adapter.ansible.results' />\r
361                                             <parameter name='outputPath' value='resultsJson' />\r
362                                             <parameter name='isEscaped' value='false' />\r
363                                         </execute>\r
364                                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='getAttributeValue'>\r
365                                             <parameter name='source' value="`'resultsJson.' + $payloadJson.ipaddress-v4-oam + '.Output'`" />\r
366                                             <parameter name='outputPath' value='outputPayload' />\r
367                                         </execute>\r
368                                         <switch test='`$outputPayload`'>\r
369                                             <outcome value=''>\r
370                                                 <set>\r
371                                                     <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>\r
372                                                     <parameter name='lcm-dmaap.correlation-id' value="`$rollback-input.common-header.request-id + '-' + $rollback-input.common-header.sub-request-id`"/>\r
373                                                     <parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>\r
374                                                     <parameter name='lcm-dmaap.rpc-name' value='rollback'/>\r
375                                                     <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>\r
376                                                     <parameter name='lcm-dmaap.timestamp' value='`$rollback-input.common-header.timestamp`'/>\r
377                                                     <parameter name='lcm-dmaap.api-ver' value='`$rollback-input.common-header.api-ver`'/>\r
378                                                     <parameter name='lcm-dmaap.originator-id' value='`$rollback-input.common-header.originator-id`'/>\r
379                                                     <parameter name='lcm-dmaap.request-id' value='`$rollback-input.common-header.request-id`'/>\r
380                                                     <parameter name='lcm-dmaap.sub-request-id' value='`$rollback-input.common-header.sub-request-id`'/>\r
381                                                     <parameter name='lcm-dmaap.flags.mode' value='`$rollback-input.common-header.flags.mode`'/>\r
382                                                     <parameter name='lcm-dmaap.flags.force' value='`$rollback-input.common-header.flags.force`'/>\r
383                                                     <parameter name='lcm-dmaap.flags.ttl' value='`$rollback-input.common-header.flags.ttl`'/>\r
384                                                     <parameter name='lcm-dmaap.status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />\r
385                                                     <parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>\r
386                                                 </set>\r
387                                             </outcome>\r
388                                             <outcome value='Other'>\r
389                                                 <set>\r
390                                                     <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>\r
391                                                     <parameter name='lcm-dmaap.correlation-id' value="`$rollback-input.common-header.request-id + '-' + $rollback-input.common-header.sub-request-id`"/>\r
392                                                     <parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>\r
393                                                     <parameter name='lcm-dmaap.rpc-name' value='rollback'/>\r
394                                                     <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>\r
395                                                     <parameter name='lcm-dmaap.timestamp' value='`$rollback-input.common-header.timestamp`'/>\r
396                                                     <parameter name='lcm-dmaap.api-ver' value='`$rollback-input.common-header.api-ver`'/>\r
397                                                     <parameter name='lcm-dmaap.originator-id' value='`$rollback-input.common-header.originator-id`'/>\r
398                                                     <parameter name='lcm-dmaap.request-id' value='`$rollback-input.common-header.request-id`'/>\r
399                                                     <parameter name='lcm-dmaap.sub-request-id' value='`$rollback-input.common-header.sub-request-id`'/>\r
400                                                     <parameter name='lcm-dmaap.flags.mode' value='`$rollback-input.common-header.flags.mode`'/>\r
401                                                     <parameter name='lcm-dmaap.flags.force' value='`$rollback-input.common-header.flags.force`'/>\r
402                                                     <parameter name='lcm-dmaap.flags.ttl' value='`$rollback-input.common-header.flags.ttl`'/>\r
403                                                     <parameter name='lcm-dmaap.status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />\r
404                                                     <parameter name='lcm-dmaap.status.message' value='`$org.onap.appc.adapter.ansible.message`'/>\r
405                                                     <parameter name='lcm-dmaap.payload' value='`$outputPayload`'/>\r
406                                                 </set>\r
407                                             </outcome>\r
408                                         </switch>\r
409                                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
410                                             <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.lcm.dmaap.publish.templatefile`" />\r
411                                             <parameter name='restapiUrl' value='`$prop.lcm.dmaap.url`' />\r
412                                             <parameter name='restapiUser' value='`$prop.lcm.dmaap.user`' />\r
413                                             <parameter name='restapiPassword' value='`$prop.lcm.dmaap.password`' />\r
414                                             <parameter name='format' value='json' />\r
415                                             <parameter name='httpMethod' value='POST' />\r
416                                             <parameter name='contentType' value='application/json' />\r
417                                             <parameter name="responsePrefix" value="lcm" />\r
418                                             <outcome value='failure'>\r
419                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
420                                                     <parameter name="logger" value="message-log"/>\r
421                                                     <parameter name="field1" value='Failed to Publish to DMaap'/>\r
422                                                 </record>\r
423                                             </outcome>\r
424                                         </execute>\r
425                                         <switch test='`$outputPayload`'>\r
426                                             <outcome value=''>\r
427                                                 <switch test="`$org.onap.appc.adapter.ansible.result.code`">\r
428                                                     <outcome value='400'>\r
429                                                         <return status='success'>\r
430                                                             <parameter name='status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />\r
431                                                             <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`'/>\r
432                                                         </return>\r
433                                                     </outcome>\r
434                                                     <outcome value='Other'>\r
435                                                         <return status='failure'>\r
436                                                             <parameter name='status.code' value='401' />\r
437                                                             <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />\r
438                                                         </return>\r
439                                                     </outcome>\r
440                                                 </switch>\r
441                                             </outcome>\r
442                                             <outcome value='Other'>\r
443                                                 <switch test="`$org.onap.appc.adapter.ansible.result.code`">\r
444                                                     <outcome value='400'>\r
445                                                         <return status='success'>\r
446                                                             <parameter name='status.code' value='`$org.onap.appc.adapter.ansible.result.code`' />\r
447                                                             <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`'/>\r
448                                                             <parameter name='payload' value='`$outputPayload`'/>\r
449                                                         </return>\r
450                                                     </outcome>\r
451                                                     <outcome value='Other'>\r
452                                                         <return status='failure'>\r
453                                                             <parameter name='status.code' value='401' />\r
454                                                             <parameter name='status.message' value='`$org.onap.appc.adapter.ansible.message`' />\r
455                                                             <parameter name='payload' value='`$outputPayload`'/>\r
456                                                         </return>\r
457                                                     </outcome>\r
458                                                 </switch>\r
459                                             </outcome>\r
460                                         </switch>\r
461                                     </block>\r
462                                 </outcome>\r
463                             </execute>\r
464                         </outcome>\r
465                     </switch>\r
466                 </outcome>\r
467             </execute>\r
468         </block>\r
469     </method>\r
470 </service-logic>