diff options
Diffstat (limited to 'platform-logic/generic-resource-api/src/main')
2 files changed, 346 insertions, 70 deletions
diff --git a/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-vpn-delete.json b/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-vpn-delete.json index eb287749..a5a12664 100644 --- a/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-vpn-delete.json +++ b/platform-logic/generic-resource-api/src/main/json/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-vpn-delete.json @@ -1,36 +1,36 @@ [
{
- "id": "dbaa41e6.046bf",
+ "id": "fd06df59.e448b",
"type": "method",
"name": "method sdwan-vf-operation-vpn-delete",
"xml": "<method rpc='sdwan-vf-operation-vpn-delete' mode='sync'>\n",
"comments": "",
"outputs": 1,
- "x": 347.03125,
- "y": 269.99999737739563,
- "z": "4a211eac.9076a",
+ "x": 350.00390625,
+ "y": 239.99999809265137,
+ "z": "8327690.10df898",
"wires": [
[
- "2654c2fb.11dfbe"
+ "ae12552f.1b72d8"
]
]
},
{
- "id": "8578b02a.61d67",
+ "id": "a46f7aa3.12e428",
"type": "dgstart",
"name": "DGSTART",
"outputs": 1,
- "x": 147.0311279296875,
- "y": 109.99999737739563,
- "z": "4a211eac.9076a",
+ "x": 150.0037841796875,
+ "y": 79.99999809265137,
+ "z": "8327690.10df898",
"wires": [
[
- "de304501.e706b8"
+ "9d19f189.43d7e"
]
]
},
{
- "id": "de304501.e706b8",
+ "id": "9d19f189.43d7e",
"type": "service-logic",
"name": "GENERIC-RESOURCE-API ${project.version}",
"module": "GENERIC-RESOURCE-API",
@@ -38,122 +38,357 @@ "comments": "",
"xml": "<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}'>",
"outputs": 1,
- "x": 359.03113174438477,
- "y": 182.00001454353333,
- "z": "4a211eac.9076a",
+ "x": 362.00378799438477,
+ "y": 152.00001525878906,
+ "z": "8327690.10df898",
"wires": [
[
- "dbaa41e6.046bf"
+ "fd06df59.e448b"
]
]
},
{
- "id": "2654c2fb.11dfbe",
+ "id": "ae12552f.1b72d8",
"type": "block",
"name": "block : atomic",
"xml": "<block atomic=\"true\">\n",
"atomic": "false",
"comments": "",
"outputs": 1,
- "x": 517.4755821228027,
- "y": 332.4444534778595,
- "z": "4a211eac.9076a",
+ "x": 520.4482383728027,
+ "y": 302.44445419311523,
+ "z": "8327690.10df898",
"wires": [
[
- "d773525e.57dfe",
- "7dccf11a.58654",
- "f366cb35.f14868",
- "1458597e.bb0697",
- "38c53cd1.7984d4",
- "6bc9b9bd.b7c0e8",
- "a3fafa89.e43bc8"
+ "d0cf0fc7.b8968",
+ "1177accf.5897c3",
+ "75bb279f.73ef38",
+ "e0671af2.c6b2e8",
+ "6bcfa69f.78db18",
+ "bea8f0ce.d0388",
+ "d833341a.cfde68",
+ "3c85c2b4.ffe46e",
+ "f03cd2a1.4117",
+ "b2204a07.bb77f8",
+ "24f146a1.309e6a"
]
]
},
{
- "id": "d773525e.57dfe",
+ "id": "d0cf0fc7.b8968",
"type": "record",
"name": "record",
"xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"/opt/opendaylight/current/data/log/svclogic.log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"sdwan-vf-module-operation-delete\"/>\n<parameter name=\"field3\" value=\"SDWAN-Delete\"/>\n",
"comments": "",
"outputs": 1,
- "x": 792.8088531494141,
- "y": 193.3333694934845,
- "z": "4a211eac.9076a",
+ "x": 795.7815093994141,
+ "y": 163.33337020874023,
+ "z": "8327690.10df898",
"wires": [
[]
]
},
{
- "id": "7dccf11a.58654",
+ "id": "24f146a1.309e6a",
+ "type": "delete",
+ "name": "delete SDWAN VPNInstance connectivity in AAI",
+ "xml": "<delete plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" resource='sdwan-vpn' \n key='sdwan-vpn.sdwan-vpn-id = $vf-module-topology-operation-input.vf-module-information.vf-module-id'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 917.6363525390625,
+ "y": 618.0062856674194,
+ "z": "8327690.10df898",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "1177accf.5897c3",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:validate-sdwan-vf-vpn-input-parameters",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='validate-sdwan-vf-vpn-input-parameters' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1000.0039367675781,
+ "y": 102,
+ "z": "8327690.10df898",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "75bb279f.73ef38",
+ "type": "switchNode",
+ "name": "switch tmp.vidx ",
+ "xml": "<switch test=\"`$tmp.vidx`\">\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 807.00390625,
+ "y": 223.25391244888306,
+ "z": "8327690.10df898",
+ "wires": [
+ [
+ "54560087.3e39f"
+ ]
+ ]
+ },
+ {
+ "id": "54560087.3e39f",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 954.4325485229492,
+ "y": 222.82532262802124,
+ "z": "8327690.10df898",
+ "wires": [
+ [
+ "cd62dbd9.527568"
+ ]
+ ]
+ },
+ {
+ "id": "cd62dbd9.527568",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data\" />\n",
+ "comments": "",
+ "x": 1103.8612747192383,
+ "y": 223.96824026107788,
+ "z": "8327690.10df898",
+ "wires": []
+ },
+ {
+ "id": "e0671af2.c6b2e8",
+ "type": "switchNode",
+ "name": "switch vf-module-oper-status",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$tmp.vidx].vf-module-data.vf-module-level-oper-status.order-status`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 851.3020668029785,
+ "y": 293.5711178779602,
+ "z": "8327690.10df898",
+ "wires": [
+ [
+ "f0bab1bb.8e11a",
+ "752158cc.84d648"
+ ]
+ ]
+ },
+ {
+ "id": "f0bab1bb.8e11a",
+ "type": "outcome",
+ "name": "outcome PendingDelete",
+ "xml": "<outcome value='PendingDelete'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1142.1353340148926,
+ "y": 297.6822409629822,
+ "z": "8327690.10df898",
+ "wires": [
+ [
+ "969dab89.d8c088"
+ ]
+ ]
+ },
+ {
+ "id": "752158cc.84d648",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1109.1354713439941,
+ "y": 349.68229365348816,
+ "z": "8327690.10df898",
+ "wires": [
+ [
+ "270b7545.fab24a"
+ ]
+ ]
+ },
+ {
+ "id": "270b7545.fab24a",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n <parameter name=\"error-message\" value=\"`'VNF is not in appropriate state for activate. Current state is ' + $service-data.vnfs.vnf[$tmp.nidx].vnf-data.vnf-level-oper-status.order-status`\" />",
+ "comments": "",
+ "x": 1268.635238647461,
+ "y": 352.68229269981384,
+ "z": "8327690.10df898",
+ "wires": []
+ },
+ {
+ "id": "969dab89.d8c088",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1339.4417343139648,
+ "y": 308.0073952674866,
+ "z": "8327690.10df898",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "b2204a07.bb77f8",
"type": "returnSuccess",
"name": "return success",
"xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n",
"comments": "",
- "x": 806.586784362793,
- "y": 504.9796769618988,
- "z": "4a211eac.9076a",
+ "x": 810.413330078125,
+ "y": 679.459981918335,
+ "z": "8327690.10df898",
"wires": []
},
{
- "id": "1458597e.bb0697",
+ "id": "6bcfa69f.78db18",
"type": "set",
- "name": "set new vpn-vf length",
- "xml": "<set>\n\t<parameter name=\"service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length - 1`\"/>\n",
+ "name": "set prop.vnfNewidx",
+ "xml": "<set>\n<parameter name='prop.vnfidxLen' value='`0`' />\n",
"comments": "",
- "x": 836.1082077026367,
- "y": 318.89519906044006,
- "z": "4a211eac.9076a",
+ "x": 829.4999313354492,
+ "y": 364.5712866783142,
+ "z": "8327690.10df898",
"wires": []
},
{
- "id": "f366cb35.f14868",
+ "id": "bea8f0ce.d0388",
+ "type": "for",
+ "name": "for lidx..service-data.vf-modules.vf-module[]",
+ "xml": "<for index='lidx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 905.4998512268066,
+ "y": 418.57116174697876,
+ "z": "8327690.10df898",
+ "wires": [
+ [
+ "aedffdd.ac084"
+ ]
+ ]
+ },
+ {
+ "id": "d833341a.cfde68",
"type": "set",
- "name": "Remove networks from ServiceData",
- "xml": "<set>\n\t<parameter name=\"service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$tmp.nidx].\" value=\"\"/>\n\n",
+ "name": "set new vf-module length",
+ "xml": "<set>\n\t<parameter name=\"service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length\" value='`$prop.vnfidxLen`'/>\n\n\t\n",
"comments": "",
- "x": 876.732364654541,
- "y": 366.8631408214569,
- "z": "4a211eac.9076a",
+ "x": 853.6012229919434,
+ "y": 465.3753876686096,
+ "z": "8327690.10df898",
"wires": []
},
{
- "id": "a3fafa89.e43bc8",
- "type": "delete",
- "name": "delete SDWAN VPNInstance connectivity in AAI",
- "xml": "<delete plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" resource='sdwan-vpn' \n key='sdwan-vpn.sdwan-vpn-id = $vf-module-topology-operation-input.vf-module-information.vf-module-id'>\n",
+ "id": "3c85c2b4.ffe46e",
+ "type": "set",
+ "name": "Remove vnf from ServiceData",
+ "xml": "<set>\n\t<parameter name=\"service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$prop.vnfidxLen].\" value=\"\"/>\n",
"comments": "",
+ "x": 874.4998588562012,
+ "y": 570.5712801218033,
+ "z": "8327690.10df898",
+ "wires": []
+ },
+ {
+ "id": "aedffdd.ac084",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
"outputs": 1,
- "x": 914.6637077331543,
- "y": 260.00628304481506,
- "z": "4a211eac.9076a",
+ "x": 1165.4998416900635,
+ "y": 425.57102155685425,
+ "z": "8327690.10df898",
"wires": [
- []
+ [
+ "206f222a.5e1fde"
+ ]
]
},
{
- "id": "38c53cd1.7984d4",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:validate-sdwan-vf-vpn-input-parameters",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='validate-sdwan-vf-vpn-input-parameters' mode='sync' >\n",
+ "id": "206f222a.5e1fde",
+ "type": "switchNode",
+ "name": "switch vf-module-id found",
+ "xml": "<switch test=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$lidx].vf-module-data.vf-module-information.vf-module-id == $vf-module-topology-operation-input.vf-module-information.vf-module-id`\">\n",
"comments": "",
"outputs": 1,
- "x": 997.0312805175781,
- "y": 131.99999928474426,
- "z": "4a211eac.9076a",
+ "x": 1360.4999084472656,
+ "y": 424.5711736679077,
+ "z": "8327690.10df898",
"wires": [
- []
+ [
+ "45b26eb8.7bd4e"
+ ]
+ ]
+ },
+ {
+ "id": "45b26eb8.7bd4e",
+ "type": "outcomeFalse",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1538.499942779541,
+ "y": 418.57105827331543,
+ "z": "8327690.10df898",
+ "wires": [
+ [
+ "8540afc1.b6629"
+ ]
+ ]
+ },
+ {
+ "id": "8540afc1.b6629",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1674.4997549057007,
+ "y": 416.57102060317993,
+ "z": "8327690.10df898",
+ "wires": [
+ [
+ "73486d68.025024",
+ "d3ec464b.f61398"
+ ]
]
},
{
- "id": "6bc9b9bd.b7c0e8",
+ "id": "73486d68.025024",
+ "type": "set",
+ "name": "set vnf data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$prop.vnfidxLen].vnf-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[lidx].vf-module-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$prop.vnfidxLen].vnf-data.' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[lidx].vf-module-data.`' />\n",
+ "comments": "",
+ "x": 1839.4998502731323,
+ "y": 391.5711760520935,
+ "z": "8327690.10df898",
+ "wires": []
+ },
+ {
+ "id": "d3ec464b.f61398",
+ "type": "set",
+ "name": "set prop.vnfNewidx",
+ "xml": "<set>\n<parameter name='prop.vnfidxLen' value='`$prop.vnfidxLen + 1`' />\n",
+ "comments": "",
+ "x": 1861.4998502731323,
+ "y": 447.5711398124695,
+ "z": "8327690.10df898",
+ "wires": []
+ },
+ {
+ "id": "f03cd2a1.4117",
"type": "set",
"name": "set vf-module-object-path",
"xml": "<set>\n<parameter name='vf-module-object-path' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vf-module-topology-operation-input.service-information.service-instance-id\n + '/service-data/vnfs/vnf/'\n + $service-data.vnfs.vnf[$vnf-index].vnf-id\n + '/vnf-data/vf-modules/vf-module/'\n + $vf-module-topology-operation-input.vf-module-information.vf-module-id\n + '/vf-module-data/vf-module-topology/'`\"/>\n<parameter name='vnf-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vf-module-topology-operation-input.service-information.service-instance-id\n + '/service-data/vnfs/vnf/'\n + $service-data.vnfs.vnf[$vnf-index].vnf-id\n + '/vnf-data/vnf-topology/'`\"/>\n<parameter name='service-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vf-module-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'`\"/>\n",
"comments": "",
- "x": 845.0000305175781,
- "y": 431.00001335144043,
- "z": "4a211eac.9076a",
+ "x": 857.3021049499512,
+ "y": 511.90447902679443,
+ "z": "8327690.10df898",
"wires": []
}
]
\ No newline at end of file diff --git a/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-vpn-delete.xml b/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-vpn-delete.xml index 8b95c4cc..5ddf41f1 100644 --- a/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-vpn-delete.xml +++ b/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-operation-vpn-delete.xml @@ -10,13 +10,49 @@ <parameter name="field2" value="sdwan-vf-module-operation-delete"/>
<parameter name="field3" value="SDWAN-Delete"/>
</record>
- <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource='sdwan-vpn'
- key='sdwan-vpn.sdwan-vpn-id = $vf-module-topology-operation-input.vf-module-information.vf-module-id'></delete>
+ <switch test="`$tmp.vidx`">
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data" />
+ </return>
+ </outcome>
+ </switch>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$tmp.vidx].vf-module-data.vf-module-level-oper-status.order-status`'>
+ <outcome value='PendingDelete'>
+ <block atomic="true"></block>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'VNF is not in appropriate state for activate. Current state is ' + $service-data.vnfs.vnf[$tmp.nidx].vnf-data.vnf-level-oper-status.order-status`" />
+ </return>
+ </outcome>
+ </switch>
<set>
- <parameter name="service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length - 1`"/>
+ <parameter name='prop.vnfidxLen' value='`0`' />
</set>
+ <for index='lidx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' >
+ <block atomic="true">
+ <switch test="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$lidx].vf-module-data.vf-module-information.vf-module-id == $vf-module-topology-operation-input.vf-module-information.vf-module-id`">
+ <outcome value='false'>
+ <block atomic="true">
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$prop.vnfidxLen].vnf-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[lidx].vf-module-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$prop.vnfidxLen].vnf-data.' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[lidx].vf-module-data.`' />
+ </set>
+ <set>
+ <parameter name='prop.vnfidxLen' value='`$prop.vnfidxLen + 1`' />
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </for>
<set>
- <parameter name="service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$tmp.nidx]." value=""/>
+ <parameter name="service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length" value='`$prop.vnfidxLen`'/>
</set>
<set>
<parameter name='vf-module-object-path' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
@@ -37,6 +73,11 @@ + $vf-module-topology-operation-input.service-information.service-instance-id
+ '/service-data/service-topology/'`"/>
</set>
+ <set>
+ <parameter name="service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$prop.vnfidxLen]." value=""/>
+ </set>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource='sdwan-vpn'
+ key='sdwan-vpn.sdwan-vpn-id = $vf-module-topology-operation-input.vf-module-information.vf-module-id'></delete>
<return status='success'>
<parameter name="ack-final-indicator" value="Y" />
<parameter name="error-code" value="200" />
|