Merge "Support playbook-name in payload of PNF S/W upgrade LCM API's request"
[sdnc/oam.git] / platform-logic / lcm / src / main / xml / LCM_config-scale-out.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='config-scale-out' mode='sync'>\r
5         <block>\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 LCM DG' />\r
13             </set>\r
14             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='jsonStringToCtx'>\r
15                 <parameter name='source' value='config-scale-out-input.payload' />\r
16                 <parameter name='outputPath' value='payloadJson' />\r
17                 <parameter name='isEscaped' value='true' />\r
18                 <outcome value='success'>\r
19                     <record plugin='org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder'>\r
20                         <parameter name='logger' value='message-log'/>\r
21                         <parameter name='field1' value='`$payloadJson.request-parameters.host-ip-address`'/>\r
22                         <parameter name='field2' value='`$payloadJson.configuration-parameters.ip-addr`'/>\r
23                     </record>\r
24                 </outcome>\r
25             </execute>\r
26             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
27                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.lcm.restconf.configscaleout.templatefile`" />\r
28                 <parameter name='restapiUrl' value="`'http://' + $payloadJson.request-parameters.host-ip-address + ':' + $prop.lcm.restconf.port + $prop.lcm.restconf.configscaleout.urlpath  + $payloadJson.configuration-parameters.ip-addr`" />\r
29                 <parameter name='restapiUser' value='`$prop.lcm.restconf.configscaleout.user`' />\r
30                 <parameter name='restapiPassword' value='`$prop.lcm.restconf.configscaleout.password`' />\r
31                 <parameter name='format' value='json' />\r
32                 <parameter name='httpMethod' value='PUT' />\r
33                 <parameter name='contentType' value='application/json' />\r
34                 <parameter name="responsePrefix" value="restconf" />\r
35                 <outcome value='failure'>\r
36                     <block>\r
37                         <set>\r
38                             <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>\r
39                             <parameter name='lcm-dmaap.correlation-id' value="`$config-scale-out-input.common-header.request-id + '-' + $config-scale-out-input.common-header.sub-request-id`"/>\r
40                             <parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>\r
41                             <parameter name='lcm-dmaap.rpc-name' value='config-scale-out'/>\r
42                             <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>\r
43                             <parameter name='lcm-dmaap.timestamp' value='`$config-scale-out-input.common-header.timestamp`'/>\r
44                             <parameter name='lcm-dmaap.api-ver' value='`$config-scale-out-input.common-header.api-ver`'/>\r
45                             <parameter name='lcm-dmaap.originator-id' value='`$config-scale-out-input.common-header.originator-id`'/>\r
46                             <parameter name='lcm-dmaap.request-id' value='`$config-scale-out-input.common-header.request-id`'/>\r
47                             <parameter name='lcm-dmaap.sub-request-id' value='`$config-scaleout-input.common-header.sub-request-id`'/>\r
48                             <parameter name='lcm-dmaap.flags.mode' value='`$config-scale-out-input.common-header.flags.mode`'/>\r
49                             <parameter name='lcm-dmaap.flags.force' value='`$config-scale-out-input.common-header.flags.force`'/>\r
50                             <parameter name='lcm-dmaap.flags.ttl' value='`$config-scale-out-input.common-header.flags.ttl`'/>\r
51                             <parameter name='lcm-dmaap.status.code' value='401' />\r
52                             <parameter name='lcm-dmaap.status.message' value="`'DG-Failure '  + $restconf.response-message + ' RestConf ResponseCode=' + $restconf.response-code`"/>\r
53                         </set>\r
54                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
55                             <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.lcm.dmaap.publish.templatefile`" />\r
56                             <parameter name='restapiUrl' value='`$prop.lcm.dmaap.url`' />\r
57                             <parameter name='restapiUser' value='`$prop.lcm.dmaap.user`' />\r
58                             <parameter name='restapiPassword' value='`$prop.lcm.dmaap.password`' />\r
59                             <parameter name='format' value='json' />\r
60                             <parameter name='httpMethod' value='POST' />\r
61                             <parameter name='contentType' value='application/json' />\r
62                             <parameter name='responsePrefix' value='dmaap' />\r
63                             <outcome value='failure'>\r
64                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
65                                     <parameter name="logger" value="message-log"/>\r
66                                     <parameter name="field1" value='Failed to Publish to DMaap'/>\r
67                                 </record>\r
68                             </outcome>\r
69                         </execute>\r
70                         <return status='failure'>\r
71                             <parameter name='status.code' value= '`$lcm-dmaap.status.code`'/>\r
72                             <parameter name='status.message' value='`$lcm-dmaap.status.message`' />\r
73                         </return>\r
74                     </block>\r
75                 </outcome>\r
76                 <outcome value='success'>\r
77                     <block>\r
78                         <set>\r
79                             <parameter name='lcm-dmaap.version' value='`$prop.lcm.dmaap.version`'/>\r
80                             <parameter name='lcm-dmaap.correlation-id' value="`$config-scale-out-input.common-header.request-id + '-' + $upgrade-software-input.common-header.sub-request-id`"/>\r
81                             <parameter name='lcm-dmaap.partition' value='`$prop.lcm.dmaap.partition`'/>\r
82                             <parameter name='lcm-dmaap.rpc-name' value='config-scale-out'/>\r
83                             <parameter name='lcm-dmaap.type' value='`$prop.lcm.dmaap.type`'/>\r
84                             <parameter name='lcm-dmaap.timestamp' value='`$config-scale-out-input.common-header.timestamp`'/>\r
85                             <parameter name='lcm-dmaap.api-ver' value='`$config-scaleout-input.common-header.api-ver`'/>\r
86                             <parameter name='lcm-dmaap.originator-id' value='`$config-scale-out-input.common-header.originator-id`'/>\r
87                             <parameter name='lcm-dmaap.request-id' value='`$config-scale-out-input.common-header.request-id`'/>\r
88                             <parameter name='lcm-dmaap.sub-request-id' value='`$config-scale-out-input.common-header.sub-request-id`'/>\r
89                             <parameter name='lcm-dmaap.flags.mode' value='`$config-scale-out-input.common-header.flags.mode`'/>\r
90                             <parameter name='lcm-dmaap.flags.force' value='`$config-scale-out-input.common-header.flags.force`'/>\r
91                             <parameter name='lcm-dmaap.flags.ttl' value='`$config-scale-out-input.common-header.flags.ttl`'/>\r
92                             <parameter name='lcm-dmaap.status.code' value='`$restconf.response-code`' />\r
93                             <parameter name='lcm-dmaap.status.message' value='`$restconf.response-message`'/>\r
94                         </set>\r
95                         <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
96                             <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.lcm.dmaap.publish.templatefile`" />\r
97                             <parameter name='restapiUrl' value='`$prop.lcm.dmaap.url`' />\r
98                             <parameter name='restapiUser' value='`$prop.lcm.dmaap.user`' />\r
99                             <parameter name='restapiPassword' value='`$prop.lcm.dmaap.password`' />\r
100                             <parameter name='format' value='json' />\r
101                             <parameter name='httpMethod' value='POST' />\r
102                             <parameter name='contentType' value='application/json' />\r
103                             <parameter name='responsePrefix' value='dmaap' />\r
104                             <outcome value='failure'>\r
105                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
106                                     <parameter name="logger" value="message-log"/>\r
107                                     <parameter name="field1" value='Failed to Publish to DMaap'/>\r
108                                 </record>\r
109                             </outcome>\r
110                         </execute>\r
111                         <return status='success'>\r
112                             <parameter name='status.code' value='`$restconf.response-code`' />\r
113                             <parameter name='status.message' value='`$restconf.response-message`' />\r
114                         </return>\r
115                     </block>\r
116                 </outcome>\r
117             </execute>\r
118         </block>\r
119     </method>\r
120 </service-logic>