diff options
author | Dan Timoney <dtimoney@att.com> | 2020-01-22 13:50:12 -0500 |
---|---|---|
committer | Dan Timoney <dtimoney@att.com> | 2020-01-22 13:50:12 -0500 |
commit | 4edbd78ff9702413e5df99e9921b1e46fff0d602 (patch) | |
tree | 7f4b3f87bc2e3e24d47db013eaeb13880861cc71 /platform-logic/generic-resource-api/src/main | |
parent | 4675317e8a55b431671db4886b53a104fb731ac2 (diff) |
Carry forward GRA async fixes
Carry forward fixes to GENERIC-RESOURCE-API async flow made late
in El Alto to Frankfurt. It appears that some changes were
not cherry picked, so fixing that by submitting the final El Alto
version of the impacted directed graphs.
Change-Id: I518328669124a393383ef65988a5313632e8634e
Issue-ID: SDNC-1017
Signed-off-by: Dan Timoney <dtimoney@att.com>
Former-commit-id: 9b57e7af120f38f716bc5a8526dfd32cec4a87fa
Diffstat (limited to 'platform-logic/generic-resource-api/src/main')
12 files changed, 31032 insertions, 16231 deletions
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-assign-async.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-assign-async.json new file mode 100644 index 00000000..3d4b8bdc --- /dev/null +++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-assign-async.json @@ -0,0 +1,7286 @@ +[
+ {
+ "id": "47ef00b1.749c8",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 195,
+ "y": 102.5242919921875,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "4efb4066.e4139"
+ ]
+ ]
+ },
+ {
+ "id": "4efb4066.e4139",
+ "type": "service-logic",
+ "name": "GENERIC-RESOURCE-API ${project.version}",
+ "module": "GENERIC-RESOURCE-API",
+ "version": "${project.version}",
+ "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": 308.8571357727051,
+ "y": 142.33382987976074,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "3089d18d.9d8e36"
+ ]
+ ]
+ },
+ {
+ "id": "3089d18d.9d8e36",
+ "type": "method",
+ "name": "method vf-module-topology-operation-assign-async",
+ "xml": "<method rpc='vf-module-topology-operation-assign-async' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 308.42862701416016,
+ "y": 182.5242919921875,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "effbab1c.8eeb18"
+ ]
+ ]
+ },
+ {
+ "id": "ddba88b.d2daa78",
+ "type": "comment",
+ "name": "vf-module-topology-operation-assign-async",
+ "info": "",
+ "comments": "",
+ "x": 549.0711059570312,
+ "y": 21,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "13d1edde.2c3cc2",
+ "type": "switchNode",
+ "name": "switch request-action",
+ "xml": "<switch test='`$vf-module-topology-operation-input.request-information.request-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 600.1905212402344,
+ "y": 455.5480899810791,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "d09a1f6d.c339a8",
+ "ae721e71.bc28f8"
+ ]
+ ]
+ },
+ {
+ "id": "d09a1f6d.c339a8",
+ "type": "outcome",
+ "name": "CreateVfModuleInstance",
+ "xml": "<outcome value='CreateVfModuleInstance'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 870.9881591796875,
+ "y": 423.9409656524658,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "163e3c12.686c64"
+ ]
+ ]
+ },
+ {
+ "id": "ae721e71.bc28f8",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 805.9047813415527,
+ "y": 488.0719690322876,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b097fd2d.1c3e2"
+ ]
+ ]
+ },
+ {
+ "id": "163e3c12.686c64",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1060.845323562622,
+ "y": 423.94099712371826,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "356786ed.1c1db2",
+ "type": "get-resource",
+ "name": "get-resource VF_MODULE_MODEL",
+ "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VF_MODULE_MODEL WHERE customization_uuid = $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid'\n pfx='db.vf-module-model'>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 647.5237884521484,
+ "y": 556.6910438537598,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "3e27e49d.23f3f4",
+ "80af5787.882358"
+ ]
+ ]
+ },
+ {
+ "id": "3e27e49d.23f3f4",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 913.3094787597656,
+ "y": 537.0718746185303,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "2b23f970.b0e516"
+ ]
+ ]
+ },
+ {
+ "id": "80af5787.882358",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 921.8809089660645,
+ "y": 581.357587814331,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "19ca61b5.8fa5c6"
+ ]
+ ]
+ },
+ {
+ "id": "f269ddb2.03ac18",
+ "type": "switchNode",
+ "name": "switch service-data.vnfs.vnf_length",
+ "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 641.3690414428711,
+ "y": 734.0124034881592,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b91f6edf.e66fa",
+ "de858ec5.7b807"
+ ]
+ ]
+ },
+ {
+ "id": "b91f6edf.e66fa",
+ "type": "other",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 882.0833129882812,
+ "y": 710.155143737793,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "57fdbbee.7122f4"
+ ]
+ ]
+ },
+ {
+ "id": "de858ec5.7b807",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 881.8451538085938,
+ "y": 752.1076622009277,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b90f80a9.a4803"
+ ]
+ ]
+ },
+ {
+ "id": "b2cbded2.837b2",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 239.9404296875,
+ "y": 3171.9293028116226,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "a43d883.25c17f8",
+ "a0b91b46.4fb248",
+ "cb9c99a0.7906c",
+ "734ae3c5.175e1c",
+ "d02c5f14.3d4ee",
+ "97b7d623.89325",
+ "925699fb.c3532",
+ "500b7c10.330fb4",
+ "e5d088d4.d1279",
+ "9f6faea5.1876d",
+ "b6b2184e.def9e",
+ "6c341ffe.ffd948",
+ "602e0129.20af78",
+ "f312e38d.47c19",
+ "c5f1094.89d7678",
+ "bdd166c5.9655d",
+ "3326bf0a.c858a",
+ "eada7f38.32c088",
+ "8aa4893.5435478",
+ "40d2ead1.29e2d4",
+ "205882d9.0b5ba6",
+ "e9f0935c.0d26e",
+ "cf288013.27e988",
+ "50d2cea2.bb528",
+ "886b51f6.cb8c8",
+ "14aa8b5.d6278f5",
+ "4b70bca8.2d04e4",
+ "d4b60897.e18598",
+ "fcdfebce.a935a8",
+ "84fdd3bf.927fd",
+ "9f112544.7f8a58",
+ "5b817e7f.0206",
+ "a1c5d05.89a983",
+ "7e168e6e.8d02f8",
+ "c1894905.cb3d58",
+ "7badb381.1fbf0c",
+ "2d6c7dfc.640b9a"
+ ]
+ ]
+ },
+ {
+ "id": "b90f80a9.a4803",
+ "type": "for",
+ "name": "for each vnf",
+ "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1044.0832977294922,
+ "y": 751.7742805480957,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "f126a52f.3ffd6"
+ ]
+ ]
+ },
+ {
+ "id": "f126a52f.3ffd6",
+ "type": "switchNode",
+ "name": "switch service data vnf == input vnf",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$idx].vnf-id == $vf-module-topology-operation-input.vnf-information.vnf-id`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1295.4165954589844,
+ "y": 751.4410085678101,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "9db43827.db871"
+ ]
+ ]
+ },
+ {
+ "id": "9db43827.db871",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1525.4166069030762,
+ "y": 750.7743215560913,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "c01d11b0.35cf18"
+ ]
+ ]
+ },
+ {
+ "id": "527b3c86.073724",
+ "type": "set",
+ "name": "set vnf-index to -1",
+ "xml": "<set>\n<parameter name='vnf-index' value='-1' />\n",
+ "comments": "",
+ "x": 590.4166641235352,
+ "y": 665.4409027099609,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "c592a9bb.2acb88",
+ "type": "set",
+ "name": "set vnf-index to idx",
+ "xml": "<set>\n<parameter name='vnf-index' value='`$idx`' />\n",
+ "comments": "",
+ "x": 1847.0832443237305,
+ "y": 721.7742795944214,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "aca51e3b.78a188",
+ "type": "switchNode",
+ "name": "switch vnf-index",
+ "xml": "<switch test='`$vnf-index`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 579.1666870117188,
+ "y": 817.6075925827026,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "cb668766.b21a98"
+ ]
+ ]
+ },
+ {
+ "id": "cb668766.b21a98",
+ "type": "outcome",
+ "name": "-1",
+ "xml": "<outcome value='-1'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 757.500072479248,
+ "y": 816.9409685134888,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "a0d2ddbe.4ce55"
+ ]
+ ]
+ },
+ {
+ "id": "a43d883.25c17f8",
+ "type": "switchNode",
+ "name": "switch vf-module_length",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 617.0833854675293,
+ "y": 1388.3577966690063,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "8981146c.cb942",
+ "fcfff00d.49938"
+ ]
+ ]
+ },
+ {
+ "id": "8981146c.cb942",
+ "type": "other",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 874.4643402099609,
+ "y": 1355.5005702972412,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "3dbed402.1d6ef4"
+ ]
+ ]
+ },
+ {
+ "id": "3dbed402.1d6ef4",
+ "type": "set",
+ "name": "set vf-module-index=0",
+ "xml": "<set>\n<parameter name='vf-module-index' value='0' />\n",
+ "comments": "",
+ "x": 1062.0833778381348,
+ "y": 1356.167345046997,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "fcfff00d.49938",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 874.8928833007812,
+ "y": 1419.786428451538,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "7565eb2b.4c1ff4"
+ ]
+ ]
+ },
+ {
+ "id": "c0b8cef7.d83a68",
+ "type": "set",
+ "name": "set vf-module-index = vf-module_length",
+ "xml": "<set>\n<parameter name='vf-module-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' />\n",
+ "comments": "",
+ "x": 1260.083423614502,
+ "y": 1399.9768238067627,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "baf65dc8.0e8fb8",
+ "type": "for",
+ "name": "for each existing VF module",
+ "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1219.1785163879395,
+ "y": 1444.0720539093018,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "c8acfe74.080af8"
+ ]
+ ]
+ },
+ {
+ "id": "7565eb2b.4c1ff4",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1011.6071624755859,
+ "y": 1419.7863540649414,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "c0b8cef7.d83a68",
+ "baf65dc8.0e8fb8"
+ ]
+ ]
+ },
+ {
+ "id": "c8acfe74.080af8",
+ "type": "switchNode",
+ "name": "switch vf-module-information.vf-module-id == service-data.vnfs.vnf[].vf-modules.vf-module[].vf-module-id",
+ "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-information.vf-module-id == $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1722.7976188659668,
+ "y": 1443.6434650421143,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "e7c1d7a5.ea41f"
+ ]
+ ]
+ },
+ {
+ "id": "e7c1d7a5.ea41f",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2165.4166679382324,
+ "y": 1443.214916229248,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "bdb7e590.4bbf98"
+ ]
+ ]
+ },
+ {
+ "id": "d2392dfe.c660f",
+ "type": "comment",
+ "name": "make sure this VF module doesn't exist already",
+ "info": "",
+ "comments": "",
+ "x": 1749.2499656677246,
+ "y": 1398.270956993103,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "a0b91b46.4fb248",
+ "type": "set",
+ "name": "set new vf-module_length",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length' value='`$vf-module-index + 1`' />\n",
+ "comments": "",
+ "x": 627.7499656677246,
+ "y": 1499.3576517105103,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "cb9c99a0.7906c",
+ "type": "set",
+ "name": "set vf-module-topology data",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-id' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />\n<parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name' value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`' />\n<parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-type' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-type`' />\n<parameter name='tmp.vf-module-topology.tenant' value='`$vf-module-topology-operation-input.vf-module-request-input.tenant`' />\n<parameter name='tmp.vf-module-topology.aic-cloud-region' value='`$vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`' />\n",
+ "comments": "",
+ "x": 634.2499847412109,
+ "y": 1611.8577585220337,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "ee8323c4.89df98",
+ "type": "set",
+ "name": "set aic-clli",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.aic-clli'\n value='`$aai-uid-split[$aai-uid-split_length - 1]`' />\n",
+ "comments": "",
+ "x": 1395.2022438049316,
+ "y": 1771.095685005188,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "734ae3c5.175e1c",
+ "type": "switchNode",
+ "name": "switch aic-clli",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.aic-clli`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 594.2499046325684,
+ "y": 1885.0480251312256,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "a5088391.cb913"
+ ]
+ ]
+ },
+ {
+ "id": "a5088391.cb913",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 739.5355949401855,
+ "y": 1885.0480937957764,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "2b8167ac.ee8e3"
+ ]
+ ]
+ },
+ {
+ "id": "d02c5f14.3d4ee",
+ "type": "get-resource",
+ "name": "get-resource cloud region",
+ "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"cloud-region\" \n\t\tkey=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND \n\t\t cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\"\n pfx='aai.cloud-region' local-only='false' >\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 633.107120513916,
+ "y": 1685.1912965774536,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "afc6e33.fafafa",
+ "60ebcdb7.264a0c"
+ ]
+ ]
+ },
+ {
+ "id": "60ebcdb7.264a0c",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 847.3533134460449,
+ "y": 1703.34215259552,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "71cefe31.79b508"
+ ]
+ ]
+ },
+ {
+ "id": "afc6e33.fafafa",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 856.281909942627,
+ "y": 1660.6278858184814,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "e750571d.ca626"
+ ]
+ ]
+ },
+ {
+ "id": "c01d11b0.35cf18",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1673.7500686645508,
+ "y": 749.6940202713013,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "c592a9bb.2acb88",
+ "9ce31ee0.52ab58"
+ ]
+ ]
+ },
+ {
+ "id": "9ce31ee0.52ab58",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 1808.7500343322754,
+ "y": 771.3606061935425,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "c55eb946.3ed8e8",
+ "type": "set",
+ "name": "set from DB",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'\n value='`$db.vf-module-model.invariant-uuid`' />\n",
+ "comments": "",
+ "x": 1008.5832443237305,
+ "y": 1926.4440183639526,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "97b7d623.89325",
+ "type": "switchNode",
+ "name": "switch input model-invariant-uuid",
+ "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 652.4403190612793,
+ "y": 1949.2684621810913,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "ef2c9ecf.3ea71",
+ "6560f94f.b870d8"
+ ]
+ ]
+ },
+ {
+ "id": "ef2c9ecf.3ea71",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 858.106990814209,
+ "y": 1926.4114255905151,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "c55eb946.3ed8e8"
+ ]
+ ]
+ },
+ {
+ "id": "6560f94f.b870d8",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 859.535587310791,
+ "y": 1970.6970167160034,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "3ee20fc0.bf22f"
+ ]
+ ]
+ },
+ {
+ "id": "3ee20fc0.bf22f",
+ "type": "set",
+ "name": "set from input",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'\n value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`' />\n",
+ "comments": "",
+ "x": 1013.8213233947754,
+ "y": 1970.1255888938904,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "3108a061.0ec8f",
+ "type": "set",
+ "name": "set from DB",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'\n value='`$db.vf-module-model.uuid`' />\n",
+ "comments": "",
+ "x": 1009.535514831543,
+ "y": 2014.9826946258545,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "925699fb.c3532",
+ "type": "switchNode",
+ "name": "switch input model-uuid",
+ "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 625.0593376159668,
+ "y": 2037.8071994781494,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "935ab6e4.246cd",
+ "110bf82.0172d08"
+ ]
+ ]
+ },
+ {
+ "id": "935ab6e4.246cd",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 859.0593109130859,
+ "y": 2014.9501314163208,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "3108a061.0ec8f"
+ ]
+ ]
+ },
+ {
+ "id": "110bf82.0172d08",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 860.487907409668,
+ "y": 2059.235722541809,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "f5fdcdbb.a51fc8"
+ ]
+ ]
+ },
+ {
+ "id": "f5fdcdbb.a51fc8",
+ "type": "set",
+ "name": "set from input",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'\n value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`' />\n",
+ "comments": "",
+ "x": 1014.7736434936523,
+ "y": 2058.664294719696,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "3414be68.250f22",
+ "type": "set",
+ "name": "set from DB",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-version'\n value='`$db.vf-module-model.version`' />\n",
+ "comments": "",
+ "x": 1006.6784477233887,
+ "y": 2103.8399019241333,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "500b7c10.330fb4",
+ "type": "switchNode",
+ "name": "switch input model-version",
+ "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 633.2022094726562,
+ "y": 2126.6643466949463,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "2d96bcee.a98f2c",
+ "d50c8bc4.769118"
+ ]
+ ]
+ },
+ {
+ "id": "2d96bcee.a98f2c",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 856.2021942138672,
+ "y": 2103.807309150696,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "3414be68.250f22"
+ ]
+ ]
+ },
+ {
+ "id": "d50c8bc4.769118",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 857.6307907104492,
+ "y": 2148.092900276184,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "f4ecdb0.7ccf3a8"
+ ]
+ ]
+ },
+ {
+ "id": "f4ecdb0.7ccf3a8",
+ "type": "set",
+ "name": "set from input",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-version'\n value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`' />\n",
+ "comments": "",
+ "x": 1011.9165267944336,
+ "y": 2147.521472454071,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "1c1e9347.9ae5dd",
+ "type": "set",
+ "name": "set from DB",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-name'\n value='`$db.vf-module-model.name`' />\n",
+ "comments": "",
+ "x": 1006.6784477233887,
+ "y": 2190.9827241897583,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "e5d088d4.d1279",
+ "type": "switchNode",
+ "name": "switch input model-name",
+ "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 628.2022094726562,
+ "y": 2213.8071689605713,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "f63d99eb.7ea558",
+ "a3370d33.87d5d"
+ ]
+ ]
+ },
+ {
+ "id": "f63d99eb.7ea558",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 856.2021942138672,
+ "y": 2190.950131416321,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "1c1e9347.9ae5dd"
+ ]
+ ]
+ },
+ {
+ "id": "a3370d33.87d5d",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 857.6307907104492,
+ "y": 2235.235722541809,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b62b5297.640c38"
+ ]
+ ]
+ },
+ {
+ "id": "b62b5297.640c38",
+ "type": "set",
+ "name": "set from input",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-name'\n value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`' />\n",
+ "comments": "",
+ "x": 1011.9165267944336,
+ "y": 2234.664294719696,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "9f6faea5.1876d",
+ "type": "set",
+ "name": "set model-customization-uuid",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-customization-uuid'\n value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`' />\n",
+ "comments": "",
+ "x": 642.6545448303223,
+ "y": 2286.3161582946777,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "b6b2184e.def9e",
+ "type": "set",
+ "name": "set vf-module-id",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id'\n value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />\n",
+ "comments": "",
+ "x": 595.8451919555664,
+ "y": 1555.0393342971802,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "6c341ffe.ffd948",
+ "type": "for",
+ "name": "for each cloud-region relationship",
+ "xml": "<for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 655.3609352111816,
+ "y": 1773.697979927063,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "c0518e57.620ee8"
+ ]
+ ]
+ },
+ {
+ "id": "c0518e57.620ee8",
+ "type": "switchNode",
+ "name": "switch related-to",
+ "xml": "<switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 903.039478302002,
+ "y": 1773.4479093551636,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "541c6720.7cffe8"
+ ]
+ ]
+ },
+ {
+ "id": "541c6720.7cffe8",
+ "type": "outcome",
+ "name": "complex",
+ "xml": "<outcome value='complex'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1072.5037994384766,
+ "y": 1772.8407316207886,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "de4075f3.bc9ec"
+ ]
+ ]
+ },
+ {
+ "id": "bfd35321.fbdcc",
+ "type": "execute",
+ "name": "split related-link",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\n <parameter name='ctx_memory_result_key' value='aai-uid-split' />\n <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />\n <parameter name='regex' value='/' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1412.5989570617676,
+ "y": 1727.2693071365356,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "de4075f3.bc9ec",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1232.2656593322754,
+ "y": 1773.936095237732,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "bfd35321.fbdcc",
+ "b03a09c0.4474b8",
+ "ee8323c4.89df98"
+ ]
+ ]
+ },
+ {
+ "id": "b03a09c0.4474b8",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 1382.2656211853027,
+ "y": 1817.2693920135498,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "d583179d.999f08",
+ "type": "execute",
+ "name": "execute PropertiesNode",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 614.0476226806641,
+ "y": 212.04809951782227,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "8aa4893.5435478",
+ "type": "set",
+ "name": "set order-status to PendingCreate",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'\n value='PendingCreate' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'\n value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'\n value='`$vf-module-topology-operation-input.sdnc-request-header.request-action`' />\n",
+ "comments": "",
+ "x": 540.5122909545898,
+ "y": 7382.904582977295,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "40d2ead1.29e2d4",
+ "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": 484.01214599609375,
+ "y": 8147.951934337616,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "eada7f38.32c088",
+ "type": "set",
+ "name": "copy input data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.sdnc-request-header.'\n value='$vf-module-topology-operation-input.sdnc-request-header.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.request-information.'\n value='$vf-module-topology-operation-input.request-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.service-information.'\n value='$vf-module-topology-operation-input.service-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vnf-information.'\n value='$vf-module-topology-operation-input.vnf-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.'\n value='$vf-module-topology-operation-input.vf-module-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.'\n value='$vf-module-topology-operation-input.vf-module-request-input.' />\n\n",
+ "comments": "",
+ "x": 472.6192321777344,
+ "y": 7239.253315925598,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "3326bf0a.c858a",
+ "type": "set",
+ "name": "copy vf-module-topology data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.' value='tmp.vf-module-topology.' />\n",
+ "comments": "",
+ "x": 527.5002517700195,
+ "y": 7186.038250923157,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "f312e38d.47c19",
+ "type": "save",
+ "name": "update vf-module",
+ "xml": "<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vf-module\"\n key=\"vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id\n AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"vf-module-name\" value=\"`$tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name`\" />\n<parameter name=\"model-invariant-id\" value=\"`$tmp.vf-module-topology.onap-model-information.model-invariant-uuid`\" />\n<parameter name=\"model-version-id\" value=\"`$tmp.vf-module-topology.onap-model-information.model-uuid`\" />\n<parameter name=\"model-customization-id\" value=\"`$tmp.vf-module-topology.onap-model-information.model-customization-uuid`\" />\n<parameter name=\"selflink\" value=\"`$vf-module-object-path`\" />\n<parameter name=\"automated-assignment\" value=\"`$automated-assignment`\" />",
+ "comments": "",
+ "outputs": 1,
+ "x": 557.8929710388184,
+ "y": 4393.039915680885,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "56183cf7.21f8bc",
+ "298fb653.de04f2"
+ ]
+ ]
+ },
+ {
+ "id": "56183cf7.21f8bc",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 732.9646110534668,
+ "y": 4361.4205375909805,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "69c206e5.9c5be8"
+ ]
+ ]
+ },
+ {
+ "id": "298fb653.de04f2",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 741.5359840393066,
+ "y": 4430.039627611637,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "ca232fc7.373f28"
+ ]
+ ]
+ },
+ {
+ "id": "602e0129.20af78",
+ "type": "set",
+ "name": "set vf-module-object-path",
+ "xml": "<set>\n<parameter name='vf-module-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/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": 581.5597801208496,
+ "y": 4268.564144730568,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "8b5e2bc.0d8cdd8",
+ "type": "save",
+ "name": "save vf-module relationships",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vf-module:relationship-list\"\n key=\"vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id\n AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1351.5835266113281,
+ "y": 5951.192310094833,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "156220b0.97881f",
+ "a8f671db.55245"
+ ]
+ ]
+ },
+ {
+ "id": "156220b0.97881f",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1571.4168701171875,
+ "y": 5922.064054250717,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "d0730d21.778c9"
+ ]
+ ]
+ },
+ {
+ "id": "a8f671db.55245",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1579.9884033203125,
+ "y": 5974.683198690414,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "e6565cbf.f37f88"
+ ]
+ ]
+ },
+ {
+ "id": "c5f1094.89d7678",
+ "type": "for",
+ "name": "for each vm-type",
+ "xml": "<for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 531.2502517700195,
+ "y": 5716.525862932205,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "900abd87.03036"
+ ]
+ ]
+ },
+ {
+ "id": "71e9d608.74954",
+ "type": "for",
+ "name": "for each vm-network",
+ "xml": "<for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 928.2502632141113,
+ "y": 6135.192695140839,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "474d2262.a76184"
+ ]
+ ]
+ },
+ {
+ "id": "bdd166c5.9655d",
+ "type": "for",
+ "name": "for each vm-type",
+ "xml": "<for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 476.92879486083984,
+ "y": 7081.0718812942505,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "5099fa11.6e8244"
+ ]
+ ]
+ },
+ {
+ "id": "5099fa11.6e8244",
+ "type": "for",
+ "name": "for each vm",
+ "xml": "<for index='vm-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-count`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 671.928825378418,
+ "y": 7080.4048891067505,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "99b22585.2f4188"
+ ]
+ ]
+ },
+ {
+ "id": "70d018d1.df953",
+ "type": "save",
+ "name": "save VIPR_CONFIGURATION",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource\" resource=\"SQL\"\nkey=\"INSERT INTO VIPR_CONFIGURATION (vnf_id, vnf_name, ecomp_service_instance_id, vm_name, cloud_region_id, cloud_owner) VALUES ( $service-data.vnfs.vnf[$vnf-index].vnf-id , $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name , $service-data.service-information.service-instance-id , $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index] , $tmp.vf-module-topology.aic-cloud-region , $prop.cloud-region.cloud-owner )\" >",
+ "comments": "",
+ "outputs": 1,
+ "x": 1092.3455200195312,
+ "y": 7105.5725764632225,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "ee6a30b6.2fdb08"
+ ]
+ ]
+ },
+ {
+ "id": "f7b025d1.119928",
+ "type": "comment",
+ "name": "Not a failure",
+ "info": "",
+ "comments": "",
+ "x": 1612.3454208374023,
+ "y": 7105.572581231594,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "ee6a30b6.2fdb08",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1302.3455047607422,
+ "y": 7105.57272619009,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "f00a7c73.128e3"
+ ]
+ ]
+ },
+ {
+ "id": "f00a7c73.128e3",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID\"/>\n<parameter name=\"field3\" value=\"`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`\"/>\n<parameter name=\"field4\" value=\"Failed to insert VIPR_CONFIGURATION record\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1445.6789474487305,
+ "y": 7105.572564065456,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "a9e98a28.a6413",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1475.679069519043,
+ "y": 7056.904277741909,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "f18e18b8.f1a978"
+ ]
+ ]
+ },
+ {
+ "id": "f0f9c912.bbfa7",
+ "type": "comment",
+ "name": "Not a failure",
+ "info": "",
+ "comments": "",
+ "x": 1799.0121231079102,
+ "y": 7055.238099992275,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "f18e18b8.f1a978",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID\"/>\n<parameter name=\"field3\" value=\"`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`\"/>\n<parameter name=\"field4\" value=\"Failed to insert VIPR_CONFIGURATION record\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1621.6790046691895,
+ "y": 7056.904910981655,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "99b22585.2f4188",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 840.2622184753418,
+ "y": 7079.404733657837,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "432a36c8.1b8a38",
+ "70d018d1.df953"
+ ]
+ ]
+ },
+ {
+ "id": "432a36c8.1b8a38",
+ "type": "delete",
+ "name": "delete any pre-existing records in VIPR_CONFIGURATION",
+ "xml": "<delete plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='DELETE from VIPR_CONFIGURATION WHERE vnf_id = $service-data.vnfs.vnf[$vnf-index].vnf-id\n AND ecomp_service_instance_id = $service-data.service-information.service-instance-id\n AND vm_name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index]' >",
+ "comments": "",
+ "outputs": 1,
+ "x": 1182.3455352783203,
+ "y": 7057.238910615444,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "a9e98a28.a6413"
+ ]
+ ]
+ },
+ {
+ "id": "69c206e5.9c5be8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 891.2501792907715,
+ "y": 4361.191208481789,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "23db4204.137326",
+ "deea8b7a.34ee38"
+ ]
+ ]
+ },
+ {
+ "id": "ca232fc7.373f28",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 892.2500953674316,
+ "y": 4427.857498705387,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "c333832f.3cfc3"
+ ]
+ ]
+ },
+ {
+ "id": "d0730d21.778c9",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1739.9168739318848,
+ "y": 5921.858323812485,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "c98dc3b.19af54",
+ "269063c8.ce5a84"
+ ]
+ ]
+ },
+ {
+ "id": "e6565cbf.f37f88",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1734.9168739318848,
+ "y": 5974.8581664562225,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "21dc9b2.c9b4164",
+ "269063c8.ce5a84"
+ ]
+ ]
+ },
+ {
+ "id": "857ef89e.1a5408",
+ "type": "execute",
+ "name": "execute RestApiCallNode - get preload-list",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='restapiUrl' value=\"`$prop.controller.url + $prop.restapi.preloadinformation + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name + '/vf-module'`\" />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='GET' />\n <parameter name=\"responsePrefix\" value=\"mdsal-preload\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1100.833351135254,
+ "y": 2498.691061973572,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "416fdbec.15ba44",
+ "73c4e919.9f625"
+ ]
+ ]
+ },
+ {
+ "id": "416fdbec.15ba44",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1369.1665840148926,
+ "y": 2457.0243921279907,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "1f482e71.6f90f2"
+ ]
+ ]
+ },
+ {
+ "id": "73c4e919.9f625",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1367.4999389648438,
+ "y": 2532.024540901184,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "2b585b07.776fbc"
+ ]
+ ]
+ },
+ {
+ "id": "1f482e71.6f90f2",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1525.833339691162,
+ "y": 2455.3578300476074,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "875e55f0.b2f8e8"
+ ]
+ ]
+ },
+ {
+ "id": "2b585b07.776fbc",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1522.4999465942383,
+ "y": 2532.0243825912476,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "8bed185c.8ac5d"
+ ]
+ ]
+ },
+ {
+ "id": "875e55f0.b2f8e8",
+ "type": "switchNode",
+ "name": "switch mdsal-preload.response-code",
+ "xml": "<switch test='`$mdsal-preload.response-code`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1754.1666412353516,
+ "y": 2455.357871055603,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "d327b2a2.0c837",
+ "fd8f2e7a.c3fae"
+ ]
+ ]
+ },
+ {
+ "id": "d327b2a2.0c837",
+ "type": "outcome",
+ "name": "404 (not found)",
+ "xml": "<outcome value='404'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2037.0833435058594,
+ "y": 2409.940915107727,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "35aa0744.80b5c8"
+ ]
+ ]
+ },
+ {
+ "id": "35aa0744.80b5c8",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-operation-assign-no-preload",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-no-preload' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2439.99991607666,
+ "y": 2323.274383544922,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "123078c4.5f42b7"
+ ]
+ ]
+ },
+ {
+ "id": "123078c4.5f42b7",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2828.7498779296875,
+ "y": 2324.1082620620728,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b201b2ed.f32f68"
+ ]
+ ]
+ },
+ {
+ "id": "fd8f2e7a.c3fae",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2003.3333053588867,
+ "y": 2474.107699394226,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "886e3c52.8c2238"
+ ]
+ ]
+ },
+ {
+ "id": "8bed185c.8ac5d",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-operation-assign-preload",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-preload' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1885.833236694336,
+ "y": 2533.6911306381226,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "470a9210.0d2c7c"
+ ]
+ ]
+ },
+ {
+ "id": "470a9210.0d2c7c",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2241.500099182129,
+ "y": 2532.024748802185,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "9af3e55f.6087e"
+ ]
+ ]
+ },
+ {
+ "id": "900abd87.03036",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 721.7503204345703,
+ "y": 5717.3590977191925,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "71e9d608.74954",
+ "61dc9df3.118e34"
+ ]
+ ]
+ },
+ {
+ "id": "61dc9df3.118e34",
+ "type": "for",
+ "name": "for each vnfc",
+ "xml": "<for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 972.7503700256348,
+ "y": 4922.025188922882,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "933d597e.bd69e8"
+ ]
+ ]
+ },
+ {
+ "id": "c87af5c.2b49f88",
+ "type": "save",
+ "name": "save vnfc to A&AI",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"vnfc\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\" >\n<parameter name=\"vnfc-name\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`\" />\n<parameter name=\"nfc-naming-code\" value=\"`$tmp.nfc-naming-code`\" />\n<parameter name=\"nfc-function\" value=\"`$tmp.nfc-function`\" />\n<parameter name=\"model-invariant-id\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].invariant-uuid`\" />\n<parameter name=\"model-version-id\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].uuid`\" />\n<parameter name=\"model-customization-id\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].model-customization-uuid`\" />\n<parameter name=\"orchestration-status\" value=\"`PendingCreate`\" />\n<parameter name=\"in-maint\" value=\"true\" />\n<parameter name=\"prov-status\" value=\"`PREPROV`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1698.7504386901855,
+ "y": 4730.359119415283,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "d4c69512.b7a85",
+ "cb5ae333.4bb6c"
+ ]
+ ]
+ },
+ {
+ "id": "933d597e.bd69e8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1141.0836715698242,
+ "y": 4922.692016124725,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "90bbdc02.a17328",
+ "4f542d3d.52a65c",
+ "9ee6416c.5e5dc8",
+ "67190c0.7b4b2f4",
+ "2591369f.6e45f2",
+ "f5615f88.05ae28"
+ ]
+ ]
+ },
+ {
+ "id": "d4c69512.b7a85",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1889.7504768371582,
+ "y": 4682.692453384399,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "fcab33e3.661e5"
+ ]
+ ]
+ },
+ {
+ "id": "fcab33e3.661e5",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2054.917163848877,
+ "y": 4696.820286691189,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "64b6a50b.0e40cc",
+ "deea8b7a.34ee38"
+ ]
+ ]
+ },
+ {
+ "id": "9ee6416c.5e5dc8",
+ "type": "save",
+ "name": "save vnfc relationships",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vnfc:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"generic-vnf\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/generic-vnfs/generic-vnf/' +\n $vf-module-topology-operation-input.vnf-information.vnf-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"vf-module\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/generic-vnfs/generic-vnf/' +\n $vf-module-topology-operation-input.vnf-information.vnf-id +\n '/vf-modules/vf-module/' +\n $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1365.654956817627,
+ "y": 4830.97835111618,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "4aa5e996.c15df8",
+ "627ad9e4.060cf"
+ ]
+ ]
+ },
+ {
+ "id": "b05f84b7.ac3f68",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1697.4881477355957,
+ "y": 4804.2959752082825,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "ecec95d0.f03d18",
+ "deea8b7a.34ee38"
+ ]
+ ]
+ },
+ {
+ "id": "d68d461e.5265a",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1697.488224029541,
+ "y": 4857.29573392868,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "4b5a4f9a.72aaf8",
+ "deea8b7a.34ee38"
+ ]
+ ]
+ },
+ {
+ "id": "4aa5e996.c15df8",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1540.6550331115723,
+ "y": 4804.311645030975,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b05f84b7.ac3f68"
+ ]
+ ]
+ },
+ {
+ "id": "627ad9e4.060cf",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1549.2265663146973,
+ "y": 4856.930789470673,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "d68d461e.5265a"
+ ]
+ ]
+ },
+ {
+ "id": "90bbdc02.a17328",
+ "type": "for",
+ "name": "for each vnfc-network-role",
+ "xml": "<for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1363.1310768127441,
+ "y": 5247.834759235382,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "58cb90bc.4bbef8"
+ ]
+ ]
+ },
+ {
+ "id": "205882d9.0b5ba6",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vfmoduleb.log' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 583.7499809265137,
+ "y": 2555.7385811805725,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "8cfa77fd.d126b8",
+ "type": "for",
+ "name": "for each vnfc-subnetwork-role",
+ "xml": "<for silentFailure='true' index='subnet-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1819.0836143493652,
+ "y": 5211.025192737579,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "6762299c.778d8"
+ ]
+ ]
+ },
+ {
+ "id": "6762299c.778d8",
+ "type": "for",
+ "name": "for each vnfc-address-family",
+ "xml": "<for silentFailure='true' index='address-family-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2086.4169578552246,
+ "y": 5210.025681018829,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "7d53a97d.be26"
+ ]
+ ]
+ },
+ {
+ "id": "d1f18ef1.182398",
+ "type": "for",
+ "name": "for each vnfc-ip-address",
+ "xml": "<for silentFailure='true' index='address-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2518.4165687561035,
+ "y": 5276.6913805007935,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "77214afc.517d0c"
+ ]
+ ]
+ },
+ {
+ "id": "7d53a97d.be26",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2297.4167289733887,
+ "y": 5210.025137424469,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "34424215.2a711e",
+ "d1f18ef1.182398"
+ ]
+ ]
+ },
+ {
+ "id": "34424215.2a711e",
+ "type": "set",
+ "name": "set tmp.address-family",
+ "xml": "<set>\n<parameter name='tmp.address-family'\n value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />\n",
+ "comments": "",
+ "x": 2517.4170570373535,
+ "y": 5130.02503490448,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "77214afc.517d0c",
+ "type": "switchNode",
+ "name": "switch address family",
+ "xml": "<switch test='`$tmp.address-family`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2757.416660308838,
+ "y": 5275.02520275116,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "466ce5a0.fa2a7c",
+ "e5989ca0.8172d"
+ ]
+ ]
+ },
+ {
+ "id": "466ce5a0.fa2a7c",
+ "type": "outcome",
+ "name": "ipv4",
+ "xml": "<outcome value='ipv4'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2954.5596656799316,
+ "y": 5178.59646320343,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "16109ed1.313bd1"
+ ]
+ ]
+ },
+ {
+ "id": "e5989ca0.8172d",
+ "type": "outcome",
+ "name": "ipv6",
+ "xml": "<outcome value='ipv6'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2952.178737640381,
+ "y": 5358.358494758606,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "9a0c5b84.5a57f"
+ ]
+ ]
+ },
+ {
+ "id": "cf096cd1.ca06e8",
+ "type": "comment",
+ "name": "Fixed IPs",
+ "info": "",
+ "comments": "",
+ "x": 1836.0836296081543,
+ "y": 5172.692569732666,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "ba22ae12.2926b",
+ "type": "save",
+ "name": "save l3-interface-ipv4-address-list object to A&AI",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"l3-interface-ipv4-address-list\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND cp.cp-instance-id = $cp-instance-id\n\t AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address\" >\n<parameter name=\"l3-interface-ipv4-address\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`\" />\n<parameter name=\"l3-interface-ipv4-prefix-length\" value=\"32\" />\n<parameter name=\"is-floating\" value=\"false\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3397.892795562744,
+ "y": 5126.929543177288,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "a96cb36a.8783d8"
+ ]
+ ]
+ },
+ {
+ "id": "16109ed1.313bd1",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3104.5596656799316,
+ "y": 5178.596381823223,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "ba22ae12.2926b",
+ "c1872588.7583"
+ ]
+ ]
+ },
+ {
+ "id": "2901367b.3a7652",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3811.3926696777344,
+ "y": 5126.914035479229,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "a7be1c39.6ee63",
+ "b8d50b6.e90cc78"
+ ]
+ ]
+ },
+ {
+ "id": "a96cb36a.8783d8",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3654.559555053711,
+ "y": 5126.929705301922,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "2901367b.3a7652"
+ ]
+ ]
+ },
+ {
+ "id": "c1872588.7583",
+ "type": "save",
+ "name": "save l3-interface-ipv4-address-list relationships",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"l3-interface-ipv4-address-list:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND cp.cp-instance-id = $cp-instance-id\n\t AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"subnet\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +\n '/subnets/subnet/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3392.893039703369,
+ "y": 5225.262962023418,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "c76a4fda.833a4",
+ "53b8f95f.e81ec"
+ ]
+ ]
+ },
+ {
+ "id": "64905913.ec2ab",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3813.0592918395996,
+ "y": 5196.914006868999,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "a4494b11.30c988",
+ "b8d50b6.e90cc78"
+ ]
+ ]
+ },
+ {
+ "id": "ea0b0cf4.b0b87",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3813.059368133545,
+ "y": 5249.913765589397,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "3b6a1bff.11e25c",
+ "b8d50b6.e90cc78"
+ ]
+ ]
+ },
+ {
+ "id": "c76a4fda.833a4",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3656.226177215576,
+ "y": 5196.929676691692,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "64905913.ec2ab"
+ ]
+ ]
+ },
+ {
+ "id": "53b8f95f.e81ec",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3664.797710418701,
+ "y": 5249.54882113139,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "ea0b0cf4.b0b87"
+ ]
+ ]
+ },
+ {
+ "id": "5f65e4dc.17ee84",
+ "type": "save",
+ "name": "save l3-interface-ipv6-address-list object to A&AI",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"l3-interface-ipv6-address-list\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND cp.cp-instance-id = $cp-instance-id\n\t AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address\" >\n<parameter name=\"l3-interface-ipv6-address\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`\" />\n<parameter name=\"l3-interface-ipv6-prefix-length\" value=\"128\" />\n<parameter name=\"is-floating\" value=\"false\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3396.702533721924,
+ "y": 5305.977599143982,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "c7c91c2b.8530c8"
+ ]
+ ]
+ },
+ {
+ "id": "9a0c5b84.5a57f",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3103.3694038391113,
+ "y": 5357.644437789917,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "5f65e4dc.17ee84",
+ "6821e286.f06a64"
+ ]
+ ]
+ },
+ {
+ "id": "20bc2782.743bc",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3810.202407836914,
+ "y": 5305.962091445923,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "1d21480c.1addf8",
+ "b8d50b6.e90cc78"
+ ]
+ ]
+ },
+ {
+ "id": "c7c91c2b.8530c8",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3653.3692932128906,
+ "y": 5305.977761268616,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "20bc2782.743bc"
+ ]
+ ]
+ },
+ {
+ "id": "6821e286.f06a64",
+ "type": "save",
+ "name": "save l3-interface-ipv6-address-list relationships",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"l3-interface-ipv6-address-list:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND cp.cp-instance-id = $cp-instance-id\n\t AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"subnet\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +\n '/subnets/subnet/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3391.702777862549,
+ "y": 5404.311017990112,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "8cd900c5.0fd1d",
+ "7505a4c8.0ea53c"
+ ]
+ ]
+ },
+ {
+ "id": "b7b6484f.d8c77",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3811.8690299987793,
+ "y": 5375.962062835693,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "e3d10ed9.82b7b8",
+ "b8d50b6.e90cc78"
+ ]
+ ]
+ },
+ {
+ "id": "79bf1748.e06bb8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3811.8691062927246,
+ "y": 5428.961821556091,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "fedf80c9.88e5f",
+ "b8d50b6.e90cc78"
+ ]
+ ]
+ },
+ {
+ "id": "8cd900c5.0fd1d",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3655.035915374756,
+ "y": 5375.977732658386,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b7b6484f.d8c77"
+ ]
+ ]
+ },
+ {
+ "id": "7505a4c8.0ea53c",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3663.607448577881,
+ "y": 5428.5968770980835,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "79bf1748.e06bb8"
+ ]
+ ]
+ },
+ {
+ "id": "474d2262.a76184",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1118.083583831787,
+ "y": 6134.692134380341,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b6a8d268.c987",
+ "8b5e2bc.0d8cdd8",
+ "81d51660.a0c9e8",
+ "a9042f25.4b114"
+ ]
+ ]
+ },
+ {
+ "id": "5ff1efff.4270b8",
+ "type": "for",
+ "name": "for each vnfc",
+ "xml": "<for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1766.0837593078613,
+ "y": 6257.02588224411,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "f2b022e3.1f756"
+ ]
+ ]
+ },
+ {
+ "id": "e3153e0c.d09088",
+ "type": "save",
+ "name": "save vip-ipv4-address-list object to A&AI",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"vip-ipv4-address-list\" \n\tkey=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]\" >\n<parameter name=\"vip-ipv4-address\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]`\" />\n<parameter name=\"vip-ipv4-prefix-length\" value=\"32\" />\n<parameter name=\"is-floating\" value=\"false\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1849.0836143493652,
+ "y": 6088.358893871307,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "6c580401.058424",
+ "381a766c.6ae85a"
+ ]
+ ]
+ },
+ {
+ "id": "81d51660.a0c9e8",
+ "type": "for",
+ "name": "for each floating ipv4 address",
+ "xml": "<for silentFailure='true' index='ipv4-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1357.0836067199707,
+ "y": 6146.358966350555,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "a116ff51.f71318"
+ ]
+ ]
+ },
+ {
+ "id": "a116ff51.f71318",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1583.0836067199707,
+ "y": 6144.358966350555,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "e3153e0c.d09088",
+ "caa9e69f.d253a",
+ "5ff1efff.4270b8"
+ ]
+ ]
+ },
+ {
+ "id": "af60e3c3.bb56a",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2244.583484649658,
+ "y": 6058.343266963959,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "f4049c01.0aeaf",
+ "269063c8.ce5a84"
+ ]
+ ]
+ },
+ {
+ "id": "26f5dd9.f21b7a2",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2244.5835609436035,
+ "y": 6111.343025684357,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "5573d94b.dc5",
+ "269063c8.ce5a84"
+ ]
+ ]
+ },
+ {
+ "id": "6c580401.058424",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2087.7503700256348,
+ "y": 6058.358936786652,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "af60e3c3.bb56a"
+ ]
+ ]
+ },
+ {
+ "id": "381a766c.6ae85a",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2096.3219032287598,
+ "y": 6110.978081226349,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "26f5dd9.f21b7a2"
+ ]
+ ]
+ },
+ {
+ "id": "cd3cd499.458be8",
+ "type": "save",
+ "name": "save vip-ipv4-address-list relationships",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vip-ipv4-address-list:relationship-list\"\n key=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"subnet\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id\n + '/subnets/subnet/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv4-subnet-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"vnfc\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/vnfcs/vnfc/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2184.7502098083496,
+ "y": 6201.025557041168,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "a45ccf9a.b8373",
+ "85e3b005.bd6568"
+ ]
+ ]
+ },
+ {
+ "id": "5c68b77d.81077",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2587.916488647461,
+ "y": 6173.009899675846,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "c60c031b.634f38",
+ "269063c8.ce5a84"
+ ]
+ ]
+ },
+ {
+ "id": "40a56b3d.e7bfb4",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2587.9165649414062,
+ "y": 6226.009658396244,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "bdc62da9.93398",
+ "269063c8.ce5a84"
+ ]
+ ]
+ },
+ {
+ "id": "a45ccf9a.b8373",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2431.0833740234375,
+ "y": 6173.025569498539,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "5c68b77d.81077"
+ ]
+ ]
+ },
+ {
+ "id": "85e3b005.bd6568",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2439.6549072265625,
+ "y": 6225.644713938236,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "40a56b3d.e7bfb4"
+ ]
+ ]
+ },
+ {
+ "id": "12a683dc.f7d1cc",
+ "type": "save",
+ "name": "save vip-ipv6-address-list object to A&AI",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"vip-ipv6-address-list\" \n\tkey=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]\" >\n<parameter name=\"vip-ipv6-address\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]`\" />\n<parameter name=\"vip-ipv6-prefix-length\" value=\"128\" />\n<parameter name=\"is-floating\" value=\"false\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1852.4169425964355,
+ "y": 6411.69157743454,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "f3231ce.0a38d6",
+ "5e4e24ef.38b0bc"
+ ]
+ ]
+ },
+ {
+ "id": "a9042f25.4b114",
+ "type": "for",
+ "name": "for each floating ipv6 address",
+ "xml": "<for silentFailure='true' index='ipv6-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1360.416934967041,
+ "y": 6468.691649913788,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "669eaafe.ae3adc"
+ ]
+ ]
+ },
+ {
+ "id": "669eaafe.ae3adc",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1586.416934967041,
+ "y": 6467.691649913788,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "12a683dc.f7d1cc",
+ "475a576d.8e3c28",
+ "81320c04.9ba968"
+ ]
+ ]
+ },
+ {
+ "id": "2b2655ee.d0e88a",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2247.9168128967285,
+ "y": 6381.675950527191,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "37375282.76ddb6",
+ "269063c8.ce5a84"
+ ]
+ ]
+ },
+ {
+ "id": "4588595a.f76a3",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2247.916889190674,
+ "y": 6434.675709247589,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "48c2cba4.91f6cc",
+ "269063c8.ce5a84"
+ ]
+ ]
+ },
+ {
+ "id": "f3231ce.0a38d6",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2091.083698272705,
+ "y": 6381.691620349884,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "2b2655ee.d0e88a"
+ ]
+ ]
+ },
+ {
+ "id": "5e4e24ef.38b0bc",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2099.65523147583,
+ "y": 6434.310764789581,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "4588595a.f76a3"
+ ]
+ ]
+ },
+ {
+ "id": "2c2d6569.a1c6a2",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2581.250068664551,
+ "y": 6494.676001131535,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "4a19d7b6.f2c47",
+ "269063c8.ce5a84"
+ ]
+ ]
+ },
+ {
+ "id": "3ee8cc5c.76ddbc",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2581.250144958496,
+ "y": 6547.6757598519325,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "84c51507.94d668",
+ "269063c8.ce5a84"
+ ]
+ ]
+ },
+ {
+ "id": "de9afd93.7c394",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2424.4169540405273,
+ "y": 6494.691670954227,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "2c2d6569.a1c6a2"
+ ]
+ ]
+ },
+ {
+ "id": "6e9292b7.adab1c",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2432.9884872436523,
+ "y": 6547.310815393925,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "3ee8cc5c.76ddbc"
+ ]
+ ]
+ },
+ {
+ "id": "636270ad.cb1f1",
+ "type": "save",
+ "name": "save vip-ipv6-address-list relationships",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vip-ipv6-address-list:relationship-list\"\n key=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"subnet\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id\n + '/subnets/subnet/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv6-subnet-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"vnfc\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/vnfcs/vnfc/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2180.083797454834,
+ "y": 6523.358089923859,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "de9afd93.7c394",
+ "6e9292b7.adab1c"
+ ]
+ ]
+ },
+ {
+ "id": "4f542d3d.52a65c",
+ "type": "set",
+ "name": "set created_flag",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].created_flag' value='true' />\n",
+ "comments": "",
+ "x": 1342.7502403259277,
+ "y": 4770.691873967648,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "b6a8d268.c987",
+ "type": "set",
+ "name": "set created-flag",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].created-flag' value='true' />\n",
+ "comments": "",
+ "x": 1313.4169960021973,
+ "y": 6018.692055404186,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "caa9e69f.d253a",
+ "type": "set",
+ "name": "set created-ipv4-flag",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv4-flag' value='true' />\n",
+ "comments": "",
+ "x": 1786.4169616699219,
+ "y": 6146.69213527441,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "475a576d.8e3c28",
+ "type": "set",
+ "name": "set created-ipv6-flag",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv6-flag' value='true' />\n",
+ "comments": "",
+ "x": 1791.7502975463867,
+ "y": 6472.691738545895,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "cb5ae333.4bb6c",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1892.750415802002,
+ "y": 4730.692112863064,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "fcab33e3.661e5"
+ ]
+ ]
+ },
+ {
+ "id": "e9f0935c.0d26e",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-vlan-tagging-assign",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-vlan-tagging-assign' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 660.1668167114258,
+ "y": 6805.692090034485,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "bc1360c6.580c08"
+ ]
+ ]
+ },
+ {
+ "id": "bc1360c6.580c08",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1004.5002326965332,
+ "y": 6805.025585174561,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "a09eae64.f34c68"
+ ]
+ ]
+ },
+ {
+ "id": "a09eae64.f34c68",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1159.5001068115234,
+ "y": 6805.025381088257,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "3f7dfdbe.c1b85a",
+ "1a40ddac.06f67a"
+ ]
+ ]
+ },
+ {
+ "id": "3f7dfdbe.c1b85a",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vlantaggingfailure.log' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1340.273723602295,
+ "y": 6777.763387203217,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "effbab1c.8eeb18",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 314.64286041259766,
+ "y": 556.5714378356934,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "d583179d.999f08",
+ "13d1edde.2c3cc2",
+ "356786ed.1c1db2",
+ "527b3c86.073724",
+ "f269ddb2.03ac18",
+ "aca51e3b.78a188",
+ "a6f8df46.880ce8",
+ "d918a5d3.4b678",
+ "7933c6b5.bef96",
+ "b13baffe.18c468"
+ ]
+ ]
+ },
+ {
+ "id": "d4b60897.e18598",
+ "type": "switchNode",
+ "name": "switch from-preload",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.from-preload`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 605.6547050476074,
+ "y": 2622.1672010421753,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "7205c7e2.e07a68",
+ "338ca0a7.bfe7d8"
+ ]
+ ]
+ },
+ {
+ "id": "7205c7e2.e07a68",
+ "type": "outcomeFalse",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 777.5594367980957,
+ "y": 2599.5482215881348,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "cee08d41.b2fe6"
+ ]
+ ]
+ },
+ {
+ "id": "338ca0a7.bfe7d8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 779.2260894775391,
+ "y": 2644.5480604171753,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "afc9b079.ac8a6"
+ ]
+ ]
+ },
+ {
+ "id": "cee08d41.b2fe6",
+ "type": "set",
+ "name": "set automated-assignment to true",
+ "xml": "<set>\n<parameter name='automated-assignment' value='true' />\n",
+ "comments": "",
+ "x": 992.5594215393066,
+ "y": 2597.881392478943,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "afc9b079.ac8a6",
+ "type": "set",
+ "name": "set automated-assignment to false",
+ "xml": "<set>\n<parameter name='automated-assignment' value='false' />\n",
+ "comments": "",
+ "x": 990.8927421569824,
+ "y": 2642.8813123703003,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "81320c04.9ba968",
+ "type": "for",
+ "name": "for each vnfc",
+ "xml": "<for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1767.1788291931152,
+ "y": 6571.572162151337,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "d27afbea.8fdbb"
+ ]
+ ]
+ },
+ {
+ "id": "cf288013.27e988",
+ "type": "for",
+ "name": "for each vm-type",
+ "xml": "<for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 584.4168014526367,
+ "y": 3982.3580837249756,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "4b547438.e5a1e4"
+ ]
+ ]
+ },
+ {
+ "id": "4b547438.e5a1e4",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 774.9168701171875,
+ "y": 3983.191318511963,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "e115a59a.78977"
+ ]
+ ]
+ },
+ {
+ "id": "e115a59a.78977",
+ "type": "for",
+ "name": "for each vm-network",
+ "xml": "<for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 976.4168014526367,
+ "y": 3982.3580837249756,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "c279839c.179e2"
+ ]
+ ]
+ },
+ {
+ "id": "c279839c.179e2",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1166.2501220703125,
+ "y": 3981.8575229644775,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "9c5890c1.1bc73"
+ ]
+ ]
+ },
+ {
+ "id": "9c5890c1.1bc73",
+ "type": "get-resource",
+ "name": "get-resource VFC_RELATED_NETWORK_ROLE",
+ "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VFC_RELATED_NETWORK_ROLE where vfc_customization_uuid = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].model-customization-uuid\n and network_role = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role'\n pfx='db.vnf-related-network-role[]'>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1455.7500953674316,
+ "y": 3980.358165740967,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "a30af21d.78b66",
+ "54be536b.883c7c"
+ ]
+ ]
+ },
+ {
+ "id": "a30af21d.78b66",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1726.7500343322754,
+ "y": 3885.0248680114746,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "6573ac5d.e2d6fc"
+ ]
+ ]
+ },
+ {
+ "id": "6573ac5d.e2d6fc",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1873.9405517578125,
+ "y": 3883.5728826522827,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "d4e308ce.5712b",
+ "f3cab335.7ec9f"
+ ]
+ ]
+ },
+ {
+ "id": "54be536b.883c7c",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1727.5832443237305,
+ "y": 4129.691747665405,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "8b99514d.224a68"
+ ]
+ ]
+ },
+ {
+ "id": "bdec068a.d17588",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2145.9164962768555,
+ "y": 4131.69150352478,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "2380b499.33cb74",
+ "2a3d42f3.0625f6",
+ "9050219d.292618",
+ "a92d624e.c2d3a8",
+ "64298756.8d8e3",
+ "ee1be000.48bb78",
+ "fa830b25.a2ef78",
+ "18757bd7.bc1504"
+ ]
+ ]
+ },
+ {
+ "id": "2a3d42f3.0625f6",
+ "type": "for",
+ "name": "for each vnf network",
+ "xml": "<for silentFailure='true' index='vnf-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2328.416675567627,
+ "y": 3974.024751663208,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "2377be3.2805842"
+ ]
+ ]
+ },
+ {
+ "id": "2380b499.33cb74",
+ "type": "set",
+ "name": "set found-related-network to false",
+ "xml": "<set>\n<parameter name='found-related-network' value='false' />\n",
+ "comments": "",
+ "x": 2368.4167518615723,
+ "y": 3915.6915283203125,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "f214ef27.8c7068",
+ "type": "for",
+ "name": "for each related network",
+ "xml": "<for silentFailure='true' index='related-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].related-networks.related-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2727.4166374206543,
+ "y": 3950.6910152435303,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "7ede6549.805acc"
+ ]
+ ]
+ },
+ {
+ "id": "2377be3.2805842",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2516.416675567627,
+ "y": 3974.024751663208,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "f214ef27.8c7068",
+ "ac51f9c5.7f381"
+ ]
+ ]
+ },
+ {
+ "id": "7ede6549.805acc",
+ "type": "switchNode",
+ "name": "switch network-role matches",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].related-networks.related-network[$related-network-index].network-role\n == $db.vnf-related-network-role[$db-related-network-index].related-network-role`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2979.4165534973145,
+ "y": 3950.6910915374756,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "639ffefa.c6a668"
+ ]
+ ]
+ },
+ {
+ "id": "8b99514d.224a68",
+ "type": "for",
+ "name": "for each db related-network",
+ "xml": "<for index='db-related-network-index' start='0' end='`$db.vnf-related-network-role_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1931.916618347168,
+ "y": 4130.35849571228,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "bdec068a.d17588"
+ ]
+ ]
+ },
+ {
+ "id": "639ffefa.c6a668",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3179.4165534973145,
+ "y": 3948.6910915374756,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "81afa752.330a7"
+ ]
+ ]
+ },
+ {
+ "id": "81afa752.330a7",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3333.4165534973145,
+ "y": 3946.6910915374756,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "9b9cff35.d523",
+ "46e64037.6ec64",
+ "8025f3eb.bd5ea"
+ ]
+ ]
+ },
+ {
+ "id": "9b9cff35.d523",
+ "type": "set",
+ "name": "set found-related-network to true",
+ "xml": "<set>\n<parameter name='found-related-network' value='true' />\n",
+ "comments": "",
+ "x": 3565.4167137145996,
+ "y": 3906.357675552368,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "46e64037.6ec64",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 3488.7498893737793,
+ "y": 3993.024425506592,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "9050219d.292618",
+ "type": "switchNode",
+ "name": "switch found-related-network",
+ "xml": "<switch test='`$found-related-network`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2363.9165649414062,
+ "y": 4074.6916370391846,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "2c771fce.f6f0e"
+ ]
+ ]
+ },
+ {
+ "id": "2c771fce.f6f0e",
+ "type": "outcomeFalse",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2557.9165649414062,
+ "y": 4072.6916370391846,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "ed2c165a.75be88"
+ ]
+ ]
+ },
+ {
+ "id": "ed2c165a.75be88",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 2687.9165649414062,
+ "y": 4072.6916370391846,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "e1873883.a0b338",
+ "f3cab335.7ec9f"
+ ]
+ ]
+ },
+ {
+ "id": "a92d624e.c2d3a8",
+ "type": "set",
+ "name": "set is-trunked and segmentation-id in vm-network",
+ "xml": "<set>\n<parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].is-trunked'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].is-trunked`' />\n<parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].segmentation-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].segmentation-id`' />\n",
+ "comments": "",
+ "x": 2425.9165649414062,
+ "y": 4122.691637039185,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "ee1be000.48bb78",
+ "type": "switchNode",
+ "name": "switch rn-index",
+ "xml": "<switch test='`$rn-index`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2313.9165649414062,
+ "y": 4230.691637039185,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "74c68449.7a6374"
+ ]
+ ]
+ },
+ {
+ "id": "64298756.8d8e3",
+ "type": "set",
+ "name": "set rn-index to related network length",
+ "xml": "<set>\n<parameter name='rn-index' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length`' />\n",
+ "comments": "",
+ "x": 2385.9165649414062,
+ "y": 4174.691637039185,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "74c68449.7a6374",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2477.9165649414062,
+ "y": 4230.691637039185,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "8aa2ab54.ceea58"
+ ]
+ ]
+ },
+ {
+ "id": "8aa2ab54.ceea58",
+ "type": "set",
+ "name": "set rn-index to 0",
+ "xml": "<set>\n<parameter name='rn-index' value='0' />\n",
+ "comments": "",
+ "x": 2637.9165649414062,
+ "y": 4230.691637039185,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "fa830b25.a2ef78",
+ "type": "set",
+ "name": "set related-network data",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].network-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].network-id`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].network-role'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].network-role`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.vlan-interface'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.vlan-interface`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.lower-tag-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.lower-tag-id`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.upper-tag-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.upper-tag-id`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.is-private'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.is-private`' />\n",
+ "comments": "",
+ "x": 2337.9165649414062,
+ "y": 4282.691637039185,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "18757bd7.bc1504",
+ "type": "set",
+ "name": "set new related network length",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length'\n value='`$rn-index + 1`' />\n",
+ "comments": "",
+ "x": 2355.9165649414062,
+ "y": 4334.691637039185,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "ac51f9c5.7f381",
+ "type": "switchNode",
+ "name": "switch found-related-network",
+ "xml": "<switch test='`$found-related-network`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2740.416660308838,
+ "y": 3998.3578758239746,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "8dfcb5e2.bf7d2"
+ ]
+ ]
+ },
+ {
+ "id": "8dfcb5e2.bf7d2",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2937.083522796631,
+ "y": 3998.358247756958,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "49e231.bdb7fdd"
+ ]
+ ]
+ },
+ {
+ "id": "49e231.bdb7fdd",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 3067.083408355713,
+ "y": 3996.6913719177246,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "8025f3eb.bd5ea",
+ "type": "set",
+ "name": "save indexes",
+ "xml": "<set>\n<parameter name='saved-vnf-network-index' value='`$vnf-network-index`' />\n<parameter name='saved-related-network-index' value='`$related-network-index`' />\n",
+ "comments": "",
+ "x": 3507.0836219787598,
+ "y": 3948.3582458496094,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "67c600cd.b9cba",
+ "type": "execute",
+ "name": "generate cp-instance-id",
+ "xml": "<execute plugin=\"org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils\" method=\"generateUUID\" >\n<parameter name=\"ctx-destination\" value=\"cp-instance-id\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1795.9881134033203,
+ "y": 4977.882298946381,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "def6cb8a.75abd",
+ "type": "save",
+ "name": "save cp to A&AI",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"cp\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND cp.cp-instance-id = $cp-instance-id\" >\n<parameter name=\"cp-instance-id\" value=\"`$cp-instance-id`\" />\n<parameter name=\"port-id\" value=\"0\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1777.6547355651855,
+ "y": 5044.548804759979,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "cec4e53.0593898",
+ "73e9c7c7.e33118"
+ ]
+ ]
+ },
+ {
+ "id": "cec4e53.0593898",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1966.6547164916992,
+ "y": 5020.215418279171,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "6c56796a.9785"
+ ]
+ ]
+ },
+ {
+ "id": "6c56796a.9785",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2133.821464538574,
+ "y": 5036.009851872921,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "56c543eb.6150dc",
+ "deea8b7a.34ee38"
+ ]
+ ]
+ },
+ {
+ "id": "73e9c7c7.e33118",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1971.6547164916992,
+ "y": 5069.881678044796,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "6c56796a.9785"
+ ]
+ ]
+ },
+ {
+ "id": "58cb90bc.4bbef8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1572.4644355773926,
+ "y": 5247.16709280014,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "bb7a5471.736f58",
+ "8cfa77fd.d126b8",
+ "67c600cd.b9cba",
+ "def6cb8a.75abd",
+ "c24016d.89a2f68",
+ "e9947f94.840de"
+ ]
+ ]
+ },
+ {
+ "id": "bb7a5471.736f58",
+ "type": "set",
+ "name": "set connection point data",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].connection-point.connection-point-id'\n value='`$cp-instance-id`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].connection-point.port-id'\n value='0' />\n",
+ "comments": "",
+ "x": 1807.9882774353027,
+ "y": 5122.406374454498,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "197afe0.8443282",
+ "type": "comment",
+ "name": "Floating IPs",
+ "info": "",
+ "comments": "",
+ "x": 1368.7500953674316,
+ "y": 6104.69149273634,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "c24016d.89a2f68",
+ "type": "for",
+ "name": "for each vnf-network",
+ "xml": "<for index='vnf-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1792.0832786560059,
+ "y": 5518.691868305206,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "56804039.82c95"
+ ]
+ ]
+ },
+ {
+ "id": "1b4d007d.b0d738",
+ "type": "save",
+ "name": "save cp relationship to l3-network",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"cp:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n AND cp.cp-instance-id = $cp-instance-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2430.416759490967,
+ "y": 5518.358376026154,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "925d685c.856048",
+ "2b843689.1bb8aa"
+ ]
+ ]
+ },
+ {
+ "id": "c8275ab5.32ae",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2802.249797821045,
+ "y": 5491.676324367523,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "d01f264c.61c318",
+ "deea8b7a.34ee38"
+ ]
+ ]
+ },
+ {
+ "id": "ee39eeee.ad11d8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2802.2498741149902,
+ "y": 5544.676083087921,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "64482d7f.371044",
+ "deea8b7a.34ee38"
+ ]
+ ]
+ },
+ {
+ "id": "925d685c.856048",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2645.4166831970215,
+ "y": 5491.691994190216,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "c8275ab5.32ae"
+ ]
+ ]
+ },
+ {
+ "id": "2b843689.1bb8aa",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2653.9882164001465,
+ "y": 5544.311138629913,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "ee39eeee.ad11d8"
+ ]
+ ]
+ },
+ {
+ "id": "e9947f94.840de",
+ "type": "for",
+ "name": "for each vm-network",
+ "xml": "<for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1792.0834312438965,
+ "y": 5679.358223438263,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "a50b0d5a.ce5908"
+ ]
+ ]
+ },
+ {
+ "id": "8135e354.1212a",
+ "type": "save",
+ "name": "save cp relationship to l3-network and vlan-tag",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"cp:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n AND cp.cp-instance-id = $cp-instance-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].network-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"vlan-tag\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/vlan-tags/vlan-tag/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].vlan-tags.vlan-interface`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2711.7504386901855,
+ "y": 5677.358218669891,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "54f5fc79.be774c",
+ "c10c7043.50dca8"
+ ]
+ ]
+ },
+ {
+ "id": "cffcf5c1.1e4ec8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3118.583484649658,
+ "y": 5650.675517559052,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "7a163627.fcef3",
+ "deea8b7a.34ee38"
+ ]
+ ]
+ },
+ {
+ "id": "6f874e0.8ac4234",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3118.5835609436035,
+ "y": 5703.67527627945,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "57dc1477.8da4b4",
+ "deea8b7a.34ee38"
+ ]
+ ]
+ },
+ {
+ "id": "54f5fc79.be774c",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2961.7503700256348,
+ "y": 5650.691187381745,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "cffcf5c1.1e4ec8"
+ ]
+ ]
+ },
+ {
+ "id": "c10c7043.50dca8",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2970.3219032287598,
+ "y": 5703.310331821443,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "6f874e0.8ac4234"
+ ]
+ ]
+ },
+ {
+ "id": "b14df7f0.70279",
+ "type": "for",
+ "name": "for each related-network",
+ "xml": "<for silentFailure='true' index='related-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2407.750270843506,
+ "y": 5677.358219623566,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "8135e354.1212a"
+ ]
+ ]
+ },
+ {
+ "id": "50d2cea2.bb528",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-generate-heat-parameters",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-generate-heat-parameters' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 656.0835952758789,
+ "y": 6919.108981132507,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "886b51f6.cb8c8",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vfmoduleheat.log' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 466.1669006347656,
+ "y": 6972.108658790588,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "14aa8b5.d6278f5",
+ "type": "switchNode",
+ "name": "switch input vf-module-name",
+ "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 638.7499961853027,
+ "y": 2404.191040992737,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "75d4819e.af875",
+ "b5b05f4.3353d2"
+ ]
+ ]
+ },
+ {
+ "id": "75d4819e.af875",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 861.2499618530273,
+ "y": 2326.6910009384155,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "35aa0744.80b5c8"
+ ]
+ ]
+ },
+ {
+ "id": "b5b05f4.3353d2",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 862.9285621643066,
+ "y": 2499.309585571289,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "857ef89e.1a5408"
+ ]
+ ]
+ },
+ {
+ "id": "a0f0f960.3140c8",
+ "type": "for",
+ "name": "for each vnfc-subnet-role",
+ "xml": "<for index='subnet-role-index' start='0'\n end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1396.2500953674316,
+ "y": 3199.1907176971436,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "9d57c772.862988"
+ ]
+ ]
+ },
+ {
+ "id": "9d57c772.862988",
+ "type": "for",
+ "name": "for each vnfc-address-family",
+ "xml": "<for index='address-family-index' start='0'\n end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1644.5833549499512,
+ "y": 3199.1907176971436,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "400506a5.64a12"
+ ]
+ ]
+ },
+ {
+ "id": "4b70bca8.2d04e4",
+ "type": "for",
+ "name": "for each vm-type",
+ "xml": "<for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 602.0832710266113,
+ "y": 2917.5240545272827,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "76c0436b.ee91fc"
+ ]
+ ]
+ },
+ {
+ "id": "76c0436b.ee91fc",
+ "type": "for",
+ "name": "for each vnfc",
+ "xml": "<for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 783.7500495910645,
+ "y": 2916.1912031173706,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "f9241628.26f1"
+ ]
+ ]
+ },
+ {
+ "id": "f9241628.26f1",
+ "type": "for",
+ "name": "for each vnfc-network",
+ "xml": "<for silentFailure='true' index='vnfc-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 984.9166221618652,
+ "y": 2916.023892402649,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "ba3c1b94.fddce"
+ ]
+ ]
+ },
+ {
+ "id": "ba3c1b94.fddce",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1197.083293914795,
+ "y": 2915.0242528915405,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "dd887364.2936e",
+ "ee8eb9ce.fef06",
+ "3f48cbb0.25141c",
+ "a0f0f960.3140c8"
+ ]
+ ]
+ },
+ {
+ "id": "dd887364.2936e",
+ "type": "set",
+ "name": "set vnf-network-index to -1",
+ "xml": "<set>\n<parameter name='vnf-network-index' value='-1' />\n",
+ "comments": "",
+ "x": 1408.7500114440918,
+ "y": 2868.357466697693,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "ee8eb9ce.fef06",
+ "type": "for",
+ "name": "for each vnf-network",
+ "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1390.4168014526367,
+ "y": 2915.024218559265,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "e1cac1a5.f31bf"
+ ]
+ ]
+ },
+ {
+ "id": "e1cac1a5.f31bf",
+ "type": "switchNode",
+ "name": "switch network-roles match?",
+ "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-network-role\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$idx].network-role`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1632.0832710266113,
+ "y": 2913.357713699341,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "d60f049.7085ef8"
+ ]
+ ]
+ },
+ {
+ "id": "d60f049.7085ef8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1828.7499504089355,
+ "y": 2913.357632637024,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "4013cdce.5ea73c"
+ ]
+ ]
+ },
+ {
+ "id": "4013cdce.5ea73c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1982.0831718444824,
+ "y": 2913.3575048446655,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "903a3aca.3e3288",
+ "4a6e737f.7ebf6c",
+ "9291e114.ac1f58"
+ ]
+ ]
+ },
+ {
+ "id": "903a3aca.3e3288",
+ "type": "set",
+ "name": "set vnf-network-index",
+ "xml": "<set>\n<parameter name='vnf-network-index' value='`$idx`' />\n",
+ "comments": "",
+ "x": 2188.7500038146973,
+ "y": 2861.6908826828003,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "4a6e737f.7ebf6c",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 2143.7499198913574,
+ "y": 2951.690803527832,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "3f48cbb0.25141c",
+ "type": "switchNode",
+ "name": "switch vnf-network-index",
+ "xml": "<switch test='`$vnf-network-index`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1402.083339691162,
+ "y": 2975.0242204666138,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b6265ed2.699af8"
+ ]
+ ]
+ },
+ {
+ "id": "b6265ed2.699af8",
+ "type": "outcome",
+ "name": "-1",
+ "xml": "<outcome value='-1'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1593.7499809265137,
+ "y": 2975.0244646072388,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "2ed011a8.f17046"
+ ]
+ ]
+ },
+ {
+ "id": "2ed011a8.f17046",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1742.0831718444824,
+ "y": 2973.3575048446655,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "4023444f.ec71fc",
+ "f3cab335.7ec9f"
+ ]
+ ]
+ },
+ {
+ "id": "cc22dd63.414278",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2433.7498893737793,
+ "y": 3383.357356071472,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "7043f864.7c537",
+ "4ca198d0.a53ec8",
+ "791dbcea.c3f15c"
+ ]
+ ]
+ },
+ {
+ "id": "7043f864.7c537",
+ "type": "for",
+ "name": "for each subnet-data",
+ "xml": "<for index='subnet-data-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2630.4166412353516,
+ "y": 3338.3572750091553,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "52062448.8dfe2c"
+ ]
+ ]
+ },
+ {
+ "id": "52062448.8dfe2c",
+ "type": "switchNode",
+ "name": "address-families match?",
+ "xml": "<switch test='`$tmp.address-family\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].ip-version`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2857.083267211914,
+ "y": 3338.3572750091553,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "543cb01a.eba16"
+ ]
+ ]
+ },
+ {
+ "id": "543cb01a.eba16",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3037.0832328796387,
+ "y": 3338.357681274414,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "bdf7e6b7.6ee818"
+ ]
+ ]
+ },
+ {
+ "id": "60ebadf1.68a63c",
+ "type": "set",
+ "name": "set tmp.address-family",
+ "xml": "<set>\n<parameter name='tmp.address-family'\n value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />\n",
+ "comments": "",
+ "x": 2462.083225250244,
+ "y": 3201.6907691955566,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "400506a5.64a12",
+ "type": "switchNode",
+ "name": "switch vnfc-subnet-ip_length",
+ "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1907.083568572998,
+ "y": 3198.357804298401,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "e743e437.36a2c8",
+ "57980fd5.eb6b38",
+ "67a6a045.51b5d"
+ ]
+ ]
+ },
+ {
+ "id": "e743e437.36a2c8",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2108.7500801086426,
+ "y": 3098.3573474884033,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "14f67782.825778"
+ ]
+ ]
+ },
+ {
+ "id": "57980fd5.eb6b38",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2105.1787109375,
+ "y": 3284.309638977051,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "5396132e.ac2ccc"
+ ]
+ ]
+ },
+ {
+ "id": "14f67782.825778",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2240.4166297912598,
+ "y": 3121.024094581604,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "a683f1c3.23c0e",
+ "type": "set",
+ "name": "set subnet-id to -1",
+ "xml": "<set>\n<parameter name='subnet-id' value='-1' />\n",
+ "comments": "",
+ "x": 3130.417148590088,
+ "y": 3500.024761199951,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "5396132e.ac2ccc",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2258.7501258850098,
+ "y": 3283.357271194458,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "60ebadf1.68a63c",
+ "cc22dd63.414278"
+ ]
+ ]
+ },
+ {
+ "id": "8baea399.050c9",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 4390.416746139526,
+ "y": 3671.6912381649017,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "2294588d.69be78",
+ "7cf89eba.e30e88"
+ ]
+ ]
+ },
+ {
+ "id": "7cf89eba.e30e88",
+ "type": "execute",
+ "name": "execute isInSameSubnet",
+ "xml": "<execute plugin=\"com.att.sdnctl.sli.plugin.ipAddressTools.IpAddressTool\" method=\"isInSameSubnet\">\n\t<parameter name=\"firstIPAddr\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].network-start-address`\" />\n\t<parameter name=\"secondIPAddr\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[0].vnfc-ip-address`\" />\n\t<parameter name=\"subnet\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].cidr-mask`\" />\n\t<parameter name=\"ipType\" value=\"`$ip-type`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4605.416748046875,
+ "y": 3721.6909120082855,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b43b85f4.a3f6f"
+ ]
+ ]
+ },
+ {
+ "id": "2294588d.69be78",
+ "type": "switchNode",
+ "name": "switch tmp.address-family",
+ "xml": "<switch test='`$tmp.address-family`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4607.083904266357,
+ "y": 3628.3578984737396,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "594b959.c2361ec",
+ "9b3a3849.f2667"
+ ]
+ ]
+ },
+ {
+ "id": "594b959.c2361ec",
+ "type": "outcome",
+ "name": "ipv4",
+ "xml": "<outcome value='ipv4'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4810.417166392008,
+ "y": 3601.6911288102465,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "6a520cb3.77f044"
+ ]
+ ]
+ },
+ {
+ "id": "9b3a3849.f2667",
+ "type": "outcome",
+ "name": "ipv6",
+ "xml": "<outcome value='ipv6'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4810.416839599609,
+ "y": 3648.3576562404633,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "7af13a32.5ffc94"
+ ]
+ ]
+ },
+ {
+ "id": "6a520cb3.77f044",
+ "type": "set",
+ "name": "set ip-type parameter to IPv4",
+ "xml": "<set>\n<parameter name='ip-type' value='IPv4' />\n",
+ "comments": "",
+ "x": 5007.083652496338,
+ "y": 3600.024602651596,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "7af13a32.5ffc94",
+ "type": "set",
+ "name": "set ip-type parameter to IPv6",
+ "xml": "<set>\n<parameter name='ip-type' value='IPv6' />\n",
+ "comments": "",
+ "x": 5012.083530426025,
+ "y": 3648.3576753139496,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "ab82723f.61758",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 4945.416778564453,
+ "y": 3721.3576753139496,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b1e91b4.62d23e8",
+ "7d551750.2413e8"
+ ]
+ ]
+ },
+ {
+ "id": "b1e91b4.62d23e8",
+ "type": "set",
+ "name": "set subnet-id",
+ "xml": "<set>\n<parameter name='subnet-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id`' />\n",
+ "comments": "",
+ "x": 5123.750099182129,
+ "y": 3698.024162054062,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "7d551750.2413e8",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 5108.750102996826,
+ "y": 3744.6911561489105,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "99f86360.f7c048",
+ "type": "switchNode",
+ "name": "switch subnet-id",
+ "xml": "<switch test='`$subnet-id`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3122.083023071289,
+ "y": 3661.6914958953857,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "3596c952.3e6b56"
+ ]
+ ]
+ },
+ {
+ "id": "3596c952.3e6b56",
+ "type": "outcome",
+ "name": "-1",
+ "xml": "<outcome value='-1'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3278.7495880126953,
+ "y": 3661.691431045532,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "6bb9a9d2.d4614"
+ ]
+ ]
+ },
+ {
+ "id": "6bb9a9d2.d4614",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3427.082778930664,
+ "y": 3660.024471282959,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "1c39b653.2b576a",
+ "f3cab335.7ec9f"
+ ]
+ ]
+ },
+ {
+ "id": "5e59b7e1.f58dd8",
+ "type": "set",
+ "name": "set subnet-id in vnfc-ip-assignments (temp variable)",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id' value='`$subnet-id`' />\n",
+ "comments": "",
+ "x": 3233.749668121338,
+ "y": 3738.3582668304443,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "fcdfebce.a935a8",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vfmodulec.log' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 587.0832633972168,
+ "y": 3333.3575048446655,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "b43b85f4.a3f6f",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4792.083351135254,
+ "y": 3721.6914002895355,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "ab82723f.61758"
+ ]
+ ]
+ },
+ {
+ "id": "9291e114.ac1f58",
+ "type": "set",
+ "name": "set network-id",
+ "xml": "<set>\n<parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].network-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$idx].network-id`' />\n",
+ "comments": "",
+ "x": 2165.4165077209473,
+ "y": 2906.690965652466,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "67190c0.7b4b2f4",
+ "type": "switchNode",
+ "name": "switch nfc-naming-code",
+ "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1363.7499732971191,
+ "y": 4521.6906933784485,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "fbe686e0.5f0fd",
+ "957bd493.746db8"
+ ]
+ ]
+ },
+ {
+ "id": "fbe686e0.5f0fd",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1548.7499198913574,
+ "y": 4496.690512180328,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "accede8.fdef6a"
+ ]
+ ]
+ },
+ {
+ "id": "957bd493.746db8",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1546.8451919555664,
+ "y": 4543.476339817047,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "3d2d20a5.318a68"
+ ]
+ ]
+ },
+ {
+ "id": "accede8.fdef6a",
+ "type": "set",
+ "name": "set tmp.nfc-naming-code to DEFAULT",
+ "xml": "<set>\n<parameter name='tmp.nfc-naming-code' value='DEFAULT' />\n",
+ "comments": "",
+ "x": 1780.416690826416,
+ "y": 4495.023862361908,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "3d2d20a5.318a68",
+ "type": "set",
+ "name": "set tmp.nfc-naming-code",
+ "xml": "<set>\n<parameter name='tmp.nfc-naming-code' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`' />\n",
+ "comments": "",
+ "x": 1737.0832023620605,
+ "y": 4543.357360363007,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "2591369f.6e45f2",
+ "type": "switchNode",
+ "name": "switch nfc-function",
+ "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1352.0833053588867,
+ "y": 4620.0238671302795,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "db65fbda.8eb47",
+ "25e9a13b.27b69e"
+ ]
+ ]
+ },
+ {
+ "id": "db65fbda.8eb47",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1548.749912261963,
+ "y": 4595.0236649513245,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "402342b6.e54cbc"
+ ]
+ ]
+ },
+ {
+ "id": "25e9a13b.27b69e",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1546.8451843261719,
+ "y": 4641.809492588043,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "fc9c94e4.1cab6"
+ ]
+ ]
+ },
+ {
+ "id": "402342b6.e54cbc",
+ "type": "set",
+ "name": "set tmp.nfc-function to DEFAULT",
+ "xml": "<set>\n<parameter name='tmp.nfc-function' value='DEFAULT' />\n",
+ "comments": "",
+ "x": 1760.4166946411133,
+ "y": 4593.356873989105,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "fc9c94e4.1cab6",
+ "type": "set",
+ "name": "set tmp.nfc-function",
+ "xml": "<set>\n<parameter name='tmp.nfc-function' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`' />\n",
+ "comments": "",
+ "x": 1718.7498245239258,
+ "y": 4641.690535068512,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "56804039.82c95",
+ "type": "switchNode",
+ "name": "switch network-roles match?",
+ "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-network-role\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2025.4166221618652,
+ "y": 5518.690894603729,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "d7344243.b04a2"
+ ]
+ ]
+ },
+ {
+ "id": "d7344243.b04a2",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2223.7500915527344,
+ "y": 5518.358049869537,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "1b4d007d.b0d738"
+ ]
+ ]
+ },
+ {
+ "id": "a50b0d5a.ce5908",
+ "type": "switchNode",
+ "name": "switch network-roles match?",
+ "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2028.7499656677246,
+ "y": 5678.357342243195,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "ecf473bc.4b56a8"
+ ]
+ ]
+ },
+ {
+ "id": "ecf473bc.4b56a8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2227.0834350585938,
+ "y": 5678.024497509003,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b14df7f0.70279"
+ ]
+ ]
+ },
+ {
+ "id": "f2b022e3.1f756",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1932.0832481384277,
+ "y": 6256.690762042999,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "cd3cd499.458be8",
+ "8f630208.bc1d7"
+ ]
+ ]
+ },
+ {
+ "id": "d27afbea.8fdbb",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1933.7499961853027,
+ "y": 6571.690773487091,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "636270ad.cb1f1",
+ "8293c8c0.560c58"
+ ]
+ ]
+ },
+ {
+ "id": "8f630208.bc1d7",
+ "type": "for",
+ "name": "for each vnfc-network-role",
+ "xml": "<for silentFailure='true' index='vnfc-network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2148.7501945495605,
+ "y": 6315.023932933807,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "a6245c2f.d57048"
+ ]
+ ]
+ },
+ {
+ "id": "c5f5f167.b223a",
+ "type": "save",
+ "name": "save vip-ipv4-address-list relationship to cp",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vip-ipv4-address-list:relationship-list\"\n key=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"cp\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/vnfcs/vnfc/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n + '/cps/cp/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].connection-point.connection-point-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2823.7501182556152,
+ "y": 6315.023771762848,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "af4f9563.46c848",
+ "20889d25.78e392"
+ ]
+ ]
+ },
+ {
+ "id": "24613f9d.2d98c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3215.583209991455,
+ "y": 6288.341553211212,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "4923f1db.2fcc2",
+ "269063c8.ce5a84"
+ ]
+ ]
+ },
+ {
+ "id": "215b3725.6db0e8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3215.5832862854004,
+ "y": 6341.34131193161,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "97a750a7.0acbc8",
+ "269063c8.ce5a84"
+ ]
+ ]
+ },
+ {
+ "id": "af4f9563.46c848",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3058.7500953674316,
+ "y": 6288.357223033905,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "24613f9d.2d98c"
+ ]
+ ]
+ },
+ {
+ "id": "20889d25.78e392",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3067.3216285705566,
+ "y": 6340.976367473602,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "215b3725.6db0e8"
+ ]
+ ]
+ },
+ {
+ "id": "8293c8c0.560c58",
+ "type": "for",
+ "name": "for each vnfc-network-role",
+ "xml": "<for silentFailure='true' index='vnfc-network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2150.416591644287,
+ "y": 6638.357342243195,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "69d9fcf7.12a64c"
+ ]
+ ]
+ },
+ {
+ "id": "d0a7f2e0.3a2078",
+ "type": "save",
+ "name": "save vip-ipv6-address-list relationship to cp",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vip-ipv6-address-list:relationship-list\"\n key=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"cp\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/vnfcs/vnfc/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n + '/cps/cp/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].connection-point.connection-point-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2820.41654586792,
+ "y": 6636.690124988556,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "84935ce4.e84668",
+ "5e735e5d.b462a8"
+ ]
+ ]
+ },
+ {
+ "id": "32fbd7c1.249f1",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3212.2496376037598,
+ "y": 6610.00790643692,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "fc4213a2.47c98",
+ "269063c8.ce5a84"
+ ]
+ ]
+ },
+ {
+ "id": "d624a09c.620df",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3212.249713897705,
+ "y": 6663.007665157318,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "fd80fcb3.880c8",
+ "269063c8.ce5a84"
+ ]
+ ]
+ },
+ {
+ "id": "84935ce4.e84668",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3055.4165229797363,
+ "y": 6610.023576259613,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "32fbd7c1.249f1"
+ ]
+ ]
+ },
+ {
+ "id": "5e735e5d.b462a8",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3063.9880561828613,
+ "y": 6662.64272069931,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "d624a09c.620df"
+ ]
+ ]
+ },
+ {
+ "id": "a6245c2f.d57048",
+ "type": "switchNode",
+ "name": "switch network-roles match?",
+ "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role\n == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].vnfc-network-role`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2402.083263397217,
+ "y": 6315.023609638214,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "372012a9.b14566"
+ ]
+ ]
+ },
+ {
+ "id": "372012a9.b14566",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2588.7501068115234,
+ "y": 6315.02409696579,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "c5f5f167.b223a"
+ ]
+ ]
+ },
+ {
+ "id": "69d9fcf7.12a64c",
+ "type": "switchNode",
+ "name": "switch network-roles match?",
+ "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role\n == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].vnfc-network-role`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2398.749843597412,
+ "y": 6636.690350055695,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "fc024c49.f1c3f"
+ ]
+ ]
+ },
+ {
+ "id": "fc024c49.f1c3f",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2585.4166870117188,
+ "y": 6636.69083738327,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "d0a7f2e0.3a2078"
+ ]
+ ]
+ },
+ {
+ "id": "1d4a09e3.74f01e",
+ "type": "comment",
+ "name": "SELF-SERVE FORK",
+ "info": "",
+ "comments": "",
+ "x": 748.4642944335938,
+ "y": 968.7976198196411,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "bb6a45ed.04707",
+ "type": "comment",
+ "name": "First, count the subnets for this address family",
+ "info": "",
+ "comments": "",
+ "x": 2763.750400543213,
+ "y": 3247.999765396118,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "b1ade774.cfc288",
+ "type": "for",
+ "name": "for each subnet-data",
+ "xml": "<for index='subnet-data-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3137.0830879211426,
+ "y": 3543.000268936157,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "1d2a481b.bb5bc8"
+ ]
+ ]
+ },
+ {
+ "id": "1d2a481b.bb5bc8",
+ "type": "switchNode",
+ "name": "address-families match?",
+ "xml": "<switch test='`$tmp.address-family\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].ip-version`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3363.749713897705,
+ "y": 3543.000268936157,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "79d9b537.c3936c"
+ ]
+ ]
+ },
+ {
+ "id": "79d9b537.c3936c",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3543.7496795654297,
+ "y": 3543.000675201416,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "d1d8beb4.cea2d8"
+ ]
+ ]
+ },
+ {
+ "id": "4ca198d0.a53ec8",
+ "type": "set",
+ "name": "set af-count to 0",
+ "xml": "<set>\n<parameter name='af-count' value='0' />\n",
+ "comments": "",
+ "x": 2618.749973297119,
+ "y": 3289.6665172576904,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "70a514e0.1d9e4c",
+ "type": "set",
+ "name": "increment af-count",
+ "xml": "<set>\n<parameter name='af-count' value='`$af-count + 1`' />\n",
+ "comments": "",
+ "x": 3367.083339691162,
+ "y": 3356.333267211914,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "bdf7e6b7.6ee818",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3183.749713897705,
+ "y": 3337.999952316284,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "70a514e0.1d9e4c",
+ "5bb16a61.6e69bc"
+ ]
+ ]
+ },
+ {
+ "id": "5bb16a61.6e69bc",
+ "type": "set",
+ "name": "set subnet-id",
+ "xml": "<set>\n<parameter name='subnet-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id`' />\n",
+ "comments": "",
+ "x": 3348.7497596740723,
+ "y": 3311.3332653045654,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "791dbcea.c3f15c",
+ "type": "switchNode",
+ "name": "switch af-count",
+ "xml": "<switch test='`$af-count`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2608.750385284424,
+ "y": 3526.3334341049194,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "ed47a0ef.b1bf78",
+ "79ae7762.a4525"
+ ]
+ ]
+ },
+ {
+ "id": "ed47a0ef.b1bf78",
+ "type": "outcome",
+ "name": "1",
+ "xml": "<outcome value='1'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2768.7499046325684,
+ "y": 3424.666603088379,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "e053fb41.4c10f8"
+ ]
+ ]
+ },
+ {
+ "id": "e053fb41.4c10f8",
+ "type": "set",
+ "name": "set subnet-id in vnfc-ip-assignments (temp variable)",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id'\n value='`$subnet-id`' />\n",
+ "comments": "",
+ "x": 3042.083209991455,
+ "y": 3422.999952316284,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "79ae7762.a4525",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2768.7498207092285,
+ "y": 3626.333522796631,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "f9e96cae.86b4f8"
+ ]
+ ]
+ },
+ {
+ "id": "f9e96cae.86b4f8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2925.41646194458,
+ "y": 3626.333204269409,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "a683f1c3.23c0e",
+ "b1ade774.cfc288",
+ "99f86360.f7c048",
+ "5e59b7e1.f58dd8"
+ ]
+ ]
+ },
+ {
+ "id": "d1d8beb4.cea2d8",
+ "type": "switchNode",
+ "name": "switch network-start-address",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].network-start-address`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3738.749858856201,
+ "y": 3541.3335189819336,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "2066aba2.d3bb4c",
+ "f3e101cd.85b1b8"
+ ]
+ ]
+ },
+ {
+ "id": "2066aba2.d3bb4c",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 3935.416706085205,
+ "y": 3476.333129644394,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "c6a0914d.3826e8"
+ ]
+ ]
+ },
+ {
+ "id": "f3e101cd.85b1b8",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3928.512104034424,
+ "y": 3610.6190412044525,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "4cd6ad1.9e140d4"
+ ]
+ ]
+ },
+ {
+ "id": "4cd6ad1.9e140d4",
+ "type": "switchNode",
+ "name": "switch cidr-mask",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].cidr-mask`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4083.749897003174,
+ "y": 3609.6662480831146,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "f5b0bc14.89cdb8",
+ "78b8442f.309bb4"
+ ]
+ ]
+ },
+ {
+ "id": "f5b0bc14.89cdb8",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 4238.749973297119,
+ "y": 3539.66654753685,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "892836a6.bb30b8"
+ ]
+ ]
+ },
+ {
+ "id": "78b8442f.309bb4",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4241.845769882202,
+ "y": 3672.2856347560883,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "8baea399.050c9"
+ ]
+ ]
+ },
+ {
+ "id": "67a6a045.51b5d",
+ "type": "outcome",
+ "name": "0",
+ "xml": "<outcome value='0'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2110.4165840148926,
+ "y": 3146.333204269409,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "14f67782.825778"
+ ]
+ ]
+ },
+ {
+ "id": "c6a0914d.3826e8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 4080.416633605957,
+ "y": 3476.3328969478607,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "38e6ba0e.ecd3ae",
+ "f3cab335.7ec9f"
+ ]
+ ]
+ },
+ {
+ "id": "892836a6.bb30b8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 4385.416488647461,
+ "y": 3537.9997642040253,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "5e50004f.2c9f",
+ "f3cab335.7ec9f"
+ ]
+ ]
+ },
+ {
+ "id": "eafa8b76.275b48",
+ "type": "comment",
+ "name": "Ignore address families with no addresses",
+ "info": "",
+ "comments": "",
+ "x": 2384.74995803833,
+ "y": 3076.666700363159,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "f5615f88.05ae28",
+ "type": "switchNode",
+ "name": "switch invariant-uuid",
+ "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].invariant-uuid`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1355.4167976379395,
+ "y": 4706.333078384399,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "32f079b9.ff27d6",
+ "1e96f66.5d21f8a"
+ ]
+ ]
+ },
+ {
+ "id": "32f079b9.ff27d6",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1537.083209991455,
+ "y": 4682.999708175659,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "f9cc9731.038f7"
+ ]
+ ]
+ },
+ {
+ "id": "1e96f66.5d21f8a",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1535.178482055664,
+ "y": 4729.785535812378,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "c87af5c.2b49f88"
+ ]
+ ]
+ },
+ {
+ "id": "f9cc9731.038f7",
+ "type": "save",
+ "name": "save vnfc to A&AI",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"vnfc\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\" >\n<parameter name=\"vnfc-name\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`\" />\n<parameter name=\"nfc-naming-code\" value=\"`$tmp.nfc-naming-code`\" />\n<parameter name=\"nfc-function\" value=\"`$tmp.nfc-function`\" />\n<parameter name=\"orchestration-status\" value=\"`PendingCreate`\" />\n<parameter name=\"in-maint\" value=\"true\" />\n<parameter name=\"prov-status\" value=\"`PREPROV`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1698.7498359680176,
+ "y": 4684.666700363159,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "d4c69512.b7a85",
+ "cb5ae333.4bb6c"
+ ]
+ ]
+ },
+ {
+ "id": "a6f8df46.880ce8",
+ "type": "switchNode",
+ "name": "switch input cloud-owner",
+ "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-request-input.cloud-owner`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 614.4641952514648,
+ "y": 358.65472888946533,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "6677fe8a.aff6a",
+ "6295c766.2daaa8"
+ ]
+ ]
+ },
+ {
+ "id": "6677fe8a.aff6a",
+ "type": "other",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 797.7975692749023,
+ "y": 328.65471744537354,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "39261ade.66ad8e"
+ ]
+ ]
+ },
+ {
+ "id": "6295c766.2daaa8",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 797.5594749450684,
+ "y": 369.6072111129761,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "a2677766.fe3f"
+ ]
+ ]
+ },
+ {
+ "id": "39261ade.66ad8e",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 932.7975234985352,
+ "y": 326.98805713653564,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "a2677766.fe3f",
+ "type": "set",
+ "name": "set prop.cloud-region.cloud-owner",
+ "xml": "<set>\n<parameter name='prop.cloud-region.cloud-owner' value='`$vf-module-topology-operation-input.vf-module-request-input.cloud-owner`' />\n",
+ "comments": "",
+ "x": 1014.4641799926758,
+ "y": 368.6547384262085,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "d918a5d3.4b678",
+ "type": "call",
+ "name": "call self-serve-vf-module-forking-logic",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-forking-logic' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 646.0515670776367,
+ "y": 910.048059463501,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "7933c6b5.bef96",
+ "type": "switchNode",
+ "name": "switch ss.self-serve-flag",
+ "xml": "<switch test=\"`$ss.self-serve-flag`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 604.1943054199219,
+ "y": 1137.0481281280518,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "aa4d9d31.8db2d",
+ "8b34e2b6.f12a5"
+ ]
+ ]
+ },
+ {
+ "id": "aa4d9d31.8db2d",
+ "type": "outcomeFalse",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 824.908504486084,
+ "y": 1254.6190271377563,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b2cbded2.837b2"
+ ]
+ ]
+ },
+ {
+ "id": "8b34e2b6.f12a5",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 825.4799575805664,
+ "y": 1013.4766645431519,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "be10b89.7317448"
+ ]
+ ]
+ },
+ {
+ "id": "66d0262b.c1316",
+ "type": "call",
+ "name": "call check for VNF-API-preload and copy",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='gw-vfmodule-update' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 657.2499923706055,
+ "y": 7316.2509298324585,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "b097fd2d.1c3e2",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 979.9999618530273,
+ "y": 487.6302709579468,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "7e3f0173.cdd7c8",
+ "52adbd59.e3948c"
+ ]
+ ]
+ },
+ {
+ "id": "52adbd59.e3948c",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"If svc-action is 'assign' then request-action must be 'CreateVfModuleInstance'\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1167.9166450500488,
+ "y": 471.26124906539917,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "2b23f970.b0e516",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1082.2022666931152,
+ "y": 536.1183648109436,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "fd16e118.302da8",
+ "7e3f0173.cdd7c8"
+ ]
+ ]
+ },
+ {
+ "id": "fd16e118.302da8",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error reading VF_MODULE_MODEL table\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1279.5236701965332,
+ "y": 514.6540641784668,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "19ca61b5.8fa5c6",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1096.4879722595215,
+ "y": 581.2612175941467,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "cb67a353.3c75b",
+ "7e3f0173.cdd7c8"
+ ]
+ ]
+ },
+ {
+ "id": "cb67a353.3c75b",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'No model found for VF module customization UUID ' + $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1291.130859375,
+ "y": 558.2255039215088,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "57fdbbee.7122f4",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1058.095230102539,
+ "y": 709.3326988220215,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "f134d1f3.94396",
+ "7e3f0173.cdd7c8"
+ ]
+ ]
+ },
+ {
+ "id": "f134d1f3.94396",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"There are no VNFs defined in MD-SAL\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1265.0594863891602,
+ "y": 680.3684234619141,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "a0d2ddbe.4ce55",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 922.3809356689453,
+ "y": 817.3326988220215,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "bb2e5ad9.46ca68",
+ "7e3f0173.cdd7c8"
+ ]
+ ]
+ },
+ {
+ "id": "bb2e5ad9.46ca68",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Unable to find VNF ID ' + $vf-module-topology-operation-input.vnf-information.vnf-id + ' in MD-SAL'`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1124.345230102539,
+ "y": 792.6898679733276,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "b91cfedb.3fa03",
+ "type": "call",
+ "name": "call self-serve-vf-module-assign",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-assign' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1247.3325996398926,
+ "y": 926.1062297821045,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "70c27670.277bc"
+ ]
+ ]
+ },
+ {
+ "id": "70c27670.277bc",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1467.6301803588867,
+ "y": 925.5942611694336,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "adee9682.834c08"
+ ]
+ ]
+ },
+ {
+ "id": "2b74d386.947184",
+ "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": 1200.035270690918,
+ "y": 1171.367787361145,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "f3642c27.ec6008",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/ss-vnfend.log' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1186.2494812011719,
+ "y": 1017.1094055175781,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "d714905.ce5a3f",
+ "type": "set",
+ "name": "set order-status to PendingCreate",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'\n value='PendingCreate' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'\n value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'\n value='`$vf-module-topology-operation-input.request-information.request-action`' />\n",
+ "comments": "",
+ "x": 1255.2732429504395,
+ "y": 971.0702590942383,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "be10b89.7317448",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 996.3687133789062,
+ "y": 1012.5700912475586,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b91cfedb.3fa03",
+ "d714905.ce5a3f",
+ "f3642c27.ec6008",
+ "2b74d386.947184",
+ "57df4d97.1b3e74",
+ "60730953.c387"
+ ]
+ ]
+ },
+ {
+ "id": "7e3f0173.cdd7c8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1706.5477905273438,
+ "y": 1193.904673576355,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "78f1021d.4797bc",
+ "d65a69c8.cf6ba"
+ ]
+ ]
+ },
+ {
+ "id": "adee9682.834c08",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1613.6309051513672,
+ "y": 924.9756164550781,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "f38280a4.feb028",
+ "7e3f0173.cdd7c8"
+ ]
+ ]
+ },
+ {
+ "id": "f38280a4.feb028",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Failed to create self-serve assignment for vf-module with vf-module-id=' + $vf-module-topology-operation-input.vf-module-information.vf-module-id + ' with error: ' + $error-message`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1811.3096618652344,
+ "y": 904.2613258361816,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "41d32aa.5f68754",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'VF module id ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id\n + ' already exists, and status is ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-data.vf-module-level-oper-status.order-status`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2518.750015258789,
+ "y": 1423.4688367843628,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "bdb7e590.4bbf98",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2324.8211059570312,
+ "y": 1442.9331254959106,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "41d32aa.5f68754",
+ "1d6f9b4e.71254d"
+ ]
+ ]
+ },
+ {
+ "id": "e750571d.ca626",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1029.8213348388672,
+ "y": 1660.5997676849365,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "1a7b6a78.6a325e",
+ "1d6f9b4e.71254d"
+ ]
+ ]
+ },
+ {
+ "id": "71cefe31.79b508",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1031.488021850586,
+ "y": 1703.933141708374,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "808569e9.5d9618",
+ "1d6f9b4e.71254d"
+ ]
+ ]
+ },
+ {
+ "id": "1a7b6a78.6a325e",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Cloud region not found in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1233.75,
+ "y": 1637.3855438232422,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "808569e9.5d9618",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error retrieving cloud region from AAI. Is AAI down?\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1229.1667404174805,
+ "y": 1685.7188806533813,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "2b8167ac.ee8e3",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 914.4045486450195,
+ "y": 1884.599820137024,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b31a2d90.6e6418",
+ "1d6f9b4e.71254d"
+ ]
+ ]
+ },
+ {
+ "id": "b31a2d90.6e6418",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1107.0832061767578,
+ "y": 1857.3855504989624,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "1d6f9b4e.71254d",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1708.5714492797852,
+ "y": 2145.540556907654,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "caca347e.8787d",
+ "a38241eb.287ec8"
+ ]
+ ]
+ },
+ {
+ "id": "20ed866d.bb0ce2",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2823.74991607666,
+ "y": 2633.7741470336914,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "9af3e55f.6087e",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 2441.011405944824,
+ "y": 2684.19135761261,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "20ed866d.bb0ce2",
+ "9ea0a8d5.338e78",
+ "bb2b8a64.4eda98"
+ ]
+ ]
+ },
+ {
+ "id": "b201b2ed.f32f68",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3002.083209991455,
+ "y": 2324.524369239807,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "c392950a.4cd7e",
+ "9af3e55f.6087e"
+ ]
+ ]
+ },
+ {
+ "id": "c392950a.4cd7e",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'from-preload flag is true but could not find preload information for VF module name ' + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3201.6664505004883,
+ "y": 2291.1673135757446,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "886e3c52.8c2238",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2173.987762451172,
+ "y": 2472.1076765060425,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "3be3b1ce.879d46",
+ "9af3e55f.6087e"
+ ]
+ ]
+ },
+ {
+ "id": "3be3b1ce.879d46",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error retrieving preload-information\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2379.999870300293,
+ "y": 2446.750412940979,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "b6c26cf.773831",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4247.083518981934,
+ "y": 4512.246376037598,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "f3cab335.7ec9f",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 3859.3447341918945,
+ "y": 4558.913317203522,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b6c26cf.773831",
+ "3a601dac.7a4482",
+ "aee71bd7.cb4458"
+ ]
+ ]
+ },
+ {
+ "id": "4023444f.ec71fc",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'VNFC network role '\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-network-role\n + ' is not found in VNF network list'\n `\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1942.0833206176758,
+ "y": 2955.718928337097,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "38e6ba0e.ecd3ae",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'SDNC subnet id '\n + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id\n + ' does not have network-start-address populated'`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4271.666809082031,
+ "y": 3431.413005590439,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "5e50004f.2c9f",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'SDNC subnet id '\n + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id\n + ' does not have cidr-mask populated'`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4586.666831970215,
+ "y": 3508.9130125045776,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "1c39b653.2b576a",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Not able to find VNF network subnet that contains address '\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[0].vnfc-ip-address\n `\" />",
+ "comments": "",
+ "outputs": 1,
+ "x": 3634.1667861938477,
+ "y": 3628.9130296707153,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "d4e308ce.5712b",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error reading VFC_RELATED_NETWORK_ROLE table\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2074.861038208008,
+ "y": 3865.441397666931,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "e1873883.a0b338",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Unable to find related network '\n + $db.vnf-related-network-role[$db-related-network-index].related-network-role + ' in vnf-networks'`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2882.361099243164,
+ "y": 4050.4411458969116,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "64b6a50b.0e40cc",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error saving vnfc to AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2258.7499465942383,
+ "y": 4673.080787658691,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "b8f70cec.245ee",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3735.555435180664,
+ "y": 5868.081328392029,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "deea8b7a.34ee38",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 3349.066925048828,
+ "y": 5910.998540878296,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b8f70cec.245ee",
+ "c7108bf6.17f21",
+ "eb62798f.37c47"
+ ]
+ ]
+ },
+ {
+ "id": "ecec95d0.f03d18",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error updating vnfc relationships in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1896.09130859375,
+ "y": 4786.83000087738,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "4b5a4f9a.72aaf8",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Not-found error updating vnfc relationships\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1895.5556297302246,
+ "y": 4843.794567108154,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "56c543eb.6150dc",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error saving cp object to AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2338.055639266968,
+ "y": 5013.080267906189,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "d01f264c.61c318",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error updating cp relationship to l3-network in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2993.0557022094727,
+ "y": 5465.302522659302,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "64482d7f.371044",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error updating cp relationship to l3-network\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2995.5557022094727,
+ "y": 5527.802525520325,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "7a163627.fcef3",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Error updating cp relationship to l3-network and vlan-tag in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3324.1273040771484,
+ "y": 5625.302538871765,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "57dc1477.8da4b4",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error updating cp relationship to l3-network and vlan-tag\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3326.6274032592773,
+ "y": 5687.802539825439,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "a7be1c39.6ee63",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Error creating l3-interface-ipv4-address-list object in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4015.9730072021484,
+ "y": 5096.552495002747,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "a4494b11.30c988",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Error updating l3-interface-ipv4-address-list relationships in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4013.4730072021484,
+ "y": 5175.3025007247925,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "3b6a1bff.11e25c",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error updating l3-interface-ipv4-address-list relationships\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4015.97274017334,
+ "y": 5235.302507400513,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "1d21480c.1addf8",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Error creating l3-interface-ipv6-address-list object in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4019.7227478027344,
+ "y": 5285.302512168884,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "e3d10ed9.82b7b8",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Error updating l3-interface-ipv6-address-list relationships in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4018.472480773926,
+ "y": 5346.552515029907,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "fedf80c9.88e5f",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error updating l3-interface-ipv6-address-list relationships\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4019.722480773926,
+ "y": 5406.5525159835815,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "aee903cd.9f721",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4429.722415924072,
+ "y": 5532.802444458008,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "b8d50b6.e90cc78",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 4049.483901977539,
+ "y": 5577.469656944275,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "aee903cd.9f721",
+ "28125649.296d72",
+ "a39b4b61.59b038"
+ ]
+ ]
+ },
+ {
+ "id": "8395e0d5.a4ecb8",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3853.1943283081055,
+ "y": 6997.246689796448,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "269063c8.ce5a84",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 3465.455551147461,
+ "y": 7047.663359642029,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "8395e0d5.a4ecb8",
+ "8d26e950.2b598",
+ "a7b746c4.2d389"
+ ]
+ ]
+ },
+ {
+ "id": "fd80fcb3.880c8",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error updating vip-ipv4-address-list relationship to cp\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3403.194622039795,
+ "y": 6635.996907234192,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "fc4213a2.47c98",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Error updating vip-ipv4-address-list relationship to cp in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3396.944892883301,
+ "y": 6572.247441291809,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "97a750a7.0acbc8",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error updating vip-ipv4-address-list relationship to cp\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3408.194625854492,
+ "y": 6323.496886253357,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "4923f1db.2fcc2",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Error updating vip-ipv4-address-list relationship to cp in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3408.194892883301,
+ "y": 6262.247422218323,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "84c51507.94d668",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error updating vip-ipv6-address-list relationships\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2775.6945877075195,
+ "y": 6523.496897697449,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "4a19d7b6.f2c47",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Error updating vip-ipv6-address-list relationships in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2774.444580078125,
+ "y": 6465.997433662415,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "48c2cba4.91f6cc",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error saving vip-ipv6-address-list\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2438.194564819336,
+ "y": 6409.746890068054,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "37375282.76ddb6",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Error saving vip-ipv6-address-list in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2438.194564819336,
+ "y": 6355.996887207031,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "bdc62da9.93398",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error updating vip-ipv4-address-list relationships\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2784.4445838928223,
+ "y": 6198.496878623962,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "c60c031b.634f38",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Error updating vip-ipv4-address-list relationships in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2785.6945877075195,
+ "y": 6140.996874809265,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "5573d94b.dc5",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error saving vip-ipv4-address-list\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2441.944564819336,
+ "y": 6097.246870994568,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "f4049c01.0aeaf",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Error saving vip-ipv4-address-list in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2438.194564819336,
+ "y": 6029.746867179871,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "21dc9b2.c9b4164",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'No l3-network found in AAI for network ID '\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1935.6945304870605,
+ "y": 5954.746864318848,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "c98dc3b.19af54",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Error updating vf-module relationships in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1936.9445266723633,
+ "y": 5895.996856212616,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "23db4204.137326",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"Error updating vf-module in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1088.749984741211,
+ "y": 4326.830564498901,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "c333832f.3cfc3",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n <parameter name=\"error-message\" value=\"`'No vf-module found in AAI for vf module ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1092.499984741211,
+ "y": 4403.080567359924,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "9f112544.7f8a58",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vfmodule.log' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 476.07337188720703,
+ "y": 7964.7099623680115,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "84fdd3bf.927fd",
+ "type": "execute",
+ "name": "execute RestApiCallNode - PUT vf-module",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + 'vf-module-assign.json'`\" />\n <parameter name='restapiUrl' value=\"`$prop.controller.url + $tmp.vf-module.url`\" />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='PUT' />\n <parameter name=\"responsePrefix\" value=\"vf-module-assign\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 573.4065093994141,
+ "y": 7823.908843040466,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "48031f36.06a36",
+ "61c1ba7d.9ba324"
+ ]
+ ]
+ },
+ {
+ "id": "48031f36.06a36",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 854.1906814575195,
+ "y": 7844.6049218177795,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b517797c.221e9"
+ ]
+ ]
+ },
+ {
+ "id": "61c1ba7d.9ba324",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 846.6193161010742,
+ "y": 7803.10494184494,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "b517797c.221e9"
+ ]
+ ]
+ },
+ {
+ "id": "b517797c.221e9",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1055.5494270324707,
+ "y": 7823.273902416229,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "3d40ba87.1beba6",
+ "1a40ddac.06f67a"
+ ]
+ ]
+ },
+ {
+ "id": "91e9c48a.4b386",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1809.799674987793,
+ "y": 7965.4422726631165,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "1a40ddac.06f67a",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1428.846923828125,
+ "y": 8017.465929508209,
+ "z": "34265cd.7205424",
+ "wires": [
+ [
+ "91e9c48a.4b386",
+ "c1b9561e.c76ae8",
+ "c58f8414.25a99"
+ ]
+ ]
+ },
+ {
+ "id": "3d40ba87.1beba6",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error doing PUT of vf-module\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1260.0498428344727,
+ "y": 7795.798916339874,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "4c0ccb17.3b1804",
+ "type": "comment",
+ "name": "This should have been removed from Dublin",
+ "info": "",
+ "comments": "",
+ "x": 728.7499923706055,
+ "y": 7285.302035331726,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "b13baffe.18c468",
+ "type": "set",
+ "name": "Initialize SO 500 reponse params",
+ "xml": "<set>\n<parameter name=\"so.ack-final-indicator\" value=\"Y\" />\n<parameter name=\"so.response-code\" value=\"500\" />\n<parameter name=\"so.notification-url\" value=\"`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`\" />\n<parameter name=\"so.svc-request-id\" value=\"`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`\" />\n<parameter name=\"so.service-type\" value=\"`$vf-module-topology-operation-input.service-information.subscription-service-type`\" />\n<parameter name=\"so.service-instance-id\" value=\"`$vf-module-topology-operation-input.service-information.service-instance-id`\" />",
+ "comments": "",
+ "x": 644.9999313354492,
+ "y": 270.02429485321045,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "78f1021d.4797bc",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API_send-so-response",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2013.749870300293,
+ "y": 1172.3854970932007,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "caca347e.8787d",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API_send-so-response",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2021.2499160766602,
+ "y": 2124.6077165603638,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "60730953.c387",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API_send-so-response",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1309.9998931884766,
+ "y": 1120.3020401000977,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "57df4d97.1b3e74",
+ "type": "set",
+ "name": "set so.reponse-code = 200",
+ "xml": "<set>\n<parameter name=\"so.response-code\" value=\"200\" />\n",
+ "comments": "",
+ "x": 1238.7499160766602,
+ "y": 1064.0520524978638,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "9ea0a8d5.338e78",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API_send-so-response",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2766.249897003174,
+ "y": 2684.330011367798,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "3a601dac.7a4482",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API_send-so-response",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4188.888832092285,
+ "y": 4559.885304450989,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "28125649.296d72",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API_send-so-response",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4371.388870239258,
+ "y": 5576.691199302673,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "c7108bf6.17f21",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API_send-so-response",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3672.638832092285,
+ "y": 5913.496632575989,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "8d26e950.2b598",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API_send-so-response",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3792.638832092285,
+ "y": 7047.524464607239,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "c1b9561e.c76ae8",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API_send-so-response",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1750.694320678711,
+ "y": 8018.21951341629,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "a1c5d05.89a983",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API_send-so-response",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 594.4444427490234,
+ "y": 8071.97101354599,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "5b817e7f.0206",
+ "type": "set",
+ "name": "set so.reponse-code = 200",
+ "xml": "<set>\n<parameter name=\"so.response-code\" value=\"200\" />\n",
+ "comments": "",
+ "x": 524.4444427490234,
+ "y": 8017.942268848419,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "c58f8414.25a99",
+ "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=\"`$error-message`\" />\n",
+ "comments": "",
+ "x": 1631.9443817138672,
+ "y": 8066.969216823578,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "a7b746c4.2d389",
+ "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=\"`$error-message`\" />\n",
+ "comments": "",
+ "x": 3672.361000061035,
+ "y": 7096.135304450989,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "eb62798f.37c47",
+ "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=\"`$error-message`\" />\n",
+ "comments": "",
+ "x": 3551.111000061035,
+ "y": 5958.774464607239,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "a39b4b61.59b038",
+ "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=\"`$error-message`\" />\n",
+ "comments": "",
+ "x": 4254.861000061035,
+ "y": 5621.274464607239,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "aee71bd7.cb4458",
+ "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=\"`$error-message`\" />\n",
+ "comments": "",
+ "x": 4069.861000061035,
+ "y": 4604.052296638489,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "bb2b8a64.4eda98",
+ "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=\"`$error-message`\" />\n",
+ "comments": "",
+ "x": 2649.99991607666,
+ "y": 2730.4409685134888,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "a38241eb.287ec8",
+ "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=\"`$error-message`\" />\n",
+ "comments": "",
+ "x": 1902.4999160766602,
+ "y": 2166.2742204666138,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "d65a69c8.cf6ba",
+ "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=\"`$error-message`\" />\n",
+ "comments": "",
+ "x": 1893.7499160766602,
+ "y": 1215.0243425369263,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "7e168e6e.8d02f8",
+ "type": "set",
+ "name": "copy vf-module data",
+ "xml": "<set>\n<parameter name='vf-module-data.'\n value='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.' />\n",
+ "comments": "",
+ "x": 493.0711898803711,
+ "y": 7468.457430839539,
+ "z": "34265cd.7205424",
+ "wires": []
+ },
+ {
+ "id": "c1894905.cb3d58",
+ "type": "execute",
+ "name": "generate vf-module URL (sub service-instance-id)",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.vf-module`\"/>\n <parameter name=\"outputPath\" value=\"tmp.part\"/>\n <parameter name=\"target\" value=\"{service-instance-id}\"/>\n <parameter name=\"replacement\" value=\"`$service-data.service-topology.service-topology-identifier.service-instance-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 592.1782302856445,
+ "y": 7552.745089530945,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "7badb381.1fbf0c",
+ "type": "execute",
+ "name": "generate vf-module URL (sub vnf-id)",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.part`\"/>\n <parameter name=\"outputPath\" value=\"tmp.part\"/>\n <parameter name=\"target\" value=\"{vnf-id}\"/>\n <parameter name=\"replacement\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 546.821044921875,
+ "y": 7597.923043251038,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "2d6c7dfc.640b9a",
+ "type": "execute",
+ "name": "generate vf-module URL (sub vf-module-id)",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.part`\"/>\n <parameter name=\"outputPath\" value=\"tmp.vf-module.url\"/>\n <parameter name=\"target\" value=\"{vf-module-id}\"/>\n <parameter name=\"replacement\" value=\"`$vf-module-topology-operation-input.vf-module-information.vf-module-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 571.9997024536133,
+ "y": 7644.530034065247,
+ "z": "34265cd.7205424",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "bcdb4bf7.c65098",
+ "type": "comment",
+ "name": "'New' version of DG, called for flows where SO expects async response (so-bpmn-infra)",
+ "info": "",
+ "comments": "",
+ "x": 528,
+ "y": 64,
+ "z": "34265cd.7205424",
+ "wires": []
+ }
+]
\ No newline at end of file diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-assign-sync.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-assign-sync.json new file mode 100644 index 00000000..9411b85e --- /dev/null +++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-assign-sync.json @@ -0,0 +1,6528 @@ +[
+ {
+ "id": "d899f0c1.6bd748",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 140,
+ "y": 125.02430057525635,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "aaa14e6d.86dda8"
+ ]
+ ]
+ },
+ {
+ "id": "aaa14e6d.86dda8",
+ "type": "service-logic",
+ "name": "GENERIC-RESOURCE-API ${project.version}",
+ "module": "GENERIC-RESOURCE-API",
+ "version": "${project.version}",
+ "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": 253.85713577270508,
+ "y": 164.8338384628296,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "769bc2ea.c9d65c"
+ ]
+ ]
+ },
+ {
+ "id": "769bc2ea.c9d65c",
+ "type": "method",
+ "name": "method vf-module-topology-operation-assign-sync",
+ "xml": "<method rpc='vf-module-topology-operation-assign-sync' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 253.42862701416016,
+ "y": 205.02430057525635,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "b1406c81.923cc"
+ ]
+ ]
+ },
+ {
+ "id": "a460891c.0d1ba",
+ "type": "comment",
+ "name": "vf-module-topology-operation-assign-sync",
+ "info": "",
+ "comments": "",
+ "x": 398.32110595703125,
+ "y": 51,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "6fdfcdf3.2ecd44",
+ "type": "switchNode",
+ "name": "switch request-action",
+ "xml": "<switch test='`$vf-module-topology-operation-input.request-information.request-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 545.1905097961426,
+ "y": 380.548122882843,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "5fb65925.ac9",
+ "f896fbfa.e4db38"
+ ]
+ ]
+ },
+ {
+ "id": "5fb65925.ac9",
+ "type": "outcome",
+ "name": "CreateVfModuleInstance",
+ "xml": "<outcome value='CreateVfModuleInstance'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 807.2381248474121,
+ "y": 357.6910090446472,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "a252c97a.96867"
+ ]
+ ]
+ },
+ {
+ "id": "f896fbfa.e4db38",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 750.9047698974609,
+ "y": 403.07199811935425,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "acc70f07.86c54"
+ ]
+ ]
+ },
+ {
+ "id": "a252c97a.96867",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 997.0952892303467,
+ "y": 357.69104051589966,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "acc70f07.86c54",
+ "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=\"If svc-action is 'assign' then request-action must be 'CreateVfModuleInstance'\" />\n",
+ "comments": "",
+ "x": 1015.9047775268555,
+ "y": 403.40531063079834,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "c5b83baf.fcb2b8",
+ "type": "get-resource",
+ "name": "get-resource VF_MODULE_MODEL",
+ "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VF_MODULE_MODEL WHERE customization_uuid = $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid'\n pfx='db.vf-module-model'>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 592.5237770080566,
+ "y": 471.6910729408264,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "2d0c3ac2.95728e",
+ "71d0e645.eeba9"
+ ]
+ ]
+ },
+ {
+ "id": "986ddeb5.121a08",
+ "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=\"`'No model found for VF module customization UUID ' + $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`\" />\n",
+ "comments": "",
+ "x": 1033.9521980285645,
+ "y": 496.1195454597473,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "2d0c3ac2.95728e",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 858.3094673156738,
+ "y": 452.0719037055969,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "a604e12e.a8eed8"
+ ]
+ ]
+ },
+ {
+ "id": "71d0e645.eeba9",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 866.8808975219727,
+ "y": 496.3576169013977,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "986ddeb5.121a08"
+ ]
+ ]
+ },
+ {
+ "id": "a604e12e.a8eed8",
+ "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=\"Error reading VF_MODULE_MODEL table\" />\n",
+ "comments": "",
+ "x": 1033.309398651123,
+ "y": 451.21480417251587,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "58f29161.867a9",
+ "type": "switchNode",
+ "name": "switch service-data.vnfs.vnf_length",
+ "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 587.6190414428711,
+ "y": 680.2624082565308,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "4d071976.5050c",
+ "c3315f66.868788"
+ ]
+ ]
+ },
+ {
+ "id": "4d071976.5050c",
+ "type": "other",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 828.3333129882812,
+ "y": 657.4051485061646,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "550ea296.96c2cc"
+ ]
+ ]
+ },
+ {
+ "id": "c3315f66.868788",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 828.0951538085938,
+ "y": 698.3576669692993,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "1218b6d8.cadda9"
+ ]
+ ]
+ },
+ {
+ "id": "43e1e208.1c9204",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 166.19043731689453,
+ "y": 3161.92930662632,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "badfdbc9.022e2",
+ "1265e597.326aea",
+ "d904000a.ab2f38",
+ "b9dd9667.33695",
+ "b4b281fa.e85d5",
+ "68dfa5ea.e5019c",
+ "a1e477f0.0b584",
+ "fa229a92.ce9da8",
+ "43deefc2.c1bae8",
+ "2312018e.28175e",
+ "bab10e90.55c028",
+ "5554f045.52dd38",
+ "dd4f4eeb.8d24e",
+ "7af69df8.0374dc",
+ "453e667a.37bcb",
+ "5245ba39.530f94",
+ "fee3a1a8.2d1ad8",
+ "a61a195a.95b1e8",
+ "7314ccc5.2134a4",
+ "ad9d0c92.4b3468",
+ "9535b7df.620268",
+ "cf140a5d.20d0a",
+ "c8b952a9.c78298",
+ "e5e2fde7.2191d",
+ "8534c826.13da18",
+ "75790bd1.e8defc",
+ "c898fd55.fa0688",
+ "f1de476.813b738",
+ "cc91d00d.836b9",
+ "709b1630.8dd8b8",
+ "6f90d0a3.4f5888"
+ ]
+ ]
+ },
+ {
+ "id": "550ea296.96c2cc",
+ "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=\"There are no VNFs defined in MD-SAL\" />\n",
+ "comments": "",
+ "x": 994.999927520752,
+ "y": 656.6909036636353,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "1218b6d8.cadda9",
+ "type": "for",
+ "name": "for each vnf",
+ "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 990.3332977294922,
+ "y": 698.0242853164673,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "9a0906d8.7ab488"
+ ]
+ ]
+ },
+ {
+ "id": "9a0906d8.7ab488",
+ "type": "switchNode",
+ "name": "switch service data vnf == input vnf",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$idx].vnf-id == $vf-module-topology-operation-input.vnf-information.vnf-id`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1241.6665954589844,
+ "y": 697.6910133361816,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "34a2a2c8.9ed3d6"
+ ]
+ ]
+ },
+ {
+ "id": "34a2a2c8.9ed3d6",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1471.6666069030762,
+ "y": 697.0243263244629,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "38dbdaf8.de3b36"
+ ]
+ ]
+ },
+ {
+ "id": "169ef671.ac8942",
+ "type": "set",
+ "name": "set vnf-index to -1",
+ "xml": "<set>\n<parameter name='vnf-index' value='-1' />\n",
+ "comments": "",
+ "x": 536.6666641235352,
+ "y": 611.6909074783325,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "8699ebe3.da5b5",
+ "type": "set",
+ "name": "set vnf-index to idx",
+ "xml": "<set>\n<parameter name='vnf-index' value='`$idx`' />\n",
+ "comments": "",
+ "x": 1793.3332443237305,
+ "y": 668.024284362793,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "3a7d1430.c71c54",
+ "type": "switchNode",
+ "name": "switch vnf-index",
+ "xml": "<switch test='`$vnf-index`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 526.6666717529297,
+ "y": 748.3576040267944,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "d200952e.82a"
+ ]
+ ]
+ },
+ {
+ "id": "d200952e.82a",
+ "type": "outcome",
+ "name": "-1",
+ "xml": "<outcome value='-1'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 705.000057220459,
+ "y": 747.6909799575806,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "df336439.6441b8"
+ ]
+ ]
+ },
+ {
+ "id": "df336439.6441b8",
+ "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=\"`'Unable to find VNF ID ' + $vf-module-topology-operation-input.vnf-information.vnf-id + ' in MD-SAL'`\" />\n",
+ "comments": "",
+ "x": 864.9999656677246,
+ "y": 747.0242834091187,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "badfdbc9.022e2",
+ "type": "switchNode",
+ "name": "switch vf-module_length",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 543.3333930969238,
+ "y": 1378.3578004837036,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "46bc83ea.153584",
+ "6bf719df.db171"
+ ]
+ ]
+ },
+ {
+ "id": "46bc83ea.153584",
+ "type": "other",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 800.7143478393555,
+ "y": 1345.5005741119385,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "a719934f.fd479"
+ ]
+ ]
+ },
+ {
+ "id": "a719934f.fd479",
+ "type": "set",
+ "name": "set vf-module-index=0",
+ "xml": "<set>\n<parameter name='vf-module-index' value='0' />\n",
+ "comments": "",
+ "x": 988.3333854675293,
+ "y": 1346.1673488616943,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "6bf719df.db171",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 801.1428909301758,
+ "y": 1409.7864322662354,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "8d56de21.005688"
+ ]
+ ]
+ },
+ {
+ "id": "7bb74faf.1a3bf",
+ "type": "set",
+ "name": "set vf-module-index = vf-module_length",
+ "xml": "<set>\n<parameter name='vf-module-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' />\n",
+ "comments": "",
+ "x": 1186.3334312438965,
+ "y": 1389.97682762146,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "20d53539.793ec2",
+ "type": "for",
+ "name": "for each existing VF module",
+ "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1145.428524017334,
+ "y": 1434.072057723999,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "c80b7ff5.a77ae8"
+ ]
+ ]
+ },
+ {
+ "id": "8d56de21.005688",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 937.8571701049805,
+ "y": 1409.7863578796387,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "7bb74faf.1a3bf",
+ "20d53539.793ec2"
+ ]
+ ]
+ },
+ {
+ "id": "c80b7ff5.a77ae8",
+ "type": "switchNode",
+ "name": "switch vf-module-information.vf-module-id == service-data.vnfs.vnf[].vf-modules.vf-module[].vf-module-id",
+ "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-information.vf-module-id == $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1649.0476264953613,
+ "y": 1433.6434688568115,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "4b42022b.8dc95c"
+ ]
+ ]
+ },
+ {
+ "id": "4b42022b.8dc95c",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2091.666675567627,
+ "y": 1433.2149200439453,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "b16fc4ad.46cbc"
+ ]
+ ]
+ },
+ {
+ "id": "b16fc4ad.46cbc",
+ "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=\"`'VF module id ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id\n + ' already exists, and status is ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-data.vf-module-level-oper-status.order-status`\" />\n",
+ "comments": "",
+ "x": 2243.5715560913086,
+ "y": 1433.2149066925049,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "6bc28de3.9197f4",
+ "type": "comment",
+ "name": "make sure this VF module doesn't exist already",
+ "info": "",
+ "comments": "",
+ "x": 1675.4999732971191,
+ "y": 1388.2709608078003,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "1265e597.326aea",
+ "type": "set",
+ "name": "set new vf-module_length",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length' value='`$vf-module-index + 1`' />\n",
+ "comments": "",
+ "x": 553.9999732971191,
+ "y": 1489.3576555252075,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "d904000a.ab2f38",
+ "type": "set",
+ "name": "set vf-module-topology data",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-id' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />\n<parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name' value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`' />\n<parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-type' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-type`' />\n<parameter name='tmp.vf-module-topology.tenant' value='`$vf-module-topology-operation-input.vf-module-request-input.tenant`' />\n<parameter name='tmp.vf-module-topology.aic-cloud-region' value='`$vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`' />\n",
+ "comments": "",
+ "x": 560.4999923706055,
+ "y": 1601.857762336731,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "8e6d01f4.b1a178",
+ "type": "set",
+ "name": "set aic-clli",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.aic-clli'\n value='`$aai-uid-split[$aai-uid-split_length - 1]`' />\n",
+ "comments": "",
+ "x": 1321.4522514343262,
+ "y": 1761.0956888198853,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "b9dd9667.33695",
+ "type": "switchNode",
+ "name": "switch aic-clli",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.aic-clli`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 520.4999122619629,
+ "y": 1875.0480289459229,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "4138e9bf.74e39"
+ ]
+ ]
+ },
+ {
+ "id": "4138e9bf.74e39",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 665.7856025695801,
+ "y": 1875.0480976104736,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "d3d7ad76.5bcb38"
+ ]
+ ]
+ },
+ {
+ "id": "d3d7ad76.5bcb38",
+ "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=\"`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`\" />\n",
+ "comments": "",
+ "x": 812.9284629821777,
+ "y": 1874.6195316314697,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "b4b281fa.e85d5",
+ "type": "get-resource",
+ "name": "get-resource cloud region",
+ "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"cloud-region\" \n\t\tkey=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND \n\t\t cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\"\n pfx='aai.cloud-region' local-only='false' >\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 559.3571281433105,
+ "y": 1675.1913003921509,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "c2f7e9d3.776b",
+ "1f1578fa.24f767"
+ ]
+ ]
+ },
+ {
+ "id": "1f1578fa.24f767",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 773.6033210754395,
+ "y": 1693.3421564102173,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "657da328.17e1b4"
+ ]
+ ]
+ },
+ {
+ "id": "657da328.17e1b4",
+ "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=\"Error retrieving cloud region from AAI\" />\n",
+ "comments": "",
+ "x": 948.6032943725586,
+ "y": 1693.3421926498413,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "c2f7e9d3.776b",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 782.5319175720215,
+ "y": 1651.6278896331787,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "f1454109.93f188"
+ ]
+ ]
+ },
+ {
+ "id": "f1454109.93f188",
+ "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=\"Cloud region not found in AAI\" />\n",
+ "comments": "",
+ "x": 948.8811950683594,
+ "y": 1650.933466911316,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "38dbdaf8.de3b36",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1620.0000686645508,
+ "y": 695.9440250396729,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "8699ebe3.da5b5",
+ "bf6a8dc5.58a6a8"
+ ]
+ ]
+ },
+ {
+ "id": "bf6a8dc5.58a6a8",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 1755.0000343322754,
+ "y": 717.6106109619141,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "9382afb.71420d",
+ "type": "set",
+ "name": "set from DB",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'\n value='`$db.vf-module-model.invariant-uuid`' />\n",
+ "comments": "",
+ "x": 934.833251953125,
+ "y": 1916.44402217865,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "68dfa5ea.e5019c",
+ "type": "switchNode",
+ "name": "switch input model-invariant-uuid",
+ "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 578.6903266906738,
+ "y": 1939.2684659957886,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "e49707ca.7af328",
+ "812a586e.32e2f"
+ ]
+ ]
+ },
+ {
+ "id": "e49707ca.7af328",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 784.3569984436035,
+ "y": 1916.4114294052124,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "9382afb.71420d"
+ ]
+ ]
+ },
+ {
+ "id": "812a586e.32e2f",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 785.7855949401855,
+ "y": 1960.6970205307007,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "b87936af.b7f308"
+ ]
+ ]
+ },
+ {
+ "id": "b87936af.b7f308",
+ "type": "set",
+ "name": "set from input",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'\n value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`' />\n",
+ "comments": "",
+ "x": 940.0713310241699,
+ "y": 1960.1255927085876,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "118d8bd8.da309c",
+ "type": "set",
+ "name": "set from DB",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'\n value='`$db.vf-module-model.uuid`' />\n",
+ "comments": "",
+ "x": 935.7855224609375,
+ "y": 2004.9826984405518,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "a1e477f0.0b584",
+ "type": "switchNode",
+ "name": "switch input model-uuid",
+ "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 551.3093452453613,
+ "y": 2027.8072032928467,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "6305d1b8.c1dda8",
+ "ccca0eb9.c0c188"
+ ]
+ ]
+ },
+ {
+ "id": "6305d1b8.c1dda8",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 785.3093185424805,
+ "y": 2004.950135231018,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "118d8bd8.da309c"
+ ]
+ ]
+ },
+ {
+ "id": "ccca0eb9.c0c188",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 786.7379150390625,
+ "y": 2049.2357263565063,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "6b7d1d6.80304e4"
+ ]
+ ]
+ },
+ {
+ "id": "6b7d1d6.80304e4",
+ "type": "set",
+ "name": "set from input",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'\n value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`' />\n",
+ "comments": "",
+ "x": 941.0236511230469,
+ "y": 2048.6642985343933,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "e5be2743.5d4508",
+ "type": "set",
+ "name": "set from DB",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-version'\n value='`$db.vf-module-model.version`' />\n",
+ "comments": "",
+ "x": 932.9284553527832,
+ "y": 2093.8399057388306,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "fa229a92.ce9da8",
+ "type": "switchNode",
+ "name": "switch input model-version",
+ "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 559.4522171020508,
+ "y": 2116.6643505096436,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "34c4c596.157f8a",
+ "847f3b10.726578"
+ ]
+ ]
+ },
+ {
+ "id": "34c4c596.157f8a",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 782.4522018432617,
+ "y": 2093.807312965393,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "e5be2743.5d4508"
+ ]
+ ]
+ },
+ {
+ "id": "847f3b10.726578",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 783.8807983398438,
+ "y": 2138.0929040908813,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "9764857e.e18c18"
+ ]
+ ]
+ },
+ {
+ "id": "9764857e.e18c18",
+ "type": "set",
+ "name": "set from input",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-version'\n value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`' />\n",
+ "comments": "",
+ "x": 938.1665344238281,
+ "y": 2137.5214762687683,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "9b53eb1f.f2e23",
+ "type": "set",
+ "name": "set from DB",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-name'\n value='`$db.vf-module-model.name`' />\n",
+ "comments": "",
+ "x": 932.9284553527832,
+ "y": 2180.9827280044556,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "43deefc2.c1bae8",
+ "type": "switchNode",
+ "name": "switch input model-name",
+ "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 554.4522171020508,
+ "y": 2203.8071727752686,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "1728f46d.49d514",
+ "c03e99e4.3d5358"
+ ]
+ ]
+ },
+ {
+ "id": "1728f46d.49d514",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 782.4522018432617,
+ "y": 2180.950135231018,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "9b53eb1f.f2e23"
+ ]
+ ]
+ },
+ {
+ "id": "c03e99e4.3d5358",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 783.8807983398438,
+ "y": 2225.2357263565063,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "f18842f5.5d912"
+ ]
+ ]
+ },
+ {
+ "id": "f18842f5.5d912",
+ "type": "set",
+ "name": "set from input",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-name'\n value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`' />\n",
+ "comments": "",
+ "x": 938.1665344238281,
+ "y": 2224.6642985343933,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "2312018e.28175e",
+ "type": "set",
+ "name": "set model-customization-uuid",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-customization-uuid'\n value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`' />\n",
+ "comments": "",
+ "x": 568.9045524597168,
+ "y": 2276.316162109375,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "bab10e90.55c028",
+ "type": "set",
+ "name": "set vf-module-id",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id'\n value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />\n",
+ "comments": "",
+ "x": 522.0951995849609,
+ "y": 1545.0393381118774,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "5554f045.52dd38",
+ "type": "for",
+ "name": "for each cloud-region relationship",
+ "xml": "<for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 581.6109428405762,
+ "y": 1763.6979837417603,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "65c117a1.56bd9"
+ ]
+ ]
+ },
+ {
+ "id": "65c117a1.56bd9",
+ "type": "switchNode",
+ "name": "switch related-to",
+ "xml": "<switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 829.2894859313965,
+ "y": 1763.4479131698608,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "b53c4970.3c3e18"
+ ]
+ ]
+ },
+ {
+ "id": "b53c4970.3c3e18",
+ "type": "outcome",
+ "name": "complex",
+ "xml": "<outcome value='complex'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 998.7538070678711,
+ "y": 1762.8407354354858,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "31580412.a83eb4"
+ ]
+ ]
+ },
+ {
+ "id": "1e303b58.a257cd",
+ "type": "execute",
+ "name": "split related-link",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\n <parameter name='ctx_memory_result_key' value='aai-uid-split' />\n <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />\n <parameter name='regex' value='/' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1338.848964691162,
+ "y": 1717.269310951233,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "31580412.a83eb4",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1158.51566696167,
+ "y": 1763.9360990524292,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "1e303b58.a257cd",
+ "7debff63.6d9ad",
+ "8e6d01f4.b1a178"
+ ]
+ ]
+ },
+ {
+ "id": "7debff63.6d9ad",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 1308.5156288146973,
+ "y": 1807.269395828247,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "43097907.f1acb8",
+ "type": "execute",
+ "name": "execute PropertiesNode",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 559.0476226806641,
+ "y": 234.5481081008911,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "7314ccc5.2134a4",
+ "type": "set",
+ "name": "set order-status to PendingCreate",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'\n value='PendingCreate' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'\n value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'\n value='`$vf-module-topology-operation-input.sdnc-request-header.request-action`' />\n",
+ "comments": "",
+ "x": 464.2622375488281,
+ "y": 7372.904296875,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "9535b7df.620268",
+ "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": 403.8335418701172,
+ "y": 7486.522626876831,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "a61a195a.95b1e8",
+ "type": "set",
+ "name": "copy input data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.sdnc-request-header.'\n value='$vf-module-topology-operation-input.sdnc-request-header.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.request-information.'\n value='$vf-module-topology-operation-input.request-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.service-information.'\n value='$vf-module-topology-operation-input.service-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vnf-information.'\n value='$vf-module-topology-operation-input.vnf-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.'\n value='$vf-module-topology-operation-input.vf-module-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.'\n value='$vf-module-topology-operation-input.vf-module-request-input.' />\n\n",
+ "comments": "",
+ "x": 420.11924743652344,
+ "y": 7229.252753674984,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "fee3a1a8.2d1ad8",
+ "type": "set",
+ "name": "copy vf-module-topology data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.' value='tmp.vf-module-topology.' />\n",
+ "comments": "",
+ "x": 465.00025177001953,
+ "y": 7181.038265645504,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "ad9d0c92.4b3468",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vfmodule.log' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 398.71449279785156,
+ "y": 7438.752443313599,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "7af69df8.0374dc",
+ "type": "save",
+ "name": "update vf-module",
+ "xml": "<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vf-module\"\n key=\"vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id\n AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"vf-module-name\" value=\"`$tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name`\" />\n<parameter name=\"model-invariant-id\" value=\"`$tmp.vf-module-topology.onap-model-information.model-invariant-uuid`\" />\n<parameter name=\"model-version-id\" value=\"`$tmp.vf-module-topology.onap-model-information.model-uuid`\" />\n<parameter name=\"model-customization-id\" value=\"`$tmp.vf-module-topology.onap-model-information.model-customization-uuid`\" />\n<parameter name=\"selflink\" value=\"`$vf-module-object-path`\" />\n<parameter name=\"automated-assignment\" value=\"`$automated-assignment`\" />",
+ "comments": "",
+ "outputs": 1,
+ "x": 484.1429786682129,
+ "y": 4383.039919495583,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "ff28151e.c99568",
+ "84d4e577.067c6"
+ ]
+ ]
+ },
+ {
+ "id": "829bb1f4.830f08",
+ "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=\"`'No vf-module found in AAI for vf module ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`\" />\n",
+ "comments": "",
+ "x": 989.1906547546387,
+ "y": 4417.801350176334,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "ff28151e.c99568",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 659.2146186828613,
+ "y": 4351.420541405678,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "c0a6d69d.c741f8"
+ ]
+ ]
+ },
+ {
+ "id": "84d4e577.067c6",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 667.7859916687012,
+ "y": 4420.039631426334,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "9fa62cc3.2f0038"
+ ]
+ ]
+ },
+ {
+ "id": "f3f4159f.aadd9",
+ "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=\"Error updating vf-module in AAI\" />\n",
+ "comments": "",
+ "x": 994.2145729064941,
+ "y": 4369.564098000526,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "dd4f4eeb.8d24e",
+ "type": "set",
+ "name": "set vf-module-object-path",
+ "xml": "<set>\n<parameter name='vf-module-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/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": 507.80978775024414,
+ "y": 4258.564148545265,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "98920223.9d1788",
+ "type": "save",
+ "name": "save vf-module relationships",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vf-module:relationship-list\"\n key=\"vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id\n AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1277.8335342407227,
+ "y": 5941.192313909531,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "3760c1b8.f1b83e",
+ "e7d6710.a6ccc1"
+ ]
+ ]
+ },
+ {
+ "id": "3760c1b8.f1b83e",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1497.666877746582,
+ "y": 5912.064058065414,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "5010a64f.2f3dc"
+ ]
+ ]
+ },
+ {
+ "id": "e7d6710.a6ccc1",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1506.238410949707,
+ "y": 5964.683202505112,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "4bde1cab.c0624c"
+ ]
+ ]
+ },
+ {
+ "id": "da526891.6d6948",
+ "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=\"Error updating vf-module relationships in AAI\" />\n",
+ "comments": "",
+ "x": 1832.6670112609863,
+ "y": 5931.873954534531,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "453e667a.37bcb",
+ "type": "for",
+ "name": "for each vm-type",
+ "xml": "<for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 457.50025939941406,
+ "y": 5706.5258667469025,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "9e617b8e.e0967"
+ ]
+ ]
+ },
+ {
+ "id": "b22bc2e1.6fc3a8",
+ "type": "for",
+ "name": "for each vm-network",
+ "xml": "<for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 854.5002708435059,
+ "y": 6125.192698955536,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "e3a4933c.85a3c8"
+ ]
+ ]
+ },
+ {
+ "id": "91bf4a81.2bbfb",
+ "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=\"`'No l3-network found in AAI for network ID '\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`\" />\n",
+ "comments": "",
+ "x": 1834.5003852844238,
+ "y": 5981.858495473862,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "5245ba39.530f94",
+ "type": "for",
+ "name": "for each vm-type",
+ "xml": "<for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 431.92879486083984,
+ "y": 7073.571922242641,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "801c847a.0c2ab8"
+ ]
+ ]
+ },
+ {
+ "id": "801c847a.0c2ab8",
+ "type": "for",
+ "name": "for each vm",
+ "xml": "<for index='vm-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-count`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 626.928825378418,
+ "y": 7072.904930055141,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "9048210a.638ad"
+ ]
+ ]
+ },
+ {
+ "id": "1404a29d.dfd36d",
+ "type": "save",
+ "name": "save VIPR_CONFIGURATION",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource\" resource=\"SQL\"\nkey=\"INSERT INTO VIPR_CONFIGURATION (vnf_id, vnf_name, ecomp_service_instance_id, vm_name, cloud_region_id, cloud_owner) VALUES ( $service-data.vnfs.vnf[$vnf-index].vnf-id , $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name , $service-data.service-information.service-instance-id , $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index] , $tmp.vf-module-topology.aic-cloud-region , $prop.cloud-region.cloud-owner )\" >",
+ "comments": "",
+ "outputs": 1,
+ "x": 1018.5955276489258,
+ "y": 7095.57258027792,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "698fdfc8.5c59c"
+ ]
+ ]
+ },
+ {
+ "id": "2fc7ee54.674b22",
+ "type": "comment",
+ "name": "Not a failure",
+ "info": "",
+ "comments": "",
+ "x": 1538.5954284667969,
+ "y": 7095.572585046291,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "698fdfc8.5c59c",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1228.5955123901367,
+ "y": 7095.572730004787,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "46d81bad.b0cf7c"
+ ]
+ ]
+ },
+ {
+ "id": "46d81bad.b0cf7c",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID\"/>\n<parameter name=\"field3\" value=\"`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`\"/>\n<parameter name=\"field4\" value=\"Failed to insert VIPR_CONFIGURATION record\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1371.928955078125,
+ "y": 7095.572567880154,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "87a12e16.c1c8e",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1401.9290771484375,
+ "y": 7046.904281556606,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "faaa33d2.7941d8"
+ ]
+ ]
+ },
+ {
+ "id": "7a365224.c1009c",
+ "type": "comment",
+ "name": "Not a failure",
+ "info": "",
+ "comments": "",
+ "x": 1725.2621307373047,
+ "y": 7045.2381038069725,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "faaa33d2.7941d8",
+ "type": "record",
+ "name": "record",
+ "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID\"/>\n<parameter name=\"field3\" value=\"`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`\"/>\n<parameter name=\"field4\" value=\"Failed to insert VIPR_CONFIGURATION record\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1547.929012298584,
+ "y": 7046.904914796352,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "9048210a.638ad",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 795.2622184753418,
+ "y": 7071.904774606228,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "cc3d7eaa.03db28",
+ "1404a29d.dfd36d"
+ ]
+ ]
+ },
+ {
+ "id": "cc3d7eaa.03db28",
+ "type": "delete",
+ "name": "delete any pre-existing records in VIPR_CONFIGURATION",
+ "xml": "<delete plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='DELETE from VIPR_CONFIGURATION WHERE vnf_id = $service-data.vnfs.vnf[$vnf-index].vnf-id\n AND ecomp_service_instance_id = $service-data.service-information.service-instance-id\n AND vm_name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index]' >",
+ "comments": "",
+ "outputs": 1,
+ "x": 1108.5955429077148,
+ "y": 7047.238914430141,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "87a12e16.c1c8e"
+ ]
+ ]
+ },
+ {
+ "id": "c0a6d69d.c741f8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 817.500186920166,
+ "y": 4351.191212296486,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "f3f4159f.aadd9",
+ "6f96a138.acc9c8"
+ ]
+ ]
+ },
+ {
+ "id": "9fa62cc3.2f0038",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 818.5001029968262,
+ "y": 4417.857502520084,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "829bb1f4.830f08",
+ "6f96a138.acc9c8"
+ ]
+ ]
+ },
+ {
+ "id": "5010a64f.2f3dc",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1666.1668815612793,
+ "y": 5911.858327627182,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "da526891.6d6948",
+ "b976bf80.a00868"
+ ]
+ ]
+ },
+ {
+ "id": "4bde1cab.c0624c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1661.1668815612793,
+ "y": 5964.85817027092,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "91bf4a81.2bbfb",
+ "b976bf80.a00868"
+ ]
+ ]
+ },
+ {
+ "id": "6529b298.61d4a4",
+ "type": "execute",
+ "name": "execute RestApiCallNode - get preload-list",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='restapiUrl' value=\"`$prop.controller.url + $prop.restapi.preloadinformation + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name + '/vf-module'`\" />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='GET' />\n <parameter name=\"responsePrefix\" value=\"mdsal-preload\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1003.3333778381348,
+ "y": 2421.1915349960327,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "8fa815b3.c373e8",
+ "d50aff26.86ca6"
+ ]
+ ]
+ },
+ {
+ "id": "8fa815b3.c373e8",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1266.6666933695474,
+ "y": 2384.524751345316,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "72fd863f.96d978"
+ ]
+ ]
+ },
+ {
+ "id": "d50aff26.86ca6",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1269.9999809265137,
+ "y": 2459.5247468948364,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "3381b8ad.4cf26"
+ ]
+ ]
+ },
+ {
+ "id": "72fd863f.96d978",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1428.333381652832,
+ "y": 2382.8580360412598,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "ddcdfbdc.02069"
+ ]
+ ]
+ },
+ {
+ "id": "3381b8ad.4cf26",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1424.9999885559082,
+ "y": 2459.5245885849,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "5fd67b5c.1966a4"
+ ]
+ ]
+ },
+ {
+ "id": "ddcdfbdc.02069",
+ "type": "switchNode",
+ "name": "switch mdsal-preload.response-code",
+ "xml": "<switch test='`$mdsal-preload.response-code`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1656.6666831970215,
+ "y": 2382.8580770492554,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "1032eb5c.8c7bfd",
+ "fe3501c8.ebdf28"
+ ]
+ ]
+ },
+ {
+ "id": "1032eb5c.8c7bfd",
+ "type": "outcome",
+ "name": "404 (not found)",
+ "xml": "<outcome value='404'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1908.3334197998047,
+ "y": 2346.191451072693,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "a37b13e8.33b938"
+ ]
+ ]
+ },
+ {
+ "id": "a37b13e8.33b938",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-operation-assign-no-preload",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-no-preload' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2304.9998893737793,
+ "y": 2344.5245790481567,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "233356b2.248a72"
+ ]
+ ]
+ },
+ {
+ "id": "233356b2.248a72",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2675.0000381469727,
+ "y": 2342.858115196228,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "5f9b54a9.c1cdd4"
+ ]
+ ]
+ },
+ {
+ "id": "c88feb78.b7ccd",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n",
+ "comments": "",
+ "x": 2983.3334159851074,
+ "y": 2374.5248517990112,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "fe3501c8.ebdf28",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1883.3334999084473,
+ "y": 2402.8579416275024,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "f6f1c5d8.dc0ab"
+ ]
+ ]
+ },
+ {
+ "id": "7a69f1ed.4762a8",
+ "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=\"Error retrieving preload-information\" />\n",
+ "comments": "",
+ "x": 2196.666404724121,
+ "y": 2419.52436542511,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "5fd67b5c.1966a4",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-operation-assign-preload",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-preload' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1788.3332786560059,
+ "y": 2461.191336631775,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "eeab2ed9.18515"
+ ]
+ ]
+ },
+ {
+ "id": "eeab2ed9.18515",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2144.000141143799,
+ "y": 2459.5249547958374,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "4331007b.e83998"
+ ]
+ ]
+ },
+ {
+ "id": "ff44880b.925a9",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n",
+ "comments": "",
+ "x": 2452.333393096924,
+ "y": 2481.191849708557,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "9e617b8e.e0967",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 648.0003280639648,
+ "y": 5707.35910153389,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "b22bc2e1.6fc3a8",
+ "938e3050.854e5"
+ ]
+ ]
+ },
+ {
+ "id": "938e3050.854e5",
+ "type": "for",
+ "name": "for each vnfc",
+ "xml": "<for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 899.0003776550293,
+ "y": 4912.025192737579,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "6085493.53a3238"
+ ]
+ ]
+ },
+ {
+ "id": "bf5629c7.b8c548",
+ "type": "save",
+ "name": "save vnfc to A&AI",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"vnfc\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\" >\n<parameter name=\"vnfc-name\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`\" />\n<parameter name=\"nfc-naming-code\" value=\"`$tmp.nfc-naming-code`\" />\n<parameter name=\"nfc-function\" value=\"`$tmp.nfc-function`\" />\n<parameter name=\"model-invariant-id\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].invariant-uuid`\" />\n<parameter name=\"model-version-id\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].uuid`\" />\n<parameter name=\"model-customization-id\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].model-customization-uuid`\" />\n<parameter name=\"orchestration-status\" value=\"`PendingCreate`\" />\n<parameter name=\"in-maint\" value=\"true\" />\n<parameter name=\"prov-status\" value=\"`PREPROV`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1625.00044631958,
+ "y": 4720.3591232299805,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "57f9125a.f4f11c",
+ "c29ebd4.1b8af4"
+ ]
+ ]
+ },
+ {
+ "id": "6085493.53a3238",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1067.3336791992188,
+ "y": 4912.692019939423,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "efdceadd.e8246",
+ "1fc575ba.ed4b2a",
+ "1a5d8b36.aeca65",
+ "6f6678f2.1bf2e",
+ "c11e7bb7.050ab8",
+ "dc86b143.7bc0f"
+ ]
+ ]
+ },
+ {
+ "id": "57f9125a.f4f11c",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1816.0004844665527,
+ "y": 4672.692457199097,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "e06eae25.746e28"
+ ]
+ ]
+ },
+ {
+ "id": "25a824ba.d2e37c",
+ "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=\"Error saving vnfc to AAI\" />\n",
+ "comments": "",
+ "x": 2155.0006370544434,
+ "y": 4706.835712790489,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "e06eae25.746e28",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1981.1671714782715,
+ "y": 4686.820290505886,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "25a824ba.d2e37c",
+ "3db10379.cadefc"
+ ]
+ ]
+ },
+ {
+ "id": "1a5d8b36.aeca65",
+ "type": "save",
+ "name": "save vnfc relationships",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vnfc:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"generic-vnf\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/generic-vnfs/generic-vnf/' +\n $vf-module-topology-operation-input.vnf-information.vnf-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"vf-module\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/generic-vnfs/generic-vnf/' +\n $vf-module-topology-operation-input.vnf-information.vnf-id +\n '/vf-modules/vf-module/' +\n $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1291.9049644470215,
+ "y": 4820.978354930878,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "fbea59e9.f333f",
+ "14799014.2fab18"
+ ]
+ ]
+ },
+ {
+ "id": "7572056c.67fde4",
+ "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=\"Error updating vnfc relationships in AAI\" />\n",
+ "comments": "",
+ "x": 1801.904899597168,
+ "y": 4812.64519071579,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "7a494aad.c286a4",
+ "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=\"Not-found error updating vnfc relationships\" />\n",
+ "comments": "",
+ "x": 1797.0718078613281,
+ "y": 4864.296397686005,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "3e10eb95.8e38dc",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1623.7381553649902,
+ "y": 4794.29597902298,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "7572056c.67fde4",
+ "3db10379.cadefc"
+ ]
+ ]
+ },
+ {
+ "id": "eb8fe9e3.991998",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1623.7382316589355,
+ "y": 4847.295737743378,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "7a494aad.c286a4",
+ "3db10379.cadefc"
+ ]
+ ]
+ },
+ {
+ "id": "fbea59e9.f333f",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1466.9050407409668,
+ "y": 4794.311648845673,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "3e10eb95.8e38dc"
+ ]
+ ]
+ },
+ {
+ "id": "14799014.2fab18",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1475.4765739440918,
+ "y": 4846.93079328537,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "eb8fe9e3.991998"
+ ]
+ ]
+ },
+ {
+ "id": "efdceadd.e8246",
+ "type": "for",
+ "name": "for each vnfc-network-role",
+ "xml": "<for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1289.3810844421387,
+ "y": 5237.834763050079,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "bc7e2484.e69228"
+ ]
+ ]
+ },
+ {
+ "id": "cf140a5d.20d0a",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vfmoduleb.log' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 509.9999885559082,
+ "y": 2545.73858499527,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "502f6d13.ee70cc",
+ "type": "for",
+ "name": "for each vnfc-subnetwork-role",
+ "xml": "<for silentFailure='true' index='subnet-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1745.3336219787598,
+ "y": 5201.025196552277,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "3183d8e5.672be"
+ ]
+ ]
+ },
+ {
+ "id": "3183d8e5.672be",
+ "type": "for",
+ "name": "for each vnfc-address-family",
+ "xml": "<for silentFailure='true' index='address-family-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2012.6669654846191,
+ "y": 5200.025684833527,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "779f95e4.f78a8c"
+ ]
+ ]
+ },
+ {
+ "id": "5357cf02.932768",
+ "type": "for",
+ "name": "for each vnfc-ip-address",
+ "xml": "<for silentFailure='true' index='address-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2444.666576385498,
+ "y": 5266.691384315491,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "3c7bceb4.1549ba"
+ ]
+ ]
+ },
+ {
+ "id": "779f95e4.f78a8c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2223.666736602783,
+ "y": 5200.025141239166,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "a3b35b4c.65bd08",
+ "5357cf02.932768"
+ ]
+ ]
+ },
+ {
+ "id": "a3b35b4c.65bd08",
+ "type": "set",
+ "name": "set tmp.address-family",
+ "xml": "<set>\n<parameter name='tmp.address-family'\n value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />\n",
+ "comments": "",
+ "x": 2443.667064666748,
+ "y": 5120.025038719177,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "3c7bceb4.1549ba",
+ "type": "switchNode",
+ "name": "switch address family",
+ "xml": "<switch test='`$tmp.address-family`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2683.6666679382324,
+ "y": 5265.025206565857,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "3dbb3b5c.4b19bc",
+ "5644f796.d8b738"
+ ]
+ ]
+ },
+ {
+ "id": "3dbb3b5c.4b19bc",
+ "type": "outcome",
+ "name": "ipv4",
+ "xml": "<outcome value='ipv4'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2880.809673309326,
+ "y": 5168.596467018127,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "98a03a47.d1bb1"
+ ]
+ ]
+ },
+ {
+ "id": "5644f796.d8b738",
+ "type": "outcome",
+ "name": "ipv6",
+ "xml": "<outcome value='ipv6'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2878.4287452697754,
+ "y": 5348.358498573303,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "831b99d7.14637"
+ ]
+ ]
+ },
+ {
+ "id": "8eaadf17.3b8f38",
+ "type": "comment",
+ "name": "Fixed IPs",
+ "info": "",
+ "comments": "",
+ "x": 1762.3336372375488,
+ "y": 5162.692573547363,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "9054c457.8f5da",
+ "type": "save",
+ "name": "save l3-interface-ipv4-address-list object to A&AI",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"l3-interface-ipv4-address-list\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND cp.cp-instance-id = $cp-instance-id\n\t AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address\" >\n<parameter name=\"l3-interface-ipv4-address\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`\" />\n<parameter name=\"l3-interface-ipv4-prefix-length\" value=\"32\" />\n<parameter name=\"is-floating\" value=\"false\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3324.1428031921387,
+ "y": 5116.929546991985,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "2621f47c.ef48fc"
+ ]
+ ]
+ },
+ {
+ "id": "98a03a47.d1bb1",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3030.809673309326,
+ "y": 5168.59638563792,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "9054c457.8f5da",
+ "cff14283.064d58"
+ ]
+ ]
+ },
+ {
+ "id": "ef84b8c0.919f68",
+ "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=\"Error creating l3-interface-ipv4-address-list object in AAI\" />\n",
+ "comments": "",
+ "x": 3907.4763221740723,
+ "y": 5135.263206164043,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "74ceecc0.c34db4",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3737.642677307129,
+ "y": 5116.914039293926,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "ef84b8c0.919f68",
+ "379792a1.9d134e"
+ ]
+ ]
+ },
+ {
+ "id": "2621f47c.ef48fc",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3580.8095626831055,
+ "y": 5116.929709116619,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "74ceecc0.c34db4"
+ ]
+ ]
+ },
+ {
+ "id": "cff14283.064d58",
+ "type": "save",
+ "name": "save l3-interface-ipv4-address-list relationships",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"l3-interface-ipv4-address-list:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND cp.cp-instance-id = $cp-instance-id\n\t AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"subnet\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +\n '/subnets/subnet/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3319.1430473327637,
+ "y": 5215.262965838116,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "298ae030.16817",
+ "72d565c9.1fdcd4"
+ ]
+ ]
+ },
+ {
+ "id": "6ca890e0.85d5d",
+ "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=\"Error updating l3-interface-ipv4-address-list relationships in AAI\" />\n",
+ "comments": "",
+ "x": 3905.809429168701,
+ "y": 5206.929637591045,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "5bb6eebc.15be48",
+ "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=\"Not-found error updating l3-interface-ipv4-address-list relationships\" />\n",
+ "comments": "",
+ "x": 3905.976291656494,
+ "y": 5256.914095560711,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "602f85ca.3af6ec",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3739.309299468994,
+ "y": 5186.914010683697,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "6ca890e0.85d5d",
+ "379792a1.9d134e"
+ ]
+ ]
+ },
+ {
+ "id": "671adf60.dbe2f",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3739.3093757629395,
+ "y": 5239.913769404095,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "5bb6eebc.15be48",
+ "379792a1.9d134e"
+ ]
+ ]
+ },
+ {
+ "id": "298ae030.16817",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3582.4761848449707,
+ "y": 5186.92968050639,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "602f85ca.3af6ec"
+ ]
+ ]
+ },
+ {
+ "id": "72d565c9.1fdcd4",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3591.0477180480957,
+ "y": 5239.548824946087,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "671adf60.dbe2f"
+ ]
+ ]
+ },
+ {
+ "id": "13f0f3c7.903904",
+ "type": "save",
+ "name": "save l3-interface-ipv6-address-list object to A&AI",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"l3-interface-ipv6-address-list\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND cp.cp-instance-id = $cp-instance-id\n\t AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address\" >\n<parameter name=\"l3-interface-ipv6-address\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`\" />\n<parameter name=\"l3-interface-ipv6-prefix-length\" value=\"128\" />\n<parameter name=\"is-floating\" value=\"false\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3322.9525413513184,
+ "y": 5295.977602958679,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "cd295240.6fd0c"
+ ]
+ ]
+ },
+ {
+ "id": "831b99d7.14637",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3029.619411468506,
+ "y": 5347.644441604614,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "13f0f3c7.903904",
+ "9e5eb4e4.990e68"
+ ]
+ ]
+ },
+ {
+ "id": "91bc7464.bf1b48",
+ "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=\"Error creating l3-interface-ipv6-address-list object in AAI\" />\n",
+ "comments": "",
+ "x": 3906.286060333252,
+ "y": 5314.311262130737,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "2ba2dbf4.a9426c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3736.4524154663086,
+ "y": 5295.96209526062,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "91bc7464.bf1b48",
+ "379792a1.9d134e"
+ ]
+ ]
+ },
+ {
+ "id": "cd295240.6fd0c",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3579.619300842285,
+ "y": 5295.977765083313,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "2ba2dbf4.a9426c"
+ ]
+ ]
+ },
+ {
+ "id": "9e5eb4e4.990e68",
+ "type": "save",
+ "name": "save l3-interface-ipv6-address-list relationships",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"l3-interface-ipv6-address-list:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND cp.cp-instance-id = $cp-instance-id\n\t AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"subnet\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +\n '/subnets/subnet/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3317.9527854919434,
+ "y": 5394.31102180481,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "821e155.0c03768",
+ "d1daf5a7.4e5038"
+ ]
+ ]
+ },
+ {
+ "id": "702086e5.a87928",
+ "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=\"Error updating l3-interface-ipv6-address-list relationships in AAI\" />\n",
+ "comments": "",
+ "x": 3904.619167327881,
+ "y": 5385.977693557739,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "810daf5d.d981a",
+ "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=\"Not-found error updating l3-interface-ipv6-address-list relationships\" />\n",
+ "comments": "",
+ "x": 3908.1193885803223,
+ "y": 5432.628710031509,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "a387fb05.ace298",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3738.119037628174,
+ "y": 5365.962066650391,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "702086e5.a87928",
+ "379792a1.9d134e"
+ ]
+ ]
+ },
+ {
+ "id": "2e5a57f5.b0c6d",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3738.119113922119,
+ "y": 5418.961825370789,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "810daf5d.d981a",
+ "379792a1.9d134e"
+ ]
+ ]
+ },
+ {
+ "id": "821e155.0c03768",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3581.2859230041504,
+ "y": 5365.9777364730835,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "a387fb05.ace298"
+ ]
+ ]
+ },
+ {
+ "id": "d1daf5a7.4e5038",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3589.8574562072754,
+ "y": 5418.596880912781,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "2e5a57f5.b0c6d"
+ ]
+ ]
+ },
+ {
+ "id": "e3a4933c.85a3c8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1044.3335914611816,
+ "y": 6124.692138195038,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "977e1113.8ffe08",
+ "98920223.9d1788",
+ "4e4aa877.9d0b4",
+ "509b4c19.fe40b4"
+ ]
+ ]
+ },
+ {
+ "id": "41944760.d8c68",
+ "type": "for",
+ "name": "for each vnfc",
+ "xml": "<for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1692.3337669372559,
+ "y": 6247.025886058807,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "61dec192.4d7148"
+ ]
+ ]
+ },
+ {
+ "id": "c022e9c3.807898",
+ "type": "save",
+ "name": "save vip-ipv4-address-list object to A&AI",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"vip-ipv4-address-list\" \n\tkey=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]\" >\n<parameter name=\"vip-ipv4-address\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]`\" />\n<parameter name=\"vip-ipv4-prefix-length\" value=\"32\" />\n<parameter name=\"is-floating\" value=\"false\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1775.3336219787598,
+ "y": 6078.358897686005,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "7a0ce7a9.67d428",
+ "8bc67e6d.794ba8"
+ ]
+ ]
+ },
+ {
+ "id": "4e4aa877.9d0b4",
+ "type": "for",
+ "name": "for each floating ipv4 address",
+ "xml": "<for silentFailure='true' index='ipv4-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1283.3336143493652,
+ "y": 6136.358970165253,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "ad98d310.ff19b"
+ ]
+ ]
+ },
+ {
+ "id": "ad98d310.ff19b",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1509.3336143493652,
+ "y": 6134.358970165253,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "c022e9c3.807898",
+ "db158df8.1167b",
+ "41944760.d8c68"
+ ]
+ ]
+ },
+ {
+ "id": "7ef8032.ed11efc",
+ "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=\"Error saving vip-ipv4-address-list in AAI\" />\n",
+ "comments": "",
+ "x": 2337.3336219787598,
+ "y": 6068.358897686005,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "e03d6e17.c3c688",
+ "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=\"Not-found error saving vip-ipv4-address-list\" />\n",
+ "comments": "",
+ "x": 2337.5004844665527,
+ "y": 6118.34335565567,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "fbbe1588.40205",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2170.8334922790527,
+ "y": 6048.343270778656,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "7ef8032.ed11efc",
+ "2e738df3.a266b2"
+ ]
+ ]
+ },
+ {
+ "id": "2a573c62.740a54",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2170.833568572998,
+ "y": 6101.343029499054,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "e03d6e17.c3c688",
+ "2e738df3.a266b2"
+ ]
+ ]
+ },
+ {
+ "id": "7a0ce7a9.67d428",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2014.0003776550293,
+ "y": 6048.358940601349,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "fbbe1588.40205"
+ ]
+ ]
+ },
+ {
+ "id": "8bc67e6d.794ba8",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2022.5719108581543,
+ "y": 6100.978085041046,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "2a573c62.740a54"
+ ]
+ ]
+ },
+ {
+ "id": "4d116331.dbe40c",
+ "type": "save",
+ "name": "save vip-ipv4-address-list relationships",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vip-ipv4-address-list:relationship-list\"\n key=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"subnet\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id\n + '/subnets/subnet/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv4-subnet-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"vnfc\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/vnfcs/vnfc/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2111.000217437744,
+ "y": 6191.0255608558655,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "5c248e68.67eca8",
+ "b00109fd.7018a"
+ ]
+ ]
+ },
+ {
+ "id": "194ccbea.7b2314",
+ "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=\"Error updating vip-ipv4-address-list relationships in AAI\" />\n",
+ "comments": "",
+ "x": 2680.6666259765625,
+ "y": 6183.025530397892,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "24399d85.a919ca",
+ "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=\"Not-found error updating vip-ipv4-address-list relationships\" />\n",
+ "comments": "",
+ "x": 2680.833595275879,
+ "y": 6233.009704113007,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "215feb82.3c18c4",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2514.1664962768555,
+ "y": 6163.009903490543,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "194ccbea.7b2314",
+ "2e738df3.a266b2"
+ ]
+ ]
+ },
+ {
+ "id": "bd320fdf.1dd3",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2514.166572570801,
+ "y": 6216.009662210941,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "24399d85.a919ca",
+ "2e738df3.a266b2"
+ ]
+ ]
+ },
+ {
+ "id": "5c248e68.67eca8",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2357.333381652832,
+ "y": 6163.025573313236,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "215feb82.3c18c4"
+ ]
+ ]
+ },
+ {
+ "id": "b00109fd.7018a",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2365.904914855957,
+ "y": 6215.6447177529335,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "bd320fdf.1dd3"
+ ]
+ ]
+ },
+ {
+ "id": "14908e4.0b7c572",
+ "type": "save",
+ "name": "save vip-ipv6-address-list object to A&AI",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"vip-ipv6-address-list\" \n\tkey=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]\" >\n<parameter name=\"vip-ipv6-address\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]`\" />\n<parameter name=\"vip-ipv6-prefix-length\" value=\"128\" />\n<parameter name=\"is-floating\" value=\"false\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1778.66695022583,
+ "y": 6401.691581249237,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "5b0cff7c.4a4298",
+ "31df6b80.4ae1ac"
+ ]
+ ]
+ },
+ {
+ "id": "509b4c19.fe40b4",
+ "type": "for",
+ "name": "for each floating ipv6 address",
+ "xml": "<for silentFailure='true' index='ipv6-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1286.6669425964355,
+ "y": 6458.691653728485,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "3c84431b.8f327c"
+ ]
+ ]
+ },
+ {
+ "id": "3c84431b.8f327c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1512.6669425964355,
+ "y": 6457.691653728485,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "14908e4.0b7c572",
+ "c9260312.daf868",
+ "5aa22816.429f48"
+ ]
+ ]
+ },
+ {
+ "id": "dd2eb416.73c908",
+ "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=\"Error saving vip-ipv6-address-list in AAI\" />\n",
+ "comments": "",
+ "x": 2340.66695022583,
+ "y": 6391.691581249237,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "10c3fbcd.513b94",
+ "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=\"Not-found error saving vip-ipv6-address-list\" />\n",
+ "comments": "",
+ "x": 2340.833812713623,
+ "y": 6441.676039218903,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "28179059.d61ef8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2174.166820526123,
+ "y": 6371.675954341888,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "dd2eb416.73c908",
+ "2e738df3.a266b2"
+ ]
+ ]
+ },
+ {
+ "id": "35207268.e2e96e",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2174.1668968200684,
+ "y": 6424.675713062286,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "10c3fbcd.513b94",
+ "2e738df3.a266b2"
+ ]
+ ]
+ },
+ {
+ "id": "5b0cff7c.4a4298",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2017.3337059020996,
+ "y": 6371.691624164581,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "28179059.d61ef8"
+ ]
+ ]
+ },
+ {
+ "id": "31df6b80.4ae1ac",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2025.9052391052246,
+ "y": 6424.310768604279,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "35207268.e2e96e"
+ ]
+ ]
+ },
+ {
+ "id": "be05c61f.2a3f48",
+ "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=\"Error updating vip-ipv6-address-list relationships in AAI\" />\n",
+ "comments": "",
+ "x": 2674.0002059936523,
+ "y": 6504.6916318535805,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "4ddaaa06.7ec0e4",
+ "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=\"Not-found error updating vip-ipv6-address-list relationships\" />\n",
+ "comments": "",
+ "x": 2674.1670684814453,
+ "y": 6554.676089823246,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "6169d8f1.0fca9",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2507.5000762939453,
+ "y": 6484.676004946232,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "be05c61f.2a3f48",
+ "2e738df3.a266b2"
+ ]
+ ]
+ },
+ {
+ "id": "104ad559.84aa1b",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2507.5001525878906,
+ "y": 6537.67576366663,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "4ddaaa06.7ec0e4",
+ "2e738df3.a266b2"
+ ]
+ ]
+ },
+ {
+ "id": "3625278f.94f36",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2350.666961669922,
+ "y": 6484.691674768925,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "6169d8f1.0fca9"
+ ]
+ ]
+ },
+ {
+ "id": "dbaa45c3.a58ac8",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2359.238494873047,
+ "y": 6537.310819208622,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "104ad559.84aa1b"
+ ]
+ ]
+ },
+ {
+ "id": "6bd05851.cda258",
+ "type": "save",
+ "name": "save vip-ipv6-address-list relationships",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vip-ipv6-address-list:relationship-list\"\n key=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"subnet\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id\n + '/subnets/subnet/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv6-subnet-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"vnfc\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/vnfcs/vnfc/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2106.3338050842285,
+ "y": 6513.358093738556,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "3625278f.94f36",
+ "dbaa45c3.a58ac8"
+ ]
+ ]
+ },
+ {
+ "id": "6f96a138.acc9c8",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1162.3334770202637,
+ "y": 4321.691486895084,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "3db10379.cadefc",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2327.0004234313965,
+ "y": 4659.692221999168,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "b976bf80.a00868",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2035.6670036315918,
+ "y": 5876.6920592188835,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "2e738df3.a266b2",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2984.667133331299,
+ "y": 5995.691905498505,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "379792a1.9d134e",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4304.0001220703125,
+ "y": 5043.357985436916,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "1fc575ba.ed4b2a",
+ "type": "set",
+ "name": "set created_flag",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].created_flag' value='true' />\n",
+ "comments": "",
+ "x": 1269.0002479553223,
+ "y": 4760.691877782345,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "977e1113.8ffe08",
+ "type": "set",
+ "name": "set created-flag",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].created-flag' value='true' />\n",
+ "comments": "",
+ "x": 1239.6670036315918,
+ "y": 6008.6920592188835,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "db158df8.1167b",
+ "type": "set",
+ "name": "set created-ipv4-flag",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv4-flag' value='true' />\n",
+ "comments": "",
+ "x": 1712.6669692993164,
+ "y": 6136.6921390891075,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "c9260312.daf868",
+ "type": "set",
+ "name": "set created-ipv6-flag",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv6-flag' value='true' />\n",
+ "comments": "",
+ "x": 1718.0003051757812,
+ "y": 6462.691742360592,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "c29ebd4.1b8af4",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1819.0004234313965,
+ "y": 4720.692116677761,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "e06eae25.746e28"
+ ]
+ ]
+ },
+ {
+ "id": "c8b952a9.c78298",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-vlan-tagging-assign",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-vlan-tagging-assign' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 602.6667823791504,
+ "y": 6800.691919803619,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "644ad1c5.87cc3"
+ ]
+ ]
+ },
+ {
+ "id": "644ad1c5.87cc3",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 947.0001983642578,
+ "y": 6800.025414943695,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "52273fde.82a9b"
+ ]
+ ]
+ },
+ {
+ "id": "52273fde.82a9b",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1102.000072479248,
+ "y": 6800.025210857391,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "cf013b75.034798",
+ "6bc578d2.be185",
+ "d4d7a21f.792e98"
+ ]
+ ]
+ },
+ {
+ "id": "cf013b75.034798",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1450.3333625793457,
+ "y": 6745.025630712509,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "6bc578d2.be185",
+ "type": "returnFailure",
+ "name": "return failure",
+ "xml": "<return status='failure'>\n",
+ "comments": "",
+ "x": 1278.6668014526367,
+ "y": 6843.358858704567,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "d4d7a21f.792e98",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vlantaggingfailure.log' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1273.6666984558105,
+ "y": 6796.691714763641,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "b1406c81.923cc",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 240.8928680419922,
+ "y": 556.5714416503906,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "43097907.f1acb8",
+ "6fdfcdf3.2ecd44",
+ "c5b83baf.fcb2b8",
+ "169ef671.ac8942",
+ "58f29161.867a9",
+ "3a7d1430.c71c54",
+ "cfe429db.9ee878",
+ "59c722cd.d5e3ac",
+ "9ed32d4f.dbd058"
+ ]
+ ]
+ },
+ {
+ "id": "cc91d00d.836b9",
+ "type": "switchNode",
+ "name": "switch from-preload",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.from-preload`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 531.904712677002,
+ "y": 2612.1672048568726,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "dade25b1.c84ca",
+ "947e2614.ca4708"
+ ]
+ ]
+ },
+ {
+ "id": "dade25b1.c84ca",
+ "type": "outcomeFalse",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 703.8094444274902,
+ "y": 2589.548225402832,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "a599121f.29119"
+ ]
+ ]
+ },
+ {
+ "id": "947e2614.ca4708",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 705.4760971069336,
+ "y": 2634.5480642318726,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "f0b8dd3.f8d9fa"
+ ]
+ ]
+ },
+ {
+ "id": "a599121f.29119",
+ "type": "set",
+ "name": "set automated-assignment to true",
+ "xml": "<set>\n<parameter name='automated-assignment' value='true' />\n",
+ "comments": "",
+ "x": 918.8094291687012,
+ "y": 2587.88139629364,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "f0b8dd3.f8d9fa",
+ "type": "set",
+ "name": "set automated-assignment to false",
+ "xml": "<set>\n<parameter name='automated-assignment' value='false' />\n",
+ "comments": "",
+ "x": 917.142749786377,
+ "y": 2632.8813161849976,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "5aa22816.429f48",
+ "type": "for",
+ "name": "for each vnfc",
+ "xml": "<for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1693.4288368225098,
+ "y": 6561.572165966034,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "5e28153d.aad85c"
+ ]
+ ]
+ },
+ {
+ "id": "375c5c4e.30f4cc",
+ "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=\"Test return\" />\n",
+ "comments": "",
+ "x": 158.00014877319336,
+ "y": 7041.359684050083,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "e5e2fde7.2191d",
+ "type": "for",
+ "name": "for each vm-type",
+ "xml": "<for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 510.66680908203125,
+ "y": 3972.358087539673,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "d363401e.7355c"
+ ]
+ ]
+ },
+ {
+ "id": "d363401e.7355c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 701.166877746582,
+ "y": 3973.19132232666,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "e3fa98f1.b438d"
+ ]
+ ]
+ },
+ {
+ "id": "e3fa98f1.b438d",
+ "type": "for",
+ "name": "for each vm-network",
+ "xml": "<for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 902.6668090820312,
+ "y": 3972.358087539673,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "40b3e744.61964"
+ ]
+ ]
+ },
+ {
+ "id": "40b3e744.61964",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1092.500129699707,
+ "y": 3971.857526779175,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "e55f887a.2c28b8"
+ ]
+ ]
+ },
+ {
+ "id": "e55f887a.2c28b8",
+ "type": "get-resource",
+ "name": "get-resource VFC_RELATED_NETWORK_ROLE",
+ "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VFC_RELATED_NETWORK_ROLE where vfc_customization_uuid = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].model-customization-uuid\n and network_role = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role'\n pfx='db.vnf-related-network-role[]'>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1382.0001029968262,
+ "y": 3970.358169555664,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "38728e09.f4cc2a",
+ "61cfce62.115458"
+ ]
+ ]
+ },
+ {
+ "id": "38728e09.f4cc2a",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1653.00004196167,
+ "y": 3875.024871826172,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "9486bfbc.c85ee"
+ ]
+ ]
+ },
+ {
+ "id": "9486bfbc.c85ee",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1800.190559387207,
+ "y": 3873.57288646698,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "ff352d2b.40694",
+ "f46bd80d.b62c1"
+ ]
+ ]
+ },
+ {
+ "id": "61cfce62.115458",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1641.333293914795,
+ "y": 4094.691343307495,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "a9e83864.3544c8"
+ ]
+ ]
+ },
+ {
+ "id": "aeabd7d7.f9db5",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2059.66654586792,
+ "y": 4096.69109916687,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "777f849.576bdfc",
+ "65c58e18.2c5ff",
+ "de7a8e52.6c38f",
+ "d8f45dd9.fffaa",
+ "d55dcbe4.b448d8",
+ "dd07d863.1ec54",
+ "66d1505f.39733",
+ "9bb872f6.753258"
+ ]
+ ]
+ },
+ {
+ "id": "ff352d2b.40694",
+ "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=\"Error reading VFC_RELATED_NETWORK_ROLE table\" />\n",
+ "comments": "",
+ "x": 1952.3334159851074,
+ "y": 3870.358123779297,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "65c58e18.2c5ff",
+ "type": "for",
+ "name": "for each vnf network",
+ "xml": "<for silentFailure='true' index='vnf-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2254.6666831970215,
+ "y": 3964.0247554779053,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "287be929.0998de"
+ ]
+ ]
+ },
+ {
+ "id": "777f849.576bdfc",
+ "type": "set",
+ "name": "set found-related-network to false",
+ "xml": "<set>\n<parameter name='found-related-network' value='false' />\n",
+ "comments": "",
+ "x": 2294.666759490967,
+ "y": 3905.6915321350098,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "8af8893c.0f1fc8",
+ "type": "for",
+ "name": "for each related network",
+ "xml": "<for silentFailure='true' index='related-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].related-networks.related-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2653.666645050049,
+ "y": 3940.6910190582275,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "7e43f742.984c4"
+ ]
+ ]
+ },
+ {
+ "id": "287be929.0998de",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2442.6666831970215,
+ "y": 3964.0247554779053,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "8af8893c.0f1fc8",
+ "44f2cc37.a78364"
+ ]
+ ]
+ },
+ {
+ "id": "7e43f742.984c4",
+ "type": "switchNode",
+ "name": "switch network-role matches",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].related-networks.related-network[$related-network-index].network-role\n == $db.vnf-related-network-role[$db-related-network-index].related-network-role`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2905.666561126709,
+ "y": 3940.691095352173,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "13b580a4.638417"
+ ]
+ ]
+ },
+ {
+ "id": "a9e83864.3544c8",
+ "type": "for",
+ "name": "for each db related-network",
+ "xml": "<for index='db-related-network-index' start='0' end='`$db.vnf-related-network-role_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1845.6666679382324,
+ "y": 4095.35809135437,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "aeabd7d7.f9db5"
+ ]
+ ]
+ },
+ {
+ "id": "4c894758.36b448",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 326.6669120788574,
+ "y": 7001.359684050083,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "13b580a4.638417",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3105.666561126709,
+ "y": 3938.691095352173,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "32afed8d.51d1a2"
+ ]
+ ]
+ },
+ {
+ "id": "32afed8d.51d1a2",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3259.666561126709,
+ "y": 3936.691095352173,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "f204e763.59bda8",
+ "85e8b1c6.3df998",
+ "334d9e50.554812"
+ ]
+ ]
+ },
+ {
+ "id": "f204e763.59bda8",
+ "type": "set",
+ "name": "set found-related-network to true",
+ "xml": "<set>\n<parameter name='found-related-network' value='true' />\n",
+ "comments": "",
+ "x": 3491.666721343994,
+ "y": 3896.3576793670654,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "85e8b1c6.3df998",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 3414.999897003174,
+ "y": 3983.024429321289,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "de7a8e52.6c38f",
+ "type": "switchNode",
+ "name": "switch found-related-network",
+ "xml": "<switch test='`$found-related-network`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2277.6666145324707,
+ "y": 4039.6912326812744,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "b21eb0fb.04ea08"
+ ]
+ ]
+ },
+ {
+ "id": "b21eb0fb.04ea08",
+ "type": "outcomeFalse",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2471.6666145324707,
+ "y": 4037.6912326812744,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "86e33f55.12f7a"
+ ]
+ ]
+ },
+ {
+ "id": "bc2b0b96.f1ccb",
+ "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=\"`'Unable to find related network '\n + $db.vnf-related-network-role[$db-related-network-index].related-network-role + ' in vnf-networks'`\" />\n",
+ "comments": "",
+ "x": 2749.6666145324707,
+ "y": 4035.6912326812744,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "86e33f55.12f7a",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2601.6666145324707,
+ "y": 4037.6912326812744,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "bc2b0b96.f1ccb",
+ "f46bd80d.b62c1"
+ ]
+ ]
+ },
+ {
+ "id": "f46bd80d.b62c1",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2694.3334159851074,
+ "y": 3800.358123779297,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "d8f45dd9.fffaa",
+ "type": "set",
+ "name": "set is-trunked and segmentation-id in vm-network",
+ "xml": "<set>\n<parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].is-trunked'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].is-trunked`' />\n<parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].segmentation-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].segmentation-id`' />\n",
+ "comments": "",
+ "x": 2339.6666145324707,
+ "y": 4087.6912326812744,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "dd07d863.1ec54",
+ "type": "switchNode",
+ "name": "switch rn-index",
+ "xml": "<switch test='`$rn-index`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2227.6666145324707,
+ "y": 4195.691232681274,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "a5dcf4c4.8aa428"
+ ]
+ ]
+ },
+ {
+ "id": "d55dcbe4.b448d8",
+ "type": "set",
+ "name": "set rn-index to related network length",
+ "xml": "<set>\n<parameter name='rn-index' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length`' />\n",
+ "comments": "",
+ "x": 2299.6666145324707,
+ "y": 4139.691232681274,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "a5dcf4c4.8aa428",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2391.6666145324707,
+ "y": 4195.691232681274,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "aaf887bc.8a7d1"
+ ]
+ ]
+ },
+ {
+ "id": "aaf887bc.8a7d1",
+ "type": "set",
+ "name": "set rn-index to 0",
+ "xml": "<set>\n<parameter name='rn-index' value='0' />\n",
+ "comments": "",
+ "x": 2551.6666145324707,
+ "y": 4195.691232681274,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "66d1505f.39733",
+ "type": "set",
+ "name": "set related-network data",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].network-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].network-id`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].network-role'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].network-role`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.vlan-interface'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.vlan-interface`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.lower-tag-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.lower-tag-id`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.upper-tag-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.upper-tag-id`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.is-private'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.is-private`' />\n",
+ "comments": "",
+ "x": 2251.6666145324707,
+ "y": 4247.691232681274,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "9bb872f6.753258",
+ "type": "set",
+ "name": "set new related network length",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length'\n value='`$rn-index + 1`' />\n",
+ "comments": "",
+ "x": 2269.6666145324707,
+ "y": 4299.691232681274,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "44f2cc37.a78364",
+ "type": "switchNode",
+ "name": "switch found-related-network",
+ "xml": "<switch test='`$found-related-network`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2666.6666679382324,
+ "y": 3988.357879638672,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "21303fe3.7cc7a8"
+ ]
+ ]
+ },
+ {
+ "id": "21303fe3.7cc7a8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2863.3335304260254,
+ "y": 3988.3582515716553,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "c3c23e6e.f406e8"
+ ]
+ ]
+ },
+ {
+ "id": "c3c23e6e.f406e8",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 2993.3334159851074,
+ "y": 3986.691375732422,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "334d9e50.554812",
+ "type": "set",
+ "name": "save indexes",
+ "xml": "<set>\n<parameter name='saved-vnf-network-index' value='`$vnf-network-index`' />\n<parameter name='saved-related-network-index' value='`$related-network-index`' />\n",
+ "comments": "",
+ "x": 3433.3336296081543,
+ "y": 3938.3582496643066,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "b8c9d127.4eec38",
+ "type": "execute",
+ "name": "generate cp-instance-id",
+ "xml": "<execute plugin=\"org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils\" method=\"generateUUID\" >\n<parameter name=\"ctx-destination\" value=\"cp-instance-id\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1722.2381210327148,
+ "y": 4967.882302761078,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "aaf32437.4cef88",
+ "type": "save",
+ "name": "save cp to A&AI",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"cp\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND cp.cp-instance-id = $cp-instance-id\" >\n<parameter name=\"cp-instance-id\" value=\"`$cp-instance-id`\" />\n<parameter name=\"port-id\" value=\"0\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1703.90474319458,
+ "y": 5034.5488085746765,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "45f81af2.00ca24",
+ "cfdaff5f.4d6de8"
+ ]
+ ]
+ },
+ {
+ "id": "45f81af2.00ca24",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1892.9047241210938,
+ "y": 5010.215422093868,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "b0518f34.cac6c"
+ ]
+ ]
+ },
+ {
+ "id": "b0518f34.cac6c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2060.0714721679688,
+ "y": 5026.009855687618,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "a5df6a1f.787e3",
+ "3db10379.cadefc"
+ ]
+ ]
+ },
+ {
+ "id": "cfdaff5f.4d6de8",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1897.9047241210938,
+ "y": 5059.881681859493,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "b0518f34.cac6c"
+ ]
+ ]
+ },
+ {
+ "id": "a5df6a1f.787e3",
+ "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=\"Error creating cp object in AAI\" />\n",
+ "comments": "",
+ "x": 2225.5714836120605,
+ "y": 5037.8820605278015,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "bc7e2484.e69228",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1498.714443206787,
+ "y": 5237.167096614838,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "134d490c.25b81f",
+ "502f6d13.ee70cc",
+ "b8c9d127.4eec38",
+ "aaf32437.4cef88",
+ "9ac4ad9c.d842",
+ "7ff418af.f0a608"
+ ]
+ ]
+ },
+ {
+ "id": "134d490c.25b81f",
+ "type": "set",
+ "name": "set connection point data",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].connection-point.connection-point-id'\n value='`$cp-instance-id`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].connection-point.port-id'\n value='0' />\n",
+ "comments": "",
+ "x": 1734.2382850646973,
+ "y": 5112.406378269196,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "16d827bf.761bd",
+ "type": "comment",
+ "name": "Floating IPs",
+ "info": "",
+ "comments": "",
+ "x": 1295.0001029968262,
+ "y": 6094.691496551037,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "9ac4ad9c.d842",
+ "type": "for",
+ "name": "for each vnf-network",
+ "xml": "<for index='vnf-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1718.3332862854004,
+ "y": 5508.691872119904,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "36b35f12.bc0638"
+ ]
+ ]
+ },
+ {
+ "id": "a55f1caf.a65878",
+ "type": "save",
+ "name": "save cp relationship to l3-network",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"cp:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n AND cp.cp-instance-id = $cp-instance-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2356.6667671203613,
+ "y": 5508.358379840851,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "2783a294.d9970e",
+ "26e2d614.94cbb2"
+ ]
+ ]
+ },
+ {
+ "id": "fb9b2db7.a119f",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2728.4998054504395,
+ "y": 5481.6763281822205,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "4f31fc68.c1e6b4",
+ "31ec22c4.51ea5e"
+ ]
+ ]
+ },
+ {
+ "id": "fff4f3ff.1947f8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2728.4998817443848,
+ "y": 5534.676086902618,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "4f31fc68.c1e6b4",
+ "15135e2c.b33e5a"
+ ]
+ ]
+ },
+ {
+ "id": "2783a294.d9970e",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2571.666690826416,
+ "y": 5481.691998004913,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "fb9b2db7.a119f"
+ ]
+ ]
+ },
+ {
+ "id": "26e2d614.94cbb2",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2580.238224029541,
+ "y": 5534.311142444611,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "fff4f3ff.1947f8"
+ ]
+ ]
+ },
+ {
+ "id": "31ec22c4.51ea5e",
+ "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=\"Error updating cp relationship to l3-network in AAI\" />\n",
+ "comments": "",
+ "x": 2900.6666145324707,
+ "y": 5504.3587040901175,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "15135e2c.b33e5a",
+ "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=\"Not-found error updating cp relationship to l3-network\" />\n",
+ "comments": "",
+ "x": 2895.833522796631,
+ "y": 5556.009911060332,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "4f31fc68.c1e6b4",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3102.3333778381348,
+ "y": 5454.35870218277,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "7ff418af.f0a608",
+ "type": "for",
+ "name": "for each vm-network",
+ "xml": "<for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1718.333438873291,
+ "y": 5669.35822725296,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "77662062.8159c"
+ ]
+ ]
+ },
+ {
+ "id": "fb03ccd9.dcf8d8",
+ "type": "save",
+ "name": "save cp relationship to l3-network and vlan-tag",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"cp:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n AND cp.cp-instance-id = $cp-instance-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].network-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"vlan-tag\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/vlan-tags/vlan-tag/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].vlan-tags.vlan-interface`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2638.00044631958,
+ "y": 5667.358222484589,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "3ba6953f.154e12",
+ "dd2a018a.ddecf"
+ ]
+ ]
+ },
+ {
+ "id": "25b1ce59.35b64a",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3044.8334922790527,
+ "y": 5640.67552137375,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "43ea6b39.724e64",
+ "4f31fc68.c1e6b4"
+ ]
+ ]
+ },
+ {
+ "id": "776418cc.650358",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3044.833568572998,
+ "y": 5693.675280094148,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "177fa68d.607ac9",
+ "4f31fc68.c1e6b4"
+ ]
+ ]
+ },
+ {
+ "id": "3ba6953f.154e12",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2888.0003776550293,
+ "y": 5640.691191196443,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "25b1ce59.35b64a"
+ ]
+ ]
+ },
+ {
+ "id": "dd2a018a.ddecf",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2896.5719108581543,
+ "y": 5693.31033563614,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "776418cc.650358"
+ ]
+ ]
+ },
+ {
+ "id": "43ea6b39.724e64",
+ "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=\"Error updating cp relationship to l3-network and vlan-tag in AAI\" />\n",
+ "comments": "",
+ "x": 3217.000301361084,
+ "y": 5663.357897281647,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "177fa68d.607ac9",
+ "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=\"Not-found error updating cp relationship to l3-network and vlan-tag\" />\n",
+ "comments": "",
+ "x": 3212.167209625244,
+ "y": 5715.009104251862,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "f4be9dce.3fda3",
+ "type": "for",
+ "name": "for each related-network",
+ "xml": "<for silentFailure='true' index='related-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2334.0002784729004,
+ "y": 5667.358223438263,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "fb03ccd9.dcf8d8"
+ ]
+ ]
+ },
+ {
+ "id": "8534c826.13da18",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-generate-heat-parameters",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-generate-heat-parameters' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 592.3335723876953,
+ "y": 6910.358483910561,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "75790bd1.e8defc",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vfmoduleheat.log' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 413.6669006347656,
+ "y": 6958.358586907387,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "c898fd55.fa0688",
+ "type": "switchNode",
+ "name": "switch input vf-module-name",
+ "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 565.0000038146973,
+ "y": 2394.191044807434,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "ba4d5614.642188",
+ "37d64c51.9cd974"
+ ]
+ ]
+ },
+ {
+ "id": "ba4d5614.642188",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 764.9999961853027,
+ "y": 2371.690947532654,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "a37b13e8.33b938"
+ ]
+ ]
+ },
+ {
+ "id": "37d64c51.9cd974",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 765.4285888671875,
+ "y": 2421.81005859375,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "6529b298.61d4a4"
+ ]
+ ]
+ },
+ {
+ "id": "6553babe.5f42ac",
+ "type": "for",
+ "name": "for each vnfc-subnet-role",
+ "xml": "<for index='subnet-role-index' start='0'\n end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1322.5001029968262,
+ "y": 3189.190721511841,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "13b1a341.f7194d"
+ ]
+ ]
+ },
+ {
+ "id": "13b1a341.f7194d",
+ "type": "for",
+ "name": "for each vnfc-address-family",
+ "xml": "<for index='address-family-index' start='0'\n end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1570.8333625793457,
+ "y": 3189.190721511841,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "a495cd13.ac3888"
+ ]
+ ]
+ },
+ {
+ "id": "f1de476.813b738",
+ "type": "for",
+ "name": "for each vm-type",
+ "xml": "<for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 528.3332786560059,
+ "y": 2907.52405834198,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "5d8aed8b.1bdc24"
+ ]
+ ]
+ },
+ {
+ "id": "5d8aed8b.1bdc24",
+ "type": "for",
+ "name": "for each vnfc",
+ "xml": "<for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 710.000057220459,
+ "y": 2906.191206932068,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "8556a0d3.b51ac"
+ ]
+ ]
+ },
+ {
+ "id": "8556a0d3.b51ac",
+ "type": "for",
+ "name": "for each vnfc-network",
+ "xml": "<for silentFailure='true' index='vnfc-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 911.1666297912598,
+ "y": 2906.023896217346,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "6e901201.85a804"
+ ]
+ ]
+ },
+ {
+ "id": "6e901201.85a804",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1123.3333015441895,
+ "y": 2905.024256706238,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "914f0e01.802e08",
+ "2226678b.986958",
+ "26a1009d.f04208",
+ "6553babe.5f42ac"
+ ]
+ ]
+ },
+ {
+ "id": "914f0e01.802e08",
+ "type": "set",
+ "name": "set vnf-network-index to -1",
+ "xml": "<set>\n<parameter name='vnf-network-index' value='-1' />\n",
+ "comments": "",
+ "x": 1335.0000190734863,
+ "y": 2858.35747051239,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "2226678b.986958",
+ "type": "for",
+ "name": "for each vnf-network",
+ "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1316.6668090820312,
+ "y": 2905.0242223739624,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "90d45d40.9fed1"
+ ]
+ ]
+ },
+ {
+ "id": "90d45d40.9fed1",
+ "type": "switchNode",
+ "name": "switch network-roles match?",
+ "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-network-role\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$idx].network-role`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1558.3332786560059,
+ "y": 2903.357717514038,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "b1008fcb.57c808"
+ ]
+ ]
+ },
+ {
+ "id": "b1008fcb.57c808",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1754.99995803833,
+ "y": 2903.357636451721,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "c0752eeb.157cc"
+ ]
+ ]
+ },
+ {
+ "id": "c0752eeb.157cc",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1908.333179473877,
+ "y": 2903.357508659363,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "aa9d4976.24874",
+ "14a1e383.35ce54",
+ "d1f1e28b.e998b"
+ ]
+ ]
+ },
+ {
+ "id": "aa9d4976.24874",
+ "type": "set",
+ "name": "set vnf-network-index",
+ "xml": "<set>\n<parameter name='vnf-network-index' value='`$idx`' />\n",
+ "comments": "",
+ "x": 2115.000011444092,
+ "y": 2851.6908864974976,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "14a1e383.35ce54",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 2069.999927520752,
+ "y": 2941.6908073425293,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "26a1009d.f04208",
+ "type": "switchNode",
+ "name": "switch vnf-network-index",
+ "xml": "<switch test='`$vnf-network-index`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1328.3333473205566,
+ "y": 2965.024224281311,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "d0a470bb.1e44a8"
+ ]
+ ]
+ },
+ {
+ "id": "d0a470bb.1e44a8",
+ "type": "outcome",
+ "name": "-1",
+ "xml": "<outcome value='-1'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1519.9999885559082,
+ "y": 2965.024468421936,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "f884f987.8fb5f"
+ ]
+ ]
+ },
+ {
+ "id": "f884f987.8fb5f",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1668.333179473877,
+ "y": 2963.357508659363,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "89311515.bf059",
+ "d72a7284.bd122"
+ ]
+ ]
+ },
+ {
+ "id": "89311515.bf059",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3196.6668128967285,
+ "y": 2815.024085998535,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "d72a7284.bd122",
+ "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=\"`'VNFC network role '\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-network-role\n + ' is not found in VNF network list'\n `\" />\n\n\n\n",
+ "comments": "",
+ "x": 1836.6665534973145,
+ "y": 2981.690760612488,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "e074c1fb.288db",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2359.999897003174,
+ "y": 3373.3573598861694,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "c84bee67.a01c",
+ "7e827224.b98a54",
+ "158ff27d.f681fe"
+ ]
+ ]
+ },
+ {
+ "id": "c84bee67.a01c",
+ "type": "for",
+ "name": "for each subnet-data",
+ "xml": "<for index='subnet-data-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2556.666648864746,
+ "y": 3328.3572788238525,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "db92134e.c11958"
+ ]
+ ]
+ },
+ {
+ "id": "db92134e.c11958",
+ "type": "switchNode",
+ "name": "address-families match?",
+ "xml": "<switch test='`$tmp.address-family\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].ip-version`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2783.3332748413086,
+ "y": 3328.3572788238525,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "664e2d50.db9864"
+ ]
+ ]
+ },
+ {
+ "id": "664e2d50.db9864",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2963.333240509033,
+ "y": 3328.3576850891113,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "86f838f7.8fb2d8"
+ ]
+ ]
+ },
+ {
+ "id": "53f781b3.123d98",
+ "type": "set",
+ "name": "set tmp.address-family",
+ "xml": "<set>\n<parameter name='tmp.address-family'\n value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />\n",
+ "comments": "",
+ "x": 2388.3332328796387,
+ "y": 3191.690773010254,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "a495cd13.ac3888",
+ "type": "switchNode",
+ "name": "switch vnfc-subnet-ip_length",
+ "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1833.3335762023926,
+ "y": 3188.357808113098,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "39bb02f5.1a9bde",
+ "1e32cfbf.18065",
+ "c36c4aab.2dd96"
+ ]
+ ]
+ },
+ {
+ "id": "39bb02f5.1a9bde",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2035.000087738037,
+ "y": 3088.3573513031006,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "6c7a9e2c.5ffe28"
+ ]
+ ]
+ },
+ {
+ "id": "1e32cfbf.18065",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2031.4287185668945,
+ "y": 3274.309642791748,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "cb710085.b13e"
+ ]
+ ]
+ },
+ {
+ "id": "6c7a9e2c.5ffe28",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2166.6666374206543,
+ "y": 3111.0240983963013,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "2ea4d244.10a91e",
+ "type": "set",
+ "name": "set subnet-id to -1",
+ "xml": "<set>\n<parameter name='subnet-id' value='-1' />\n",
+ "comments": "",
+ "x": 3056.6671562194824,
+ "y": 3490.0247650146484,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "cb710085.b13e",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2185.0001335144043,
+ "y": 3273.3572750091553,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "53f781b3.123d98",
+ "e074c1fb.288db"
+ ]
+ ]
+ },
+ {
+ "id": "fd601bae.1a1768",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 4316.666753768921,
+ "y": 3661.691241979599,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "3b599124.ddda26",
+ "f1ce1b9b.c5713"
+ ]
+ ]
+ },
+ {
+ "id": "f1ce1b9b.c5713",
+ "type": "execute",
+ "name": "execute isInSameSubnet",
+ "xml": "<execute plugin=\"com.att.sdnctl.sli.plugin.ipAddressTools.IpAddressTool\" method=\"isInSameSubnet\">\n\t<parameter name=\"firstIPAddr\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].network-start-address`\" />\n\t<parameter name=\"secondIPAddr\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[0].vnfc-ip-address`\" />\n\t<parameter name=\"subnet\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].cidr-mask`\" />\n\t<parameter name=\"ipType\" value=\"`$ip-type`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4531.6667556762695,
+ "y": 3711.690915822983,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "286c5f74.70fde"
+ ]
+ ]
+ },
+ {
+ "id": "3b599124.ddda26",
+ "type": "switchNode",
+ "name": "switch tmp.address-family",
+ "xml": "<switch test='`$tmp.address-family`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4533.333911895752,
+ "y": 3618.357902288437,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "f9adff66.6ab258",
+ "23a24dc2.1a7102"
+ ]
+ ]
+ },
+ {
+ "id": "f9adff66.6ab258",
+ "type": "outcome",
+ "name": "ipv4",
+ "xml": "<outcome value='ipv4'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4736.667174021402,
+ "y": 3591.6911326249437,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "dc9baf82.fb366"
+ ]
+ ]
+ },
+ {
+ "id": "23a24dc2.1a7102",
+ "type": "outcome",
+ "name": "ipv6",
+ "xml": "<outcome value='ipv6'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4736.666847229004,
+ "y": 3638.3576600551605,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "9777e060.2e3dc"
+ ]
+ ]
+ },
+ {
+ "id": "dc9baf82.fb366",
+ "type": "set",
+ "name": "set ip-type parameter to IPv4",
+ "xml": "<set>\n<parameter name='ip-type' value='IPv4' />\n",
+ "comments": "",
+ "x": 4933.333660125732,
+ "y": 3590.0246064662933,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "9777e060.2e3dc",
+ "type": "set",
+ "name": "set ip-type parameter to IPv6",
+ "xml": "<set>\n<parameter name='ip-type' value='IPv6' />\n",
+ "comments": "",
+ "x": 4938.33353805542,
+ "y": 3638.357679128647,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "7c5bee11.1ed9d",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 4871.666786193848,
+ "y": 3711.357679128647,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "b5ad4567.eb0b98",
+ "3214e32a.ac2af4"
+ ]
+ ]
+ },
+ {
+ "id": "b5ad4567.eb0b98",
+ "type": "set",
+ "name": "set subnet-id",
+ "xml": "<set>\n<parameter name='subnet-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id`' />\n",
+ "comments": "",
+ "x": 5050.000106811523,
+ "y": 3688.024165868759,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "3214e32a.ac2af4",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 5035.000110626221,
+ "y": 3734.691159963608,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "2cb5307a.bb967",
+ "type": "switchNode",
+ "name": "switch subnet-id",
+ "xml": "<switch test='`$subnet-id`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3048.3330307006836,
+ "y": 3651.691499710083,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "4eaebda7.88a464"
+ ]
+ ]
+ },
+ {
+ "id": "4eaebda7.88a464",
+ "type": "outcome",
+ "name": "-1",
+ "xml": "<outcome value='-1'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3204.99959564209,
+ "y": 3651.6914348602295,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "c969c7c1.3acfe8"
+ ]
+ ]
+ },
+ {
+ "id": "c969c7c1.3acfe8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3353.3327865600586,
+ "y": 3650.0244750976562,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "48e52ed2.21ebb",
+ "89311515.bf059"
+ ]
+ ]
+ },
+ {
+ "id": "48e52ed2.21ebb",
+ "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=\"`'Not able to find VNF network subnet that contains address '\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[0].vnfc-ip-address\n `\" />\n\n\n\n",
+ "comments": "",
+ "x": 3521.666118621826,
+ "y": 3666.6909503936768,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "5fd2a555.9c69d4",
+ "type": "set",
+ "name": "set subnet-id in vnfc-ip-assignments (temp variable)",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id' value='`$subnet-id`' />\n",
+ "comments": "",
+ "x": 3159.9996757507324,
+ "y": 3728.3582706451416,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "709b1630.8dd8b8",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vfmodulec.log' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 513.3332710266113,
+ "y": 3323.357508659363,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "286c5f74.70fde",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4718.333358764648,
+ "y": 3711.691404104233,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "7c5bee11.1ed9d"
+ ]
+ ]
+ },
+ {
+ "id": "d1f1e28b.e998b",
+ "type": "set",
+ "name": "set network-id",
+ "xml": "<set>\n<parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].network-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$idx].network-id`' />\n",
+ "comments": "",
+ "x": 2091.666515350342,
+ "y": 2896.690969467163,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "6f6678f2.1bf2e",
+ "type": "switchNode",
+ "name": "switch nfc-naming-code",
+ "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1289.9999809265137,
+ "y": 4511.690697193146,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "726b02e.fd1c97c",
+ "21ecd530.fb8122"
+ ]
+ ]
+ },
+ {
+ "id": "726b02e.fd1c97c",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1474.999927520752,
+ "y": 4486.690515995026,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "46b7d4f1.8d2604"
+ ]
+ ]
+ },
+ {
+ "id": "21ecd530.fb8122",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1473.095199584961,
+ "y": 4533.476343631744,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "7ea5f92e.d1edb8"
+ ]
+ ]
+ },
+ {
+ "id": "46b7d4f1.8d2604",
+ "type": "set",
+ "name": "set tmp.nfc-naming-code to DEFAULT",
+ "xml": "<set>\n<parameter name='tmp.nfc-naming-code' value='DEFAULT' />\n",
+ "comments": "",
+ "x": 1706.6666984558105,
+ "y": 4485.023866176605,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "7ea5f92e.d1edb8",
+ "type": "set",
+ "name": "set tmp.nfc-naming-code",
+ "xml": "<set>\n<parameter name='tmp.nfc-naming-code' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`' />\n",
+ "comments": "",
+ "x": 1663.333209991455,
+ "y": 4533.357364177704,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "c11e7bb7.050ab8",
+ "type": "switchNode",
+ "name": "switch nfc-function",
+ "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1278.3333129882812,
+ "y": 4610.023870944977,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "2d809cc8.28629c",
+ "48b0d022.df9368"
+ ]
+ ]
+ },
+ {
+ "id": "2d809cc8.28629c",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1474.9999198913574,
+ "y": 4585.023668766022,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "c6205636.69c938"
+ ]
+ ]
+ },
+ {
+ "id": "48b0d022.df9368",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1473.0951919555664,
+ "y": 4631.8094964027405,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "6da6c28b.2af50c"
+ ]
+ ]
+ },
+ {
+ "id": "c6205636.69c938",
+ "type": "set",
+ "name": "set tmp.nfc-function to DEFAULT",
+ "xml": "<set>\n<parameter name='tmp.nfc-function' value='DEFAULT' />\n",
+ "comments": "",
+ "x": 1686.6667022705078,
+ "y": 4583.3568778038025,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "6da6c28b.2af50c",
+ "type": "set",
+ "name": "set tmp.nfc-function",
+ "xml": "<set>\n<parameter name='tmp.nfc-function' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`' />\n",
+ "comments": "",
+ "x": 1644.9998321533203,
+ "y": 4631.690538883209,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "8bf1dfbc.51b108",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2918.3333015441895,
+ "y": 2266.691004753113,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "5f9b54a9.c1cdd4",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2824.9998054504395,
+ "y": 2341.691004753113,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "c88feb78.b7ccd",
+ "8bf1dfbc.51b108"
+ ]
+ ]
+ },
+ {
+ "id": "f6f1c5d8.dc0ab",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2029.9998588562012,
+ "y": 2401.6908683776855,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "7a69f1ed.4762a8",
+ "8bf1dfbc.51b108"
+ ]
+ ]
+ },
+ {
+ "id": "4331007b.e83998",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2291.666723251343,
+ "y": 2456.691035270691,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "ff44880b.925a9",
+ "8bf1dfbc.51b108"
+ ]
+ ]
+ },
+ {
+ "id": "36b35f12.bc0638",
+ "type": "switchNode",
+ "name": "switch network-roles match?",
+ "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-network-role\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1951.6666297912598,
+ "y": 5508.6908984184265,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "255ff0a6.4c3e5"
+ ]
+ ]
+ },
+ {
+ "id": "255ff0a6.4c3e5",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2150.000099182129,
+ "y": 5508.358053684235,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "a55f1caf.a65878"
+ ]
+ ]
+ },
+ {
+ "id": "77662062.8159c",
+ "type": "switchNode",
+ "name": "switch network-roles match?",
+ "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1954.9999732971191,
+ "y": 5668.357346057892,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "ec6e0033.18078"
+ ]
+ ]
+ },
+ {
+ "id": "ec6e0033.18078",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2153.3334426879883,
+ "y": 5668.0245013237,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "f4be9dce.3fda3"
+ ]
+ ]
+ },
+ {
+ "id": "61dec192.4d7148",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1858.3332557678223,
+ "y": 6246.6907658576965,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "4d116331.dbe40c",
+ "31e79dcc.7e90fa"
+ ]
+ ]
+ },
+ {
+ "id": "5e28153d.aad85c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1860.0000038146973,
+ "y": 6561.690777301788,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "6bd05851.cda258",
+ "214cc548.9d2312"
+ ]
+ ]
+ },
+ {
+ "id": "31e79dcc.7e90fa",
+ "type": "for",
+ "name": "for each vnfc-network-role",
+ "xml": "<for silentFailure='true' index='vnfc-network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2075.000202178955,
+ "y": 6305.023936748505,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "730f1cc9.69fe4c"
+ ]
+ ]
+ },
+ {
+ "id": "4d927385.1d80e4",
+ "type": "save",
+ "name": "save vip-ipv4-address-list relationship to cp",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vip-ipv4-address-list:relationship-list\"\n key=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"cp\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/vnfcs/vnfc/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n + '/cps/cp/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].connection-point.connection-point-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2750.0001258850098,
+ "y": 6305.023775577545,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "a12b08ff.872da8",
+ "435faa21.8dd73c"
+ ]
+ ]
+ },
+ {
+ "id": "b7ae4ee8.46c8f8",
+ "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=\"Error updating vip-ipv4-address-list relationship to cp in AAI\" />\n",
+ "comments": "",
+ "x": 3308.3333473205566,
+ "y": 6298.357183933258,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "29ab7ac1.d4eea6",
+ "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=\"Not-found error updating vip-ipv4-address-list relationship to cp\" />\n",
+ "comments": "",
+ "x": 3308.500316619873,
+ "y": 6348.341357648373,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "b1889d0.1a3afe",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3141.8332176208496,
+ "y": 6278.341557025909,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "b7ae4ee8.46c8f8",
+ "2e738df3.a266b2"
+ ]
+ ]
+ },
+ {
+ "id": "84cd1c51.7c62c8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3141.833293914795,
+ "y": 6331.341315746307,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "29ab7ac1.d4eea6",
+ "2e738df3.a266b2"
+ ]
+ ]
+ },
+ {
+ "id": "a12b08ff.872da8",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2985.000102996826,
+ "y": 6278.357226848602,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "b1889d0.1a3afe"
+ ]
+ ]
+ },
+ {
+ "id": "435faa21.8dd73c",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2993.571636199951,
+ "y": 6330.9763712883,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "84cd1c51.7c62c8"
+ ]
+ ]
+ },
+ {
+ "id": "214cc548.9d2312",
+ "type": "for",
+ "name": "for each vnfc-network-role",
+ "xml": "<for silentFailure='true' index='vnfc-network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2076.6665992736816,
+ "y": 6628.357346057892,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "c3545be7.a08a58"
+ ]
+ ]
+ },
+ {
+ "id": "8ae6c277.1259b8",
+ "type": "save",
+ "name": "save vip-ipv6-address-list relationship to cp",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vip-ipv6-address-list:relationship-list\"\n key=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"cp\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/vnfcs/vnfc/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n + '/cps/cp/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].connection-point.connection-point-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2746.6665534973145,
+ "y": 6626.690128803253,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "5f1b56ef.56a3d",
+ "4c3ccc6a.9008ac"
+ ]
+ ]
+ },
+ {
+ "id": "d0696152.132c6",
+ "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=\"Error updating vip-ipv4-address-list relationship to cp in AAI\" />\n",
+ "comments": "",
+ "x": 3304.9997749328613,
+ "y": 6620.023537158966,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "89aa2cd0.882d5",
+ "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=\"Not-found error updating vip-ipv4-address-list relationship to cp\" />\n",
+ "comments": "",
+ "x": 3305.1667442321777,
+ "y": 6670.007710874081,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "feaa3d1f.f068f8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3138.4996452331543,
+ "y": 6600.007910251617,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "d0696152.132c6"
+ ]
+ ]
+ },
+ {
+ "id": "e2f260c.e83a22",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3138.4997215270996,
+ "y": 6653.007668972015,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "89aa2cd0.882d5"
+ ]
+ ]
+ },
+ {
+ "id": "5f1b56ef.56a3d",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2981.666530609131,
+ "y": 6600.02358007431,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "feaa3d1f.f068f8"
+ ]
+ ]
+ },
+ {
+ "id": "4c3ccc6a.9008ac",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2990.238063812256,
+ "y": 6652.642724514008,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "e2f260c.e83a22"
+ ]
+ ]
+ },
+ {
+ "id": "730f1cc9.69fe4c",
+ "type": "switchNode",
+ "name": "switch network-roles match?",
+ "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role\n == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].vnfc-network-role`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2328.3332710266113,
+ "y": 6305.023613452911,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "de7543a8.d36ff8"
+ ]
+ ]
+ },
+ {
+ "id": "de7543a8.d36ff8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2515.000114440918,
+ "y": 6305.024100780487,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "4d927385.1d80e4"
+ ]
+ ]
+ },
+ {
+ "id": "c3545be7.a08a58",
+ "type": "switchNode",
+ "name": "switch network-roles match?",
+ "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role\n == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].vnfc-network-role`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2324.9998512268066,
+ "y": 6626.690353870392,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "ad4ca04.6f61ae"
+ ]
+ ]
+ },
+ {
+ "id": "ad4ca04.6f61ae",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2511.6666946411133,
+ "y": 6626.6908411979675,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "8ae6c277.1259b8"
+ ]
+ ]
+ },
+ {
+ "id": "59928182.6a1818",
+ "type": "comment",
+ "name": "SELF-SERVE FORK",
+ "info": "",
+ "comments": "",
+ "x": 694.7142944335938,
+ "y": 915.0476245880127,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "4f63954f.60114c",
+ "type": "call",
+ "name": "call self-serve-vf-module-assign",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-assign' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1227.749439239502,
+ "y": 959.964430809021,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "c903ef6e.5d9028"
+ ]
+ ]
+ },
+ {
+ "id": "b3692a00.1ad058",
+ "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=\"`'Failed to create self-serve assignment for vf-module with vf-module-id=' + $vf-module-topology-operation-input.vf-module-information.vf-module-id + ' with error: ' + $error-message`\" />\n",
+ "comments": "",
+ "x": 1611.820816040039,
+ "y": 959.9643812179565,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "c903ef6e.5d9028",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1448.047019958496,
+ "y": 959.4524621963501,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "b3692a00.1ad058"
+ ]
+ ]
+ },
+ {
+ "id": "15551ef3.fbe519",
+ "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": 1174.6186828613281,
+ "y": 1109.809350013733,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "f7ab153e.ede618",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/ss-vnfend.log' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1166.6662254333496,
+ "y": 1064.3008937835693,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "58b9ddbd.c28154",
+ "type": "set",
+ "name": "set order-status to PendingCreate",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'\n value='PendingCreate' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'\n value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'\n value='`$vf-module-topology-operation-input.sdnc-request-header.request-action`' />\n",
+ "comments": "",
+ "x": 1237.3567428588867,
+ "y": 1013.2617883682251,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "4c64ed.a697bb14",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 948.4521713256836,
+ "y": 959.6425924301147,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "4f63954f.60114c",
+ "58b9ddbd.c28154",
+ "f7ab153e.ede618",
+ "15551ef3.fbe519"
+ ]
+ ]
+ },
+ {
+ "id": "ca9d6671.e0234",
+ "type": "comment",
+ "name": "First, count the subnets for this address family",
+ "info": "",
+ "comments": "",
+ "x": 2690.0004081726074,
+ "y": 3237.9997692108154,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "43ee48f3.cff09",
+ "type": "for",
+ "name": "for each subnet-data",
+ "xml": "<for index='subnet-data-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3063.333095550537,
+ "y": 3533.0002727508545,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "c2367378.e6cd3"
+ ]
+ ]
+ },
+ {
+ "id": "c2367378.e6cd3",
+ "type": "switchNode",
+ "name": "address-families match?",
+ "xml": "<switch test='`$tmp.address-family\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].ip-version`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3289.9997215270996,
+ "y": 3533.0002727508545,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "a41d108.beda87"
+ ]
+ ]
+ },
+ {
+ "id": "a41d108.beda87",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3469.999687194824,
+ "y": 3533.0006790161133,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "bbd41071.5f5ca"
+ ]
+ ]
+ },
+ {
+ "id": "7e827224.b98a54",
+ "type": "set",
+ "name": "set af-count to 0",
+ "xml": "<set>\n<parameter name='af-count' value='0' />\n",
+ "comments": "",
+ "x": 2544.9999809265137,
+ "y": 3279.6665210723877,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "f96f4d35.ea7948",
+ "type": "set",
+ "name": "increment af-count",
+ "xml": "<set>\n<parameter name='af-count' value='`$af-count + 1`' />\n",
+ "comments": "",
+ "x": 3293.3333473205566,
+ "y": 3346.3332710266113,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "86f838f7.8fb2d8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3109.9997215270996,
+ "y": 3327.9999561309814,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "f96f4d35.ea7948",
+ "2d2924.bfe856dc"
+ ]
+ ]
+ },
+ {
+ "id": "2d2924.bfe856dc",
+ "type": "set",
+ "name": "set subnet-id",
+ "xml": "<set>\n<parameter name='subnet-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id`' />\n",
+ "comments": "",
+ "x": 3274.999767303467,
+ "y": 3301.3332691192627,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "158ff27d.f681fe",
+ "type": "switchNode",
+ "name": "switch af-count",
+ "xml": "<switch test='`$af-count`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2535.0003929138184,
+ "y": 3516.3334379196167,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "a0b1648c.912158",
+ "70cf3548.bbf294"
+ ]
+ ]
+ },
+ {
+ "id": "a0b1648c.912158",
+ "type": "outcome",
+ "name": "1",
+ "xml": "<outcome value='1'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2694.999912261963,
+ "y": 3414.666606903076,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "ca4eb36c.b27be8"
+ ]
+ ]
+ },
+ {
+ "id": "ca4eb36c.b27be8",
+ "type": "set",
+ "name": "set subnet-id in vnfc-ip-assignments (temp variable)",
+ "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id'\n value='`$subnet-id`' />\n",
+ "comments": "",
+ "x": 2968.3332176208496,
+ "y": 3412.9999561309814,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "70cf3548.bbf294",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2694.999828338623,
+ "y": 3616.333526611328,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "4f40f504.bc667c"
+ ]
+ ]
+ },
+ {
+ "id": "4f40f504.bc667c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2851.6664695739746,
+ "y": 3616.3332080841064,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "2ea4d244.10a91e",
+ "43ee48f3.cff09",
+ "2cb5307a.bb967",
+ "5fd2a555.9c69d4"
+ ]
+ ]
+ },
+ {
+ "id": "bbd41071.5f5ca",
+ "type": "switchNode",
+ "name": "switch network-start-address",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].network-start-address`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3664.9998664855957,
+ "y": 3531.333522796631,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "eb9161e6.999df8",
+ "e5973f29.60a6a8"
+ ]
+ ]
+ },
+ {
+ "id": "eb9161e6.999df8",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 3861.6667137145996,
+ "y": 3466.333133459091,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "9175dbd1.90db18"
+ ]
+ ]
+ },
+ {
+ "id": "e5973f29.60a6a8",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3854.7621116638184,
+ "y": 3600.61904501915,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "f7225223.9cd0a"
+ ]
+ ]
+ },
+ {
+ "id": "f7225223.9cd0a",
+ "type": "switchNode",
+ "name": "switch cidr-mask",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].cidr-mask`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4009.9999046325684,
+ "y": 3599.666251897812,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "6dbe50b0.25663",
+ "86c99244.02a7"
+ ]
+ ]
+ },
+ {
+ "id": "6dbe50b0.25663",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 4164.999980926514,
+ "y": 3529.6665513515472,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "4ede313d.185d4"
+ ]
+ ]
+ },
+ {
+ "id": "86c99244.02a7",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4168.095777511597,
+ "y": 3662.2856385707855,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "fd601bae.1a1768"
+ ]
+ ]
+ },
+ {
+ "id": "c36c4aab.2dd96",
+ "type": "outcome",
+ "name": "0",
+ "xml": "<outcome value='0'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2036.666591644287,
+ "y": 3136.3332080841064,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "6c7a9e2c.5ffe28"
+ ]
+ ]
+ },
+ {
+ "id": "1a5ed4ff.cd6413",
+ "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=\"`'SDNC subnet id '\n + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id\n + ' does not have network-start-address populated'`\" />\n\n\n\n",
+ "comments": "",
+ "x": 4170.000217437744,
+ "y": 3481.332970380783,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "9175dbd1.90db18",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 4006.6666412353516,
+ "y": 3466.332900762558,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "1a5ed4ff.cd6413",
+ "89311515.bf059"
+ ]
+ ]
+ },
+ {
+ "id": "f75c2653.dd05c",
+ "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=\"`'SDNC subnet id '\n + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id\n + ' does not have cidr-mask populated'`\" />\n\n\n\n",
+ "comments": "",
+ "x": 4475.000072479248,
+ "y": 3542.9998376369476,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "4ede313d.185d4",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 4311.6664962768555,
+ "y": 3527.9997680187225,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "f75c2653.dd05c",
+ "89311515.bf059"
+ ]
+ ]
+ },
+ {
+ "id": "8c5c11fb.d4aaf",
+ "type": "comment",
+ "name": "Ignore address families with no addresses",
+ "info": "",
+ "comments": "",
+ "x": 2310.9999656677246,
+ "y": 3066.6667041778564,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "dc86b143.7bc0f",
+ "type": "switchNode",
+ "name": "switch invariant-uuid",
+ "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].invariant-uuid`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1281.666805267334,
+ "y": 4696.333082199097,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "4ff032c9.ac47cc",
+ "4f1d070c.cbefd8"
+ ]
+ ]
+ },
+ {
+ "id": "4ff032c9.ac47cc",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1463.3332176208496,
+ "y": 4672.999711990356,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "9c0ccfc9.82e09"
+ ]
+ ]
+ },
+ {
+ "id": "4f1d070c.cbefd8",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1461.4284896850586,
+ "y": 4719.785539627075,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "bf5629c7.b8c548"
+ ]
+ ]
+ },
+ {
+ "id": "9c0ccfc9.82e09",
+ "type": "save",
+ "name": "save vnfc to A&AI",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"vnfc\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\" >\n<parameter name=\"vnfc-name\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`\" />\n<parameter name=\"nfc-naming-code\" value=\"`$tmp.nfc-naming-code`\" />\n<parameter name=\"nfc-function\" value=\"`$tmp.nfc-function`\" />\n<parameter name=\"orchestration-status\" value=\"`PendingCreate`\" />\n<parameter name=\"in-maint\" value=\"true\" />\n<parameter name=\"prov-status\" value=\"`PREPROV`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1624.999843597412,
+ "y": 4674.666704177856,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "57f9125a.f4f11c",
+ "c29ebd4.1b8af4"
+ ]
+ ]
+ },
+ {
+ "id": "cfe429db.9ee878",
+ "type": "switchNode",
+ "name": "switch input cloud-owner",
+ "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-request-input.cloud-owner`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 560.7141952514648,
+ "y": 304.9047336578369,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "f0f44cd.5ed593",
+ "311a0c57.6a3054"
+ ]
+ ]
+ },
+ {
+ "id": "f0f44cd.5ed593",
+ "type": "other",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 744.0475692749023,
+ "y": 274.9047222137451,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "baeca66d.f8d568"
+ ]
+ ]
+ },
+ {
+ "id": "311a0c57.6a3054",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 743.8094749450684,
+ "y": 315.85721588134766,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "ecc33023.4b1938"
+ ]
+ ]
+ },
+ {
+ "id": "baeca66d.f8d568",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 879.0475234985352,
+ "y": 273.2380619049072,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "ecc33023.4b1938",
+ "type": "set",
+ "name": "set prop.cloud-region.cloud-owner",
+ "xml": "<set>\n<parameter name='prop.cloud-region.cloud-owner' value='`$vf-module-topology-operation-input.vf-module-request-input.cloud-owner`' />\n",
+ "comments": "",
+ "x": 960.7141799926758,
+ "y": 314.9047431945801,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ },
+ {
+ "id": "59c722cd.d5e3ac",
+ "type": "call",
+ "name": "call self-serve-vf-module-forking-logic",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-forking-logic' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 592.3015670776367,
+ "y": 856.2980642318726,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "9ed32d4f.dbd058",
+ "type": "switchNode",
+ "name": "switch ss.self-serve-flag",
+ "xml": "<switch test=\"`$ss.self-serve-flag`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 550.4443054199219,
+ "y": 1083.2981328964233,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "21546dae.57be42",
+ "174b6de2.72fdb2"
+ ]
+ ]
+ },
+ {
+ "id": "21546dae.57be42",
+ "type": "outcomeFalse",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 771.158504486084,
+ "y": 1200.869031906128,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "43e1e208.1c9204"
+ ]
+ ]
+ },
+ {
+ "id": "174b6de2.72fdb2",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 771.7299575805664,
+ "y": 959.7266693115234,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ [
+ "4c64ed.a697bb14"
+ ]
+ ]
+ },
+ {
+ "id": "6f90d0a3.4f5888",
+ "type": "call",
+ "name": "call check for VNF-API-preload and copy",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='gw-vfmodule-update' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 501,
+ "y": 7285,
+ "z": "9167bcd1.0dd69",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "484ad130.562eb8",
+ "type": "comment",
+ "name": "'Old' version of DG, called for flows where SO does not expect async response (so-sdnc-adapter)",
+ "info": "",
+ "comments": "",
+ "x": 433,
+ "y": 88,
+ "z": "9167bcd1.0dd69",
+ "wires": []
+ }
+]
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-assign.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-assign.json index 4d907c16..a7a136a3 100755 --- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-assign.json +++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-assign.json @@ -1,7275 +1,219 @@ [
{
- "id": "b9191fa3.7ca61",
- "type": "dgstart",
- "name": "DGSTART",
- "outputs": 1,
- "x": 137.51302337646484,
- "y": 56.26301097869873,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "dd8ef904.2a0718"
- ]
- ]
- },
- {
- "id": "dd8ef904.2a0718",
- "type": "service-logic",
- "name": "GENERIC-RESOURCE-API ${project.version}",
- "module": "GENERIC-RESOURCE-API",
- "version": "${project.version}",
- "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": 251.37015914916992,
- "y": 96.07254886627197,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "79e996c5.93c4a8"
- ]
- ]
- },
- {
- "id": "79e996c5.93c4a8",
- "type": "method",
- "name": "method vf-module-topology-operation-assign",
- "xml": "<method rpc='vf-module-topology-operation-assign' mode='sync'>\n",
- "comments": "",
- "outputs": 1,
- "x": 250.941650390625,
- "y": 136.26301097869873,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "fb67aa4b.8284f8"
- ]
- ]
- },
- {
- "id": "f89d4b47.20f5c8",
+ "id": "63f4b59b.216734",
"type": "comment",
"name": "vf-module-topology-operation-assign",
"info": "",
"comments": "",
- "x": 561.584114074707,
- "y": 31.738715171813965,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "5d7e2c45.4ebe34",
- "type": "switchNode",
- "name": "switch request-action",
- "xml": "<switch test='`$vf-module-topology-operation-input.request-information.request-action`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 542.7035446166992,
- "y": 409.28680896759033,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "d3c6b720.c14d58",
- "9bb35c39.b1fef"
- ]
- ]
- },
- {
- "id": "d3c6b720.c14d58",
- "type": "outcome",
- "name": "CreateVfModuleInstance",
- "xml": "<outcome value='CreateVfModuleInstance'>\n",
- "comments": "",
- "outputs": 1,
- "x": 813.5011825561523,
- "y": 377.67968463897705,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "a73a78b9.a830b8"
- ]
- ]
- },
- {
- "id": "9bb35c39.b1fef",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 748.4178047180176,
- "y": 441.8106880187988,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "3e5eb577.046eda"
- ]
- ]
- },
- {
- "id": "a73a78b9.a830b8",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1003.3583469390869,
- "y": 377.6797161102295,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "48e25fc2.52f7",
- "type": "get-resource",
- "name": "get-resource VF_MODULE_MODEL",
- "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VF_MODULE_MODEL WHERE customization_uuid = $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid'\n pfx='db.vf-module-model'>\n\n",
- "comments": "",
- "outputs": 1,
- "x": 590.0368118286133,
- "y": 510.429762840271,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "c0e16531.bf13d8",
- "3ed7b745.5102d8"
- ]
- ]
- },
- {
- "id": "c0e16531.bf13d8",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 855.8225021362305,
- "y": 490.8105936050415,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "2172bacb.fd1c86"
- ]
- ]
- },
- {
- "id": "3ed7b745.5102d8",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 864.3939323425293,
- "y": 535.0963068008423,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "c639de59.ae251"
- ]
- ]
- },
- {
- "id": "9d5245b6.abb4e8",
- "type": "switchNode",
- "name": "switch service-data.vnfs.vnf_length",
- "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 583.8820648193359,
- "y": 687.7511224746704,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "128f7183.82d7ae",
- "6a25eddf.15bb44"
- ]
- ]
- },
- {
- "id": "128f7183.82d7ae",
- "type": "other",
- "name": "NULL",
- "xml": "<outcome value=''>\n",
- "comments": "",
- "outputs": 1,
- "x": 824.5963363647461,
- "y": 663.8938627243042,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "dbfaf511.5478b8"
- ]
- ]
- },
- {
- "id": "6a25eddf.15bb44",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 824.3581771850586,
- "y": 705.846381187439,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "7ef59497.ea72ec"
- ]
- ]
- },
- {
- "id": "94a28d82.4f01d",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 182.45345306396484,
- "y": 3125.668021798134,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "1c68463e.c02a4a",
- "135adbdd.c9ef24",
- "86ef2c44.55f05",
- "e4caf1eb.a8b9f",
- "7c9996aa.a5c0f8",
- "e1558384.bfa8e",
- "b08a4dbf.cf985",
- "f888462e.a53c78",
- "7293e3b2.a19a7c",
- "2a3992a0.134e1e",
- "2162f1f4.5f96fe",
- "ff74ebeb.c5ffd8",
- "489025cd.dbd3ac",
- "59bf9724.469638",
- "474227b8.b83ae8",
- "1d003263.e8205e",
- "75a8181a.0cae18",
- "35a859e5.3e7c46",
- "24109bc2.4c9eb4",
- "c7aef34d.6997b",
- "7ffbcb4d.5fb274",
- "779079fc.7d1618",
- "494a4418.4600ec",
- "88b43b76.6a75d8",
- "bb67c127.33c7c",
- "67fa2696.640ed8",
- "fcaf9b9.f1d4568",
- "9926c7ad.248aa8",
- "7b6a70b.67d389",
- "d9542f83.7d0bb",
- "e283e90a.9eb6c8",
- "5d70e5cf.fff80c",
- "f60c437.45996c",
- "fc541e57.efb67",
- "b631b958.11eb48",
- "e5d7fa3.8c00708",
- "62da7e05.4b2de"
- ]
- ]
- },
- {
- "id": "7ef59497.ea72ec",
- "type": "for",
- "name": "for each vnf",
- "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 986.596321105957,
- "y": 705.5129995346069,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "988df689.061cb8"
- ]
- ]
- },
- {
- "id": "988df689.061cb8",
- "type": "switchNode",
- "name": "switch service data vnf == input vnf",
- "xml": "<switch test='`$service-data.vnfs.vnf[$idx].vnf-id == $vf-module-topology-operation-input.vnf-information.vnf-id`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1237.9296188354492,
- "y": 705.1797275543213,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "c657ad4a.55c47"
- ]
- ]
- },
- {
- "id": "c657ad4a.55c47",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1467.929630279541,
- "y": 704.5130405426025,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "ae39954d.b28168"
- ]
- ]
- },
- {
- "id": "9974cb16.902fe8",
- "type": "set",
- "name": "set vnf-index to -1",
- "xml": "<set>\n<parameter name='vnf-index' value='-1' />\n",
- "comments": "",
- "x": 532.9296875,
- "y": 619.1796216964722,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "57723ef9.ea31c",
- "type": "set",
- "name": "set vnf-index to idx",
- "xml": "<set>\n<parameter name='vnf-index' value='`$idx`' />\n",
- "comments": "",
- "x": 1789.5962677001953,
- "y": 675.5129985809326,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "540a131f.3d7bec",
- "type": "switchNode",
- "name": "switch vnf-index",
- "xml": "<switch test='`$vnf-index`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 521.6797103881836,
- "y": 771.3463115692139,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "ca6ccba1.61a798"
- ]
- ]
- },
- {
- "id": "ca6ccba1.61a798",
- "type": "outcome",
- "name": "-1",
- "xml": "<outcome value='-1'>\n",
- "comments": "",
- "outputs": 1,
- "x": 700.0130958557129,
- "y": 770.6796875,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "792ace51.b15ed"
- ]
- ]
- },
- {
- "id": "1c68463e.c02a4a",
- "type": "switchNode",
- "name": "switch vf-module_length",
- "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 559.5964088439941,
- "y": 1342.0965156555176,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "7203a6bd.008058",
- "1ce0b519.1ca75b"
- ]
- ]
- },
- {
- "id": "7203a6bd.008058",
- "type": "other",
- "name": "NULL",
- "xml": "<outcome value=''>\n",
- "comments": "",
- "outputs": 1,
- "x": 816.9773635864258,
- "y": 1309.2392892837524,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "1d2df677.49743a"
- ]
- ]
- },
- {
- "id": "1d2df677.49743a",
- "type": "set",
- "name": "set vf-module-index=0",
- "xml": "<set>\n<parameter name='vf-module-index' value='0' />\n",
- "comments": "",
- "x": 1004.5964012145996,
- "y": 1309.9060640335083,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "1ce0b519.1ca75b",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 817.4059066772461,
- "y": 1373.5251474380493,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "7b5c967b.5645e8"
- ]
- ]
- },
- {
- "id": "3d0e8775.38d2b8",
- "type": "set",
- "name": "set vf-module-index = vf-module_length",
- "xml": "<set>\n<parameter name='vf-module-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' />\n",
- "comments": "",
- "x": 1202.5964469909668,
- "y": 1353.715542793274,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "f4745546.3c76c8",
- "type": "for",
- "name": "for each existing VF module",
- "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1161.6915397644043,
- "y": 1397.810772895813,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "38be826c.5042de"
- ]
- ]
- },
- {
- "id": "7b5c967b.5645e8",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 954.1201858520508,
- "y": 1373.5250730514526,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "3d0e8775.38d2b8",
- "f4745546.3c76c8"
- ]
- ]
- },
- {
- "id": "38be826c.5042de",
- "type": "switchNode",
- "name": "switch vf-module-information.vf-module-id == service-data.vnfs.vnf[].vf-modules.vf-module[].vf-module-id",
- "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-information.vf-module-id == $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1665.3106422424316,
- "y": 1397.3821840286255,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "5b65413c.247c9"
- ]
- ]
- },
- {
- "id": "5b65413c.247c9",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2107.9296913146973,
- "y": 1396.9536352157593,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "cdf91b0.174e5e8"
- ]
- ]
- },
- {
- "id": "2eae9b0c.edb3d4",
- "type": "comment",
- "name": "make sure this VF module doesn't exist already",
- "info": "",
- "comments": "",
- "x": 1691.7629890441895,
- "y": 1352.0096759796143,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "135adbdd.c9ef24",
- "type": "set",
- "name": "set new vf-module_length",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length' value='`$vf-module-index + 1`' />\n",
- "comments": "",
- "x": 570.2629890441895,
- "y": 1453.0963706970215,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "86ef2c44.55f05",
- "type": "set",
- "name": "set vf-module-topology data",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-id' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />\n<parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name' value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`' />\n<parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-type' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-type`' />\n<parameter name='tmp.vf-module-topology.tenant' value='`$vf-module-topology-operation-input.vf-module-request-input.tenant`' />\n<parameter name='tmp.vf-module-topology.aic-cloud-region' value='`$vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`' />\n",
- "comments": "",
- "x": 576.7630081176758,
- "y": 1565.596477508545,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "77cfe613.fc65c8",
- "type": "set",
- "name": "set aic-clli",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.aic-clli'\n value='`$aai-uid-split[$aai-uid-split_length - 1]`' />\n",
- "comments": "",
- "x": 1337.7152671813965,
- "y": 1724.8344039916992,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "e4caf1eb.a8b9f",
- "type": "switchNode",
- "name": "switch aic-clli",
- "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.aic-clli`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 536.7629280090332,
- "y": 1838.7867441177368,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "81ee85e4.dedbf8"
- ]
- ]
- },
- {
- "id": "81ee85e4.dedbf8",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 682.0486183166504,
- "y": 1838.7868127822876,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "ec2aeced.650af"
- ]
- ]
- },
- {
- "id": "7c9996aa.a5c0f8",
- "type": "get-resource",
- "name": "get-resource cloud region",
- "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"cloud-region\" \n\t\tkey=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND \n\t\t cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\"\n pfx='aai.cloud-region' local-only='false' >\n\n",
- "comments": "",
- "outputs": 1,
- "x": 575.6201438903809,
- "y": 1638.9300155639648,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "6f3a4d5a.8ebfd4",
- "9660a46b.1c9ce8"
- ]
- ]
- },
- {
- "id": "9660a46b.1c9ce8",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 789.8663368225098,
- "y": 1657.0808715820312,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "7adbe623.7575f8"
- ]
- ]
- },
- {
- "id": "6f3a4d5a.8ebfd4",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 798.7949333190918,
- "y": 1614.3666048049927,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "799eaa32.6fe824"
- ]
- ]
- },
- {
- "id": "ae39954d.b28168",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1616.2630920410156,
- "y": 703.4327392578125,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "57723ef9.ea31c",
- "c07cd07d.0c75a"
- ]
- ]
- },
- {
- "id": "c07cd07d.0c75a",
- "type": "break",
- "name": "break",
- "xml": "<break>\n",
- "comments": "",
- "x": 1751.2630577087402,
- "y": 725.0993251800537,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "952256ff.21f9a8",
- "type": "set",
- "name": "set from DB",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'\n value='`$db.vf-module-model.invariant-uuid`' />\n",
- "comments": "",
- "x": 951.0962677001953,
- "y": 1880.1827373504639,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "e1558384.bfa8e",
- "type": "switchNode",
- "name": "switch input model-invariant-uuid",
- "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 594.9533424377441,
- "y": 1903.0071811676025,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "cd2324fc.034808",
- "38df22f.16dd4de"
- ]
- ]
- },
- {
- "id": "cd2324fc.034808",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 800.6200141906738,
- "y": 1880.1501445770264,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "952256ff.21f9a8"
- ]
- ]
- },
- {
- "id": "38df22f.16dd4de",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 802.0486106872559,
- "y": 1924.4357357025146,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "cb5b92dd.63cc2"
- ]
- ]
- },
- {
- "id": "cb5b92dd.63cc2",
- "type": "set",
- "name": "set from input",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'\n value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`' />\n",
- "comments": "",
- "x": 956.3343467712402,
- "y": 1923.8643078804016,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "9d20a066.9a052",
- "type": "set",
- "name": "set from DB",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'\n value='`$db.vf-module-model.uuid`' />\n",
- "comments": "",
- "x": 952.0485382080078,
- "y": 1968.7214136123657,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "b08a4dbf.cf985",
- "type": "switchNode",
- "name": "switch input model-uuid",
- "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 567.5723609924316,
- "y": 1991.5459184646606,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "c7ed7b53.7dd0f8",
- "778bc2b7.d82bbc"
- ]
- ]
- },
- {
- "id": "c7ed7b53.7dd0f8",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 801.5723342895508,
- "y": 1968.688850402832,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "9d20a066.9a052"
- ]
- ]
- },
- {
- "id": "778bc2b7.d82bbc",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 803.0009307861328,
- "y": 2012.9744415283203,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "f7d52f4a.cdff6"
- ]
- ]
- },
- {
- "id": "f7d52f4a.cdff6",
- "type": "set",
- "name": "set from input",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'\n value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`' />\n",
- "comments": "",
- "x": 957.2866668701172,
- "y": 2012.4030137062073,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "dac6c331.68c42",
- "type": "set",
- "name": "set from DB",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-version'\n value='`$db.vf-module-model.version`' />\n",
- "comments": "",
- "x": 949.1914710998535,
- "y": 2057.5786209106445,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "f888462e.a53c78",
- "type": "switchNode",
- "name": "switch input model-version",
- "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 575.7152328491211,
- "y": 2080.4030656814575,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "9c31df03.57fb6",
- "9f5a3e1a.3ae01"
- ]
- ]
- },
- {
- "id": "9c31df03.57fb6",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 798.715217590332,
- "y": 2057.546028137207,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "dac6c331.68c42"
- ]
- ]
- },
- {
- "id": "9f5a3e1a.3ae01",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 800.1438140869141,
- "y": 2101.8316192626953,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "886a096e.cd9ed8"
- ]
- ]
- },
- {
- "id": "886a096e.cd9ed8",
- "type": "set",
- "name": "set from input",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-version'\n value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`' />\n",
- "comments": "",
- "x": 954.4295501708984,
- "y": 2101.2601914405823,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "f162ec13.2ea9e",
- "type": "set",
- "name": "set from DB",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-name'\n value='`$db.vf-module-model.name`' />\n",
- "comments": "",
- "x": 949.1914710998535,
- "y": 2144.7214431762695,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "7293e3b2.a19a7c",
- "type": "switchNode",
- "name": "switch input model-name",
- "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 570.7152328491211,
- "y": 2167.5458879470825,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "fec48afa.f578f8",
- "84aba209.b7386"
- ]
- ]
- },
- {
- "id": "fec48afa.f578f8",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 798.715217590332,
- "y": 2144.688850402832,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "f162ec13.2ea9e"
- ]
- ]
- },
- {
- "id": "84aba209.b7386",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 800.1438140869141,
- "y": 2188.9744415283203,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "fef7c2e3.5fc15"
- ]
- ]
- },
- {
- "id": "fef7c2e3.5fc15",
- "type": "set",
- "name": "set from input",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-name'\n value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`' />\n",
- "comments": "",
- "x": 954.4295501708984,
- "y": 2188.4030137062073,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "2a3992a0.134e1e",
- "type": "set",
- "name": "set model-customization-uuid",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.onap-model-information.model-customization-uuid'\n value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`' />\n",
- "comments": "",
- "x": 585.1675682067871,
- "y": 2240.054877281189,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "2162f1f4.5f96fe",
- "type": "set",
- "name": "set vf-module-id",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id'\n value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />\n",
- "comments": "",
- "x": 538.3582153320312,
- "y": 1508.7780532836914,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "ff74ebeb.c5ffd8",
- "type": "for",
- "name": "for each cloud-region relationship",
- "xml": "<for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 597.8739585876465,
- "y": 1727.4366989135742,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "6dfb70e4.99bce"
- ]
- ]
- },
- {
- "id": "6dfb70e4.99bce",
- "type": "switchNode",
- "name": "switch related-to",
- "xml": "<switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 845.5525016784668,
- "y": 1727.1866283416748,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "8d3e1649.827698"
- ]
- ]
- },
- {
- "id": "8d3e1649.827698",
- "type": "outcome",
- "name": "complex",
- "xml": "<outcome value='complex'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1015.0168228149414,
- "y": 1726.5794506072998,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "89cc33ca.87336"
- ]
- ]
- },
- {
- "id": "f7308857.ab0638",
- "type": "execute",
- "name": "split related-link",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\n <parameter name='ctx_memory_result_key' value='aai-uid-split' />\n <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />\n <parameter name='regex' value='/' />\n",
- "comments": "",
- "outputs": 1,
- "x": 1355.1119804382324,
- "y": 1681.0080261230469,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "89cc33ca.87336",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1174.7786827087402,
- "y": 1727.6748142242432,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "f7308857.ab0638",
- "f22bbebf.cf96a",
- "77cfe613.fc65c8"
- ]
- ]
- },
- {
- "id": "f22bbebf.cf96a",
- "type": "break",
- "name": "break",
- "xml": "<break>\n",
- "comments": "",
- "x": 1324.7786445617676,
- "y": 1771.008111000061,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "f4d050b1.8b4c3",
- "type": "execute",
- "name": "execute PropertiesNode",
- "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n",
- "comments": "",
- "outputs": 1,
- "x": 556.5606460571289,
- "y": 165.7868185043335,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "24109bc2.4c9eb4",
- "type": "set",
- "name": "set order-status to PendingCreate",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'\n value='PendingCreate' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'\n value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'\n value='`$vf-module-topology-operation-input.sdnc-request-header.request-action`' />\n",
- "comments": "",
- "x": 483.0253143310547,
- "y": 7336.643301963806,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "c7aef34d.6997b",
- "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": 426.5251693725586,
- "y": 8101.690653324127,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "35a859e5.3e7c46",
- "type": "set",
- "name": "copy input data",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.sdnc-request-header.'\n value='$vf-module-topology-operation-input.sdnc-request-header.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.request-information.'\n value='$vf-module-topology-operation-input.request-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.service-information.'\n value='$vf-module-topology-operation-input.service-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vnf-information.'\n value='$vf-module-topology-operation-input.vnf-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.'\n value='$vf-module-topology-operation-input.vf-module-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.'\n value='$vf-module-topology-operation-input.vf-module-request-input.' />\n\n",
- "comments": "",
- "x": 415.1322555541992,
- "y": 7192.992034912109,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "75a8181a.0cae18",
- "type": "set",
- "name": "copy vf-module-topology data",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.' value='tmp.vf-module-topology.' />\n",
- "comments": "",
- "x": 470.0132751464844,
- "y": 7139.776969909668,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "59bf9724.469638",
- "type": "save",
- "name": "update vf-module",
- "xml": "<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vf-module\"\n key=\"vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id\n AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"vf-module-name\" value=\"`$tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name`\" />\n<parameter name=\"model-invariant-id\" value=\"`$tmp.vf-module-topology.onap-model-information.model-invariant-uuid`\" />\n<parameter name=\"model-version-id\" value=\"`$tmp.vf-module-topology.onap-model-information.model-uuid`\" />\n<parameter name=\"model-customization-id\" value=\"`$tmp.vf-module-topology.onap-model-information.model-customization-uuid`\" />\n<parameter name=\"selflink\" value=\"`$vf-module-object-path`\" />\n<parameter name=\"automated-assignment\" value=\"`$automated-assignment`\" />",
- "comments": "",
- "outputs": 1,
- "x": 500.4059944152832,
- "y": 4346.778634667397,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "d74196bc.6b97c8",
- "6e6f18d0.9bdfe8"
- ]
- ]
- },
- {
- "id": "d74196bc.6b97c8",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 675.4776344299316,
- "y": 4315.159256577492,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "7f9d44fc.3db7bc"
- ]
- ]
- },
- {
- "id": "6e6f18d0.9bdfe8",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 684.0490074157715,
- "y": 4383.778346598148,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "94bb0c2d.81fb6"
- ]
- ]
- },
- {
- "id": "489025cd.dbd3ac",
- "type": "set",
- "name": "set vf-module-object-path",
- "xml": "<set>\n<parameter name='vf-module-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/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": 524.0728034973145,
- "y": 4222.302863717079,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "fb74751e.022f18",
- "type": "save",
- "name": "save vf-module relationships",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vf-module:relationship-list\"\n key=\"vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id\n AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1294.096549987793,
- "y": 5904.931029081345,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "6418f89e.efde28",
- "3c5f7fe1.c5c95"
- ]
- ]
- },
- {
- "id": "6418f89e.efde28",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1513.9298934936523,
- "y": 5875.802773237228,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "b4477865.f6c3d8"
- ]
- ]
- },
- {
- "id": "3c5f7fe1.c5c95",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1522.5014266967773,
- "y": 5928.421917676926,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "a8844fc9.d802f"
- ]
- ]
- },
- {
- "id": "474227b8.b83ae8",
- "type": "for",
- "name": "for each vm-type",
- "xml": "<for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 473.7632751464844,
- "y": 5670.264581918716,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "3890cbf7.238894"
- ]
- ]
- },
- {
- "id": "28b6a2fd.61312e",
- "type": "for",
- "name": "for each vm-network",
- "xml": "<for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 870.7632865905762,
- "y": 6088.93141412735,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "4bd4ba04.8daa14"
- ]
- ]
- },
- {
- "id": "1d003263.e8205e",
- "type": "for",
- "name": "for each vm-type",
- "xml": "<for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 419.4418182373047,
- "y": 7034.810600280762,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "c9fac662.7812b8"
- ]
- ]
- },
- {
- "id": "c9fac662.7812b8",
- "type": "for",
- "name": "for each vm",
- "xml": "<for index='vm-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-count`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 614.4418487548828,
- "y": 7034.143608093262,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "207acffa.3abd1"
- ]
- ]
- },
- {
- "id": "138fc2c6.5fd4fd",
- "type": "save",
- "name": "save VIPR_CONFIGURATION",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource\" resource=\"SQL\"\nkey=\"INSERT INTO VIPR_CONFIGURATION (vnf_id, vnf_name, ecomp_service_instance_id, vm_name, cloud_region_id, cloud_owner) VALUES ( $service-data.vnfs.vnf[$vnf-index].vnf-id , $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name , $service-data.service-information.service-instance-id , $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index] , $tmp.vf-module-topology.aic-cloud-region , $prop.cloud-region.cloud-owner )\" >",
- "comments": "",
- "outputs": 1,
- "x": 1034.858543395996,
- "y": 7059.311295449734,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "ad9e155d.1028f8"
- ]
- ]
- },
- {
- "id": "71743690.584d78",
- "type": "comment",
- "name": "Not a failure",
- "info": "",
- "comments": "",
- "x": 1554.8584442138672,
- "y": 7059.311300218105,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "ad9e155d.1028f8",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1244.858528137207,
- "y": 7059.311445176601,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "2b130462.23f28c"
- ]
- ]
- },
- {
- "id": "2b130462.23f28c",
- "type": "record",
- "name": "record",
- "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID\"/>\n<parameter name=\"field3\" value=\"`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`\"/>\n<parameter name=\"field4\" value=\"Failed to insert VIPR_CONFIGURATION record\"/>\n",
- "comments": "",
- "outputs": 1,
- "x": 1388.1919708251953,
- "y": 7059.311283051968,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "da21eac5.eb6e48",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1418.1920928955078,
- "y": 7010.64299672842,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "4475a7ad.750578"
- ]
- ]
- },
- {
- "id": "248ddcf1.40e1a4",
- "type": "comment",
- "name": "Not a failure",
- "info": "",
- "comments": "",
- "x": 1741.525146484375,
- "y": 7008.9768189787865,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "4475a7ad.750578",
- "type": "record",
- "name": "record",
- "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID\"/>\n<parameter name=\"field3\" value=\"`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`\"/>\n<parameter name=\"field4\" value=\"Failed to insert VIPR_CONFIGURATION record\"/>\n",
- "comments": "",
- "outputs": 1,
- "x": 1564.1920280456543,
- "y": 7010.643629968166,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "207acffa.3abd1",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 782.7752418518066,
- "y": 7033.143452644348,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "23b5f46a.84a14c",
- "138fc2c6.5fd4fd"
- ]
- ]
- },
- {
- "id": "23b5f46a.84a14c",
- "type": "delete",
- "name": "delete any pre-existing records in VIPR_CONFIGURATION",
- "xml": "<delete plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='DELETE from VIPR_CONFIGURATION WHERE vnf_id = $service-data.vnfs.vnf[$vnf-index].vnf-id\n AND ecomp_service_instance_id = $service-data.service-information.service-instance-id\n AND vm_name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index]' >",
- "comments": "",
- "outputs": 1,
- "x": 1124.8585586547852,
- "y": 7010.977629601955,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "da21eac5.eb6e48"
- ]
- ]
- },
- {
- "id": "7f9d44fc.3db7bc",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 833.7632026672363,
- "y": 4314.9299274683,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "18d43b0c.816ff5",
- "1254304a.7d8a4"
- ]
- ]
- },
- {
- "id": "94bb0c2d.81fb6",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 834.7631187438965,
- "y": 4381.596217691898,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "d3b91e2a.6658a"
- ]
- ]
- },
- {
- "id": "b4477865.f6c3d8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1682.4298973083496,
- "y": 5875.597042798996,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "a1d9fe5d.0f695",
- "fc515f97.dc4ef"
- ]
- ]
- },
- {
- "id": "a8844fc9.d802f",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1677.4298973083496,
- "y": 5928.596885442734,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "e64793d7.bf627",
- "fc515f97.dc4ef"
- ]
- ]
- },
- {
- "id": "755e8713.bcc1c8",
- "type": "execute",
- "name": "execute RestApiCallNode - get preload-list",
- "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='restapiUrl' value=\"`$prop.controller.url + $prop.restapi.preloadinformation + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name + '/vf-module'`\" />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='GET' />\n <parameter name=\"responsePrefix\" value=\"mdsal-preload\" />\n\n",
- "comments": "",
- "outputs": 1,
- "x": 1043.3463745117188,
- "y": 2452.429780960083,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "68e62acd.729e34",
- "a47c9360.b9478"
- ]
- ]
- },
- {
- "id": "68e62acd.729e34",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1311.6796073913574,
- "y": 2410.763111114502,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "7b583f75.7c5be"
- ]
- ]
- },
- {
- "id": "a47c9360.b9478",
- "type": "success",
- "name": "success",
- "xml": "<outcome value='success'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1310.0129623413086,
- "y": 2485.7632598876953,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "acc728a8.eedfa8"
- ]
- ]
- },
- {
- "id": "7b583f75.7c5be",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1468.346363067627,
- "y": 2409.0965490341187,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "cec2f13d.67a37"
- ]
- ]
- },
- {
- "id": "acc728a8.eedfa8",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1465.0129699707031,
- "y": 2485.763101577759,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "3983f41d.db452c"
- ]
- ]
- },
- {
- "id": "cec2f13d.67a37",
- "type": "switchNode",
- "name": "switch mdsal-preload.response-code",
- "xml": "<switch test='`$mdsal-preload.response-code`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1696.6796646118164,
- "y": 2409.0965900421143,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "e8950979.22bb18",
- "b6c25b1e.892808"
- ]
- ]
- },
- {
- "id": "e8950979.22bb18",
- "type": "outcome",
- "name": "404 (not found)",
- "xml": "<outcome value='404'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1979.5963668823242,
- "y": 2363.6796340942383,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "1c4c53fe.44b0dc"
- ]
- ]
- },
- {
- "id": "1c4c53fe.44b0dc",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:vf-module-topology-operation-assign-no-preload",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-no-preload' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2382.512939453125,
- "y": 2277.013102531433,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "cc34b72d.383738"
- ]
- ]
- },
- {
- "id": "cc34b72d.383738",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2771.2629013061523,
- "y": 2277.846981048584,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "c1b24090.d49b8"
- ]
- ]
- },
- {
- "id": "b6c25b1e.892808",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1945.8463287353516,
- "y": 2427.8464183807373,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "d759206d.14388"
- ]
- ]
- },
- {
- "id": "3983f41d.db452c",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:vf-module-topology-operation-assign-preload",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-preload' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1828.3462600708008,
- "y": 2487.429849624634,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "90d09a92.2d1cc8"
- ]
- ]
- },
- {
- "id": "90d09a92.2d1cc8",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2184.0131225585938,
- "y": 2485.7634677886963,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "76721fa9.6f7a7"
- ]
- ]
- },
- {
- "id": "3890cbf7.238894",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 664.2633438110352,
- "y": 5671.097816705704,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "28b6a2fd.61312e",
- "eeca3ef7.08f31"
- ]
- ]
- },
- {
- "id": "eeca3ef7.08f31",
- "type": "for",
- "name": "for each vnfc",
- "xml": "<for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 915.2633934020996,
- "y": 4875.763907909393,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "59778d60.c86b24"
- ]
- ]
- },
- {
- "id": "9b23e63c.8ba5d8",
- "type": "save",
- "name": "save vnfc to A&AI",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"vnfc\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\" >\n<parameter name=\"vnfc-name\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`\" />\n<parameter name=\"nfc-naming-code\" value=\"`$tmp.nfc-naming-code`\" />\n<parameter name=\"nfc-function\" value=\"`$tmp.nfc-function`\" />\n<parameter name=\"model-invariant-id\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].invariant-uuid`\" />\n<parameter name=\"model-version-id\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].uuid`\" />\n<parameter name=\"model-customization-id\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].model-customization-uuid`\" />\n<parameter name=\"orchestration-status\" value=\"`PendingCreate`\" />\n<parameter name=\"in-maint\" value=\"true\" />\n<parameter name=\"prov-status\" value=\"`PREPROV`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1641.2634620666504,
- "y": 4684.097838401794,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "8c17d99f.3ce5f8",
- "b50cee13.b9a08"
- ]
- ]
- },
- {
- "id": "59778d60.c86b24",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1083.596694946289,
- "y": 4876.430735111237,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "2ee1ddb7.3ce5a2",
- "63a7631.9e7f99c",
- "e77ee371.ca79f",
- "a45139cd.c06788",
- "d5639dcc.50d87",
- "3291e6ae.85f8ba"
- ]
- ]
- },
- {
- "id": "8c17d99f.3ce5f8",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1832.263500213623,
- "y": 4636.431172370911,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "fc84df82.5bc09"
- ]
- ]
- },
- {
- "id": "fc84df82.5bc09",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1997.4301872253418,
- "y": 4650.5590056777,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "30bee8c0.434ad8",
- "1254304a.7d8a4"
- ]
- ]
- },
- {
- "id": "e77ee371.ca79f",
- "type": "save",
- "name": "save vnfc relationships",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vnfc:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"generic-vnf\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/generic-vnfs/generic-vnf/' +\n $vf-module-topology-operation-input.vnf-information.vnf-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"vf-module\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/generic-vnfs/generic-vnf/' +\n $vf-module-topology-operation-input.vnf-information.vnf-id +\n '/vf-modules/vf-module/' +\n $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1308.1679801940918,
- "y": 4784.717070102692,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "b41f1fa4.6a16e",
- "c5bf9d82.77072"
- ]
- ]
- },
- {
- "id": "36f8149b.0100dc",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1640.0011711120605,
- "y": 4758.034694194794,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "17b97fa6.0b332",
- "1254304a.7d8a4"
- ]
- ]
- },
- {
- "id": "138ca4b2.cb534b",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1640.0012474060059,
- "y": 4811.034452915192,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "43b53fc.f18d2c",
- "1254304a.7d8a4"
- ]
- ]
- },
- {
- "id": "b41f1fa4.6a16e",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1483.168056488037,
- "y": 4758.050364017487,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "36f8149b.0100dc"
- ]
- ]
- },
- {
- "id": "c5bf9d82.77072",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1491.739589691162,
- "y": 4810.669508457184,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "138ca4b2.cb534b"
- ]
- ]
- },
- {
- "id": "2ee1ddb7.3ce5a2",
- "type": "for",
- "name": "for each vnfc-network-role",
- "xml": "<for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1305.644100189209,
- "y": 5201.573478221893,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "52bb6b86.aae8d4"
- ]
- ]
- },
- {
- "id": "7ffbcb4d.5fb274",
- "type": "execute",
- "name": "printContext",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vfmoduleb.log' />\n",
- "comments": "",
- "outputs": 1,
- "x": 526.2630043029785,
- "y": 2509.4773001670837,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "3ff39820.94ba88",
- "type": "for",
- "name": "for each vnfc-subnetwork-role",
- "xml": "<for silentFailure='true' index='subnet-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1761.59663772583,
- "y": 5164.763911724091,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "bae62f0f.f599"
- ]
- ]
- },
- {
- "id": "bae62f0f.f599",
- "type": "for",
- "name": "for each vnfc-address-family",
- "xml": "<for silentFailure='true' index='address-family-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2028.9299812316895,
- "y": 5163.764400005341,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "83b71d8.34202e"
- ]
- ]
- },
- {
- "id": "9893ef44.5c929",
- "type": "for",
- "name": "for each vnfc-ip-address",
- "xml": "<for silentFailure='true' index='address-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2460.9295921325684,
- "y": 5230.430099487305,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "4955053a.cc8cec"
- ]
- ]
- },
- {
- "id": "83b71d8.34202e",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2239.9297523498535,
- "y": 5163.76385641098,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "bd1ac39a.c86f3",
- "9893ef44.5c929"
- ]
- ]
- },
- {
- "id": "bd1ac39a.c86f3",
- "type": "set",
- "name": "set tmp.address-family",
- "xml": "<set>\n<parameter name='tmp.address-family'\n value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />\n",
- "comments": "",
- "x": 2459.9300804138184,
- "y": 5083.763753890991,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "4955053a.cc8cec",
- "type": "switchNode",
- "name": "switch address family",
- "xml": "<switch test='`$tmp.address-family`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2699.9296836853027,
- "y": 5228.763921737671,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "df6d826a.602a2",
- "b4544053.188e9"
- ]
- ]
- },
- {
- "id": "df6d826a.602a2",
- "type": "outcome",
- "name": "ipv4",
- "xml": "<outcome value='ipv4'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2897.0726890563965,
- "y": 5132.335182189941,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "78841d68.5129e4"
- ]
- ]
- },
- {
- "id": "b4544053.188e9",
- "type": "outcome",
- "name": "ipv6",
- "xml": "<outcome value='ipv6'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2894.6917610168457,
- "y": 5312.097213745117,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "133e1aca.140a05"
- ]
- ]
- },
- {
- "id": "82d4dce2.8069",
- "type": "comment",
- "name": "Fixed IPs",
- "info": "",
- "comments": "",
- "x": 1778.5966529846191,
- "y": 5126.431288719177,
- "z": "565447bf.1f1598",
+ "x": 268,
+ "y": 45,
+ "z": "a314769.77ed108",
"wires": []
},
{
- "id": "ae224e40.c6874",
- "type": "save",
- "name": "save l3-interface-ipv4-address-list object to A&AI",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"l3-interface-ipv4-address-list\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND cp.cp-instance-id = $cp-instance-id\n\t AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address\" >\n<parameter name=\"l3-interface-ipv4-address\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`\" />\n<parameter name=\"l3-interface-ipv4-prefix-length\" value=\"32\" />\n<parameter name=\"is-floating\" value=\"false\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3340.405818939209,
- "y": 5080.668262163799,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "929637d6.457068"
- ]
- ]
- },
- {
- "id": "78841d68.5129e4",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3047.0726890563965,
- "y": 5132.335100809734,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "ae224e40.c6874",
- "8bea43e3.8116"
- ]
- ]
- },
- {
- "id": "36922023.99beb",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3753.905693054199,
- "y": 5080.65275446574,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "cc682bd5.2eb5c8",
- "11d81f8a.7859d"
- ]
- ]
- },
- {
- "id": "929637d6.457068",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3597.072578430176,
- "y": 5080.668424288433,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "36922023.99beb"
- ]
- ]
- },
- {
- "id": "8bea43e3.8116",
- "type": "save",
- "name": "save l3-interface-ipv4-address-list relationships",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"l3-interface-ipv4-address-list:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND cp.cp-instance-id = $cp-instance-id\n\t AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"subnet\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +\n '/subnets/subnet/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3335.406063079834,
- "y": 5179.00168100993,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "2e1bef20.bf0fd",
- "5d3ca55b.b0a96c"
- ]
- ]
- },
- {
- "id": "aa9b6876.841938",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3755.5723152160645,
- "y": 5150.652725855511,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "1499e507.42f6db",
- "11d81f8a.7859d"
- ]
- ]
- },
- {
- "id": "670834a7.3d263c",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3755.5723915100098,
- "y": 5203.652484575909,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "dac8db15.74e098",
- "11d81f8a.7859d"
- ]
- ]
- },
- {
- "id": "2e1bef20.bf0fd",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3598.739200592041,
- "y": 5150.6683956782035,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "aa9b6876.841938"
- ]
- ]
- },
- {
- "id": "5d3ca55b.b0a96c",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3607.310733795166,
- "y": 5203.287540117901,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "670834a7.3d263c"
- ]
- ]
- },
- {
- "id": "f5cbef76.ec89e",
- "type": "save",
- "name": "save l3-interface-ipv6-address-list object to A&AI",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"l3-interface-ipv6-address-list\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND cp.cp-instance-id = $cp-instance-id\n\t AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address\" >\n<parameter name=\"l3-interface-ipv6-address\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`\" />\n<parameter name=\"l3-interface-ipv6-prefix-length\" value=\"128\" />\n<parameter name=\"is-floating\" value=\"false\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3339.2155570983887,
- "y": 5259.716318130493,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "f2553d5e.abe0f"
- ]
- ]
- },
- {
- "id": "133e1aca.140a05",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3045.882427215576,
- "y": 5311.383156776428,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "f5cbef76.ec89e",
- "81cd3242.fe0b"
- ]
- ]
- },
- {
- "id": "51b65599.0e89cc",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3752.715431213379,
- "y": 5259.700810432434,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "97323f99.6212d",
- "11d81f8a.7859d"
- ]
- ]
- },
- {
- "id": "f2553d5e.abe0f",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3595.8823165893555,
- "y": 5259.716480255127,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "51b65599.0e89cc"
- ]
- ]
- },
- {
- "id": "81cd3242.fe0b",
- "type": "save",
- "name": "save l3-interface-ipv6-address-list relationships",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"l3-interface-ipv6-address-list:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND cp.cp-instance-id = $cp-instance-id\n\t AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"subnet\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +\n '/subnets/subnet/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3334.2158012390137,
- "y": 5358.0497369766235,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "cd0e04b7.a88538",
- "2202ffa2.d2838"
- ]
- ]
- },
- {
- "id": "973eecbd.3a12f",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3754.382053375244,
- "y": 5329.700781822205,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "2f312957.2b15e6",
- "11d81f8a.7859d"
- ]
- ]
- },
- {
- "id": "41ca4b49.e89434",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3754.3821296691895,
- "y": 5382.7005405426025,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "9f878bec.0f8958",
- "11d81f8a.7859d"
- ]
- ]
- },
- {
- "id": "cd0e04b7.a88538",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3597.5489387512207,
- "y": 5329.7164516448975,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "973eecbd.3a12f"
- ]
- ]
- },
- {
- "id": "2202ffa2.d2838",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3606.1204719543457,
- "y": 5382.335596084595,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "41ca4b49.e89434"
- ]
- ]
- },
- {
- "id": "4bd4ba04.8daa14",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1060.596607208252,
- "y": 6088.430853366852,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "39f74881.371fb8",
- "fb74751e.022f18",
- "12eb0afe.678335",
- "43f00c8e.4c60b4"
- ]
- ]
- },
- {
- "id": "d2a87a71.553fc8",
- "type": "for",
- "name": "for each vnfc",
- "xml": "<for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1708.5967826843262,
- "y": 6210.764601230621,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "316d52f.75519ae"
- ]
- ]
- },
- {
- "id": "9dd5477e.b61ec8",
- "type": "save",
- "name": "save vip-ipv4-address-list object to A&AI",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"vip-ipv4-address-list\" \n\tkey=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]\" >\n<parameter name=\"vip-ipv4-address\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]`\" />\n<parameter name=\"vip-ipv4-prefix-length\" value=\"32\" />\n<parameter name=\"is-floating\" value=\"false\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1791.59663772583,
- "y": 6042.097612857819,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "5a0f98fa.d60308",
- "17b6d486.2926eb"
- ]
- ]
- },
- {
- "id": "12eb0afe.678335",
- "type": "for",
- "name": "for each floating ipv4 address",
- "xml": "<for silentFailure='true' index='ipv4-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1299.5966300964355,
- "y": 6100.097685337067,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "686b5e11.422ff"
- ]
- ]
- },
- {
- "id": "686b5e11.422ff",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1525.5966300964355,
- "y": 6098.097685337067,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "9dd5477e.b61ec8",
- "9094ce2c.0f237",
- "d2a87a71.553fc8"
- ]
- ]
- },
- {
- "id": "aefdf6d5.094438",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2187.096508026123,
- "y": 6012.08198595047,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "d7673076.3ac06",
- "fc515f97.dc4ef"
- ]
- ]
- },
- {
- "id": "8aa6fe69.46205",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2187.0965843200684,
- "y": 6065.081744670868,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "34a07ec7.5c1d72",
- "fc515f97.dc4ef"
- ]
- ]
- },
- {
- "id": "5a0f98fa.d60308",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2030.2633934020996,
- "y": 6012.097655773163,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "aefdf6d5.094438"
- ]
- ]
- },
- {
- "id": "17b6d486.2926eb",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2038.8349266052246,
- "y": 6064.71680021286,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "8aa6fe69.46205"
- ]
- ]
- },
- {
- "id": "c0647bff.dcfb98",
- "type": "save",
- "name": "save vip-ipv4-address-list relationships",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vip-ipv4-address-list:relationship-list\"\n key=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"subnet\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id\n + '/subnets/subnet/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv4-subnet-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"vnfc\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/vnfcs/vnfc/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2127.2632331848145,
- "y": 6154.764276027679,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "f0cfd83.86b5328",
- "f315ed94.7bfc9"
- ]
- ]
- },
- {
- "id": "fd3e62f.a29bea",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2530.429512023926,
- "y": 6126.748618662357,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "38cb90b2.4e39c",
- "fc515f97.dc4ef"
- ]
- ]
- },
- {
- "id": "5997fd18.c16ad4",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2530.429588317871,
- "y": 6179.748377382755,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "8d6accf1.493c8",
- "fc515f97.dc4ef"
- ]
- ]
- },
- {
- "id": "f0cfd83.86b5328",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2373.5963973999023,
- "y": 6126.76428848505,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "fd3e62f.a29bea"
- ]
- ]
- },
- {
- "id": "f315ed94.7bfc9",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2382.1679306030273,
- "y": 6179.3834329247475,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "5997fd18.c16ad4"
- ]
- ]
- },
- {
- "id": "783e4357.c986ec",
- "type": "save",
- "name": "save vip-ipv6-address-list object to A&AI",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"vip-ipv6-address-list\" \n\tkey=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]\" >\n<parameter name=\"vip-ipv6-address\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]`\" />\n<parameter name=\"vip-ipv6-prefix-length\" value=\"128\" />\n<parameter name=\"is-floating\" value=\"false\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1794.9299659729004,
- "y": 6365.430296421051,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "1d38b1dd.61e89e",
- "6176025c.2ad73c"
- ]
- ]
- },
- {
- "id": "43f00c8e.4c60b4",
- "type": "for",
- "name": "for each floating ipv6 address",
- "xml": "<for silentFailure='true' index='ipv6-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1302.9299583435059,
- "y": 6422.430368900299,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "299ac4c9.b765dc"
- ]
- ]
- },
- {
- "id": "299ac4c9.b765dc",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1528.9299583435059,
- "y": 6421.430368900299,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "783e4357.c986ec",
- "3d0b5fc0.1aec4",
- "1976134f.84b09d"
- ]
- ]
- },
- {
- "id": "9dec848e.b51528",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2190.4298362731934,
- "y": 6335.414669513702,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "ec585839.cf03a8",
- "fc515f97.dc4ef"
- ]
- ]
- },
- {
- "id": "cc9a9082.df9ad",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2190.4299125671387,
- "y": 6388.4144282341,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "dc08e935.aa2128",
- "fc515f97.dc4ef"
- ]
- ]
- },
- {
- "id": "1d38b1dd.61e89e",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2033.59672164917,
- "y": 6335.430339336395,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "9dec848e.b51528"
- ]
- ]
- },
- {
- "id": "6176025c.2ad73c",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2042.168254852295,
- "y": 6388.0494837760925,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "cc9a9082.df9ad"
- ]
- ]
- },
- {
- "id": "82969649.e96bb8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2523.7630920410156,
- "y": 6448.414720118046,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "9303413c.a15fb",
- "fc515f97.dc4ef"
- ]
- ]
- },
- {
- "id": "a4127791.07e268",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2523.763168334961,
- "y": 6501.414478838444,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "41362899.a075b8",
- "fc515f97.dc4ef"
- ]
- ]
- },
- {
- "id": "79c39cc4.e386e4",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2366.929977416992,
- "y": 6448.430389940739,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "82969649.e96bb8"
- ]
- ]
- },
- {
- "id": "a282925a.d9e0c",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2375.501510620117,
- "y": 6501.049534380436,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "a4127791.07e268"
- ]
- ]
- },
- {
- "id": "bdb5121f.d0648",
- "type": "save",
- "name": "save vip-ipv6-address-list relationships",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vip-ipv6-address-list:relationship-list\"\n key=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"subnet\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id\n + '/subnets/subnet/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv6-subnet-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"vnfc\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/vnfcs/vnfc/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2122.596820831299,
- "y": 6477.09680891037,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "79c39cc4.e386e4",
- "a282925a.d9e0c"
- ]
- ]
- },
- {
- "id": "63a7631.9e7f99c",
- "type": "set",
- "name": "set created_flag",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].created_flag' value='true' />\n",
- "comments": "",
- "x": 1285.2632637023926,
- "y": 4724.430592954159,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "39f74881.371fb8",
- "type": "set",
- "name": "set created-flag",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].created-flag' value='true' />\n",
- "comments": "",
- "x": 1255.930019378662,
- "y": 5972.4307743906975,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "9094ce2c.0f237",
- "type": "set",
- "name": "set created-ipv4-flag",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv4-flag' value='true' />\n",
- "comments": "",
- "x": 1728.9299850463867,
- "y": 6100.4308542609215,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "3d0b5fc0.1aec4",
- "type": "set",
- "name": "set created-ipv6-flag",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv6-flag' value='true' />\n",
- "comments": "",
- "x": 1734.2633209228516,
- "y": 6426.430457532406,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "b50cee13.b9a08",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1835.2634391784668,
- "y": 4684.430831849575,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "fc84df82.5bc09"
- ]
- ]
- },
- {
- "id": "779079fc.7d1618",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:vf-module-topology-vlan-tagging-assign",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-vlan-tagging-assign' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 602.6798400878906,
- "y": 6759.430809020996,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "9bf7c5a4.dd9598"
- ]
- ]
- },
- {
- "id": "9bf7c5a4.dd9598",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 947.013256072998,
- "y": 6758.764304161072,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "471e8c34.437354"
- ]
- ]
- },
- {
- "id": "471e8c34.437354",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1102.0131301879883,
- "y": 6758.764100074768,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "3ca8387c.2993a8",
- "ddd8fcd8.b0fa8"
- ]
- ]
- },
- {
- "id": "3ca8387c.2993a8",
- "type": "execute",
- "name": "printContext",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vlantaggingfailure.log' />\n",
- "comments": "",
- "outputs": 1,
- "x": 1282.7867469787598,
- "y": 6731.502106189728,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "fb67aa4b.8284f8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 257.1558837890625,
- "y": 510.3101568222046,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "f4d050b1.8b4c3",
- "5d7e2c45.4ebe34",
- "48e25fc2.52f7",
- "9974cb16.902fe8",
- "9d5245b6.abb4e8",
- "540a131f.3d7bec",
- "d0321bc2.4f6358",
- "348782c.04c017e",
- "bceb88ad.260758",
- "3f8bd8eb.1bd018"
- ]
- ]
- },
- {
- "id": "9926c7ad.248aa8",
- "type": "switchNode",
- "name": "switch from-preload",
- "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.from-preload`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 548.1677284240723,
- "y": 2575.9059200286865,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "9e164e02.d239",
- "44723a81.45b694"
- ]
- ]
- },
- {
- "id": "9e164e02.d239",
- "type": "outcomeFalse",
- "name": "false",
- "xml": "<outcome value='false'>\n",
- "comments": "",
- "outputs": 1,
- "x": 720.0724601745605,
- "y": 2553.286940574646,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "3590eb8.88aec14"
- ]
- ]
- },
- {
- "id": "44723a81.45b694",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 721.7391128540039,
- "y": 2598.2867794036865,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "9742bfa8.39e3a"
- ]
- ]
- },
- {
- "id": "3590eb8.88aec14",
- "type": "set",
- "name": "set automated-assignment to true",
- "xml": "<set>\n<parameter name='automated-assignment' value='true' />\n",
- "comments": "",
- "x": 935.0724449157715,
- "y": 2551.620111465454,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "9742bfa8.39e3a",
- "type": "set",
- "name": "set automated-assignment to false",
- "xml": "<set>\n<parameter name='automated-assignment' value='false' />\n",
- "comments": "",
- "x": 933.4057655334473,
- "y": 2596.6200313568115,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "1976134f.84b09d",
- "type": "for",
- "name": "for each vnfc",
- "xml": "<for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1709.69185256958,
- "y": 6525.310881137848,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "24db1747.589188"
- ]
- ]
- },
- {
- "id": "494a4418.4600ec",
- "type": "for",
- "name": "for each vm-type",
- "xml": "<for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 526.9298248291016,
- "y": 3936.096802711487,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "edc660aa.aae32"
- ]
- ]
- },
- {
- "id": "edc660aa.aae32",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 717.4298934936523,
- "y": 3936.930037498474,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "8a22c1f6.1af97"
- ]
- ]
- },
- {
- "id": "8a22c1f6.1af97",
- "type": "for",
- "name": "for each vm-network",
- "xml": "<for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 918.9298248291016,
- "y": 3936.096802711487,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "a190fe2f.d886f"
- ]
- ]
- },
- {
- "id": "a190fe2f.d886f",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1108.7631454467773,
- "y": 3935.5962419509888,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "e0f0f785.dc0f38"
- ]
- ]
- },
- {
- "id": "e0f0f785.dc0f38",
- "type": "get-resource",
- "name": "get-resource VFC_RELATED_NETWORK_ROLE",
- "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VFC_RELATED_NETWORK_ROLE where vfc_customization_uuid = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].model-customization-uuid\n and network_role = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role'\n pfx='db.vnf-related-network-role[]'>\n\n",
- "comments": "",
- "outputs": 1,
- "x": 1398.2631187438965,
- "y": 3934.096884727478,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "fd7f5581.6d4528",
- "b45e71b2.bc101"
- ]
- ]
- },
- {
- "id": "fd7f5581.6d4528",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1669.2630577087402,
- "y": 3838.763586997986,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "d6d5d78c.a73e18"
- ]
- ]
- },
- {
- "id": "d6d5d78c.a73e18",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 1816.4535751342773,
- "y": 3837.311601638794,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "6c1ed4b9.5ecf9c",
- "f394576a.e4e1d8"
- ]
- ]
- },
- {
- "id": "b45e71b2.bc101",
- "type": "success",
- "name": "success",
- "xml": "<outcome value='success'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1670.0962677001953,
- "y": 4083.4304666519165,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "952ac2a9.fea88"
- ]
- ]
- },
- {
- "id": "b3ac03af.ef15c",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
+ "id": "1dc1d8b5.caf8ef",
+ "type": "dgstart",
+ "name": "DGSTART",
"outputs": 1,
- "x": 2088.4295196533203,
- "y": 4085.4302225112915,
- "z": "565447bf.1f1598",
+ "x": 88,
+ "y": 130,
+ "z": "a314769.77ed108",
"wires": [
[
- "b5a4eea6.72594",
- "ce6a381b.978038",
- "1364d6f3.245769",
- "f6d3df5a.7d52a",
- "66f94089.96de5",
- "a6a60ea4.9fb45",
- "e617263a.f37478",
- "5c5c0e0.7b249f4"
+ "f41394ef.1a3d7"
]
]
},
{
- "id": "ce6a381b.978038",
- "type": "for",
- "name": "for each vnf network",
- "xml": "<for silentFailure='true' index='vnf-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\n",
+ "id": "2f77e300.955b76",
+ "type": "method",
+ "name": "vf-module-topology-operation-assign",
+ "xml": "<method rpc='vf-module-topology-operation-assign' mode='sync'>\n",
"comments": "",
"outputs": 1,
- "x": 2270.929698944092,
- "y": 3927.7634706497192,
- "z": "565447bf.1f1598",
+ "x": 250,
+ "y": 233,
+ "z": "a314769.77ed108",
"wires": [
[
- "3f61199.ed2ade6"
+ "3ac51b9d.77422c"
]
]
},
{
- "id": "b5a4eea6.72594",
- "type": "set",
- "name": "set found-related-network to false",
- "xml": "<set>\n<parameter name='found-related-network' value='false' />\n",
- "comments": "",
- "x": 2310.929775238037,
- "y": 3869.4302473068237,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "86eb7e36.9d7f7",
- "type": "for",
- "name": "for each related network",
- "xml": "<for silentFailure='true' index='related-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].related-networks.related-network_length`' >\n",
+ "id": "f41394ef.1a3d7",
+ "type": "service-logic",
+ "name": "GENERIC-RESOURCE-API ${project.version}",
+ "module": "GENERIC-RESOURCE-API",
+ "version": "${project.version}",
"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": 2669.929660797119,
- "y": 3904.4297342300415,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "69287c55.352c84"
- ]
- ]
- },
- {
- "id": "3f61199.ed2ade6",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2458.929698944092,
- "y": 3927.7634706497192,
- "z": "565447bf.1f1598",
+ "x": 285,
+ "y": 175,
+ "z": "a314769.77ed108",
"wires": [
[
- "86eb7e36.9d7f7",
- "456cf44d.c85fac"
+ "2f77e300.955b76"
]
]
},
{
- "id": "69287c55.352c84",
+ "id": "43431008.7f7928",
"type": "switchNode",
- "name": "switch network-role matches",
- "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].related-networks.related-network[$related-network-index].network-role\n == $db.vnf-related-network-role[$db-related-network-index].related-network-role`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2921.9295768737793,
- "y": 3904.429810523987,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "875934e4.a63818"
- ]
- ]
- },
- {
- "id": "952ac2a9.fea88",
- "type": "for",
- "name": "for each db related-network",
- "xml": "<for index='db-related-network-index' start='0' end='`$db.vnf-related-network-role_length`' >\n",
+ "name": "so-response-url empty?",
+ "xml": "<switch test='length($vf-module-topology-operation-input.sdnc-request-header.svc-notification-url) == 0'>\n",
"comments": "",
"outputs": 1,
- "x": 1874.4296417236328,
- "y": 4084.0972146987915,
- "z": "565447bf.1f1598",
+ "x": 392,
+ "y": 384,
+ "z": "a314769.77ed108",
"wires": [
[
- "b3ac03af.ef15c"
+ "e3dac757.d5f66",
+ "a3e690eb.7f4b88"
]
]
},
{
- "id": "875934e4.a63818",
+ "id": "e3dac757.d5f66",
"type": "outcomeTrue",
"name": "true",
"xml": "<outcome value='true'>\n",
"comments": "",
"outputs": 1,
- "x": 3121.9295768737793,
- "y": 3902.429810523987,
- "z": "565447bf.1f1598",
+ "x": 617,
+ "y": 340,
+ "z": "a314769.77ed108",
"wires": [
[
- "5d83fcee.a618a4"
+ "5c050a22.e2992c"
]
]
},
{
- "id": "5d83fcee.a618a4",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3275.9295768737793,
- "y": 3900.429810523987,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "4df768f6.bb1e68",
- "f4645e05.09dbf",
- "29f5561c.96eb2a"
- ]
- ]
- },
- {
- "id": "4df768f6.bb1e68",
- "type": "set",
- "name": "set found-related-network to true",
- "xml": "<set>\n<parameter name='found-related-network' value='true' />\n",
- "comments": "",
- "x": 3507.9297370910645,
- "y": 3860.0963945388794,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "f4645e05.09dbf",
- "type": "break",
- "name": "break",
- "xml": "<break>\n",
- "comments": "",
- "x": 3431.262912750244,
- "y": 3946.763144493103,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "1364d6f3.245769",
- "type": "switchNode",
- "name": "switch found-related-network",
- "xml": "<switch test='`$found-related-network`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2306.429588317871,
- "y": 4028.430356025696,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "19517216.b897fe"
- ]
- ]
- },
- {
- "id": "19517216.b897fe",
+ "id": "a3e690eb.7f4b88",
"type": "outcomeFalse",
"name": "false",
"xml": "<outcome value='false'>\n",
"comments": "",
"outputs": 1,
- "x": 2500.429588317871,
- "y": 4026.430356025696,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "f7f125ed.69c228"
- ]
- ]
- },
- {
- "id": "f7f125ed.69c228",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 2630.429588317871,
- "y": 4026.430356025696,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "4102f097.0a51",
- "f394576a.e4e1d8"
- ]
- ]
- },
- {
- "id": "f6d3df5a.7d52a",
- "type": "set",
- "name": "set is-trunked and segmentation-id in vm-network",
- "xml": "<set>\n<parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].is-trunked'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].is-trunked`' />\n<parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].segmentation-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].segmentation-id`' />\n",
- "comments": "",
- "x": 2368.429588317871,
- "y": 4076.430356025696,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "a6a60ea4.9fb45",
- "type": "switchNode",
- "name": "switch rn-index",
- "xml": "<switch test='`$rn-index`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2256.429588317871,
- "y": 4184.430356025696,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "6c6e5ed6.1638b"
- ]
- ]
- },
- {
- "id": "66f94089.96de5",
- "type": "set",
- "name": "set rn-index to related network length",
- "xml": "<set>\n<parameter name='rn-index' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length`' />\n",
- "comments": "",
- "x": 2328.429588317871,
- "y": 4128.430356025696,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "6c6e5ed6.1638b",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 2420.429588317871,
- "y": 4184.430356025696,
- "z": "565447bf.1f1598",
+ "x": 607,
+ "y": 432,
+ "z": "a314769.77ed108",
"wires": [
[
- "4cbc1f39.6eef5"
+ "c0411a45.4e7d4"
]
]
},
{
- "id": "4cbc1f39.6eef5",
- "type": "set",
- "name": "set rn-index to 0",
- "xml": "<set>\n<parameter name='rn-index' value='0' />\n",
- "comments": "",
- "x": 2580.429588317871,
- "y": 4184.430356025696,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "e617263a.f37478",
- "type": "set",
- "name": "set related-network data",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].network-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].network-id`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].network-role'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].network-role`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.vlan-interface'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.vlan-interface`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.lower-tag-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.lower-tag-id`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.upper-tag-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.upper-tag-id`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.is-private'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.is-private`' />\n",
- "comments": "",
- "x": 2280.429588317871,
- "y": 4236.430356025696,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "5c5c0e0.7b249f4",
- "type": "set",
- "name": "set new related network length",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length'\n value='`$rn-index + 1`' />\n",
- "comments": "",
- "x": 2298.429588317871,
- "y": 4288.430356025696,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "456cf44d.c85fac",
- "type": "switchNode",
- "name": "switch found-related-network",
- "xml": "<switch test='`$found-related-network`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2682.9296836853027,
- "y": 3952.096594810486,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "65005548.e9ca8c"
- ]
- ]
- },
- {
- "id": "65005548.e9ca8c",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2879.5965461730957,
- "y": 3952.0969667434692,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "a15ee876.ab6228"
- ]
- ]
- },
- {
- "id": "a15ee876.ab6228",
- "type": "break",
- "name": "break",
- "xml": "<break>\n",
- "comments": "",
- "x": 3009.5964317321777,
- "y": 3950.430090904236,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "29f5561c.96eb2a",
- "type": "set",
- "name": "save indexes",
- "xml": "<set>\n<parameter name='saved-vnf-network-index' value='`$vnf-network-index`' />\n<parameter name='saved-related-network-index' value='`$related-network-index`' />\n",
- "comments": "",
- "x": 3449.5966453552246,
- "y": 3902.0969648361206,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "9a10ba16.3aa6a8",
- "type": "execute",
- "name": "generate cp-instance-id",
- "xml": "<execute plugin=\"org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils\" method=\"generateUUID\" >\n<parameter name=\"ctx-destination\" value=\"cp-instance-id\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1738.5011367797852,
- "y": 4931.621017932892,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "878cd74b.b859a8",
- "type": "save",
- "name": "save cp to A&AI",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"cp\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n\t AND cp.cp-instance-id = $cp-instance-id\" >\n<parameter name=\"cp-instance-id\" value=\"`$cp-instance-id`\" />\n<parameter name=\"port-id\" value=\"0\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1720.1677589416504,
- "y": 4998.2875237464905,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "38156f19.d3b92",
- "6b679924.dbe638"
- ]
- ]
- },
- {
- "id": "38156f19.d3b92",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1909.167739868164,
- "y": 4973.954137265682,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "115e423c.501c8e"
- ]
- ]
- },
- {
- "id": "115e423c.501c8e",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2076.334487915039,
- "y": 4989.748570859432,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "b0761ca.5d4cce",
- "1254304a.7d8a4"
- ]
- ]
- },
- {
- "id": "6b679924.dbe638",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1914.167739868164,
- "y": 5023.620397031307,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "115e423c.501c8e"
- ]
- ]
- },
- {
- "id": "52bb6b86.aae8d4",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1514.9774589538574,
- "y": 5200.905811786652,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "1faae59a.ef7cea",
- "3ff39820.94ba88",
- "9a10ba16.3aa6a8",
- "878cd74b.b859a8",
- "eebcfd35.55fb9",
- "82ba34b3.fa1f48"
- ]
- ]
- },
- {
- "id": "1faae59a.ef7cea",
- "type": "set",
- "name": "set connection point data",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].connection-point.connection-point-id'\n value='`$cp-instance-id`' />\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].connection-point.port-id'\n value='0' />\n",
- "comments": "",
- "x": 1750.5013008117676,
- "y": 5076.1450934410095,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "933839f3.7f2e78",
- "type": "comment",
- "name": "Floating IPs",
- "info": "",
- "comments": "",
- "x": 1311.2631187438965,
- "y": 6058.430211722851,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "eebcfd35.55fb9",
- "type": "for",
- "name": "for each vnf-network",
- "xml": "<for index='vnf-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1734.5963020324707,
- "y": 5472.4305872917175,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "cc35a2e9.bcb07"
- ]
- ]
- },
- {
- "id": "62b74236.aad4fc",
- "type": "save",
- "name": "save cp relationship to l3-network",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"cp:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n AND cp.cp-instance-id = $cp-instance-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-id`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2372.9297828674316,
- "y": 5472.097095012665,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "d2f01f95.109f6",
- "4a44bec7.49b2a"
- ]
- ]
- },
- {
- "id": "6441b421.db195c",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2744.7628211975098,
- "y": 5445.415043354034,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "64e7c13b.82899",
- "1254304a.7d8a4"
- ]
- ]
- },
- {
- "id": "21487f6.95f1f8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2744.762897491455,
- "y": 5498.414802074432,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "f4e9414e.c0a39",
- "1254304a.7d8a4"
- ]
- ]
- },
- {
- "id": "d2f01f95.109f6",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2587.9297065734863,
- "y": 5445.430713176727,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "6441b421.db195c"
- ]
- ]
- },
- {
- "id": "4a44bec7.49b2a",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2596.5012397766113,
- "y": 5498.049857616425,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "21487f6.95f1f8"
- ]
- ]
- },
- {
- "id": "82ba34b3.fa1f48",
- "type": "for",
- "name": "for each vm-network",
- "xml": "<for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1734.5964546203613,
- "y": 5633.096942424774,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "1f595d1a.8ff293"
- ]
- ]
- },
- {
- "id": "b629e1fe.afa3d",
- "type": "save",
- "name": "save cp relationship to l3-network and vlan-tag",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"cp:relationship-list\"\n key=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n AND cp.cp-instance-id = $cp-instance-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/l3-networks/l3-network/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].network-id`\" />\n <parameter name=\"relationship-list.relationship[1].related-to\" value=\"vlan-tag\" />\n <parameter name=\"relationship-list.relationship[1].related-link\"\n value=\"`'/aai/v$/network/vlan-tags/vlan-tag/' +\n $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].vlan-tags.vlan-interface`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2654.2634620666504,
- "y": 5631.096937656403,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "6dc366c6.1b2608",
- "a704ca3.36a4b38"
- ]
- ]
- },
- {
- "id": "12c7943c.a55a2c",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3061.096508026123,
- "y": 5604.414236545564,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "94072bfe.632c28",
- "1254304a.7d8a4"
- ]
- ]
- },
- {
- "id": "2b88635f.5a533c",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3061.0965843200684,
- "y": 5657.413995265962,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "4462ce4a.8f7a5",
- "1254304a.7d8a4"
- ]
- ]
- },
- {
- "id": "6dc366c6.1b2608",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2904.2633934020996,
- "y": 5604.4299063682565,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "12c7943c.a55a2c"
- ]
- ]
- },
- {
- "id": "a704ca3.36a4b38",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2912.8349266052246,
- "y": 5657.049050807954,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "2b88635f.5a533c"
- ]
- ]
- },
- {
- "id": "1de94581.c488da",
- "type": "for",
- "name": "for each related-network",
- "xml": "<for silentFailure='true' index='related-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2350.2632942199707,
- "y": 5631.096938610077,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "b629e1fe.afa3d"
- ]
- ]
- },
- {
- "id": "88b43b76.6a75d8",
+ "id": "5c050a22.e2992c",
"type": "call",
- "name": "call GENERIC-RESOURCE-API:vf-module-generate-heat-parameters",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-generate-heat-parameters' mode='sync' >\n",
+ "name": "call vf-module-topology-operation-assign-sync",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-sync' mode='sync' >\n",
"comments": "",
"outputs": 1,
- "x": 598.5966186523438,
- "y": 6872.847700119019,
- "z": "565447bf.1f1598",
+ "x": 1293,
+ "y": 341,
+ "z": "a314769.77ed108",
"wires": [
[]
]
},
{
- "id": "bb67c127.33c7c",
- "type": "execute",
- "name": "printContext",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vfmoduleheat.log' />\n",
+ "id": "4c116772.ba24a",
+ "type": "call",
+ "name": "call vf-module-topology-operation-assign-async",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-async' mode='sync' >\n",
"comments": "",
"outputs": 1,
- "x": 408.67992401123047,
- "y": 6925.8473777771,
- "z": "565447bf.1f1598",
+ "x": 1382,
+ "y": 544,
+ "z": "a314769.77ed108",
"wires": [
[]
]
},
{
- "id": "67fa2696.640ed8",
- "type": "switchNode",
- "name": "switch input vf-module-name",
- "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 581.2630195617676,
- "y": 2357.929759979248,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "de18afec.e1079",
- "49fb0ac8.04b604"
- ]
- ]
- },
- {
- "id": "de18afec.e1079",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 803.7629852294922,
- "y": 2280.4297199249268,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "1c4c53fe.44b0dc"
- ]
- ]
- },
- {
- "id": "49fb0ac8.04b604",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 805.4415855407715,
- "y": 2453.0483045578003,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "755e8713.bcc1c8"
- ]
- ]
- },
- {
- "id": "a421948e.7e12b8",
- "type": "for",
- "name": "for each vnfc-subnet-role",
- "xml": "<for index='subnet-role-index' start='0'\n end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1338.7631187438965,
- "y": 3152.929436683655,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "ebf9c337.4e138"
- ]
- ]
- },
- {
- "id": "ebf9c337.4e138",
- "type": "for",
- "name": "for each vnfc-address-family",
- "xml": "<for index='address-family-index' start='0'\n end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1587.096378326416,
- "y": 3152.929436683655,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "a86ece19.ececb"
- ]
- ]
- },
- {
- "id": "fcaf9b9.f1d4568",
- "type": "for",
- "name": "for each vm-type",
- "xml": "<for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 544.5962944030762,
- "y": 2871.262773513794,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "f8bef45b.8c1d38"
- ]
- ]
- },
- {
- "id": "f8bef45b.8c1d38",
- "type": "for",
- "name": "for each vnfc",
- "xml": "<for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 726.2630729675293,
- "y": 2869.929922103882,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "97b3bca9.21b53"
- ]
- ]
- },
- {
- "id": "97b3bca9.21b53",
- "type": "for",
- "name": "for each vnfc-network",
- "xml": "<for silentFailure='true' index='vnfc-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 927.4296455383301,
- "y": 2869.76261138916,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "a3d88602.8525e8"
- ]
- ]
- },
- {
- "id": "a3d88602.8525e8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1139.5963172912598,
- "y": 2868.7629718780518,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "d5a5aef3.81764",
- "37a20e05.126042",
- "f86420d0.f8cb4",
- "a421948e.7e12b8"
- ]
- ]
- },
- {
- "id": "d5a5aef3.81764",
- "type": "set",
- "name": "set vnf-network-index to -1",
- "xml": "<set>\n<parameter name='vnf-network-index' value='-1' />\n",
- "comments": "",
- "x": 1351.2630348205566,
- "y": 2822.096185684204,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "37a20e05.126042",
- "type": "for",
- "name": "for each vnf-network",
- "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1332.9298248291016,
- "y": 2868.7629375457764,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "1cb49556.32692b"
- ]
- ]
- },
- {
- "id": "1cb49556.32692b",
- "type": "switchNode",
- "name": "switch network-roles match?",
- "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-network-role\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$idx].network-role`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1574.5962944030762,
- "y": 2867.096432685852,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "d1c77ddb.a0354"
- ]
- ]
- },
- {
- "id": "d1c77ddb.a0354",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1771.2629737854004,
- "y": 2867.096351623535,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "1428ec99.f2d413"
- ]
- ]
- },
- {
- "id": "1428ec99.f2d413",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1924.5961952209473,
- "y": 2867.0962238311768,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "fcce8154.9685e",
- "cbd9fa48.bee5b8",
- "491c8e10.8347"
- ]
- ]
- },
- {
- "id": "fcce8154.9685e",
- "type": "set",
- "name": "set vnf-network-index",
- "xml": "<set>\n<parameter name='vnf-network-index' value='`$idx`' />\n",
- "comments": "",
- "x": 2131.263027191162,
- "y": 2815.4296016693115,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "cbd9fa48.bee5b8",
- "type": "break",
- "name": "break",
- "xml": "<break>\n",
- "comments": "",
- "x": 2086.2629432678223,
- "y": 2905.4295225143433,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "f86420d0.f8cb4",
+ "id": "c0411a45.4e7d4",
"type": "switchNode",
- "name": "switch vnf-network-index",
- "xml": "<switch test='`$vnf-network-index`'>\n",
+ "name": "so-response-url = ignored URL?",
+ "xml": "<switch test='$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url) == $prop.so.ignore-url'>\n",
"comments": "",
"outputs": 1,
- "x": 1344.596363067627,
- "y": 2928.762939453125,
- "z": "565447bf.1f1598",
+ "x": 829,
+ "y": 433,
+ "z": "a314769.77ed108",
"wires": [
[
- "79b99590.d3fcac"
+ "c677e17b.35a978",
+ "a7cad0db.81847"
]
]
},
{
- "id": "79b99590.d3fcac",
- "type": "outcome",
- "name": "-1",
- "xml": "<outcome value='-1'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1536.2630043029785,
- "y": 2928.76318359375,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "917a6c27.9bf3"
- ]
- ]
- },
- {
- "id": "917a6c27.9bf3",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1684.5961952209473,
- "y": 2927.0962238311768,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "a6ff636a.1da36",
- "f394576a.e4e1d8"
- ]
- ]
- },
- {
- "id": "95349f39.6e5a9",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2376.262912750244,
- "y": 3337.0960750579834,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "9e396ac0.1c0cd8",
- "f53353ba.f6cea",
- "35326a6f.8ce8b6"
- ]
- ]
- },
- {
- "id": "9e396ac0.1c0cd8",
- "type": "for",
- "name": "for each subnet-data",
- "xml": "<for index='subnet-data-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2572.9296646118164,
- "y": 3292.0959939956665,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "d3c7828c.9a35d"
- ]
- ]
- },
- {
- "id": "d3c7828c.9a35d",
- "type": "switchNode",
- "name": "address-families match?",
- "xml": "<switch test='`$tmp.address-family\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].ip-version`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2799.596290588379,
- "y": 3292.0959939956665,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "c4cd4a9c.110088"
- ]
- ]
- },
- {
- "id": "c4cd4a9c.110088",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2979.5962562561035,
- "y": 3292.0964002609253,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "d297a29d.32368"
- ]
- ]
- },
- {
- "id": "801d0ec7.9db1b",
- "type": "set",
- "name": "set tmp.address-family",
- "xml": "<set>\n<parameter name='tmp.address-family'\n value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />\n",
- "comments": "",
- "x": 2404.596248626709,
- "y": 3155.429488182068,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "a86ece19.ececb",
- "type": "switchNode",
- "name": "switch vnfc-subnet-ip_length",
- "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip_length`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1849.596591949463,
- "y": 3152.096523284912,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "b8041b24.2b66c8",
- "9c9140dc.f2e33",
- "489d3614.0f27f8"
- ]
- ]
- },
- {
- "id": "b8041b24.2b66c8",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 2051.2631034851074,
- "y": 3052.0960664749146,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "8bb4c617.110b48"
- ]
- ]
- },
- {
- "id": "9c9140dc.f2e33",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2047.6917343139648,
- "y": 3238.048357963562,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "b0bfddfb.72eba"
- ]
- ]
- },
- {
- "id": "8bb4c617.110b48",
+ "id": "3ac51b9d.77422c",
"type": "block",
"name": "block",
"xml": "<block>\n",
"atomic": "false",
"comments": "",
"outputs": 1,
- "x": 2182.9296531677246,
- "y": 3074.7628135681152,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "38e8e50c.e85dda",
- "type": "set",
- "name": "set subnet-id to -1",
- "xml": "<set>\n<parameter name='subnet-id' value='-1' />\n",
- "comments": "",
- "x": 3072.9301719665527,
- "y": 3453.7634801864624,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "b0bfddfb.72eba",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2201.2631492614746,
- "y": 3237.0959901809692,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "801d0ec7.9db1b",
- "95349f39.6e5a9"
- ]
- ]
- },
- {
- "id": "d34b6157.8f35a",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 4332.929769515991,
- "y": 3625.429957151413,
- "z": "565447bf.1f1598",
+ "x": 168,
+ "y": 302,
+ "z": "a314769.77ed108",
"wires": [
[
- "88064ec.10dddb",
- "52c4ad67.8cbd34"
+ "de741370.91f13",
+ "43431008.7f7928"
]
]
},
{
- "id": "52c4ad67.8cbd34",
+ "id": "de741370.91f13",
"type": "execute",
- "name": "execute isInSameSubnet",
- "xml": "<execute plugin=\"com.att.sdnctl.sli.plugin.ipAddressTools.IpAddressTool\" method=\"isInSameSubnet\">\n\t<parameter name=\"firstIPAddr\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].network-start-address`\" />\n\t<parameter name=\"secondIPAddr\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[0].vnfc-ip-address`\" />\n\t<parameter name=\"subnet\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].cidr-mask`\" />\n\t<parameter name=\"ipType\" value=\"`$ip-type`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 4547.92977142334,
- "y": 3675.4296309947968,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "995a749b.8f5f58"
- ]
- ]
- },
- {
- "id": "88064ec.10dddb",
- "type": "switchNode",
- "name": "switch tmp.address-family",
- "xml": "<switch test='`$tmp.address-family`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 4549.596927642822,
- "y": 3582.096617460251,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "431902e1.65a18c",
- "a1d0494d.a8bd18"
- ]
- ]
- },
- {
- "id": "431902e1.65a18c",
- "type": "outcome",
- "name": "ipv4",
- "xml": "<outcome value='ipv4'>\n",
- "comments": "",
- "outputs": 1,
- "x": 4752.930189768473,
- "y": 3555.4298477967577,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "bb7bc2b4.6ce51"
- ]
- ]
- },
- {
- "id": "a1d0494d.a8bd18",
- "type": "outcome",
- "name": "ipv6",
- "xml": "<outcome value='ipv6'>\n",
- "comments": "",
- "outputs": 1,
- "x": 4752.929862976074,
- "y": 3602.0963752269745,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "e7f8c0a.86c664"
- ]
- ]
- },
- {
- "id": "bb7bc2b4.6ce51",
- "type": "set",
- "name": "set ip-type parameter to IPv4",
- "xml": "<set>\n<parameter name='ip-type' value='IPv4' />\n",
- "comments": "",
- "x": 4949.596675872803,
- "y": 3553.7633216381073,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "e7f8c0a.86c664",
- "type": "set",
- "name": "set ip-type parameter to IPv6",
- "xml": "<set>\n<parameter name='ip-type' value='IPv6' />\n",
- "comments": "",
- "x": 4954.59655380249,
- "y": 3602.096394300461,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "7fcd1d62.d76cb4",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 4887.929801940918,
- "y": 3675.096394300461,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "5e631020.53cce",
- "df991002.c407"
- ]
- ]
- },
- {
- "id": "5e631020.53cce",
- "type": "set",
- "name": "set subnet-id",
- "xml": "<set>\n<parameter name='subnet-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id`' />\n",
- "comments": "",
- "x": 5066.263122558594,
- "y": 3651.762881040573,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "df991002.c407",
- "type": "break",
- "name": "break",
- "xml": "<break>\n",
- "comments": "",
- "x": 5051.263126373291,
- "y": 3698.4298751354218,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "4e4fca65.cbf754",
- "type": "switchNode",
- "name": "switch subnet-id",
- "xml": "<switch test='`$subnet-id`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3064.596046447754,
- "y": 3615.430214881897,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "5fc3b8b.62e4a48"
- ]
- ]
- },
- {
- "id": "5fc3b8b.62e4a48",
- "type": "outcome",
- "name": "-1",
- "xml": "<outcome value='-1'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3221.26261138916,
- "y": 3615.4301500320435,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "1fa6c512.92b1cb"
- ]
- ]
- },
- {
- "id": "1fa6c512.92b1cb",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3369.595802307129,
- "y": 3613.76319026947,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "fec2cbd9.e930a8",
- "f394576a.e4e1d8"
- ]
- ]
- },
- {
- "id": "10262cd6.950543",
- "type": "set",
- "name": "set subnet-id in vnfc-ip-assignments (temp variable)",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id' value='`$subnet-id`' />\n",
- "comments": "",
- "x": 3176.2626914978027,
- "y": 3692.0969858169556,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "7b6a70b.67d389",
- "type": "execute",
- "name": "printContext",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vfmodulec.log' />\n",
+ "name": "execute PropertiesNode",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n",
"comments": "",
"outputs": 1,
- "x": 529.5962867736816,
- "y": 3287.0962238311768,
- "z": "565447bf.1f1598",
+ "x": 389,
+ "y": 301,
+ "z": "a314769.77ed108",
"wires": [
[]
]
},
{
- "id": "995a749b.8f5f58",
- "type": "success",
- "name": "success",
- "xml": "<outcome value='success'>\n",
- "comments": "",
- "outputs": 1,
- "x": 4734.596374511719,
- "y": 3675.4301192760468,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "7fcd1d62.d76cb4"
- ]
- ]
- },
- {
- "id": "491c8e10.8347",
- "type": "set",
- "name": "set network-id",
- "xml": "<set>\n<parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].network-id'\n value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$idx].network-id`' />\n",
- "comments": "",
- "x": 2107.929531097412,
- "y": 2860.429684638977,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "a45139cd.c06788",
- "type": "switchNode",
- "name": "switch nfc-naming-code",
- "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1306.262996673584,
- "y": 4475.42941236496,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "7364ca38.2e5154",
- "58d89920.1583e8"
- ]
- ]
- },
- {
- "id": "7364ca38.2e5154",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 1491.2629432678223,
- "y": 4450.42923116684,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "8158813c.66973"
- ]
- ]
- },
- {
- "id": "58d89920.1583e8",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1489.3582153320312,
- "y": 4497.215058803558,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "3d2f5ba8.c13584"
- ]
- ]
- },
- {
- "id": "8158813c.66973",
- "type": "set",
- "name": "set tmp.nfc-naming-code to DEFAULT",
- "xml": "<set>\n<parameter name='tmp.nfc-naming-code' value='DEFAULT' />\n",
- "comments": "",
- "x": 1722.9297142028809,
- "y": 4448.762581348419,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "3d2f5ba8.c13584",
- "type": "set",
- "name": "set tmp.nfc-naming-code",
- "xml": "<set>\n<parameter name='tmp.nfc-naming-code' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`' />\n",
- "comments": "",
- "x": 1679.5962257385254,
- "y": 4497.096079349518,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "d5639dcc.50d87",
- "type": "switchNode",
- "name": "switch nfc-function",
- "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1294.5963287353516,
- "y": 4573.762586116791,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "b1314442.1e8e58",
- "4e90e22a.aab6cc"
- ]
- ]
- },
- {
- "id": "b1314442.1e8e58",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 1491.2629356384277,
- "y": 4548.762383937836,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "c5c1ae87.86af"
- ]
- ]
- },
- {
- "id": "4e90e22a.aab6cc",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1489.3582077026367,
- "y": 4595.548211574554,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "ba48d68e.f81aa8"
- ]
- ]
- },
- {
- "id": "c5c1ae87.86af",
- "type": "set",
- "name": "set tmp.nfc-function to DEFAULT",
- "xml": "<set>\n<parameter name='tmp.nfc-function' value='DEFAULT' />\n",
- "comments": "",
- "x": 1702.9297180175781,
- "y": 4547.0955929756165,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "ba48d68e.f81aa8",
- "type": "set",
- "name": "set tmp.nfc-function",
- "xml": "<set>\n<parameter name='tmp.nfc-function' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`' />\n",
- "comments": "",
- "x": 1661.2628479003906,
- "y": 4595.429254055023,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "cc35a2e9.bcb07",
- "type": "switchNode",
- "name": "switch network-roles match?",
- "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-network-role\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1967.92964553833,
- "y": 5472.4296135902405,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "7bf7e0e4.c2092"
- ]
- ]
- },
- {
- "id": "7bf7e0e4.c2092",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2166.263114929199,
- "y": 5472.096768856049,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "62b74236.aad4fc"
- ]
- ]
- },
- {
- "id": "1f595d1a.8ff293",
- "type": "switchNode",
- "name": "switch network-roles match?",
- "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1971.2629890441895,
- "y": 5632.096061229706,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "47d7d211.80a5ec"
- ]
- ]
- },
- {
- "id": "47d7d211.80a5ec",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2169.5964584350586,
- "y": 5631.763216495514,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "1de94581.c488da"
- ]
- ]
- },
- {
- "id": "316d52f.75519ae",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1874.5962715148926,
- "y": 6210.4294810295105,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "c0647bff.dcfb98",
- "5911a368.70726c"
- ]
- ]
- },
- {
- "id": "24db1747.589188",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1876.2630195617676,
- "y": 6525.429492473602,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "bdb5121f.d0648",
- "9dacd2cd.93ab"
- ]
- ]
- },
- {
- "id": "5911a368.70726c",
- "type": "for",
- "name": "for each vnfc-network-role",
- "xml": "<for silentFailure='true' index='vnfc-network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2091.2632179260254,
- "y": 6268.762651920319,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "f138f006.e2934"
- ]
- ]
- },
- {
- "id": "14599bc4.dfcff4",
- "type": "save",
- "name": "save vip-ipv4-address-list relationship to cp",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vip-ipv4-address-list:relationship-list\"\n key=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"cp\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/vnfcs/vnfc/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n + '/cps/cp/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].connection-point.connection-point-id`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2766.26314163208,
- "y": 6268.762490749359,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "34dd5b17.9e06c4",
- "c966a91b.7c68b8"
- ]
- ]
- },
- {
- "id": "52867741.452a08",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3158.09623336792,
- "y": 6242.080272197723,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "1a54f803.3243e8",
- "fc515f97.dc4ef"
- ]
- ]
- },
- {
- "id": "fbf6e33e.69daa",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3158.0963096618652,
- "y": 6295.080030918121,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "9ebbd632.ef43d8",
- "fc515f97.dc4ef"
- ]
- ]
- },
- {
- "id": "34dd5b17.9e06c4",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3001.2631187438965,
- "y": 6242.095942020416,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "52867741.452a08"
- ]
- ]
- },
- {
- "id": "c966a91b.7c68b8",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3009.8346519470215,
- "y": 6294.7150864601135,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "fbf6e33e.69daa"
- ]
- ]
- },
- {
- "id": "9dacd2cd.93ab",
- "type": "for",
- "name": "for each vnfc-network-role",
- "xml": "<for silentFailure='true' index='vnfc-network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2092.929615020752,
- "y": 6592.096061229706,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "2dbd930d.06759c"
- ]
- ]
- },
- {
- "id": "6321a56a.de355c",
- "type": "save",
- "name": "save vip-ipv6-address-list relationship to cp",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"vip-ipv6-address-list:relationship-list\"\n key=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner\n\t AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region\n\t AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"cp\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/vnfcs/vnfc/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\n + '/cps/cp/'\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].connection-point.connection-point-id`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2762.9295692443848,
- "y": 6590.428843975067,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "7666db3f.f47e74",
- "639b285f.08d4e8"
- ]
- ]
- },
- {
- "id": "f0c87b03.93a6b8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3154.7626609802246,
- "y": 6563.746625423431,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "82534f84.1802c",
- "fc515f97.dc4ef"
- ]
- ]
- },
- {
- "id": "301d4b1.d1d96b4",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3154.76273727417,
- "y": 6616.746384143829,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "bec2c422.16f948",
- "fc515f97.dc4ef"
- ]
- ]
- },
- {
- "id": "7666db3f.f47e74",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2997.929546356201,
- "y": 6563.762295246124,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "f0c87b03.93a6b8"
- ]
- ]
- },
- {
- "id": "639b285f.08d4e8",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3006.501079559326,
- "y": 6616.3814396858215,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "301d4b1.d1d96b4"
- ]
- ]
- },
- {
- "id": "f138f006.e2934",
- "type": "switchNode",
- "name": "switch network-roles match?",
- "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role\n == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].vnfc-network-role`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2344.5962867736816,
- "y": 6268.762328624725,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "96bf85f6.f873f8"
- ]
- ]
- },
- {
- "id": "96bf85f6.f873f8",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2531.2631301879883,
- "y": 6268.762815952301,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "14599bc4.dfcff4"
- ]
- ]
- },
- {
- "id": "2dbd930d.06759c",
- "type": "switchNode",
- "name": "switch network-roles match?",
- "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role\n == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].vnfc-network-role`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2341.262866973877,
- "y": 6590.429069042206,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "75bae1b8.8d5a7"
- ]
- ]
- },
- {
- "id": "75bae1b8.8d5a7",
+ "id": "c677e17b.35a978",
"type": "outcomeTrue",
"name": "true",
"xml": "<outcome value='true'>\n",
"comments": "",
"outputs": 1,
- "x": 2527.9297103881836,
- "y": 6590.4295563697815,
- "z": "565447bf.1f1598",
+ "x": 1069,
+ "y": 432,
+ "z": "a314769.77ed108",
"wires": [
[
- "6321a56a.de355c"
+ "5c050a22.e2992c"
]
]
},
{
- "id": "14b5c458.f3a9ec",
- "type": "comment",
- "name": "SELF-SERVE FORK",
- "info": "",
- "comments": "",
- "x": 690.9773178100586,
- "y": 922.5363388061523,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "b4ce17c3.fa50b8",
- "type": "comment",
- "name": "First, count the subnets for this address family",
- "info": "",
- "comments": "",
- "x": 2706.2634239196777,
- "y": 3201.7384843826294,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "12c26bf4.a2a7c4",
- "type": "for",
- "name": "for each subnet-data",
- "xml": "<for index='subnet-data-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 3079.5961112976074,
- "y": 3496.7389879226685,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "6a0e881b.4ba548"
- ]
- ]
- },
- {
- "id": "6a0e881b.4ba548",
- "type": "switchNode",
- "name": "address-families match?",
- "xml": "<switch test='`$tmp.address-family\n == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].ip-version`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3306.26273727417,
- "y": 3496.7389879226685,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "78272436.cd36bc"
- ]
- ]
- },
- {
- "id": "78272436.cd36bc",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3486.2627029418945,
- "y": 3496.7393941879272,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "8571ff4f.7368d"
- ]
- ]
- },
- {
- "id": "f53353ba.f6cea",
- "type": "set",
- "name": "set af-count to 0",
- "xml": "<set>\n<parameter name='af-count' value='0' />\n",
- "comments": "",
- "x": 2561.262996673584,
- "y": 3243.4052362442017,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "774c4dcf.519194",
- "type": "set",
- "name": "increment af-count",
- "xml": "<set>\n<parameter name='af-count' value='`$af-count + 1`' />\n",
- "comments": "",
- "x": 3309.596363067627,
- "y": 3310.0719861984253,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "d297a29d.32368",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3126.26273727417,
- "y": 3291.7386713027954,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "774c4dcf.519194",
- "93d44f0.e06a8b"
- ]
- ]
- },
- {
- "id": "93d44f0.e06a8b",
- "type": "set",
- "name": "set subnet-id",
- "xml": "<set>\n<parameter name='subnet-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id`' />\n",
- "comments": "",
- "x": 3291.262783050537,
- "y": 3265.0719842910767,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "35326a6f.8ce8b6",
- "type": "switchNode",
- "name": "switch af-count",
- "xml": "<switch test='`$af-count`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2551.2634086608887,
- "y": 3480.0721530914307,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "d300c477.7f84e8",
- "8e745db4.433a4"
- ]
- ]
- },
- {
- "id": "d300c477.7f84e8",
- "type": "outcome",
- "name": "1",
- "xml": "<outcome value='1'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2711.262928009033,
- "y": 3378.40532207489,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "700167b.43daf98"
- ]
- ]
- },
- {
- "id": "700167b.43daf98",
- "type": "set",
- "name": "set subnet-id in vnfc-ip-assignments (temp variable)",
- "xml": "<set>\n<parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id'\n value='`$subnet-id`' />\n",
- "comments": "",
- "x": 2984.59623336792,
- "y": 3376.7386713027954,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "8e745db4.433a4",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2711.2628440856934,
- "y": 3580.072241783142,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "49b5ae7f.1ecb1"
- ]
- ]
- },
- {
- "id": "49b5ae7f.1ecb1",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2867.929485321045,
- "y": 3580.0719232559204,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "38e8e50c.e85dda",
- "12c26bf4.a2a7c4",
- "4e4fca65.cbf754",
- "10262cd6.950543"
- ]
- ]
- },
- {
- "id": "8571ff4f.7368d",
- "type": "switchNode",
- "name": "switch network-start-address",
- "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].network-start-address`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3681.262882232666,
- "y": 3495.072237968445,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "dcdbaac8.71fac8",
- "9a1f2d8c.38269"
- ]
- ]
- },
- {
- "id": "dcdbaac8.71fac8",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 3877.92972946167,
- "y": 3430.071848630905,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "ff48f3fc.6ff7e"
- ]
- ]
- },
- {
- "id": "9a1f2d8c.38269",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3871.0251274108887,
- "y": 3564.3577601909637,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "f43b3822.b1c158"
- ]
- ]
- },
- {
- "id": "f43b3822.b1c158",
- "type": "switchNode",
- "name": "switch cidr-mask",
- "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].cidr-mask`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 4026.2629203796387,
- "y": 3563.404967069626,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "4eb745de.4f4aec",
- "898134a0.ae5d18"
- ]
- ]
- },
- {
- "id": "4eb745de.4f4aec",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 4181.262996673584,
- "y": 3493.405266523361,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "8dbb144d.370578"
- ]
- ]
- },
- {
- "id": "898134a0.ae5d18",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 4184.358793258667,
- "y": 3626.0243537425995,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "d34b6157.8f35a"
- ]
- ]
- },
- {
- "id": "489d3614.0f27f8",
- "type": "outcome",
- "name": "0",
- "xml": "<outcome value='0'>",
- "comments": "",
- "outputs": 1,
- "x": 2052.9296073913574,
- "y": 3100.0719232559204,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "8bb4c617.110b48"
- ]
- ]
- },
- {
- "id": "ff48f3fc.6ff7e",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 4022.929656982422,
- "y": 3430.071615934372,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "1b07cf87.9b6fe",
- "f394576a.e4e1d8"
- ]
- ]
- },
- {
- "id": "8dbb144d.370578",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 4327.929512023926,
- "y": 3491.7384831905365,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "319df706.15f388",
- "f394576a.e4e1d8"
- ]
- ]
- },
- {
- "id": "55e003a5.fca06c",
- "type": "comment",
- "name": "Ignore address families with no addresses",
- "info": "",
- "comments": "",
- "x": 2327.262981414795,
- "y": 3030.4054193496704,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "3291e6ae.85f8ba",
- "type": "switchNode",
- "name": "switch invariant-uuid",
- "xml": "<switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].invariant-uuid`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1297.9298210144043,
- "y": 4660.071797370911,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "6a6eb8f1.9f62d8",
- "f080e271.42c9b"
- ]
- ]
- },
- {
- "id": "6a6eb8f1.9f62d8",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 1479.59623336792,
- "y": 4636.73842716217,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "db88ee95.a44c3"
- ]
- ]
- },
- {
- "id": "f080e271.42c9b",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1477.691505432129,
- "y": 4683.524254798889,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "9b23e63c.8ba5d8"
- ]
- ]
- },
- {
- "id": "db88ee95.a44c3",
- "type": "save",
- "name": "save vnfc to A&AI",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"vnfc\" \n\tkey=\"vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name\" >\n<parameter name=\"vnfc-name\" value=\"`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`\" />\n<parameter name=\"nfc-naming-code\" value=\"`$tmp.nfc-naming-code`\" />\n<parameter name=\"nfc-function\" value=\"`$tmp.nfc-function`\" />\n<parameter name=\"orchestration-status\" value=\"`PendingCreate`\" />\n<parameter name=\"in-maint\" value=\"true\" />\n<parameter name=\"prov-status\" value=\"`PREPROV`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1641.2628593444824,
- "y": 4638.40541934967,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "8c17d99f.3ce5f8",
- "b50cee13.b9a08"
- ]
- ]
- },
- {
- "id": "d0321bc2.4f6358",
- "type": "switchNode",
- "name": "switch input cloud-owner",
- "xml": "<switch test='`$vf-module-topology-operation-input.vf-module-request-input.cloud-owner`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 556.9772186279297,
- "y": 312.39344787597656,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "da47b7e7.f3d848",
- "23870b6f.901aa4"
- ]
- ]
- },
- {
- "id": "da47b7e7.f3d848",
- "type": "other",
- "name": "NULL",
- "xml": "<outcome value=''>\n",
- "comments": "",
- "outputs": 1,
- "x": 740.3105926513672,
- "y": 282.39343643188477,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "4f66f95.7b33f08"
- ]
- ]
- },
- {
- "id": "23870b6f.901aa4",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 740.0724983215332,
- "y": 323.3459300994873,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "dee18ffa.a6fe6"
- ]
- ]
- },
- {
- "id": "4f66f95.7b33f08",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 875.310546875,
- "y": 280.7267761230469,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "dee18ffa.a6fe6",
- "type": "set",
- "name": "set prop.cloud-region.cloud-owner",
- "xml": "<set>\n<parameter name='prop.cloud-region.cloud-owner' value='`$vf-module-topology-operation-input.vf-module-request-input.cloud-owner`' />\n",
- "comments": "",
- "x": 956.9772033691406,
- "y": 322.3934574127197,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "348782c.04c017e",
- "type": "call",
- "name": "call self-serve-vf-module-forking-logic",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-forking-logic' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 588.5645904541016,
- "y": 863.7867784500122,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "bceb88ad.260758",
- "type": "switchNode",
- "name": "switch ss.self-serve-flag",
- "xml": "<switch test=\"`$ss.self-serve-flag`\">\n",
- "comments": "",
- "outputs": 1,
- "x": 546.7073287963867,
- "y": 1090.786847114563,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "7c55f766.ae1538",
- "c5c4e1ec.02a4b"
- ]
- ]
- },
- {
- "id": "7c55f766.ae1538",
+ "id": "a7cad0db.81847",
"type": "outcomeFalse",
"name": "false",
"xml": "<outcome value='false'>\n",
"comments": "",
"outputs": 1,
- "x": 767.4215278625488,
- "y": 1208.3577461242676,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "94a28d82.4f01d"
- ]
- ]
- },
- {
- "id": "c5c4e1ec.02a4b",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 767.9929809570312,
- "y": 967.2153835296631,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "3d2fe671.10512a"
- ]
- ]
- },
- {
- "id": "42e09bf7.400e44",
- "type": "call",
- "name": "call check for VNF-API-preload and copy",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='gw-vfmodule-update' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 599.7630157470703,
- "y": 7269.98964881897,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "3e5eb577.046eda",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 922.5129852294922,
- "y": 441.368989944458,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "6514e137.563f3",
- "37049c8a.e3e5e4"
- ]
- ]
- },
- {
- "id": "37049c8a.e3e5e4",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"If svc-action is 'assign' then request-action must be 'CreateVfModuleInstance'\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1110.4296684265137,
- "y": 424.9999680519104,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "2172bacb.fd1c86",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1024.71529006958,
- "y": 489.85708379745483,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "b1597171.3ee09",
- "6514e137.563f3"
- ]
- ]
- },
- {
- "id": "b1597171.3ee09",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error reading VF_MODULE_MODEL table\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1222.036693572998,
- "y": 468.392783164978,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "c639de59.ae251",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1039.0009956359863,
- "y": 534.999936580658,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "e497f95d.3eb3c8",
- "6514e137.563f3"
- ]
- ]
- },
- {
- "id": "e497f95d.3eb3c8",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'No model found for VF module customization UUID ' + $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1233.6438827514648,
- "y": 511.96422290802,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "dbfaf511.5478b8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1000.6082534790039,
- "y": 663.0714178085327,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "2e3d6663.deaf6a",
- "6514e137.563f3"
- ]
- ]
- },
- {
- "id": "2e3d6663.deaf6a",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"There are no VNFs defined in MD-SAL\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1207.572509765625,
- "y": 634.1071424484253,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "792ace51.b15ed",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 864.8939590454102,
- "y": 771.0714178085327,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "63dc2a33.a12634",
- "6514e137.563f3"
- ]
- ]
- },
- {
- "id": "63dc2a33.a12634",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Unable to find VNF ID ' + $vf-module-topology-operation-input.vnf-information.vnf-id + ' in MD-SAL'`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1066.858253479004,
- "y": 746.4285869598389,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "11136e46.5af982",
- "type": "call",
- "name": "call self-serve-vf-module-assign",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-assign' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1189.8456230163574,
- "y": 879.8449487686157,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "cab143b7.d90eb"
- ]
- ]
- },
- {
- "id": "cab143b7.d90eb",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1410.1432037353516,
- "y": 879.3329801559448,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "dbc9bb02.023fe8"
- ]
- ]
- },
- {
- "id": "6a1554d7.38e2ec",
- "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": 1142.5482940673828,
- "y": 1125.1065063476562,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "763275a1.1cfcbc",
- "type": "execute",
- "name": "printContext",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/ss-vnfend.log' />\n",
- "comments": "",
- "outputs": 1,
- "x": 1128.7625045776367,
- "y": 970.8481245040894,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "7a9afeeb.bcc87",
- "type": "set",
- "name": "set order-status to PendingCreate",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'\n value='PendingCreate' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'\n value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'\n value='`$vf-module-topology-operation-input.request-information.request-action`' />\n",
- "comments": "",
- "x": 1197.7862663269043,
- "y": 924.8089780807495,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "3d2fe671.10512a",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 938.8817367553711,
- "y": 966.3088102340698,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "11136e46.5af982",
- "7a9afeeb.bcc87",
- "763275a1.1cfcbc",
- "6a1554d7.38e2ec",
- "67e4426c.6971cc",
- "e7600116.eb3ff"
- ]
- ]
- },
- {
- "id": "6514e137.563f3",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 1649.0608139038086,
- "y": 1147.6433925628662,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "c44f4709.248e68",
- "cff53af6.747968"
- ]
- ]
- },
- {
- "id": "dbc9bb02.023fe8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1556.143928527832,
- "y": 878.7143354415894,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "1b79c9d4.553d96",
- "6514e137.563f3"
- ]
- ]
- },
- {
- "id": "1b79c9d4.553d96",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Failed to create self-serve assignment for vf-module with vf-module-id=' + $vf-module-topology-operation-input.vf-module-information.vf-module-id + ' with error: ' + $error-message`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1753.8226852416992,
- "y": 858.0000448226929,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "88ef43cf.4353c",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'VF module id ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id\n + ' already exists, and status is ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-data.vf-module-level-oper-status.order-status`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2461.263038635254,
- "y": 1377.207555770874,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "cdf91b0.174e5e8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2267.334129333496,
- "y": 1396.6718444824219,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "88ef43cf.4353c",
- "80b5ab3d.6f3ef8"
- ]
- ]
- },
- {
- "id": "799eaa32.6fe824",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 972.334358215332,
- "y": 1614.3384866714478,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "9ddd96ce.6586c8",
- "80b5ab3d.6f3ef8"
- ]
- ]
- },
- {
- "id": "7adbe623.7575f8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 974.0010452270508,
- "y": 1657.6718606948853,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "22247b5.eb10384",
- "80b5ab3d.6f3ef8"
- ]
- ]
- },
- {
- "id": "9ddd96ce.6586c8",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Cloud region not found in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1176.2630233764648,
- "y": 1591.1242628097534,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "22247b5.eb10384",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error retrieving cloud region from AAI. Is AAI down?\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1171.6797637939453,
- "y": 1639.4575996398926,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "ec2aeced.650af",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 856.9175720214844,
- "y": 1838.3385391235352,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "9bc214de.5d73d8",
- "80b5ab3d.6f3ef8"
- ]
- ]
- },
- {
- "id": "9bc214de.5d73d8",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1049.5962295532227,
- "y": 1811.1242694854736,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "80b5ab3d.6f3ef8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 1651.08447265625,
- "y": 2099.279275894165,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "382e3395.e82afc",
- "e12123b4.7517"
- ]
- ]
- },
- {
- "id": "8c6eb005.385ba",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2766.262939453125,
- "y": 2587.5128660202026,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "76721fa9.6f7a7",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 2383.524429321289,
- "y": 2637.930076599121,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "8c6eb005.385ba",
- "73466628.3dbbb8",
- "928b846e.f5c2c8"
- ]
- ]
- },
- {
- "id": "c1b24090.d49b8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2944.59623336792,
- "y": 2278.2630882263184,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "ecc636c8.71fe78",
- "76721fa9.6f7a7"
- ]
- ]
- },
- {
- "id": "ecc636c8.71fe78",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'from-preload flag is true but could not find preload information for VF module name ' + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3144.179473876953,
- "y": 2244.906032562256,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "d759206d.14388",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2116.5007858276367,
- "y": 2425.8463954925537,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "64958d02.cd8064",
- "76721fa9.6f7a7"
- ]
- ]
- },
- {
- "id": "64958d02.cd8064",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error retrieving preload-information\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2322.512893676758,
- "y": 2400.4891319274902,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "8af4f32.673261",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 4189.596542358398,
- "y": 4465.985095024109,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "f394576a.e4e1d8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 3801.8577575683594,
- "y": 4512.652036190033,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "8af4f32.673261",
- "a106598.33f8ca8",
- "8a0f16a0.408838"
- ]
- ]
- },
- {
- "id": "a6ff636a.1da36",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'VNFC network role '\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-network-role\n + ' is not found in VNF network list'\n `\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1884.5963439941406,
- "y": 2909.4576473236084,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "1b07cf87.9b6fe",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'SDNC subnet id '\n + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id\n + ' does not have network-start-address populated'`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 4214.179832458496,
- "y": 3385.15172457695,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "319df706.15f388",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'SDNC subnet id '\n + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id\n + ' does not have cidr-mask populated'`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 4529.17985534668,
- "y": 3462.651731491089,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "fec2cbd9.e930a8",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Not able to find VNF network subnet that contains address '\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[0].vnfc-ip-address\n `\" />",
- "comments": "",
- "outputs": 1,
- "x": 3576.6798095703125,
- "y": 3582.6517486572266,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "6c1ed4b9.5ecf9c",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error reading VFC_RELATED_NETWORK_ROLE table\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2017.3740615844727,
- "y": 3819.1801166534424,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "4102f097.0a51",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Unable to find related network '\n + $db.vnf-related-network-role[$db-related-network-index].related-network-role + ' in vnf-networks'`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2824.874122619629,
- "y": 4004.179864883423,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "30bee8c0.434ad8",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error saving vnfc to AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2201.262969970703,
- "y": 4626.819506645203,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "52bc7cef.ddfa64",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 3678.068458557129,
- "y": 5821.82004737854,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "1254304a.7d8a4",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 3291.579948425293,
- "y": 5864.737259864807,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "52bc7cef.ddfa64",
- "6f7485bf.c7042c",
- "7ec70a43.dc5584"
- ]
- ]
- },
- {
- "id": "17b97fa6.0b332",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error updating vnfc relationships in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1838.6043319702148,
- "y": 4740.568719863892,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "43b53fc.f18d2c",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Not-found error updating vnfc relationships\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1838.0686531066895,
- "y": 4797.5332860946655,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "b0761ca.5d4cce",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error saving cp object to AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2280.5686626434326,
- "y": 4966.8189868927,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "64e7c13b.82899",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error updating cp relationship to l3-network in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2935.5687255859375,
- "y": 5419.041241645813,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "f4e9414e.c0a39",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error updating cp relationship to l3-network\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2938.0687255859375,
- "y": 5481.541244506836,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "94072bfe.632c28",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Error updating cp relationship to l3-network and vlan-tag in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3266.6403274536133,
- "y": 5579.041257858276,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "4462ce4a.8f7a5",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error updating cp relationship to l3-network and vlan-tag\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3269.140426635742,
- "y": 5641.541258811951,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "cc682bd5.2eb5c8",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Error creating l3-interface-ipv4-address-list object in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3958.4860305786133,
- "y": 5050.291213989258,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "1499e507.42f6db",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Error updating l3-interface-ipv4-address-list relationships in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3955.9860305786133,
- "y": 5129.041219711304,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "dac8db15.74e098",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error updating l3-interface-ipv4-address-list relationships\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3958.4857635498047,
- "y": 5189.041226387024,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "97323f99.6212d",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Error creating l3-interface-ipv6-address-list object in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3962.235771179199,
- "y": 5239.0412311553955,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "2f312957.2b15e6",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Error updating l3-interface-ipv6-address-list relationships in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3960.9855041503906,
- "y": 5300.2912340164185,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "9f878bec.0f8958",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error updating l3-interface-ipv6-address-list relationships\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3962.2355041503906,
- "y": 5360.291234970093,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "f60ef6eb.870138",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 4372.235439300537,
- "y": 5486.541163444519,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "11d81f8a.7859d",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 3991.996925354004,
- "y": 5531.208375930786,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "f60ef6eb.870138",
- "97d29a04.0c0528",
- "9ae41d25.ebedb"
- ]
- ]
- },
- {
- "id": "dccafd0f.1af91",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 3795.7073516845703,
- "y": 6950.985408782959,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "fc515f97.dc4ef",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 3407.968574523926,
- "y": 7001.40207862854,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "dccafd0f.1af91",
- "8461f05b.e0d6e",
- "4a0caeea.9a1"
- ]
- ]
- },
- {
- "id": "bec2c422.16f948",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error updating vip-ipv4-address-list relationship to cp\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3345.7076454162598,
- "y": 6589.735626220703,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "82534f84.1802c",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Error updating vip-ipv4-address-list relationship to cp in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3339.4579162597656,
- "y": 6525.98616027832,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "9ebbd632.ef43d8",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error updating vip-ipv4-address-list relationship to cp\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3350.707649230957,
- "y": 6277.235605239868,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "1a54f803.3243e8",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Error updating vip-ipv4-address-list relationship to cp in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3350.7079162597656,
- "y": 6215.986141204834,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "41362899.a075b8",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error updating vip-ipv6-address-list relationships\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2718.2076110839844,
- "y": 6477.23561668396,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "9303413c.a15fb",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Error updating vip-ipv6-address-list relationships in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2716.95760345459,
- "y": 6419.736152648926,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "dc08e935.aa2128",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error saving vip-ipv6-address-list\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2380.707588195801,
- "y": 6363.485609054565,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "ec585839.cf03a8",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Error saving vip-ipv6-address-list in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2380.707588195801,
- "y": 6309.7356061935425,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "8d6accf1.493c8",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error updating vip-ipv4-address-list relationships\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2726.957607269287,
- "y": 6152.235597610474,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "38cb90b2.4e39c",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Error updating vip-ipv4-address-list relationships in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2728.2076110839844,
- "y": 6094.735593795776,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "34a07ec7.5c1d72",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Not-found error saving vip-ipv4-address-list\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2384.457588195801,
- "y": 6050.985589981079,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "d7673076.3ac06",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Error saving vip-ipv4-address-list in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2380.707588195801,
- "y": 5983.485586166382,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "e64793d7.bf627",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'No l3-network found in AAI for network ID '\n + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`\" />\n\n",
- "comments": "",
- "outputs": 1,
- "x": 1878.2075538635254,
- "y": 5908.485583305359,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "a1d9fe5d.0f695",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Error updating vf-module relationships in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1879.4575500488281,
- "y": 5849.735575199127,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "18d43b0c.816ff5",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"Error updating vf-module in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1031.2630081176758,
- "y": 4280.569283485413,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "d3b91e2a.6658a",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n <parameter name=\"error-message\" value=\"`'No vf-module found in AAI for vf module ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1035.0130081176758,
- "y": 4356.819286346436,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "e283e90a.9eb6c8",
- "type": "execute",
- "name": "printContext",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vfmodule.log' />\n",
- "comments": "",
- "outputs": 1,
- "x": 418.5863952636719,
- "y": 7918.448681354523,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "d9542f83.7d0bb",
- "type": "execute",
- "name": "execute RestApiCallNode - PUT vf-module",
- "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + 'vf-module-assign.json'`\" />\n <parameter name='restapiUrl' value=\"`$prop.controller.url + $tmp.vf-module.url`\" />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='PUT' />\n <parameter name=\"responsePrefix\" value=\"vf-module-assign\" />\n\n",
- "comments": "",
- "outputs": 1,
- "x": 515.9195327758789,
- "y": 7777.6475620269775,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "f3d88006.1d825",
- "a685bcd2.6458d"
- ]
- ]
- },
- {
- "id": "f3d88006.1d825",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 796.7037048339844,
- "y": 7798.343640804291,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "193e6953.109c97"
- ]
- ]
- },
- {
- "id": "a685bcd2.6458d",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 789.1323394775391,
- "y": 7756.843660831451,
- "z": "565447bf.1f1598",
+ "x": 1077,
+ "y": 533,
+ "z": "a314769.77ed108",
"wires": [
[
- "193e6953.109c97"
+ "4c116772.ba24a"
]
]
- },
- {
- "id": "193e6953.109c97",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 998.0624504089355,
- "y": 7777.0126214027405,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "d6c7309a.4a629",
- "ddd8fcd8.b0fa8"
- ]
- ]
- },
- {
- "id": "4f53e7be.5b9088",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:vf-module-topology-assign-rollback",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1752.3126983642578,
- "y": 7919.180991649628,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "ddd8fcd8.b0fa8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 1371.3599472045898,
- "y": 7971.2046484947205,
- "z": "565447bf.1f1598",
- "wires": [
- [
- "4f53e7be.5b9088",
- "ac1c6eaf.9a9a5",
- "28ceaebf.a2a0e2"
- ]
- ]
- },
- {
- "id": "d6c7309a.4a629",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error doing PUT of vf-module\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1202.5628662109375,
- "y": 7749.5376353263855,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "5ad131fa.7f772",
- "type": "comment",
- "name": "This should have been removed from Dublin",
- "info": "",
- "comments": "",
- "x": 671.2630157470703,
- "y": 7239.040754318237,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "3f8bd8eb.1bd018",
- "type": "set",
- "name": "Initialize SO 500 reponse params",
- "xml": "<set>\n<parameter name=\"so.ack-final-indicator\" value=\"Y\" />\n<parameter name=\"so.response-code\" value=\"500\" />\n<parameter name=\"so.notification-url\" value=\"`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`\" />\n<parameter name=\"so.svc-request-id\" value=\"`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`\" />\n<parameter name=\"so.service-type\" value=\"`$vf-module-topology-operation-input.service-information.subscription-service-type`\" />\n<parameter name=\"so.service-instance-id\" value=\"`$vf-module-topology-operation-input.service-information.service-instance-id`\" />",
- "comments": "",
- "x": 587.5129547119141,
- "y": 223.76301383972168,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "c44f4709.248e68",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API_send-so-response",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1956.2628936767578,
- "y": 1126.124216079712,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "382e3395.e82afc",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API_send-so-response",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1963.762939453125,
- "y": 2078.346435546875,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "e7600116.eb3ff",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API_send-so-response",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1252.5129165649414,
- "y": 1074.040759086609,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "67e4426c.6971cc",
- "type": "set",
- "name": "set so.reponse-code = 200",
- "xml": "<set>\n<parameter name=\"so.response-code\" value=\"200\" />\n",
- "comments": "",
- "x": 1181.262939453125,
- "y": 1017.790771484375,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "73466628.3dbbb8",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API_send-so-response",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2708.7629203796387,
- "y": 2638.068730354309,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "a106598.33f8ca8",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API_send-so-response",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 4131.40185546875,
- "y": 4513.6240234375,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "97d29a04.0c0528",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API_send-so-response",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 4313.901893615723,
- "y": 5530.429918289185,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "6f7485bf.c7042c",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API_send-so-response",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 3615.15185546875,
- "y": 5867.2353515625,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "8461f05b.e0d6e",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API_send-so-response",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 3735.15185546875,
- "y": 7001.26318359375,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "ac1c6eaf.9a9a5",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API_send-so-response",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1693.2073440551758,
- "y": 7971.9582324028015,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "f60c437.45996c",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API_send-so-response",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 536.9574661254883,
- "y": 8025.709732532501,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "5d70e5cf.fff80c",
- "type": "set",
- "name": "set so.reponse-code = 200",
- "xml": "<set>\n<parameter name=\"so.response-code\" value=\"200\" />\n",
- "comments": "",
- "x": 466.9574661254883,
- "y": 7971.68098783493,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "28ceaebf.a2a0e2",
- "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=\"`$error-message`\" />\n",
- "comments": "",
- "x": 1574.457405090332,
- "y": 8020.707935810089,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "4a0caeea.9a1",
- "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=\"`$error-message`\" />\n",
- "comments": "",
- "x": 3614.8740234375,
- "y": 7049.8740234375,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "7ec70a43.dc5584",
- "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=\"`$error-message`\" />\n",
- "comments": "",
- "x": 3493.6240234375,
- "y": 5912.51318359375,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "9ae41d25.ebedb",
- "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=\"`$error-message`\" />\n",
- "comments": "",
- "x": 4197.3740234375,
- "y": 5575.01318359375,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "8a0f16a0.408838",
- "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=\"`$error-message`\" />\n",
- "comments": "",
- "x": 4012.3740234375,
- "y": 4557.791015625,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "928b846e.f5c2c8",
- "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=\"`$error-message`\" />\n",
- "comments": "",
- "x": 2592.512939453125,
- "y": 2684.1796875,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "e12123b4.7517",
- "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=\"`$error-message`\" />\n",
- "comments": "",
- "x": 1845.012939453125,
- "y": 2120.012939453125,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "cff53af6.747968",
- "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=\"`$error-message`\" />\n",
- "comments": "",
- "x": 1836.262939453125,
- "y": 1168.7630615234375,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "fc541e57.efb67",
- "type": "set",
- "name": "copy vf-module data",
- "xml": "<set>\n<parameter name='vf-module-data.'\n value='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.' />\n",
- "comments": "",
- "x": 435.58421325683594,
- "y": 7422.19614982605,
- "z": "565447bf.1f1598",
- "wires": []
- },
- {
- "id": "b631b958.11eb48",
- "type": "execute",
- "name": "generate vf-module URL (sub service-instance-id)",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.vf-module`\"/>\n <parameter name=\"outputPath\" value=\"tmp.part\"/>\n <parameter name=\"target\" value=\"{service-instance-id}\"/>\n <parameter name=\"replacement\" value=\"`$service-data.service-topology.service-topology-identifier.service-instance-id`\"/>\n",
- "comments": "",
- "outputs": 1,
- "x": 534.6912536621094,
- "y": 7506.483808517456,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "e5d7fa3.8c00708",
- "type": "execute",
- "name": "generate vf-module URL (sub vnf-id)",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.part`\"/>\n <parameter name=\"outputPath\" value=\"tmp.part\"/>\n <parameter name=\"target\" value=\"{vnf-id}\"/>\n <parameter name=\"replacement\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-id`\"/>\n",
- "comments": "",
- "outputs": 1,
- "x": 489.33406829833984,
- "y": 7551.661762237549,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
- },
- {
- "id": "62da7e05.4b2de",
- "type": "execute",
- "name": "generate vf-module URL (sub vf-module-id)",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.part`\"/>\n <parameter name=\"outputPath\" value=\"tmp.vf-module.url\"/>\n <parameter name=\"target\" value=\"{vf-module-id}\"/>\n <parameter name=\"replacement\" value=\"`$vf-module-topology-operation-input.vf-module-information.vf-module-id`\"/>\n",
- "comments": "",
- "outputs": 1,
- "x": 514.5127258300781,
- "y": 7598.268753051758,
- "z": "565447bf.1f1598",
- "wires": [
- []
- ]
}
-]
+]
\ No newline at end of file diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-assign-async.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-assign-async.json new file mode 100644 index 00000000..fa28f0dc --- /dev/null +++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-assign-async.json @@ -0,0 +1,5854 @@ +[
+ {
+ "id": "1c63830b.6dad15",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 158,
+ "y": 122.74699592590332,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "d0207df4.e744a8"
+ ]
+ ]
+ },
+ {
+ "id": "d0207df4.e744a8",
+ "type": "service-logic",
+ "name": "GENERIC-RESOURCE-API ${project.version}",
+ "module": "GENERIC-RESOURCE-API",
+ "version": "${project.version}",
+ "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": 273.28570556640625,
+ "y": 164.65177536010742,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "3222238a.bde594"
+ ]
+ ]
+ },
+ {
+ "id": "3222238a.bde594",
+ "type": "method",
+ "name": "method vnf-topology-operation-assign-async",
+ "xml": "<method rpc='vnf-topology-operation-assign-async' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 246.09530639648438,
+ "y": 207.41365909576416,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "525bcd69.d52c4c"
+ ]
+ ]
+ },
+ {
+ "id": "4bbdf4dc.9acd64",
+ "type": "comment",
+ "name": "vnf-topology-operation-assign-async",
+ "info": "",
+ "comments": "",
+ "x": 522.0115356445312,
+ "y": 45,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "65b55bf0.e17c94",
+ "type": "switchNode",
+ "name": "switch request-action",
+ "xml": "<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 554.3809661865234,
+ "y": 518.3898124694824,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "676025ce.ceaed4",
+ "fac05067.e39a6"
+ ]
+ ]
+ },
+ {
+ "id": "676025ce.ceaed4",
+ "type": "outcome",
+ "name": "CreateVnfInstance",
+ "xml": "<outcome value='CreateVnfInstance'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 808.0952606201172,
+ "y": 495.53269386291504,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "a9df7def.2e87a"
+ ]
+ ]
+ },
+ {
+ "id": "fac05067.e39a6",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 770.0952262878418,
+ "y": 541.2470216751099,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "2d48d63d.1a5b82"
+ ]
+ ]
+ },
+ {
+ "id": "a9df7def.2e87a",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 992.9523887634277,
+ "y": 495.53272342681885,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "73e62b5e.2d2d24",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 215.73814392089844,
+ "y": 3404.7708625793457,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "4ea0676c.f3c5",
+ "d807e3bf.6821",
+ "7dbd70b1.1d952",
+ "c802fc95.1aed4",
+ "ba6b2f3.81ff65",
+ "84242802.438068",
+ "40b03c35.066374",
+ "978c06f5.c51b38",
+ "a2246d8d.309948",
+ "d1226d82.dd4ba",
+ "42aca120.8663b",
+ "27992a30.77ac86",
+ "ba745244.bd0468",
+ "32a417de.843a",
+ "60220dbd.cbb274",
+ "aeeecb5d.b95ac8",
+ "bd2f9d29.6f4cd",
+ "d4235437.829c38",
+ "d7771a1c.3c6348",
+ "6a3932df.a191e4",
+ "ba43d064.2bf358",
+ "54b8c442.c1469c",
+ "f4822626.6784a",
+ "c0f7e6fd.82944",
+ "b69c7bea.5b8f98",
+ "779ef85a.752e58",
+ "b8b61871.289a38",
+ "f7b6f1fc.97c858",
+ "d350e16f.3e261",
+ "93239a74.eab46",
+ "a88c2f3d.bf4fa8",
+ "3e36f71.f2f0b88",
+ "b3a3b6d8.b3b1a",
+ "aac69396.6ddb18",
+ "634a4090.ff27d",
+ "9ec4fd36.2e31c8",
+ "1fec3768.f512f1",
+ "4ba8fd3f.c818fc",
+ "d2d8ec6e.e92468",
+ "2957e806.869ab"
+ ]
+ ]
+ },
+ {
+ "id": "c29453e1.d0b3d8",
+ "type": "get-resource",
+ "name": "get-resource VF_MODEL",
+ "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VF_MODEL WHERE customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'\n pfx='db.vf-model'>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 566.7142715454102,
+ "y": 609.5326824188232,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "1eae0e0a.4b77c2",
+ "72cc49c6.447b08"
+ ]
+ ]
+ },
+ {
+ "id": "1eae0e0a.4b77c2",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 767.4999694824219,
+ "y": 589.913519859314,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "17544ab9.984c5d"
+ ]
+ ]
+ },
+ {
+ "id": "72cc49c6.447b08",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 776.0713996887207,
+ "y": 634.1992330551147,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "9a95814.c6dd98"
+ ]
+ ]
+ },
+ {
+ "id": "4ea0676c.f3c5",
+ "type": "switchNode",
+ "name": "switch service-data.vnfs.vnf_length",
+ "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 590.3809204101562,
+ "y": 1197.9851322174072,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "7fa001b2.5a02a",
+ "2784fe24.f3ffba"
+ ]
+ ]
+ },
+ {
+ "id": "7fa001b2.5a02a",
+ "type": "other",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 816.0952491760254,
+ "y": 1165.1279201507568,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "7f419c89.2e0014"
+ ]
+ ]
+ },
+ {
+ "id": "7f419c89.2e0014",
+ "type": "set",
+ "name": "set vnf-index=0",
+ "xml": "<set>\n<parameter name='vnf-index' value='0' />\n",
+ "comments": "",
+ "x": 980.3809700012207,
+ "y": 1164.1279983520508,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "2784fe24.f3ffba",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 817.523811340332,
+ "y": 1229.4137382507324,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "6b01bbf.e34dbc4"
+ ]
+ ]
+ },
+ {
+ "id": "741efbb8.5b8a44",
+ "type": "set",
+ "name": "set vnf-index = vnf_length",
+ "xml": "<set>\n<parameter name='vnf-index' value='`$service-data.vnfs.vnf_length`' />\n",
+ "comments": "",
+ "x": 1235.3809661865234,
+ "y": 1207.699426651001,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "5f2528be.bf7e48",
+ "type": "for",
+ "name": "for each existing VNF",
+ "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1220.8094787597656,
+ "y": 1253.6993656158447,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "4af50057.0f1aa8"
+ ]
+ ]
+ },
+ {
+ "id": "6b01bbf.e34dbc4",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 991.2380714416504,
+ "y": 1229.413703918457,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "741efbb8.5b8a44",
+ "5f2528be.bf7e48"
+ ]
+ ]
+ },
+ {
+ "id": "4af50057.0f1aa8",
+ "type": "switchNode",
+ "name": "switch vnf-information.vnf-id == service-data.vnfs.vnf[].vnf-id",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.vnf-id == $service-data.vnfs.vnf[$idx].vnf-id`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1575.0952453613281,
+ "y": 1253.270845413208,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "25f009f8.2d893e"
+ ]
+ ]
+ },
+ {
+ "id": "25f009f8.2d893e",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1869.3810005187988,
+ "y": 1252.8423299789429,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "dcfb1529.fec6a8"
+ ]
+ ]
+ },
+ {
+ "id": "8724aa2.889b6d8",
+ "type": "comment",
+ "name": "make sure this VNF doesn't exist already",
+ "info": "",
+ "comments": "",
+ "x": 1562.2379760742188,
+ "y": 1210.8422756195068,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "d807e3bf.6821",
+ "type": "set",
+ "name": "set vnf-topology data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id'\n value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-type'\n value='`$vnf-topology-operation-input.vnf-information.vnf-type`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-type'\n value='`$db.vf-model.nf-type`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role'\n value='`$db.vf-model.nf-role`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-function'\n value='`$db.vf-model.nf-function`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-code'\n value='`$db.vf-model.nf-code`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.tenant'\n value='`$vnf-topology-operation-input.vnf-request-input.tenant`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-cloud-region'\n value='`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`' />\n \n",
+ "comments": "",
+ "x": 556.0952033996582,
+ "y": 1729.6518993377686,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "7dbd70b1.1d952",
+ "type": "switchNode",
+ "name": "switch input vnf-name",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.vnf-name`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 568.5952224731445,
+ "y": 2091.770956993103,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "241fabfe.69fa2c",
+ "f80604c.1fec1f8"
+ ]
+ ]
+ },
+ {
+ "id": "c802fc95.1aed4",
+ "type": "get-resource",
+ "name": "get-resource cloud region",
+ "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"cloud-region\" \n\t\tkey=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND \n\t\t cloud-region.cloud-region-id = $vnf-topology-operation-input.vnf-request-input.aic-cloud-region AND\n\t\t depth='all'\"\n pfx='aai.cloud-region' local-only='false' >\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 600.738166809082,
+ "y": 2987.7706928253174,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "50e5753c.35a0ec",
+ "60c43013.41eb78"
+ ]
+ ]
+ },
+ {
+ "id": "60c43013.41eb78",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 808.8414840698242,
+ "y": 3006.921399116516,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "f968cb62.56775"
+ ]
+ ]
+ },
+ {
+ "id": "50e5753c.35a0ec",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 817.7700805664062,
+ "y": 2964.2071323394775,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "2be0da40.0d7806"
+ ]
+ ]
+ },
+ {
+ "id": "ba6b2f3.81ff65",
+ "type": "get-resource",
+ "name": "get-resource VF_TO_NETWORK_ROLE_MAPPING",
+ "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VF_TO_NETWORK_ROLE_MAPPING WHERE vf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'\n pfx='db.vf-network-role-mapping[]'>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 665.9762496948242,
+ "y": 3298.8182125091553,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "1edaf2dd.6abca5",
+ "8c805d73.d5428"
+ ]
+ ]
+ },
+ {
+ "id": "1edaf2dd.6abca5",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 961.7619209289551,
+ "y": 3277.532377243042,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "7ef20c7d.b3d83c"
+ ]
+ ]
+ },
+ {
+ "id": "8c805d73.d5428",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 970.3333511352539,
+ "y": 3321.818090438843,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "c3672ff4.a17f"
+ ]
+ ]
+ },
+ {
+ "id": "febef76b.d8c79",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1066.9049491882324,
+ "y": 4415.460702896118,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "69a52c45.9d3a2c",
+ "1b8f8e9a.44ecf9",
+ "b81c1659.1acf38",
+ "c7e3943d.2b1af",
+ "e1eddf21.903d78",
+ "886b4211.4bd9a",
+ "5621d64.66c8228",
+ "680457ce.355c7",
+ "f1e14dbb.a2c47"
+ ]
+ ]
+ },
+ {
+ "id": "b81c1659.1acf38",
+ "type": "get-resource",
+ "name": "get-resource l3-network",
+ "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"l3-networks\" \n\t\tkey=\"l3-network.network-role = $db.vf-network-role-mapping[$role-index].network-role\"\n pfx='aai.l3-network' local-only='false'\n>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1316.6191482543945,
+ "y": 3505.8417415618896,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "69f68ea2.5d7068",
+ "8f733aa1.cdcf6"
+ ]
+ ]
+ },
+ {
+ "id": "8f733aa1.cdcf6",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1522.0954627990723,
+ "y": 3535.1273441314697,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "11a704cb.ec6e1b"
+ ]
+ ]
+ },
+ {
+ "id": "69f68ea2.5d7068",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1529.595458984375,
+ "y": 3486.2703142166138,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "ddfbfd5a.f170a"
+ ]
+ ]
+ },
+ {
+ "id": "69a52c45.9d3a2c",
+ "type": "set",
+ "name": "set vnf-network data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-role'\n value='`$db.vf-network-role-mapping[$role-index].network-role`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-name'\n value='`$aai.l3-network.l3-network[$db-network-index].network-name`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].neutron-id'\n value='`$aai.l3-network.l3-network[$db-network-index].neutron-network-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-id'\n value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].contrail-network-fqdn'\n value='`$aai.l3-network.l3-network[$db-network-index].contrail-network-fqdn`' />\n",
+ "comments": "",
+ "x": 1312.9526138305664,
+ "y": 4311.413550376892,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "a2246d8d.309948",
+ "type": "for",
+ "name": "for each cloud-region availability zone",
+ "xml": "<for index='idx' start='0' end='`$aai.cloud-region.availability-zones.availability-zone_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 533.3336524963379,
+ "y": 5558.532527923584,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "87ffb6ef.f80298"
+ ]
+ ]
+ },
+ {
+ "id": "bc615b55.663bf",
+ "type": "set",
+ "name": "set availability-zone",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone[$idx]'\n value='`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`' />\n",
+ "comments": "",
+ "x": 995.0003356933594,
+ "y": 5527.865942001343,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "d1226d82.dd4ba",
+ "type": "set",
+ "name": "set vnf-parameters-data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.'\n value='vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.' />\n",
+ "comments": "",
+ "x": 492.952579498291,
+ "y": 5408.484888076782,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "c91f5f57.248b18",
+ "type": "save",
+ "name": "save generic-vnf l3-network relationships",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"generic-vnf:relationship-list\"\n key=\"generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"l3-network.network-id\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-nw-index].network-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 959.524112701416,
+ "y": 5702.29474067688,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "70b9d92d.cfcaf",
+ "8019290f.d9e57"
+ ]
+ ]
+ },
+ {
+ "id": "ba745244.bd0468",
+ "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": 446.29785919189453,
+ "y": 6598.056180000305,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "27992a30.77ac86",
+ "type": "set",
+ "name": "set vnf-level-oper-status to PendingCreate",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\n",
+ "comments": "",
+ "x": 548.8255958557129,
+ "y": 6071.500453948975,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "40b03c35.066374",
+ "type": "for",
+ "name": "for each network-role",
+ "xml": "<for silentFailure='true' index='role-index' start='0' end='`$db.vf-network-role-mapping_length`'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 526.9048843383789,
+ "y": 4388.794371604919,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "f73eb405.e256b8"
+ ]
+ ]
+ },
+ {
+ "id": "84242802.438068",
+ "type": "set",
+ "name": "set network-index = 0",
+ "xml": "<set>\n<parameter name='network-index' value='0' />\n",
+ "comments": "",
+ "x": 568.4047470092773,
+ "y": 3352.8660068511963,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "1b8f8e9a.44ecf9",
+ "type": "set",
+ "name": "increment network-index",
+ "xml": "<set>\n<parameter name='network-index' value='`$network-index + 1`' />\n",
+ "comments": "",
+ "x": 1294.9526023864746,
+ "y": 5359.175491333008,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "978c06f5.c51b38",
+ "type": "set",
+ "name": "set vnf-network_length",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length'\n value='`$network-index`' />\n",
+ "comments": "",
+ "x": 491.80966567993164,
+ "y": 5358.484931945801,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "42aca120.8663b",
+ "type": "set",
+ "name": "copy input data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.' value='$vnf-topology-operation-input.vnf-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.' value='$vnf-topology-operation-input.vnf-request-input.' />\n\n",
+ "comments": "",
+ "x": 458.095401763916,
+ "y": 6017.913442611694,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "32a417de.843a",
+ "type": "for",
+ "name": "for each vnf-network",
+ "xml": "<for index='vnf-nw-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 482.52402114868164,
+ "y": 5701.29465675354,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "80153f67.955468"
+ ]
+ ]
+ },
+ {
+ "id": "80153f67.955468",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 686.1906623840332,
+ "y": 5701.294617652893,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "c91f5f57.248b18"
+ ]
+ ]
+ },
+ {
+ "id": "60220dbd.cbb274",
+ "type": "set",
+ "name": "set new vnf_length",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf_length' value='`$vnf-index + 1`' />\n",
+ "comments": "",
+ "x": 539.0238418579102,
+ "y": 1250.0090227127075,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "aeeecb5d.b95ac8",
+ "type": "for",
+ "name": "for each cloud-region relationship",
+ "xml": "<for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 613.5952911376953,
+ "y": 3075.008864402771,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "af9376a1.5b3178"
+ ]
+ ]
+ },
+ {
+ "id": "af9376a1.5b3178",
+ "type": "switchNode",
+ "name": "switch related-to",
+ "xml": "<switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 861.2738342285156,
+ "y": 3074.7587938308716,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "b05c52b5.57078"
+ ]
+ ]
+ },
+ {
+ "id": "b05c52b5.57078",
+ "type": "outcome",
+ "name": "complex",
+ "xml": "<outcome value='complex'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1030.7381553649902,
+ "y": 3074.1516160964966,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "8b3ae97b.251a1"
+ ]
+ ]
+ },
+ {
+ "id": "d417f4d3.21848",
+ "type": "set",
+ "name": "set aic-clli",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli'\n value='`$aai-uid-split[$aai-uid-split_length - 1]`' />\n",
+ "comments": "",
+ "x": 1408.3095397949219,
+ "y": 3072.389811515808,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "bd2f9d29.6f4cd",
+ "type": "switchNode",
+ "name": "switch aic-clli",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 546.6429176330566,
+ "y": 3188.1039962768555,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "7ec6f0ba.5529d8"
+ ]
+ ]
+ },
+ {
+ "id": "7ec6f0ba.5529d8",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 694.7857513427734,
+ "y": 3188.103979110718,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "5c62b00e.a7cd48"
+ ]
+ ]
+ },
+ {
+ "id": "30224228.963f36",
+ "type": "set",
+ "name": "set from DB",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'\n value='`$db.vf-model.invariant-uuid`' />\n",
+ "comments": "",
+ "x": 973.0954627990723,
+ "y": 2546.9612531661987,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "f5318147.69e14",
+ "type": "for",
+ "name": "for each l3-network",
+ "xml": "<for index='db-network-index' start='0' end='`$aai.l3-network.l3-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1433.2145919799805,
+ "y": 4135.984929084778,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "852f0b12.336648"
+ ]
+ ]
+ },
+ {
+ "id": "b772b2db.6bf188",
+ "type": "switchNode",
+ "name": "switch orchestration-status",
+ "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].orchestration-status`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1851.7857627868652,
+ "y": 4070.556393623352,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "2013144f.4b7fd4",
+ "bd45a651.d4fc18",
+ "6b197918.4b35",
+ "d8961e04.47a09",
+ "d20d55e5.845528"
+ ]
+ ]
+ },
+ {
+ "id": "2013144f.4b7fd4",
+ "type": "outcome",
+ "name": "Pending Delete",
+ "xml": "<outcome value='Pending Delete'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2092.4526329040527,
+ "y": 4112.222897529602,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "65cc69a1.7d4018"
+ ]
+ ]
+ },
+ {
+ "id": "bd45a651.d4fc18",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2065.309772491455,
+ "y": 4163.222878456116,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "9c0a541e.0b30c8"
+ ]
+ ]
+ },
+ {
+ "id": "81eba499.0af278",
+ "type": "switchNode",
+ "name": "switch related-to",
+ "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].related-to`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2601.0240745544434,
+ "y": 4108.460795402527,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "65278a7b.2864d4",
+ "29d3dc98.16bcd4"
+ ]
+ ]
+ },
+ {
+ "id": "9c0a541e.0b30c8",
+ "type": "for",
+ "name": "for each relationship",
+ "xml": "<for silentFailure='true' index='db-rel-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2235.309684753418,
+ "y": 4162.794255256653,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "e8b88764.0e454"
+ ]
+ ]
+ },
+ {
+ "id": "65278a7b.2864d4",
+ "type": "outcome",
+ "name": "cloud-region",
+ "xml": "<outcome value='cloud-region'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2775.309860229492,
+ "y": 4131.365619659424,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "bfe4f75a.234cc8"
+ ]
+ ]
+ },
+ {
+ "id": "bfe4f75a.234cc8",
+ "type": "for",
+ "name": "for each relationship data",
+ "xml": "<for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2972.4525604248047,
+ "y": 4131.794087409973,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "9def1818.13c9f8"
+ ]
+ ]
+ },
+ {
+ "id": "9def1818.13c9f8",
+ "type": "switchNode",
+ "name": "switch relationship-key",
+ "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3203.881160736084,
+ "y": 4131.365462303162,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "29799bf8.7888e4"
+ ]
+ ]
+ },
+ {
+ "id": "29799bf8.7888e4",
+ "type": "outcome",
+ "name": "cloud-region.cloud-region-id",
+ "xml": "<outcome value='cloud-region.cloud-region-id'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3445.309726715088,
+ "y": 4131.365558624268,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "a1567e58.8a3128"
+ ]
+ ]
+ },
+ {
+ "id": "a1567e58.8a3128",
+ "type": "switchNode",
+ "name": "switch relationship-value == cloud-region-id",
+ "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value == $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3749.595645904541,
+ "y": 4131.22261428833,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "7b8c98d4.2676d8"
+ ]
+ ]
+ },
+ {
+ "id": "7b8c98d4.2676d8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3454.5957832336426,
+ "y": 4248.865568161011,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "393f0cf4.4aabc4"
+ ]
+ ]
+ },
+ {
+ "id": "c7e3943d.2b1af",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1269.4287643432617,
+ "y": 4067.270573616028,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "f5318147.69e14",
+ "16ed0d4.c25bbf3"
+ ]
+ ]
+ },
+ {
+ "id": "e1eddf21.903d78",
+ "type": "set",
+ "name": "set l3-network-id = -1",
+ "xml": "<set>\n<parameter name='l3-network-id' value='-1' />\n",
+ "comments": "",
+ "x": 1313.7621231079102,
+ "y": 3939.175227165222,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "393f0cf4.4aabc4",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3600.4287605285645,
+ "y": 4248.341676712036,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "4729b379.1be23c",
+ "54222992.1960d8",
+ "5189f56d.e57b74"
+ ]
+ ]
+ },
+ {
+ "id": "4729b379.1be23c",
+ "type": "set",
+ "name": "set l3-network-id = this l3-network",
+ "xml": "<set>\n<parameter name='l3-network-id' value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />\n",
+ "comments": "",
+ "x": 3835.666763305664,
+ "y": 4210.484645843506,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "886b4211.4bd9a",
+ "type": "switchNode",
+ "name": "switch l3-network-id",
+ "xml": "<switch test='`$l3-network-id`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1310.7620468139648,
+ "y": 4262.842268943787,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "74e3a542.ce5c34"
+ ]
+ ]
+ },
+ {
+ "id": "74e3a542.ce5c34",
+ "type": "outcome",
+ "name": "-1",
+ "xml": "<outcome value='-1'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1480.7619972229004,
+ "y": 4262.842024803162,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "c374836e.37fed8"
+ ]
+ ]
+ },
+ {
+ "id": "d4235437.829c38",
+ "type": "switchNode",
+ "name": "switch input model-invariant-uuid",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 616.9525375366211,
+ "y": 2569.7856969833374,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "ff6622a4.df1be",
+ "cb85aa4.8fd2d58"
+ ]
+ ]
+ },
+ {
+ "id": "ff6622a4.df1be",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 822.6192092895508,
+ "y": 2546.9286603927612,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "30224228.963f36"
+ ]
+ ]
+ },
+ {
+ "id": "cb85aa4.8fd2d58",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 824.0478057861328,
+ "y": 2591.2142515182495,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "5a4f9595.634e9c"
+ ]
+ ]
+ },
+ {
+ "id": "5a4f9595.634e9c",
+ "type": "set",
+ "name": "set from input",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`' />\n",
+ "comments": "",
+ "x": 978.3335418701172,
+ "y": 2590.6428236961365,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "1a70dac.17cd8a5",
+ "type": "set",
+ "name": "set from DB",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'\n value='`$db.vf-model.uuid`' />\n",
+ "comments": "",
+ "x": 974.0477333068848,
+ "y": 2635.4999294281006,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "d7771a1c.3c6348",
+ "type": "switchNode",
+ "name": "switch input model-uuid",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 589.5715560913086,
+ "y": 2658.3244342803955,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "c16c7be1.296e98",
+ "37c94a54.90c536"
+ ]
+ ]
+ },
+ {
+ "id": "c16c7be1.296e98",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 823.5715293884277,
+ "y": 2635.467366218567,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "1a70dac.17cd8a5"
+ ]
+ ]
+ },
+ {
+ "id": "37c94a54.90c536",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 825.0001258850098,
+ "y": 2679.752957344055,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "857b4df6.43f238"
+ ]
+ ]
+ },
+ {
+ "id": "857b4df6.43f238",
+ "type": "set",
+ "name": "set from input",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`' />\n",
+ "comments": "",
+ "x": 979.2858619689941,
+ "y": 2679.181529521942,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "2709bb13.2feecc",
+ "type": "set",
+ "name": "set from DB",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'\n value='`$db.vf-model.version`' />\n",
+ "comments": "",
+ "x": 971.1906661987305,
+ "y": 2724.3571367263794,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "6a3932df.a191e4",
+ "type": "switchNode",
+ "name": "switch input model-version",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 597.714427947998,
+ "y": 2747.1815814971924,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "cc5bd4f7.75a8d",
+ "d224df1c.f2e0d8"
+ ]
+ ]
+ },
+ {
+ "id": "cc5bd4f7.75a8d",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 820.714412689209,
+ "y": 2724.324543952942,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "2709bb13.2feecc"
+ ]
+ ]
+ },
+ {
+ "id": "d224df1c.f2e0d8",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 822.143009185791,
+ "y": 2768.61013507843,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "8204943d.4c85a"
+ ]
+ ]
+ },
+ {
+ "id": "8204943d.4c85a",
+ "type": "set",
+ "name": "set from input",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`' />\n",
+ "comments": "",
+ "x": 976.4287452697754,
+ "y": 2768.038707256317,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "1f9db65f.71417a",
+ "type": "set",
+ "name": "set from DB",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'\n value='`$db.vf-model.name`' />\n",
+ "comments": "",
+ "x": 971.1906661987305,
+ "y": 2811.4999589920044,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "ba43d064.2bf358",
+ "type": "switchNode",
+ "name": "switch input model-name",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 592.714427947998,
+ "y": 2834.3244037628174,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "e920eacf.c85db",
+ "62906e0a.a907e"
+ ]
+ ]
+ },
+ {
+ "id": "e920eacf.c85db",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 820.714412689209,
+ "y": 2811.467366218567,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "1f9db65f.71417a"
+ ]
+ ]
+ },
+ {
+ "id": "62906e0a.a907e",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 822.143009185791,
+ "y": 2855.752957344055,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "ced1f56b.7c6248"
+ ]
+ ]
+ },
+ {
+ "id": "ced1f56b.7c6248",
+ "type": "set",
+ "name": "set from input",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`' />\n",
+ "comments": "",
+ "x": 976.4287452697754,
+ "y": 2855.181529521942,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "65cc69a1.7d4018",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2245.6667251586914,
+ "y": 4112.999774932861,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "d20d55e5.845528",
+ "type": "outcome",
+ "name": "PendingDelete",
+ "xml": "<outcome value='PendingDelete'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2090.333366394043,
+ "y": 4067.999689102173,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "b98d1a52.3774"
+ ]
+ ]
+ },
+ {
+ "id": "b98d1a52.3774",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2245.5474586486816,
+ "y": 4068.776566505432,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "d8961e04.47a09",
+ "type": "outcome",
+ "name": "Pending Create",
+ "xml": "<outcome value='Pending Create'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2092.333366394043,
+ "y": 4024.666193008423,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "4552f1d0.132aa"
+ ]
+ ]
+ },
+ {
+ "id": "4552f1d0.132aa",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2245.5474586486816,
+ "y": 4025.443070411682,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "6b197918.4b35",
+ "type": "outcome",
+ "name": "PendingCreate",
+ "xml": "<outcome value='PendingCreate'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2092.333366394043,
+ "y": 3981.332941055298,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "1c2107f2.1dd77"
+ ]
+ ]
+ },
+ {
+ "id": "1c2107f2.1dd77",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2245.5474586486816,
+ "y": 3982.109818458557,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "5bf4954f.7a431c",
+ "type": "for",
+ "name": "for each A&AI subnet",
+ "xml": "<for index='subnet-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1778.7143936157227,
+ "y": 4402.047110080719,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "cefc1963.652428"
+ ]
+ ]
+ },
+ {
+ "id": "48890473.4cc4e4",
+ "type": "set",
+ "name": "set subnet_length",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`' />\n",
+ "comments": "",
+ "x": 1767.380958557129,
+ "y": 4447.04719209671,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "54b8c442.c1469c",
+ "type": "set",
+ "name": "set availability-zones.max-count and length",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.max-count'\n value='`$db.vf-model.avail-zone-max-count`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone_length'\n value='`$aai.cloud-region.availability-zones.availability-zone_length`' />\n",
+ "comments": "",
+ "x": 553.0001564025879,
+ "y": 5646.547995567322,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "f4822626.6784a",
+ "type": "set",
+ "name": "set vnf-name",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name'\n value='`$tmp.vnf-name`' />\n",
+ "comments": "",
+ "x": 553.8333511352539,
+ "y": 2503.8334608078003,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "c0f7e6fd.82944",
+ "type": "save",
+ "name": "update generic-vnf",
+ "xml": "<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"generic-vnf\"\n key=\"generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"vnf-name\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name`\" />\n<parameter name=\"prov-status\" value=\"PREPROV\" />\n<!-- <parameter name=\"operational-status\" value=\"out-of-service-path\" /> -->\n<parameter name=\"equipment-role\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role`\" />\n<parameter name=\"model-invariant-id\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid`\" />\n<parameter name=\"model-version-id\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid`\" />\n<parameter name=\"model-customization-id\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid`\" />\n<parameter name=\"in-maint\" value=\"true\" />\n<parameter name=\"selflink\" value=\"`$vnf-object-path`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 473.33342361450195,
+ "y": 5856.213758468628,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "7a955a19.a2beec",
+ "8245dddc.98b7b8"
+ ]
+ ]
+ },
+ {
+ "id": "b69c7bea.5b8f98",
+ "type": "set",
+ "name": "set vnf-object-path",
+ "xml": "<set>\n<parameter name='vnf-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vnf-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 + $vnf-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'`\"/>\n",
+ "comments": "",
+ "x": 473.3334617614746,
+ "y": 5786.214241027832,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "779ef85a.752e58",
+ "type": "set",
+ "name": "set vnf-id",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id'\n value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n",
+ "comments": "",
+ "x": 542.1666946411133,
+ "y": 2455.5000038146973,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "b8b61871.289a38",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vnf.log' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 447.8454360961914,
+ "y": 6422.226758003235,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "70b9d92d.cfcaf",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1209.3574676513672,
+ "y": 5679.833315849304,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "e0daa6a.dcf31d8"
+ ]
+ ]
+ },
+ {
+ "id": "8019290f.d9e57",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1217.928897857666,
+ "y": 5724.119029045105,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "ca1e10f7.f5af08"
+ ]
+ ]
+ },
+ {
+ "id": "7a955a19.a2beec",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 647.6907539367676,
+ "y": 5834.833353996277,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "2e13fdd8.c6ad92"
+ ]
+ ]
+ },
+ {
+ "id": "8245dddc.98b7b8",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 656.2621841430664,
+ "y": 5879.119067192078,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "eba4fe8c.3ea98"
+ ]
+ ]
+ },
+ {
+ "id": "f7b6f1fc.97c858",
+ "type": "set",
+ "name": "set model-customization-uuid",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />\n",
+ "comments": "",
+ "x": 605.5000152587891,
+ "y": 2907.1666078567505,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "8379176c.854518",
+ "type": "execute",
+ "name": "split related-link",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\n <parameter name='ctx_memory_result_key' value='aai-uid-split' />\n <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />\n <parameter name='regex' value='/' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1427.6903991699219,
+ "y": 3027.1517295837402,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "8b3ae97b.251a1",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1213.3571014404297,
+ "y": 3073.8185176849365,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "8379176c.854518",
+ "d417f4d3.21848",
+ "7176fd8c.2fbd64"
+ ]
+ ]
+ },
+ {
+ "id": "7176fd8c.2fbd64",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 1397.357063293457,
+ "y": 3117.1518144607544,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "87ffb6ef.f80298",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 785.0000953674316,
+ "y": 5557.628111839294,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "bc615b55.663bf",
+ "54f75326.6021ac"
+ ]
+ ]
+ },
+ {
+ "id": "54f75326.6021ac",
+ "type": "save",
+ "name": "save generic-vnf availability-zone relationship",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"generic-vnf:relationship-list\"\n key=\"generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"availability-zone\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"cloud-region.cloud-owner\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$prop.cloud-region.cloud-owner`\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[1].relationship-key\" value=\"cloud-region.cloud-region-id\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[1].relationship-value\" value=\"`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[2].relationship-key\" value=\"availability-zone.availability-zone-name\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[2].relationship-value\" value=\"`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1078.3334846496582,
+ "y": 5580.9615659713745,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "43faed04.0b6094",
+ "82cc2525.32135"
+ ]
+ ]
+ },
+ {
+ "id": "43faed04.0b6094",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1343.1667366027832,
+ "y": 5561.833388328552,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "662f403a.490a78"
+ ]
+ ]
+ },
+ {
+ "id": "82cc2525.32135",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1351.738166809082,
+ "y": 5606.119101524353,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "bf452558.9a9008"
+ ]
+ ]
+ },
+ {
+ "id": "c3672ff4.a17f",
+ "type": "set",
+ "name": "set mapping rows to 0",
+ "xml": "<set>\n<parameter name='db.vf-network-role-mapping_length' value='0' />\n",
+ "comments": "",
+ "x": 1164.3094863891602,
+ "y": 3321.437578201294,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "d350e16f.3e261",
+ "type": "switchNode",
+ "name": "switch AAI availability-zone_length",
+ "xml": "<switch test='`$aai.cloud-region.availability-zones.availability-zone_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 525.7143821716309,
+ "y": 5461.437698364258,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "c37c195.a21eb68"
+ ]
+ ]
+ },
+ {
+ "id": "c37c195.a21eb68",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 744.2858009338379,
+ "y": 5461.009107589722,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "8b2d772a.c6035"
+ ]
+ ]
+ },
+ {
+ "id": "609ae975.3eddb8",
+ "type": "set",
+ "name": "set availability-zone_length to 0",
+ "xml": "<set>\n<parameter name='aai.cloud-region.availability-zones.availability-zone_length' value='0' />\n",
+ "comments": "",
+ "x": 1345.714443206787,
+ "y": 5479.580345153809,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "8b2d772a.c6035",
+ "type": "switchNode",
+ "name": "switch AZ max count > 0",
+ "xml": "<switch test='`$db.vf-model.avail-zone-max-count > 0`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 932.8572731018066,
+ "y": 5461.43741941452,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "e3d0a053.f7b56",
+ "cc1abe7a.9fa1e8"
+ ]
+ ]
+ },
+ {
+ "id": "e3d0a053.f7b56",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1135.7143802642822,
+ "y": 5435.723169326782,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "cf09642d.dcd6b"
+ ]
+ ]
+ },
+ {
+ "id": "cc1abe7a.9fa1e8",
+ "type": "outcomeFalse",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1137.1430015563965,
+ "y": 5480.008916854858,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "609ae975.3eddb8"
+ ]
+ ]
+ },
+ {
+ "id": "b0ee28b4.7573a8",
+ "type": "execute",
+ "name": "execute PropertiesNode",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 563.5357437133789,
+ "y": 240.4255886077881,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "241fabfe.69fa2c",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 770.6190414428711,
+ "y": 1905.2470073699951,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "f0c5497d.1fa168"
+ ]
+ ]
+ },
+ {
+ "id": "15d4f6ac.d5e021",
+ "type": "switchNode",
+ "name": "switch ecomp-naming",
+ "xml": "<switch test='`$db.vf-model.ecomp-generated-naming`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1148.2384300231934,
+ "y": 1805.961443901062,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "711480e9.dbef28",
+ "2199667e.3808aa",
+ "eaee02d.8418f"
+ ]
+ ]
+ },
+ {
+ "id": "f0c5497d.1fa168",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 916.3335418701172,
+ "y": 1905.247124671936,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "15d4f6ac.d5e021",
+ "319f96a9.08ead2"
+ ]
+ ]
+ },
+ {
+ "id": "2199667e.3808aa",
+ "type": "outcome",
+ "name": "N",
+ "xml": "<outcome value='N'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1334.6668167114258,
+ "y": 1806.4375705718994,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "ad1b7833.2d89a"
+ ]
+ ]
+ },
+ {
+ "id": "711480e9.dbef28",
+ "type": "outcome",
+ "name": "Y",
+ "xml": "<outcome value='Y'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1334.6668090820312,
+ "y": 1765.0090246200562,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "72fee52.6ade19c"
+ ]
+ ]
+ },
+ {
+ "id": "eaee02d.8418f",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1334.6667556762695,
+ "y": 1849.2947025299072,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "ad1b7833.2d89a"
+ ]
+ ]
+ },
+ {
+ "id": "72fee52.6ade19c",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1471.809726715088,
+ "y": 1765.151891708374,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "f80604c.1fec1f8",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 755.8097686767578,
+ "y": 2259.866183280945,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "1d97b077.4371"
+ ]
+ ]
+ },
+ {
+ "id": "1d97b077.4371",
+ "type": "set",
+ "name": "set tmp.vnf-name",
+ "xml": "<set>\n<parameter name='tmp.vnf-name' value=\"`$vnf-topology-operation-input.vnf-information.vnf-name`\" />\n",
+ "comments": "",
+ "x": 921.5717315673828,
+ "y": 2258.7234535217285,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "2b8a3d28.12eada",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:generate-unique-name",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='generate-unique-name' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1806.643009185791,
+ "y": 1955.0089440345764,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "59b40ce2.443a14",
+ "b8f390d9.9644b"
+ ]
+ ]
+ },
+ {
+ "id": "59b40ce2.443a14",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2083.7858123779297,
+ "y": 1928.5804772377014,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "841445e5.523fe"
+ ]
+ ]
+ },
+ {
+ "id": "b8f390d9.9644b",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2088.5475578308105,
+ "y": 1973.9613881111145,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "c9312147.c268c8"
+ ]
+ ]
+ },
+ {
+ "id": "cdd8e1f0.243448",
+ "type": "set",
+ "name": "set variables for generating unique name",
+ "xml": "<set>\n<parameter name='generate-unique-name-input.action' value='ASSIGN' />\n<parameter name='generate-unique-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='generate-unique-name-input.index-table-name' value='VNF_NAME_INDEX' />\n<parameter name='generate-unique-name-input.index-table-prefix-column' value='vnf_name_prefix' />\n<parameter name='generate-unique-name-input.name-table-type' value='VNF_INSTANCE' />\n<parameter name='generate-unique-name-input.prefix' value=\"`'z' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region + $db.vf-model.nf-code`\" />\n",
+ "comments": "",
+ "x": 1761.6432609558105,
+ "y": 1906.1042637825012,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "c9312147.c268c8",
+ "type": "set",
+ "name": "set tmp.vnf-name to generated name",
+ "xml": "<set>\n<parameter name='tmp.vnf-name' value='`$generate-unique-name-output.generated-name`' />\n",
+ "comments": "",
+ "x": 2311.4519538879395,
+ "y": 1973.4374632835388,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "319f96a9.08ead2",
+ "type": "switchNode",
+ "name": "switch naming-policy",
+ "xml": "<switch test='`$db.vf-model.naming-policy`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1146.024013519287,
+ "y": 2014.2470607757568,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "8a5a017e.752c18",
+ "a132177.4ea1768"
+ ]
+ ]
+ },
+ {
+ "id": "8a5a017e.752c18",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1336.0239448547363,
+ "y": 1935.675615310669,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "bffcbc52.3223c"
+ ]
+ ]
+ },
+ {
+ "id": "a132177.4ea1768",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1336.2621841430664,
+ "y": 2063.056559562683,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "a0656517.5bca38"
+ ]
+ ]
+ },
+ {
+ "id": "bffcbc52.3223c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1488.8812141418457,
+ "y": 1934.2470817565918,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "cdd8e1f0.243448",
+ "2b8a3d28.12eada"
+ ]
+ ]
+ },
+ {
+ "id": "7998869c.3c0bd",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:naming-policy-generate-name",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1827.9291381835938,
+ "y": 2078.770941257477,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "57af4cbf.e1b474",
+ "d28171a6.a4093"
+ ]
+ ]
+ },
+ {
+ "id": "a0656517.5bca38",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1490.786033630371,
+ "y": 2063.056559562683,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "db8c85e7.7b71c8",
+ "7998869c.3c0bd"
+ ]
+ ]
+ },
+ {
+ "id": "db8c85e7.7b71c8",
+ "type": "set",
+ "name": "set variables for generating name",
+ "xml": "<set>\n<parameter name='naming-policy-generate-name-input.policy-instance-name' value='`$db.vf-model.naming-policy`' />\n<parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\n<parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='naming-policy-generate-name-input.action' value='ASSIGN' />\n<parameter name='naming-policy-generate-name-input.query-parameter' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />",
+ "comments": "",
+ "x": 1737.929054260254,
+ "y": 2033.05659532547,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "b52c81d4.1a1f08",
+ "type": "set",
+ "name": "set tmp.vnf-name to generated name",
+ "xml": "<set>\n<parameter name='tmp.vnf-name' value='`$naming-policy-generate-name-output.vnf-name`' />\n",
+ "comments": "",
+ "x": 2387.7861099243164,
+ "y": 2098.770751953125,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "e74586be.b8e6f8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1954.0475997924805,
+ "y": 6545.819259643555,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "fcbc941a.75b4b8",
+ "5e0caa6d.e903f4",
+ "fef2b74e.207f2",
+ "ae834aa6.55d6c"
+ ]
+ ]
+ },
+ {
+ "id": "57af4cbf.e1b474",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2126.095184326172,
+ "y": 2053.6994485855103,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "95c2eab0.a4313"
+ ]
+ ]
+ },
+ {
+ "id": "d28171a6.a4093",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2130.8569297790527,
+ "y": 2099.0803594589233,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "b52c81d4.1a1f08"
+ ]
+ ]
+ },
+ {
+ "id": "1677d157.c65a77",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 781.3332824707031,
+ "y": 1408.666666984558,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "e4f063d3.c2f668",
+ "d72cd4af.95669"
+ ]
+ ]
+ },
+ {
+ "id": "93239a74.eab46",
+ "type": "for",
+ "name": "for each instance group id",
+ "xml": "<for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 564.6666297912598,
+ "y": 1409.333312034607,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "1677d157.c65a77"
+ ]
+ ]
+ },
+ {
+ "id": "e4f063d3.c2f668",
+ "type": "get-resource",
+ "name": "get-resource instance-group",
+ "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"instance-group\" \n\t\tkey=\"instance-group.id = $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\"\n pfx='aai.instance-group' local-only='false' >\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1009.3333206176758,
+ "y": 1340.3334255218506,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "2d4e4bf5.37f93c",
+ "27b813e1.4ee81c"
+ ]
+ ]
+ },
+ {
+ "id": "27b813e1.4ee81c",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1226.912612915039,
+ "y": 1371.8174781799316,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "4e3d9218.a643dc"
+ ]
+ ]
+ },
+ {
+ "id": "2d4e4bf5.37f93c",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1235.8414459228516,
+ "y": 1308.4366302490234,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "961d4497.b1f5b"
+ ]
+ ]
+ },
+ {
+ "id": "d72cd4af.95669",
+ "type": "for",
+ "name": "for each relationship",
+ "xml": "<for index='rel-index' start='0' end='`$aai.instance-group.relationship-list.relationship_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 986.3332977294922,
+ "y": 1480.3333644866943,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "b3fe8ef5.7f7b08"
+ ]
+ ]
+ },
+ {
+ "id": "b3fe8ef5.7f7b08",
+ "type": "switchNode",
+ "name": "switch related-to",
+ "xml": "<switch test='`$aai.instance-group.relationship-list.relationship[$rel-index].related-to`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1199.6667404174805,
+ "y": 1480.333303451538,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "6c3837b.20f1348"
+ ]
+ ]
+ },
+ {
+ "id": "6c3837b.20f1348",
+ "type": "outcome",
+ "name": "collection",
+ "xml": "<outcome value='collection'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1371.3333778381348,
+ "y": 1480.3333854675293,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "d9f8f3cd.64b7b8"
+ ]
+ ]
+ },
+ {
+ "id": "d9f8f3cd.64b7b8",
+ "type": "get-resource",
+ "name": "get-resource collection",
+ "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"collection\" \n\t\tkey=\"collection.collection-id = $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value\"\n pfx='aai.collection' local-only='false' >\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1591.3332824707031,
+ "y": 1478.6666469573975,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "f170a79a.1b1ac",
+ "9189a100.b52d78",
+ "e1621aae.8a7778"
+ ]
+ ]
+ },
+ {
+ "id": "9189a100.b52d78",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1805.579475402832,
+ "y": 1430.1508359909058,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "966a3052.be8b78"
+ ]
+ ]
+ },
+ {
+ "id": "f170a79a.1b1ac",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1814.508071899414,
+ "y": 1388.4365692138672,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "e5dc44b5.d3f17"
+ ]
+ ]
+ },
+ {
+ "id": "e1621aae.8a7778",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1824.666790008545,
+ "y": 1591.9999542236328,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "23c6675b.1dfc4"
+ ]
+ ]
+ },
+ {
+ "id": "23c6675b.1dfc4",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1977.9999313354492,
+ "y": 1591.3332500457764,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "9e02f3b5.206e98",
+ "8992318d.0d7de",
+ "748a871e.ccc29",
+ "22797e19.563542",
+ "1a7acef5.2220b1"
+ ]
+ ]
+ },
+ {
+ "id": "9e02f3b5.206e98",
+ "type": "for",
+ "name": "for each network-instance-group",
+ "xml": "<for silentFailure='true' index='nig-index' start='0' end='`$service-data.network-instance-groups.network-instance-group_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2290.619071960449,
+ "y": 1540.5715045928955,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "ff455704.dd71a8"
+ ]
+ ]
+ },
+ {
+ "id": "8992318d.0d7de",
+ "type": "set",
+ "name": "set found-network-instance-group to false",
+ "xml": "<set>\n<parameter name='found-network-instance-group' value='false' />\n",
+ "comments": "",
+ "x": 2320.6190338134766,
+ "y": 1493.9048767089844,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "ff455704.dd71a8",
+ "type": "switchNode",
+ "name": "network-instance-group-id matches?",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\n == $service-data.network-instance-groups.network-instance-group[$nig-index].network-instance-group-id`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2607.2855834960938,
+ "y": 1540.5715036392212,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "add4fb90.7b64c"
+ ]
+ ]
+ },
+ {
+ "id": "add4fb90.7b64c",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2828.952362060547,
+ "y": 1540.5714683532715,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "c85d2956.aba338"
+ ]
+ ]
+ },
+ {
+ "id": "c85d2956.aba338",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2958.952392578125,
+ "y": 1540.5715446472168,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "40850f47.7a7e78",
+ "52b6fff4.bf5a48"
+ ]
+ ]
+ },
+ {
+ "id": "40850f47.7a7e78",
+ "type": "set",
+ "name": "set found-network-instance-group to true",
+ "xml": "<set>\n<parameter name='found-network-instance-group' value='true' />\n",
+ "comments": "",
+ "x": 3232.285758972168,
+ "y": 1515.5715236663818,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "52b6fff4.bf5a48",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 3125.619373321533,
+ "y": 1563.904893875122,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "748a871e.ccc29",
+ "type": "switchNode",
+ "name": "switch found-network-instance-group",
+ "xml": "<switch test='`$found-network-instance-group`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2302.285690307617,
+ "y": 1590.5714855194092,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "88c71dfb.666f4"
+ ]
+ ]
+ },
+ {
+ "id": "88c71dfb.666f4",
+ "type": "outcomeFalse",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2523.952537536621,
+ "y": 1590.5715079307556,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "19fba1ff.3d7996"
+ ]
+ ]
+ },
+ {
+ "id": "a88c2f3d.bf4fa8",
+ "type": "set",
+ "name": "set tmp.vnf-network-collection_length to 0",
+ "xml": "<set>\n<parameter name='tmp.vnf-network-collection_length' value='0' />\n",
+ "comments": "",
+ "x": 612.9999694824219,
+ "y": 1360.3334436416626,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "22797e19.563542",
+ "type": "set",
+ "name": "set vnf-network-collection data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-function'\n value='`$aai.instance-group.instance-group-function`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-id'\n value='`$aai.instance-group.id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-service-instance-id'\n value='`$service-data.network-instance-groups.network-instance-group[$nig-index].service-instance-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-customization-uuid'\n value='`$aai.collection.collection-customization-id`' />\n",
+ "comments": "",
+ "x": 2282.2860145568848,
+ "y": 1638.904821395874,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "1a7acef5.2220b1",
+ "type": "set",
+ "name": "increment tmp.vnf-network-collection_length",
+ "xml": "<set>\n<parameter name='tmp.vnf-network-collection_length' value='`$tmp.vnf-network-collection_length + 1`' />\n",
+ "comments": "",
+ "x": 2323.95272064209,
+ "y": 1685.5714893341064,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "3e36f71.f2f0b88",
+ "type": "set",
+ "name": "set vnf-network-collection_length",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection_length'\n value='`$tmp.vnf-network-collection_length`' />\n",
+ "comments": "",
+ "x": 592.1666641235352,
+ "y": 1617.8333930969238,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "6e06d5a1.039e24",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 710.0000457763672,
+ "y": 5950.80961894989,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "15f88503.d536cb"
+ ]
+ ]
+ },
+ {
+ "id": "b3a3b6d8.b3b1a",
+ "type": "for",
+ "name": "for each instance group id",
+ "xml": "<for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 493.3333930969238,
+ "y": 5951.476263999939,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "6e06d5a1.039e24"
+ ]
+ ]
+ },
+ {
+ "id": "15f88503.d536cb",
+ "type": "save",
+ "name": "save generic-vnf relationship to instance-group",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"generic-vnf:relationship-list\"\n key=\"generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-information.vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"instance-group\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/instance-groups/instance-group/'\n + $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 993.3333740234375,
+ "y": 5950.333299636841,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "ab9ecf4.f4a9ab",
+ "7760b70d.6ce06"
+ ]
+ ]
+ },
+ {
+ "id": "ab9ecf4.f4a9ab",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1252.6905975341797,
+ "y": 5927.285715103149,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "1ce1d0e3.b09f8f"
+ ]
+ ]
+ },
+ {
+ "id": "7760b70d.6ce06",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1261.2620277404785,
+ "y": 5971.57142829895,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "85592822.f54ce"
+ ]
+ ]
+ },
+ {
+ "id": "5621d64.66c8228",
+ "type": "switchNode",
+ "name": "switch subnet_length",
+ "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1314.9047927856445,
+ "y": 4383.428667068481,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "590fbfa.56ffd4",
+ "55fd7e77.380188",
+ "5c002b3b.bf14dc"
+ ]
+ ]
+ },
+ {
+ "id": "590fbfa.56ffd4",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1487.7619552612305,
+ "y": 4346.285726547241,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "c908a6ad.557b18"
+ ]
+ ]
+ },
+ {
+ "id": "55fd7e77.380188",
+ "type": "outcome",
+ "name": "0",
+ "xml": "<outcome value='0'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1489.1905250549316,
+ "y": 4384.856889724731,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "c908a6ad.557b18"
+ ]
+ ]
+ },
+ {
+ "id": "5c002b3b.bf14dc",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1487.7619895935059,
+ "y": 4423.428281784058,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "42d5e987.8ca46"
+ ]
+ ]
+ },
+ {
+ "id": "42d5e987.8ca46",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1609.190544128418,
+ "y": 4423.428548812866,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "5bf4954f.7a431c",
+ "48890473.4cc4e4"
+ ]
+ ]
+ },
+ {
+ "id": "c908a6ad.557b18",
+ "type": "set",
+ "name": "set subnet_length to 0",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'\n value='0' />\n",
+ "comments": "",
+ "x": 1680.6191482543945,
+ "y": 4354.856889724731,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "525bcd69.d52c4c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 298.0793991088867,
+ "y": 420.11908626556396,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "b0ee28b4.7573a8",
+ "65b55bf0.e17c94",
+ "c29453e1.d0b3d8",
+ "3f69e8e3.cf5be8",
+ "819ca24a.f2412",
+ "4ce50465.9ccc0c",
+ "5369940c.e48364"
+ ]
+ ]
+ },
+ {
+ "id": "cefc1963.652428",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1950.3810005187988,
+ "y": 4402.032744407654,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "bfb8729.d25369",
+ "1546bd44.dac763",
+ "c11ff570.face3",
+ "b2dc37a2.39945"
+ ]
+ ]
+ },
+ {
+ "id": "680457ce.355c7",
+ "type": "set",
+ "name": "clear aai.l3-network",
+ "xml": "<set>\n<parameter name='aai.l3-network.' value='' />\n",
+ "comments": "",
+ "x": 1301.8095703125,
+ "y": 3456.3182973861694,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "54222992.1960d8",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 3750.6663818359375,
+ "y": 4302.032426834106,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "16ed0d4.c25bbf3",
+ "type": "set",
+ "name": "set found-network to false",
+ "xml": "<set>\n<parameter name='found-network' value='false' />\n",
+ "comments": "",
+ "x": 1450.380973815918,
+ "y": 4007.7468309402466,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "e8b88764.0e454",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2422.0952796936035,
+ "y": 4162.032627105713,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "81eba499.0af278",
+ "8cc5b790.718ca"
+ ]
+ ]
+ },
+ {
+ "id": "8cc5b790.718ca",
+ "type": "switchNode",
+ "name": "switch found-network",
+ "xml": "<switch test='`$found-network`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2613.523826599121,
+ "y": 4192.032681465149,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "8e56c1e2.9c47b"
+ ]
+ ]
+ },
+ {
+ "id": "5189f56d.e57b74",
+ "type": "set",
+ "name": "set found-network to true",
+ "xml": "<set>\n<parameter name='found-network' value='true' />\n",
+ "comments": "",
+ "x": 3806.381259918213,
+ "y": 4256.3181076049805,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "8e56c1e2.9c47b",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2782.095317840576,
+ "y": 4192.0326108932495,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "56545bb.806fe24"
+ ]
+ ]
+ },
+ {
+ "id": "56545bb.806fe24",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 2912.095386505127,
+ "y": 4190.604004859924,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "852f0b12.336648",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1622.3809967041016,
+ "y": 4135.746905326843,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "b772b2db.6bf188",
+ "aaa6bab8.ec80f"
+ ]
+ ]
+ },
+ {
+ "id": "aaa6bab8.ec80f",
+ "type": "switchNode",
+ "name": "switch found-network",
+ "xml": "<switch test='`$found-network`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1832.3809509277344,
+ "y": 4207.746788978577,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "ae15eed2.e4fa88"
+ ]
+ ]
+ },
+ {
+ "id": "ae15eed2.e4fa88",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2000.9524421691895,
+ "y": 4207.746718406677,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "290a5acd.b811fe"
+ ]
+ ]
+ },
+ {
+ "id": "290a5acd.b811fe",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 2130.9525108337402,
+ "y": 4206.318112373352,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "c11ff570.face3",
+ "type": "set",
+ "name": "set subnet data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].ip-version'\n value='`$tmp.ip-version`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-id'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].neutron-subnet-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].sdnc-subnet-id'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-role'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-name'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-name`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].network-start-address'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].network-start-address`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].gateway-address'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].gateway-address`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].cidr-mask'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].cidr-mask`' />\n",
+ "comments": "",
+ "x": 2104.6667671203613,
+ "y": 4432.714490890503,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "b2dc37a2.39945",
+ "type": "switchNode",
+ "name": "switch dhcp-enabled",
+ "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].dhcp-enabled`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2119.1905479431152,
+ "y": 4485.557444572449,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "cd2523f4.0b1db8",
+ "2a325c94.48677c"
+ ]
+ ]
+ },
+ {
+ "id": "cd2523f4.0b1db8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2282.047712598528,
+ "y": 4464.1288022994995,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "5385445e.1587b4"
+ ]
+ ]
+ },
+ {
+ "id": "2a325c94.48677c",
+ "type": "outcomeFalse",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2280.6190452575684,
+ "y": 4509.843228340149,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "83b7359e.e55738"
+ ]
+ ]
+ },
+ {
+ "id": "5385445e.1587b4",
+ "type": "set",
+ "name": "set dhcp-enabled to Y",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'\n value='Y' />\n",
+ "comments": "",
+ "x": 2454.9049110412598,
+ "y": 4462.700198173523,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "83b7359e.e55738",
+ "type": "set",
+ "name": "set dhcp-enabled to N",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'\n value='N' />\n",
+ "comments": "",
+ "x": 2452.047679901123,
+ "y": 4509.843228340149,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "bfb8729.d25369",
+ "type": "switchNode",
+ "name": "switch subnet-role",
+ "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2119.666717529297,
+ "y": 4314.605116844177,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "b3461715.a1c54"
+ ]
+ ]
+ },
+ {
+ "id": "b3461715.a1c54",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2286.333320617676,
+ "y": 4314.604768753052,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "3b809c11.157b54"
+ ]
+ ]
+ },
+ {
+ "id": "3b809c11.157b54",
+ "type": "set",
+ "name": "set subnet-role to NONE",
+ "xml": "<set>\n<parameter name='aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role' value='NONE' />\n",
+ "comments": "",
+ "x": 2468.0001068115234,
+ "y": 4313.93842124939,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "1546bd44.dac763",
+ "type": "switchNode",
+ "name": "switch ip-version",
+ "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].ip-version`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2114.9050521850586,
+ "y": 4379.096222877502,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "d33d7dba.02ad08",
+ "9e9034a9.798778"
+ ]
+ ]
+ },
+ {
+ "id": "d33d7dba.02ad08",
+ "type": "outcome",
+ "name": "4",
+ "xml": "<outcome value='4'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2280.6191940307617,
+ "y": 4360.524620056152,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "b8e9d995.95c2a8"
+ ]
+ ]
+ },
+ {
+ "id": "9e9034a9.798778",
+ "type": "outcome",
+ "name": "6",
+ "xml": "<outcome value='6'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2280.619155883789,
+ "y": 4401.953363418579,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "6716e11d.548a3"
+ ]
+ ]
+ },
+ {
+ "id": "b8e9d995.95c2a8",
+ "type": "set",
+ "name": "set tmp.ip-version to ipv4",
+ "xml": "<set>\n<parameter name='tmp.ip-version' value='ipv4' />\n",
+ "comments": "",
+ "x": 2467.7619590759277,
+ "y": 4359.667547225952,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "6716e11d.548a3",
+ "type": "set",
+ "name": "set tmp.ip-version to ipv6",
+ "xml": "<set>\n<parameter name='tmp.ip-version' value='ipv6' />\n",
+ "comments": "",
+ "x": 2466.333511352539,
+ "y": 4401.953365325928,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "f73eb405.e256b8",
+ "type": "switchNode",
+ "name": "switch network-role",
+ "xml": "<switch test='`$db.vf-network-role-mapping[$role-index].network-role`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 747.3332443237305,
+ "y": 4387.333273887634,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "a1e4bd7f.d5ea9",
+ "a8f001ac.33558",
+ "7a9134fc.396d14",
+ "39a7a020.ba1f58"
+ ]
+ ]
+ },
+ {
+ "id": "a1e4bd7f.d5ea9",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 915.4285087585449,
+ "y": 4285.66668510437,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "c630c62f.2e4b88"
+ ]
+ ]
+ },
+ {
+ "id": "a8f001ac.33558",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 913.999885559082,
+ "y": 4413.999873161316,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "febef76b.d8c79"
+ ]
+ ]
+ },
+ {
+ "id": "c630c62f.2e4b88",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1052.8095169067383,
+ "y": 4325.42826461792,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "f1e14dbb.a2c47",
+ "type": "get-resource",
+ "name": "get-resource VNF_RELATED_NETWORK_ROLE",
+ "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VNF_RELATED_NETWORK_ROLE where vnf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid\n and network_role = $db.vf-network-role-mapping[$role-index].network-role'\n pfx='db.vnf-related-network-role[]'>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1409.333339691162,
+ "y": 4717.079788208008,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "3772719.a8f170e",
+ "3270a935.e0fa9e"
+ ]
+ ]
+ },
+ {
+ "id": "3772719.a8f170e",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1678.0000038146973,
+ "y": 4547.746629714966,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "aac9396.609d348"
+ ]
+ ]
+ },
+ {
+ "id": "3270a935.e0fa9e",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1681.0000343322754,
+ "y": 4910.41314125061,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "bec6dac4.be5be"
+ ]
+ ]
+ },
+ {
+ "id": "bec6dac4.be5be",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1847.333339691162,
+ "y": 4908.412796020508,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "70df31da.fe5458",
+ "10dd5c97.f83c3b",
+ "93b3be63.c398e",
+ "8d286d93.2f6ff",
+ "ad5b3ac9.e19098",
+ "8ca661f6.f5d5f8",
+ "d71dcbd8.8dc7f",
+ "32376f69.700f08",
+ "96681242.82e6c"
+ ]
+ ]
+ },
+ {
+ "id": "29d3dc98.16bcd4",
+ "type": "outcome",
+ "name": "service-instance",
+ "xml": "<outcome value='service-instance'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2785.618808746338,
+ "y": 4080.651467323303,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "4ccf1527.e6d86c"
+ ]
+ ]
+ },
+ {
+ "id": "4ccf1527.e6d86c",
+ "type": "for",
+ "name": "for each relationship data",
+ "xml": "<for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3011.0946464538574,
+ "y": 4081.0800971984863,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "7aafe2ec.322514"
+ ]
+ ]
+ },
+ {
+ "id": "7aafe2ec.322514",
+ "type": "switchNode",
+ "name": "switch relationship-key",
+ "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3246.3332176208496,
+ "y": 4079.413528442383,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "9d6550c4.3622f8"
+ ]
+ ]
+ },
+ {
+ "id": "9d6550c4.3622f8",
+ "type": "outcome",
+ "name": "service-instance.service-instance-id",
+ "xml": "<outcome value='service-instance.service-instance-id'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3512.761577606201,
+ "y": 4079.413592338562,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "7003f69f.877238"
+ ]
+ ]
+ },
+ {
+ "id": "7003f69f.877238",
+ "type": "set",
+ "name": "set network-service-instance-id",
+ "xml": "<set>\n<parameter name='network-service-instance-id'\n value='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value`' />\n",
+ "comments": "",
+ "x": 3806.3333625793457,
+ "y": 4077.747007369995,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "70df31da.fe5458",
+ "type": "execute",
+ "name": "generate network-topology-identifier-structure url",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.network-topology-identifier-structure`\"/>\n <parameter name=\"outputPath\" value=\"tmp.part\"/>\n <parameter name=\"target\" value=\"{service-instance-id}\"/>\n <parameter name=\"replacement\" value=\"`$network-service-instance-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2166.6665077209473,
+ "y": 4604.080429077148,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "93b3be63.c398e",
+ "type": "execute",
+ "name": "execute RestApiCallNode - get network-topology-identifier-structure",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ntis-url`' />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='GET' />\n <parameter name=\"responsePrefix\" value=\"mdsal-ntis\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2223.666301727295,
+ "y": 4707.509169578552,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "ad3ea158.a938e8"
+ ]
+ ]
+ },
+ {
+ "id": "10dd5c97.f83c3b",
+ "type": "execute",
+ "name": "generate network-topology-identifier-structure url (part 2)",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.part`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ntis-url\"/>\n <parameter name=\"target\" value=\"{network-id}\"/>\n <parameter name=\"replacement\" value=\"`$l3-network-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2188.333095550537,
+ "y": 4647.413772583008,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "aac69396.6ddb18",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vnfa.log' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 493.6667137145996,
+ "y": 4554.079788208008,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "ad3ea158.a938e8",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2552.775489807129,
+ "y": 4707.259647369385,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "3ecadd51.2a79da"
+ ]
+ ]
+ },
+ {
+ "id": "8d286d93.2f6ff",
+ "type": "set",
+ "name": "set is-trunked and segmentation-id in vnf-network",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].is-trunked'\n value='`$mdsal-ntis.network-topology-identifier-structure.is-trunked`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].segmentation-id'\n value='`$mdsal-ntis.network-topology-identifier-structure.segmentation-id`' />\n ",
+ "comments": "",
+ "x": 2166.333324432373,
+ "y": 4767.746793746948,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "8ca661f6.f5d5f8",
+ "type": "save",
+ "name": "custom query: get owning entity",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"custom-query\"\n key=\"format = 'resource'\"\n force=\"true\"\n local-only=\"false\"\n pfx=\"tmp.AnAI-data.oe\">\n<parameter name=\"start[0]\" value=\"`'nodes/service-instances/service-instance?service-instance-id=' + $network-service-instance-id `\" />\n<parameter name=\"start_length\" value=\"1\" />\n<parameter name=\"query\" value=\"/query/owning-entity-fromService-instance\" /> \n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2107.3332176208496,
+ "y": 4843.080276489258,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "cb08c447.df52e8",
+ "3df62a76.46167e"
+ ]
+ ]
+ },
+ {
+ "id": "cb08c447.df52e8",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2317.5712661743164,
+ "y": 4821.74663066864,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "bd008d18.af7e28"
+ ]
+ ]
+ },
+ {
+ "id": "3df62a76.46167e",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2324.7141609191895,
+ "y": 4867.460855484009,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "e973673a.4d16f8"
+ ]
+ ]
+ },
+ {
+ "id": "57855376.396fb4",
+ "type": "save",
+ "name": "custom query: get tenant network",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"custom-query\"\n key=\"format = 'resource'\"\n force=\"true\"\n local-only=\"false\"\n pfx=\"tmp.AnAI-data.get-networks\">\n<parameter name=\"start[0]\" value=\"`'/business/owning-entities/owning-entity/' + $tmp.AnAI-data.oe.results[0].owning-entity.owning-entity-id `\" />\n<parameter name=\"start_length\" value=\"1\" />\n<parameter name=\"query\" value=\"`'/query/getNetworks?networkRole=' + $db.vnf-related-network-role[$rel-network-role-index].related-network-role\n + '&cloudRegionId=' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`\" /> \n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2557.0000343322754,
+ "y": 5016.080413818359,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "43d389bc.8dd5c",
+ "ba0b7d99.7e8938"
+ ]
+ ]
+ },
+ {
+ "id": "43d389bc.8dd5c",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2770.238082885742,
+ "y": 4994.746912956238,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "1b6474fa.c07123"
+ ]
+ ]
+ },
+ {
+ "id": "ba0b7d99.7e8938",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2777.3809776306152,
+ "y": 5040.461137771606,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "10aba7ed.de916"
+ ]
+ ]
+ },
+ {
+ "id": "17456206.9d075e",
+ "type": "for",
+ "name": "for each relationship",
+ "xml": "<for index='rel-index' start='0' end='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2524.0000343322754,
+ "y": 5142.0805587768555,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "ce79340.35758d"
+ ]
+ ]
+ },
+ {
+ "id": "ce79340.35758d",
+ "type": "switchNode",
+ "name": "switch related-to",
+ "xml": "<switch test='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship[$rel-index].related-to`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2722.0000343322754,
+ "y": 5142.0805587768555,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "fa4ca619.db292"
+ ]
+ ]
+ },
+ {
+ "id": "fa4ca619.db292",
+ "type": "outcome",
+ "name": "vlan-tag",
+ "xml": "<outcome value='vlan-tag'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2892.0000343322754,
+ "y": 5142.0805587768555,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "4c7222a4.15e9ac"
+ ]
+ ]
+ },
+ {
+ "id": "4c7222a4.15e9ac",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3060.0000343322754,
+ "y": 5140.0805587768555,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "43474b1d.d7ef7c",
+ "2b8c993e.dd7eb6",
+ "81bc4129.bb1c1"
+ ]
+ ]
+ },
+ {
+ "id": "43474b1d.d7ef7c",
+ "type": "set",
+ "name": "set vlan-tag-id",
+ "xml": "<set>\n<parameter name='vlan-tag-id' value='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value`' />\n",
+ "comments": "",
+ "x": 3236.0000343322754,
+ "y": 5100.0805587768555,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "2b8c993e.dd7eb6",
+ "type": "get-resource",
+ "name": "get-resource vlan-tag",
+ "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"vlan-tag\" \n\t\tkey=\"vlan-tag.vlan-tag-id = $vlan-tag-id\"\n pfx='aai.vlan-tag' local-only='false'\n>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3258.0000343322754,
+ "y": 5158.0805587768555,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "799d4f7d.0c1778",
+ "6628ce12.4c6d38"
+ ]
+ ]
+ },
+ {
+ "id": "799d4f7d.0c1778",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3438.0476417541504,
+ "y": 5140.2236251831055,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "6c186302.6806a4"
+ ]
+ ]
+ },
+ {
+ "id": "ad5b3ac9.e19098",
+ "type": "for",
+ "name": "for each related network role",
+ "xml": "<for index='rel-network-role-index' start='0' end='`$db.vnf-related-network-role_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2094.9999656677246,
+ "y": 5072.414123535156,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "742a4410.9dd994"
+ ]
+ ]
+ },
+ {
+ "id": "742a4410.9dd994",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2299.9999656677246,
+ "y": 5073.747268676758,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "57855376.396fb4",
+ "17456206.9d075e",
+ "7f19e15e.2c2ee8"
+ ]
+ ]
+ },
+ {
+ "id": "32376f69.700f08",
+ "type": "switchNode",
+ "name": "switch rn-index",
+ "xml": "<switch test='`$rn-index`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2055.9999656677246,
+ "y": 4962.080276489258,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "681bd084.d720e8"
+ ]
+ ]
+ },
+ {
+ "id": "d71dcbd8.8dc7f",
+ "type": "set",
+ "name": "set rn-index to related network length",
+ "xml": "<set>\n<parameter name='rn-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network_length`' />\n",
+ "comments": "",
+ "x": 2124.6665534973145,
+ "y": 4913.080129623413,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "681bd084.d720e8",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2219.9999656677246,
+ "y": 4962.080276489258,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "a757207e.80691"
+ ]
+ ]
+ },
+ {
+ "id": "a757207e.80691",
+ "type": "set",
+ "name": "set rn-index to 0",
+ "xml": "<set>\n<parameter name='rn-index' value='0' />\n",
+ "comments": "",
+ "x": 2379.9999656677246,
+ "y": 4962.080276489258,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "7f19e15e.2c2ee8",
+ "type": "set",
+ "name": "set related-network data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].network-id'\n value='`$tmp.AnAI-data.get-networks.results[0].l3-network.network-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].network-role'\n value='`$tmp.AnAI-data.get-networks.results[0].l3-network.network-role`' />\n",
+ "comments": "",
+ "x": 2527.6666221618652,
+ "y": 5072.747100830078,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "96681242.82e6c",
+ "type": "set",
+ "name": "set new related network length",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network_length'\n value='`$rn-index + 1`' />\n",
+ "comments": "",
+ "x": 2090.0000343322754,
+ "y": 5216.080413818359,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "6628ce12.4c6d38",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3440.0000343322754,
+ "y": 5188.080413818359,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "ee974e83.057d3"
+ ]
+ ]
+ },
+ {
+ "id": "ee974e83.057d3",
+ "type": "set",
+ "name": "set related-network data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.vlan-interface'\n value='`$aai.vlan-tag.vlan-tag-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.upper-tag-id'\n value='`$aai.vlan-tag.vlan-id-outer`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.lower-tag-id'\n value='`$aai.vlan-tag.vlan-id-inner`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.is-private'\n value='`$aai.vlan-tag.is-private`' />\n",
+ "comments": "",
+ "x": 3632.0000343322754,
+ "y": 5188.080413818359,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "81bc4129.bb1c1",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 3210.0000343322754,
+ "y": 5226.080413818359,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "50d3999e.8bb34",
+ "type": "comment",
+ "name": "temporary data issue: also ignore string \"null\" and \"NULL\"",
+ "info": "",
+ "comments": "",
+ "x": 886.3333473205566,
+ "y": 4245.842397689819,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "7a9134fc.396d14",
+ "type": "outcome",
+ "name": "null",
+ "xml": "<outcome value='null'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 913.4761695861816,
+ "y": 4328.69953918457,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "c630c62f.2e4b88"
+ ]
+ ]
+ },
+ {
+ "id": "39a7a020.ba1f58",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value='NULL'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 913.4761791229248,
+ "y": 4371.556611061096,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "c630c62f.2e4b88"
+ ]
+ ]
+ },
+ {
+ "id": "3f69e8e3.cf5be8",
+ "type": "switchNode",
+ "name": "switch input cloud-owner",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-request-input.cloud-owner`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 563.0000381469727,
+ "y": 419.4136428833008,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "f596a79e.8e433",
+ "4667755e.d66424"
+ ]
+ ]
+ },
+ {
+ "id": "f596a79e.8e433",
+ "type": "other",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 746.3334121704102,
+ "y": 389.413631439209,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "a299c564.3dfdb8"
+ ]
+ ]
+ },
+ {
+ "id": "4667755e.d66424",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 746.0953178405762,
+ "y": 430.3661251068115,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "ee8be88f.ffc97"
+ ]
+ ]
+ },
+ {
+ "id": "a299c564.3dfdb8",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 881.333366394043,
+ "y": 387.7469711303711,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "ee8be88f.ffc97",
+ "type": "set",
+ "name": "set prop.cloud-region.cloud-owner",
+ "xml": "<set>\n<parameter name='prop.cloud-region.cloud-owner' value='`$vnf-topology-operation-input.vnf-request-input.cloud-owner`' />\n",
+ "comments": "",
+ "x": 963.0000228881836,
+ "y": 429.41365242004395,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "819ca24a.f2412",
+ "type": "call",
+ "name": "call self-serve-vnf-forking-logic",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-forking-logic' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 580.8571624755859,
+ "y": 740.2142810821533,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "4ce50465.9ccc0c",
+ "type": "switchNode",
+ "name": "switch ss.self-serve-flag",
+ "xml": "<switch test=\"`$ss.self-serve-flag`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 560.9998779296875,
+ "y": 905.7857685089111,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "b05ed7a0.f4e1f8",
+ "8e5a3910.2353a"
+ ]
+ ]
+ },
+ {
+ "id": "b05ed7a0.f4e1f8",
+ "type": "outcomeFalse",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 772.7140350341797,
+ "y": 979.0710525512695,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "73e62b5e.2d2d24"
+ ]
+ ]
+ },
+ {
+ "id": "8e5a3910.2353a",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 772.2855529785156,
+ "y": 842.6428861618042,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "7c56b4f9.aca0c4"
+ ]
+ ]
+ },
+ {
+ "id": "2d48d63d.1a5b82",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 952.4444923400879,
+ "y": 541.3888673782349,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "d6025c47.4904b",
+ "73468fad.c71778"
+ ]
+ ]
+ },
+ {
+ "id": "17544ab9.984c5d",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 952.4444923400879,
+ "y": 589.9603090286255,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "c6456146.0f2668",
+ "73468fad.c71778"
+ ]
+ ]
+ },
+ {
+ "id": "9a95814.c6dd98",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 955.3016090393066,
+ "y": 634.2460145950317,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "557c512a.eddd3",
+ "73468fad.c71778"
+ ]
+ ]
+ },
+ {
+ "id": "d6025c47.4904b",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"If svc-action is 'assign' then request-action must be 'CreateVnfInstance'\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1188.8730735778809,
+ "y": 541.3888578414917,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "c6456146.0f2668",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error reading VF_MODEL table\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1187.4444847106934,
+ "y": 590.1031522750854,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "557c512a.eddd3",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'No model found for VNF customization UUID ' + $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1187.4444847106934,
+ "y": 634.2460050582886,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "75930576.a93ef4",
+ "type": "call",
+ "name": "call self-serve-vnf-assign",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-assign' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1223.3211402893066,
+ "y": 740.1072311401367,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "8d844173.607528"
+ ]
+ ]
+ },
+ {
+ "id": "b4a1df9a.51e5b8",
+ "type": "comment",
+ "name": "SELF-SERVE FORK",
+ "info": "",
+ "comments": "",
+ "x": 942.7618942260742,
+ "y": 793.5119113922119,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "8d844173.607528",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1428.6187210083008,
+ "y": 739.5952625274658,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "a0be875f.ade8a"
+ ]
+ ]
+ },
+ {
+ "id": "9f565fa.4dc342",
+ "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": 1198.5635070800781,
+ "y": 988.789656996727,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "be242702.8a5c",
+ "type": "set",
+ "name": "set vnf-level-oper-status to PendingCreate",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\n",
+ "comments": "",
+ "x": 1286.432487487793,
+ "y": 791.599271774292,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "b92958a4.6d80e",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/ss-vnfend.log' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1185.6348037719727,
+ "y": 842.0390481948853,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "7c56b4f9.aca0c4",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 962.8727645874023,
+ "y": 842.4999408721924,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "75930576.a93ef4",
+ "be242702.8a5c",
+ "b92958a4.6d80e",
+ "9f565fa.4dc342",
+ "d8dc3738.9ff7d",
+ "61c39fe5.7ecd2"
+ ]
+ ]
+ },
+ {
+ "id": "73468fad.c71778",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 1804.3176345825195,
+ "y": 819.2462577819824,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "6ffa4d06.cd8f6c",
+ "ce39ee80.3e9ff"
+ ]
+ ]
+ },
+ {
+ "id": "a0be875f.ade8a",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1604.635009765625,
+ "y": 739.785698890686,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "62341ef1.f30f5",
+ "73468fad.c71778"
+ ]
+ ]
+ },
+ {
+ "id": "62341ef1.f30f5",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Failed to create self-serve assignment for vnf with vnf-id=' + $vnf-topology-operation-input.vnf-information.vnf-id + ' with error: ' + $error-message`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1816.162956237793,
+ "y": 681.690544128418,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "4efb64bb.616d74",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'VNF id ' + $service-data.vnfs.vnf[$idx].vnf-id\n + ' already exists'`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2246.999954223633,
+ "y": 1253.666597366333,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "53faa32e.0504dc",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Cannot find instance group id ' +\n $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\n + ' in AAI'`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1624.0950775146484,
+ "y": 1308.476245880127,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "411cfc3a.01153c",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error retrieving instance-group from AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1624.0950393676758,
+ "y": 1371.619031906128,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "53de08e6.af6ff8",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Unable to find AAI relationship from collection '\n + $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value\n + ' to service instance'`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2218.6665420532227,
+ "y": 1387.9523315429688,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "2dfa859a.9ef8aa",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Failed to get network service instance '\n + $network-service-instance + ' from MD-SAL'`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2220.1427841186523,
+ "y": 1429.666732788086,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "4baafedf.40884",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Could not find network instance group ' +\n $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\n + ' in MD-SAL service instance '\n + $network-service-instance`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2904.666893005371,
+ "y": 1588.1904573440552,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "d9837d5e.fb9228",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 2930.6786499023438,
+ "y": 1892.3692474365234,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "85f543a5.3e0c48",
+ "5d5d1ee3.ba096"
+ ]
+ ]
+ },
+ {
+ "id": "dcfb1529.fec6a8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2041.9998321533203,
+ "y": 1251.9998836517334,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "4efb64bb.616d74",
+ "d9837d5e.fb9228"
+ ]
+ ]
+ },
+ {
+ "id": "961d4497.b1f5b",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1412.3333206176758,
+ "y": 1308.6664772033691,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "53faa32e.0504dc",
+ "d9837d5e.fb9228"
+ ]
+ ]
+ },
+ {
+ "id": "4e3d9218.a643dc",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1412.9996948242188,
+ "y": 1371.3331823349,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "411cfc3a.01153c",
+ "d9837d5e.fb9228"
+ ]
+ ]
+ },
+ {
+ "id": "e5dc44b5.d3f17",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2001.3332138061523,
+ "y": 1388.3333625793457,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "53de08e6.af6ff8",
+ "d9837d5e.fb9228"
+ ]
+ ]
+ },
+ {
+ "id": "966a3052.be8b78",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1999.6665878295898,
+ "y": 1430.333251953125,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "2dfa859a.9ef8aa",
+ "d9837d5e.fb9228"
+ ]
+ ]
+ },
+ {
+ "id": "19fba1ff.3d7996",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2693.9524307250977,
+ "y": 1588.9047193527222,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "4baafedf.40884",
+ "d9837d5e.fb9228"
+ ]
+ ]
+ },
+ {
+ "id": "ad1b7833.2d89a",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1500.3808898925781,
+ "y": 1823.9046249389648,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "939de763.66009",
+ "1a90432.93512bd"
+ ]
+ ]
+ },
+ {
+ "id": "939de763.66009",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"No vnf-name was received but ecomp-generated-naming is not Y\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1730.2381210327148,
+ "y": 1824.3329601287842,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "841445e5.523fe",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2253.2380142211914,
+ "y": 1927.7618045806885,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "262e48b9.36be4",
+ "1a90432.93512bd"
+ ]
+ ]
+ },
+ {
+ "id": "262e48b9.36be4",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`$generate-unique-name-output.error-message`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2461.380889892578,
+ "y": 1927.3331956863403,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "95c2eab0.a4313",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2301.809440612793,
+ "y": 2053.9045372009277,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "cd9d840e.6d9e2",
+ "1a90432.93512bd"
+ ]
+ ]
+ },
+ {
+ "id": "cd9d840e.6d9e2",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Unable to generate VNF name\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2524.6664962768555,
+ "y": 2054.3332080841064,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "1a90432.93512bd",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic='true'>",
+ "atomic": "true",
+ "comments": "",
+ "outputs": 1,
+ "x": 2576.5480422973633,
+ "y": 2309.333641052246,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "82edd673.f84e28",
+ "d16813f7.4f256"
+ ]
+ ]
+ },
+ {
+ "id": "2be0da40.0d7806",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 994.1904449462891,
+ "y": 2964.2857341766357,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "c3e06ca1.959fc",
+ "b2ea455b.480508"
+ ]
+ ]
+ },
+ {
+ "id": "c3e06ca1.959fc",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Cloud region not found in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1192.7617874145508,
+ "y": 2930.0000200271606,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "f968cb62.56775",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 997.523796081543,
+ "y": 3007.619020462036,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "705aa9d.1a68858",
+ "b2ea455b.480508"
+ ]
+ ]
+ },
+ {
+ "id": "705aa9d.1a68858",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error retrieving cloud region from AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1196.0951385498047,
+ "y": 2973.333306312561,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "5c62b00e.a7cd48",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 855.8572311401367,
+ "y": 3186.619167327881,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "7368045.ed8167c",
+ "b2ea455b.480508"
+ ]
+ ]
+ },
+ {
+ "id": "7368045.ed8167c",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1065.8572235107422,
+ "y": 3165.190655708313,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "b2ea455b.480508",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1952.4405975341797,
+ "y": 3741.820848464966,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "2eff60b0.82a368",
+ "2209a27.51db7de",
+ "8cff46f6.b77",
+ "e06e50cf.f6e82"
+ ]
+ ]
+ },
+ {
+ "id": "7ef20c7d.b3d83c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1141.3333282470703,
+ "y": 3276.714331626892,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "1e4bb717.8c8f11",
+ "b2ea455b.480508"
+ ]
+ ]
+ },
+ {
+ "id": "1e4bb717.8c8f11",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error reading VF_TO_NETWORK_ROLE_MAPPING table\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1344.1904373168945,
+ "y": 3243.8572273254395,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "ddfbfd5a.f170a",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1711.3332824707031,
+ "y": 3486.285619735718,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "ed599d84.5459d",
+ "b2ea455b.480508"
+ ]
+ ]
+ },
+ {
+ "id": "ed599d84.5459d",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Unable to find l3-network in AAI for network role ' + $db.vf-network-role-mapping[$role-index].network-role`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1922.7618865966797,
+ "y": 3454.8569107055664,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "3ecadd51.2a79da",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2731.8094635009766,
+ "y": 4707.667684555054,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "1132c0eb.47f19f",
+ "1eafb6c3.64af09"
+ ]
+ ]
+ },
+ {
+ "id": "1132c0eb.47f19f",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`\n 'Error retrieving network-topology-identifier-structure for service instance '\n + $network-service-instance-id\n + ' and network-id '\n + $l3-network-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2943.237968444824,
+ "y": 4676.238899230957,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "aac9396.609d348",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1844.4761962890625,
+ "y": 4548.048126220703,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "6ef91a22.9e6f5c",
+ "1eafb6c3.64af09"
+ ]
+ ]
+ },
+ {
+ "id": "6ef91a22.9e6f5c",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error reading VNF_RELATED_NETWORK_ROLE table\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2058.4761962890625,
+ "y": 4529.190979003906,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "bd008d18.af7e28",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2488.952423095703,
+ "y": 4823.667268753052,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "3b9e157a.a6eb1a",
+ "1eafb6c3.64af09"
+ ]
+ ]
+ },
+ {
+ "id": "3b9e157a.a6eb1a",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error getting owning entity from service instance\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2696.095443725586,
+ "y": 4799.381650924683,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "e973673a.4d16f8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2503.952423095703,
+ "y": 4868.667268753052,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "ea2f1cf6.5574e",
+ "1eafb6c3.64af09"
+ ]
+ ]
+ },
+ {
+ "id": "ea2f1cf6.5574e",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Unable to find owning entity from service instance\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2705.3810653686523,
+ "y": 4842.953462600708,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "1b6474fa.c07123",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2947.9998168945312,
+ "y": 4994.143200874329,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "ad71495b.bf604",
+ "1eafb6c3.64af09"
+ ]
+ ]
+ },
+ {
+ "id": "ad71495b.bf604",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error calling getNetworks custom query in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3163.714179992676,
+ "y": 4964.143190383911,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "10aba7ed.de916",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2959.6665649414062,
+ "y": 5039.143200874329,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "92ff3f65.ace2f",
+ "1eafb6c3.64af09"
+ ]
+ ]
+ },
+ {
+ "id": "92ff3f65.ace2f",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'No l3-network returned from getNetworks custom query for related network role '\n + $db.vnf-related-network-role[0].related-network-role`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3175.380928039551,
+ "y": 5009.143190383911,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "6c186302.6806a4",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3603.952033996582,
+ "y": 5140.333766937256,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "c91d001.4234e8",
+ "1eafb6c3.64af09"
+ ]
+ ]
+ },
+ {
+ "id": "c91d001.4234e8",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error getting vlan-tag object from AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3816.80916595459,
+ "y": 5113.190900802612,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "1eafb6c3.64af09",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3723.6791076660156,
+ "y": 5591.275134086609,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "45d48b66.a8078c",
+ "f7795356.cb57f8",
+ "5ac8760f.3c13c",
+ "149b2fa5.4d0cf8"
+ ]
+ ]
+ },
+ {
+ "id": "11a704cb.ec6e1b",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1711.333267211914,
+ "y": 3536.2856159210205,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "9729b81b.95b818",
+ "b2ea455b.480508"
+ ]
+ ]
+ },
+ {
+ "id": "9729b81b.95b818",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error retrieving l3-network from AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1922.7618713378906,
+ "y": 3504.856906890869,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "2ae5fa90.61994e",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Unable to find l3-network in AAI for network role ' + $db.vf-network-role-mapping[$role-index].network-role`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1847.0476913452148,
+ "y": 4247.714210510254,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "c374836e.37fed8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1647.0476913452148,
+ "y": 4262,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "2ae5fa90.61994e",
+ "1eafb6c3.64af09"
+ ]
+ ]
+ },
+ {
+ "id": "cf09642d.dcd6b",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1301.3332748413086,
+ "y": 5434.856773376465,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "d709ac0f.fb269",
+ "e74586be.b8e6f8"
+ ]
+ ]
+ },
+ {
+ "id": "d709ac0f.fb269",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'No availability zones found in AAI for cloud region '\n + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1504.1904067993164,
+ "y": 5416.28534412384,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "662f403a.490a78",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1528.7144622802734,
+ "y": 5561.524040222168,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "c383f700.e2fe08",
+ "e74586be.b8e6f8"
+ ]
+ ]
+ },
+ {
+ "id": "c383f700.e2fe08",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error updating generic-vnf in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1730.1430130004883,
+ "y": 5541.524041175842,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "bf452558.9a9008",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1530.381088256836,
+ "y": 5604.857048034668,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "79c5928f.79507c",
+ "e74586be.b8e6f8"
+ ]
+ ]
+ },
+ {
+ "id": "79c5928f.79507c",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1731.8096389770508,
+ "y": 5584.857048988342,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "e0daa6a.dcf31d8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1388.238136291504,
+ "y": 5679.618696212769,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "1a45b18b.687d7e",
+ "e74586be.b8e6f8"
+ ]
+ ]
+ },
+ {
+ "id": "1a45b18b.687d7e",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error updating generic-vnf in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1585.9166717529297,
+ "y": 5658.011522293091,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "ca1e10f7.f5af08",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1408.2976303100586,
+ "y": 5724.678614616394,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "7c8d3c94.816594",
+ "e74586be.b8e6f8"
+ ]
+ ]
+ },
+ {
+ "id": "7c8d3c94.816594",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1612.583396911621,
+ "y": 5701.821611404419,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "2e13fdd8.c6ad92",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 824.0118942260742,
+ "y": 5834.29768371582,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "7c4ba56.57b5cdc",
+ "e74586be.b8e6f8"
+ ]
+ ]
+ },
+ {
+ "id": "7c4ba56.57b5cdc",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error updating selflink in generic-vnf in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1029.7262344360352,
+ "y": 5810.011829376221,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "eba4fe8c.3ea98",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 837.3452072143555,
+ "y": 5877.63117980957,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "2d963807.1f3568",
+ "e74586be.b8e6f8"
+ ]
+ ]
+ },
+ {
+ "id": "2d963807.1f3568",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1043.0595474243164,
+ "y": 5853.345325469971,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "1ce1d0e3.b09f8f",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1417.3928909301758,
+ "y": 5927.011758804321,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "f1dfb0ff.674588",
+ "e74586be.b8e6f8"
+ ]
+ ]
+ },
+ {
+ "id": "f1dfb0ff.674588",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error updating relationship in generic-vnf in AAI\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1611.678611755371,
+ "y": 5901.2977504730225,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "85592822.f54ce",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1432.3928909301758,
+ "y": 5970.345254898071,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "16449f26.c6b4a1",
+ "e74586be.b8e6f8"
+ ]
+ ]
+ },
+ {
+ "id": "16449f26.c6b4a1",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1626.678611755371,
+ "y": 5944.6312465667725,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "634a4090.ff27d",
+ "type": "execute",
+ "name": "execute RestApiCallNode - PUT vnf",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + 'vnf-data-assign.json'`\" />\n <parameter name='restapiUrl' value=\"`$prop.controller.url + $tmp.vnf.url`\" />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='PUT' />\n <parameter name=\"responsePrefix\" value=\"vnf-assign\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 527.3212051391602,
+ "y": 6334.9891719818115,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "1a97646.1d7bf9c",
+ "5710c473.bb38cc"
+ ]
+ ]
+ },
+ {
+ "id": "1a97646.1d7bf9c",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 774.5339660644531,
+ "y": 6356.319892883301,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "7fa41968.bb5ec8"
+ ]
+ ]
+ },
+ {
+ "id": "5710c473.bb38cc",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 766.9626007080078,
+ "y": 6314.819912910461,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "7fa41968.bb5ec8"
+ ]
+ ]
+ },
+ {
+ "id": "7fa41968.bb5ec8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 942.5592803955078,
+ "y": 6334.750367164612,
+ "z": "652cf04d.917e78",
+ "wires": [
+ [
+ "eb23793e.28b0d",
+ "e74586be.b8e6f8"
+ ]
+ ]
+ },
+ {
+ "id": "eb23793e.28b0d",
+ "type": "configure",
+ "name": "set error-message",
+ "xml": "<set>\n<parameter name=\"error-message\" value=\"Error doing PUT of vnf-data\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1148.2735900878906,
+ "y": 6300.464484214783,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "9ec4fd36.2e31c8",
+ "type": "set",
+ "name": "set so.response-code = 200",
+ "xml": "<set>\n<parameter name=\"so.response-code\" value=\"200\" />",
+ "comments": "",
+ "x": 498.09376525878906,
+ "y": 6477.500561714172,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "5369940c.e48364",
+ "type": "set",
+ "name": "Initialize SO 500 reponse params",
+ "xml": "<set>\n<parameter name=\"so.ack-final-indicator\" value=\"Y\" />\n<parameter name=\"so.response-code\" value=\"500\" />\n<parameter name=\"so.notification-url\" value=\"`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`\" />\n<parameter name=\"so.svc-request-id\" value=\"`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`\" />\n<parameter name=\"so.service-type\" value=\"`$vnf-topology-operation-input.service-information.subscription-service-type`\" />\n<parameter name=\"so.service-instance-id\" value=\"`$vnf-topology-operation-input.service-information.service-instance-id`\" />\n",
+ "comments": "",
+ "x": 595.7605819702148,
+ "y": 313.9549217224121,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "2eff60b0.82a368",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API_send-so-response",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2278.2909622192383,
+ "y": 3792.151798248291,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "d8dc3738.9ff7d",
+ "type": "set",
+ "name": "set so.reponse-code = 200",
+ "xml": "<set>\n<parameter name=\"so.response-code\" value=\"200\" />\n",
+ "comments": "",
+ "x": 1238.8462142944336,
+ "y": 888.2629871368408,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "2209a27.51db7de",
+ "type": "set",
+ "name": "set variables for deleting name",
+ "xml": "<set>\n<parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\n<parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='naming-policy-generate-name-input.action' value='DELETE' />\n",
+ "comments": "",
+ "x": 2225.096290588379,
+ "y": 3691.040738105774,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "8cff46f6.b77",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:naming-policy-generate-name",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2322.66756439209,
+ "y": 3741.1830978393555,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "5ac8760f.3c13c",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API_send-so-response",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4057.0410079956055,
+ "y": 5615.346151351929,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "45d48b66.a8078c",
+ "type": "set",
+ "name": "set variables for deleting name",
+ "xml": "<set>\n<parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\n<parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='naming-policy-generate-name-input.action' value='DELETE' />\n",
+ "comments": "",
+ "x": 4003.846336364746,
+ "y": 5514.235091209412,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "f7795356.cb57f8",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:naming-policy-generate-name",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 4101.417610168457,
+ "y": 5564.377450942993,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "fef2b74e.207f2",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API_send-so-response",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2286.2076263427734,
+ "y": 6596.319822311401,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "5e0caa6d.e903f4",
+ "type": "set",
+ "name": "set variables for deleting name",
+ "xml": "<set>\n<parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\n<parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='naming-policy-generate-name-input.action' value='DELETE' />\n",
+ "comments": "",
+ "x": 2229.262924194336,
+ "y": 6495.2088985443115,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "fcbc941a.75b4b8",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:naming-policy-generate-name",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2326.834197998047,
+ "y": 6545.351258277893,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "6ffa4d06.cd8f6c",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API_send-so-response",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2118.7077407836914,
+ "y": 792.8462972640991,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "85f543a5.3e0c48",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API_send-so-response",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3242.457305908203,
+ "y": 1868.596351146698,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "82edd673.f84e28",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API_send-so-response",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2894.957359313965,
+ "y": 2283.346435546875,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "1fec3768.f512f1",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API_send-so-response",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 562.5963668823242,
+ "y": 6531.874531745911,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "61c39fe5.7ecd2",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API_send-so-response",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1310.8462448120117,
+ "y": 937.0129909515381,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "ce39ee80.3e9ff",
+ "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=\"`$error-message`\" />\n",
+ "comments": "",
+ "x": 2000.096290588379,
+ "y": 843.2629833221436,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "5d5d1ee3.ba096",
+ "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=\"`$error-message`\" />\n",
+ "comments": "",
+ "x": 3123.84627532959,
+ "y": 1912.8463134765625,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "d16813f7.4f256",
+ "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=\"`$error-message`\" />\n",
+ "comments": "",
+ "x": 2778.84627532959,
+ "y": 2331.596435546875,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "e06e50cf.f6e82",
+ "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=\"`$error-message`\" />\n",
+ "comments": "",
+ "x": 2158.846424102783,
+ "y": 3839.929880142212,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "149b2fa5.4d0cf8",
+ "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=\"`$error-message`\" />\n",
+ "comments": "",
+ "x": 3939.81844329834,
+ "y": 5665.06884765625,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "ae834aa6.55d6c",
+ "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=\"`$error-message`\" />\n",
+ "comments": "",
+ "x": 2166.0686569213867,
+ "y": 6643.263185501099,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "4ba8fd3f.c818fc",
+ "type": "execute",
+ "name": "generate vnf URL (sub service-instance-id)",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.vnf-assign`\"/>\n <parameter name=\"outputPath\" value=\"tmp.part\"/>\n <parameter name=\"target\" value=\"{service-instance-id}\"/>\n <parameter name=\"replacement\" value=\"`$service-data.service-topology.service-topology-identifier.service-instance-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 551.3463516235352,
+ "y": 6138.542016029358,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "d2d8ec6e.e92468",
+ "type": "execute",
+ "name": "generate vnf URL (sub vnf-id)",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.part`\"/>\n <parameter name=\"outputPath\" value=\"tmp.vnf.url\"/>\n <parameter name=\"target\" value=\"{vnf-id}\"/>\n <parameter name=\"replacement\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 506.34627532958984,
+ "y": 6189.969970703125,
+ "z": "652cf04d.917e78",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "2957e806.869ab",
+ "type": "set",
+ "name": "copy vnf data",
+ "xml": "<set>\n<parameter name='vnf-data.' value='service-data.vnfs.vnf[$vnf-index].vnf-data.' />\n",
+ "comments": "",
+ "x": 452.2392349243164,
+ "y": 6237.827503204346,
+ "z": "652cf04d.917e78",
+ "wires": []
+ },
+ {
+ "id": "bb434916.4ddfd",
+ "type": "comment",
+ "name": "'New' version of DG, called for flows where SO expects async response (so-bpmn-infra)",
+ "info": "",
+ "comments": "",
+ "x": 565,
+ "y": 93,
+ "z": "652cf04d.917e78",
+ "wires": []
+ }
+]
\ No newline at end of file diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-assign-sync.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-assign-sync.json new file mode 100644 index 00000000..ccb31485 --- /dev/null +++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-assign-sync.json @@ -0,0 +1,5076 @@ +[
+ {
+ "id": "68a2ca98.9f9ad4",
+ "type": "dgstart",
+ "name": "DGSTART",
+ "outputs": 1,
+ "x": 131,
+ "y": 97,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "b3005114.46b4"
+ ]
+ ]
+ },
+ {
+ "id": "b3005114.46b4",
+ "type": "service-logic",
+ "name": "GENERIC-RESOURCE-API ${project.version}",
+ "module": "GENERIC-RESOURCE-API",
+ "version": "${project.version}",
+ "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": 246.28570556640625,
+ "y": 138.9047794342041,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "9df64b25.dd612"
+ ]
+ ]
+ },
+ {
+ "id": "9df64b25.dd612",
+ "type": "method",
+ "name": "method vnf-topology-operation-assign-sync",
+ "xml": "<method rpc='vnf-topology-operation-assign-sync' mode='sync'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 219.09530639648438,
+ "y": 181.66666316986084,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "71c37da.ca45504"
+ ]
+ ]
+ },
+ {
+ "id": "a437c9a1.ecb588",
+ "type": "comment",
+ "name": "vnf-topology-operation-assign-sync",
+ "info": "",
+ "comments": "",
+ "x": 498.01153564453125,
+ "y": 20,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "b64fdf51.475e6",
+ "type": "switchNode",
+ "name": "switch request-action",
+ "xml": "<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 517.3809509277344,
+ "y": 330.14283180236816,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "e0cef711.07db28",
+ "83a11a05.d1ae6"
+ ]
+ ]
+ },
+ {
+ "id": "e0cef711.07db28",
+ "type": "outcome",
+ "name": "CreateVnfInstance",
+ "xml": "<outcome value='CreateVnfInstance'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 771.0952453613281,
+ "y": 307.2857131958008,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "1ae2ebb5.48fe8c"
+ ]
+ ]
+ },
+ {
+ "id": "83a11a05.d1ae6",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 733.0952110290527,
+ "y": 353.0000410079956,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "62d8946f.abc51c"
+ ]
+ ]
+ },
+ {
+ "id": "1ae2ebb5.48fe8c",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 955.9523735046387,
+ "y": 307.2857427597046,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "62d8946f.abc51c",
+ "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=\"If svc-action is 'assign' then request-action must be 'CreateVnfInstance'\" />\n",
+ "comments": "",
+ "x": 973.0952186584473,
+ "y": 352.9999990463257,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "aefac3f0.23ec18",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 188.73814392089844,
+ "y": 3379.0238666534424,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "262b86d7.63add2",
+ "b5d1933a.895ac",
+ "7fb3ca84.c2b9f4",
+ "2c8b9159.a537a6",
+ "784bc6dd.9f30b8",
+ "130edd17.8e3adb",
+ "d0683c56.880d08",
+ "b5d09f96.ee588",
+ "80f569c8.42ebd",
+ "64d293a9.e3132c",
+ "495cb896.1a51b",
+ "93b7d995.70383",
+ "446bb70b.d44dc",
+ "6a8ad94c.f3e7e8",
+ "a28166da.a237f8",
+ "626d1b8e.d0accc",
+ "cd35b6fb.34c568",
+ "b931907d.b30a08",
+ "f455bc8c.50b508",
+ "968e0675.5c2c38",
+ "1aa28b1b.cad405",
+ "3368c7e5.1fd09",
+ "70a29720.d1a208",
+ "313ffbab.c11cec",
+ "4ddaa8b9.ea6108",
+ "e672ed3d.7fae28",
+ "ea6f7aeb.38755",
+ "3175fdda.28a8fa",
+ "51bff44c.19d854",
+ "16cb3af3.980cad",
+ "4394124c.44d794",
+ "2407628e.2ee6be",
+ "a323fa5.3a8dc88",
+ "fa6296d4.7da71"
+ ]
+ ]
+ },
+ {
+ "id": "4603d416.c13b14",
+ "type": "get-resource",
+ "name": "get-resource VF_MODEL",
+ "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VF_MODEL WHERE customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'\n pfx='db.vf-model'>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 529.7142562866211,
+ "y": 421.285701751709,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "d2e0fe86.f6031",
+ "d496667f.88329"
+ ]
+ ]
+ },
+ {
+ "id": "21d8f539.b04a8a",
+ "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=\"`'No model found for VNF customization UUID ' + $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`\" />\n",
+ "comments": "",
+ "x": 971.1427345275879,
+ "y": 444.7141876220703,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "d2e0fe86.f6031",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 730.4999542236328,
+ "y": 401.6665391921997,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "b84fe458.594a9"
+ ]
+ ]
+ },
+ {
+ "id": "d496667f.88329",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 739.0713844299316,
+ "y": 445.9522523880005,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "21d8f539.b04a8a"
+ ]
+ ]
+ },
+ {
+ "id": "b84fe458.594a9",
+ "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=\"Error reading VF_MODEL table\" />\n",
+ "comments": "",
+ "x": 970.4999351501465,
+ "y": 399.80944633483887,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "262b86d7.63add2",
+ "type": "switchNode",
+ "name": "switch service-data.vnfs.vnf_length",
+ "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 563.3809204101562,
+ "y": 1172.238136291504,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "170fc08c.20c9bf",
+ "1b92a587.ab61da"
+ ]
+ ]
+ },
+ {
+ "id": "170fc08c.20c9bf",
+ "type": "other",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 789.0952491760254,
+ "y": 1139.3809242248535,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "75a9ee97.0539e8"
+ ]
+ ]
+ },
+ {
+ "id": "75a9ee97.0539e8",
+ "type": "set",
+ "name": "set vnf-index=0",
+ "xml": "<set>\n<parameter name='vnf-index' value='0' />\n",
+ "comments": "",
+ "x": 953.3809700012207,
+ "y": 1138.3810024261475,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "1b92a587.ab61da",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 790.523811340332,
+ "y": 1203.666742324829,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "7e74978.394e568"
+ ]
+ ]
+ },
+ {
+ "id": "e0443834.bed6f8",
+ "type": "set",
+ "name": "set vnf-index = vnf_length",
+ "xml": "<set>\n<parameter name='vnf-index' value='`$service-data.vnfs.vnf_length`' />\n",
+ "comments": "",
+ "x": 1129.3809661865234,
+ "y": 1181.9524307250977,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "12da173.76480e9",
+ "type": "for",
+ "name": "for each existing VNF",
+ "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1114.8094787597656,
+ "y": 1227.9523696899414,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "3f1d0bbb.d9c134"
+ ]
+ ]
+ },
+ {
+ "id": "7e74978.394e568",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 926.2380714416504,
+ "y": 1203.6667079925537,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "e0443834.bed6f8",
+ "12da173.76480e9"
+ ]
+ ]
+ },
+ {
+ "id": "3f1d0bbb.d9c134",
+ "type": "switchNode",
+ "name": "switch vnf-information.vnf-id == service-data.vnfs.vnf[].vnf-id",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.vnf-id == $service-data.vnfs.vnf[$idx].vnf-id`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1469.0952453613281,
+ "y": 1227.5238494873047,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "fc86eb00.db8fd"
+ ]
+ ]
+ },
+ {
+ "id": "fc86eb00.db8fd",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1763.3810005187988,
+ "y": 1227.0953340530396,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "ddc96b74.6dda5"
+ ]
+ ]
+ },
+ {
+ "id": "ddc96b74.6dda5",
+ "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 id ' + $service-data.vnfs.vnf[$idx].vnf-id\n + ' already exists'`\" />\n",
+ "comments": "",
+ "x": 1911.9523620605469,
+ "y": 1227.0952816009521,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "567844bc.d79374",
+ "type": "comment",
+ "name": "make sure this VNF doesn't exist already",
+ "info": "",
+ "comments": "",
+ "x": 1456.2379760742188,
+ "y": 1185.0952796936035,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "b5d1933a.895ac",
+ "type": "set",
+ "name": "set vnf-topology data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id'\n value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-type'\n value='`$vnf-topology-operation-input.vnf-information.vnf-type`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-type'\n value='`$db.vf-model.nf-type`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role'\n value='`$db.vf-model.nf-role`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-function'\n value='`$db.vf-model.nf-function`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-code'\n value='`$db.vf-model.nf-code`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.tenant'\n value='`$vnf-topology-operation-input.vnf-request-input.tenant`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-cloud-region'\n value='`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`' />\n \n",
+ "comments": "",
+ "x": 529.0952033996582,
+ "y": 1703.9049034118652,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "7fb3ca84.c2b9f4",
+ "type": "switchNode",
+ "name": "switch input vnf-name",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.vnf-name`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 541.5952224731445,
+ "y": 2066.0239610671997,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "f66a80dc.7487a8",
+ "aabbb10c.1ba08"
+ ]
+ ]
+ },
+ {
+ "id": "2c8b9159.a537a6",
+ "type": "get-resource",
+ "name": "get-resource cloud region",
+ "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"cloud-region\" \n\t\tkey=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND \n\t\t cloud-region.cloud-region-id = $vnf-topology-operation-input.vnf-request-input.aic-cloud-region AND\n\t\t depth='all'\"\n pfx='aai.cloud-region' local-only='false' >\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 573.738166809082,
+ "y": 2962.023696899414,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "fa77ec84.cfd948",
+ "d2b50e19.23138"
+ ]
+ ]
+ },
+ {
+ "id": "d2b50e19.23138",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 798.9843597412109,
+ "y": 2980.1745529174805,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "bca359aa.ea657"
+ ]
+ ]
+ },
+ {
+ "id": "d8746dc5.16b6a8",
+ "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=\"Error retrieving cloud region from AAI\" />\n",
+ "comments": "",
+ "x": 1100.6510314941406,
+ "y": 2980.174570083618,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "fa77ec84.cfd948",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 807.912956237793,
+ "y": 2938.460286140442,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "de36732.02f1d9"
+ ]
+ ]
+ },
+ {
+ "id": "267c8333.b6b41c",
+ "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=\"Cloud region not found in AAI\" />\n",
+ "comments": "",
+ "x": 1100.9289321899414,
+ "y": 2937.765844345093,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "784bc6dd.9f30b8",
+ "type": "get-resource",
+ "name": "get-resource VF_TO_NETWORK_ROLE_MAPPING",
+ "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VF_TO_NETWORK_ROLE_MAPPING WHERE vf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'\n pfx='db.vf-network-role-mapping[]'>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 638.9762496948242,
+ "y": 3273.071216583252,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "b35aa70d.9171b",
+ "a87731d3.ac1c58"
+ ]
+ ]
+ },
+ {
+ "id": "b35aa70d.9171b",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 934.7619209289551,
+ "y": 3251.7853813171387,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "29b9ea01.3157fe"
+ ]
+ ]
+ },
+ {
+ "id": "a87731d3.ac1c58",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 943.3333511352539,
+ "y": 3296.0710945129395,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "73b88fba.e9b14"
+ ]
+ ]
+ },
+ {
+ "id": "9f2c8e1d.bc9d48",
+ "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=\"Error reading VF_TO_NETWORK_ROLE_MAPPING table\" />\n",
+ "comments": "",
+ "x": 1251.428544998169,
+ "y": 3251.5951137542725,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "7818536.37f0dac",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1046.5716552734375,
+ "y": 4016.3804264068604,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "bc29a717.b4dae8",
+ "3d503c9c.832644",
+ "35a5b4f7.7797ec",
+ "852ecf97.3adc68",
+ "7188a6e4.ef2cc",
+ "224ee4c1.326304",
+ "d4a87018.ef3a9",
+ "85e069bd.2867e",
+ "ddb641a.0cdf6c"
+ ]
+ ]
+ },
+ {
+ "id": "35a5b4f7.7797ec",
+ "type": "get-resource",
+ "name": "get-resource l3-network",
+ "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"l3-networks\" \n\t\tkey=\"l3-network.network-role = $db.vf-network-role-mapping[$role-index].network-role\"\n pfx='aai.l3-network' local-only='false'\n>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1303.4287300109863,
+ "y": 3425.3330307006836,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "bae8c678.c02cc",
+ "34b7ef3.10b4a1"
+ ]
+ ]
+ },
+ {
+ "id": "34b7ef3.10b4a1",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1507.4764442443848,
+ "y": 3447.4758701324463,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "ce329189.366548"
+ ]
+ ]
+ },
+ {
+ "id": "47e87554.0101b4",
+ "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=\"Error retrieving l3-network from AAI\" />\n",
+ "comments": "",
+ "x": 1822.476474761963,
+ "y": 3447.8092136383057,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "bae8c678.c02cc",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1516.4050407409668,
+ "y": 3405.7616033554077,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "f8b0e31a.69846"
+ ]
+ ]
+ },
+ {
+ "id": "3ad691fc.ce86ce",
+ "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=\"`'No active l3-network found in AAI with cloud_region_id '\n + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region + ' and network_role '\n + $db.vf-network-role-mapping[$network-index].network-role`\" />\n",
+ "comments": "",
+ "x": 1821.087670326233,
+ "y": 3406.7337398529053,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "bc29a717.b4dae8",
+ "type": "set",
+ "name": "set vnf-network data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-role'\n value='`$db.vf-network-role-mapping[$role-index].network-role`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-name'\n value='`$aai.l3-network.l3-network[$db-network-index].network-name`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].neutron-id'\n value='`$aai.l3-network.l3-network[$db-network-index].neutron-network-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-id'\n value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].contrail-network-fqdn'\n value='`$aai.l3-network.l3-network[$db-network-index].contrail-network-fqdn`' />\n",
+ "comments": "",
+ "x": 1292.6193199157715,
+ "y": 3912.3332738876343,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "80f569c8.42ebd",
+ "type": "for",
+ "name": "for each cloud-region availability zone",
+ "xml": "<for index='idx' start='0' end='`$aai.cloud-region.availability-zones.availability-zone_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 513.000358581543,
+ "y": 5159.452251434326,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "eb0700ec.359b5"
+ ]
+ ]
+ },
+ {
+ "id": "3a33cdc9.d2b98a",
+ "type": "set",
+ "name": "set availability-zone",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone[$idx]'\n value='`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`' />\n",
+ "comments": "",
+ "x": 974.6670417785645,
+ "y": 5128.785665512085,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "64d293a9.e3132c",
+ "type": "set",
+ "name": "set vnf-parameters-data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.'\n value='vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.' />\n",
+ "comments": "",
+ "x": 472.6192855834961,
+ "y": 5009.404611587524,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "817f795f.7d9e58",
+ "type": "save",
+ "name": "save generic-vnf l3-network relationships",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"generic-vnf:relationship-list\"\n key=\"generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"l3-network.network-id\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-nw-index].network-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 939.1908187866211,
+ "y": 5303.214464187622,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "528a3002.e9b57",
+ "89b44b94.d5d48"
+ ]
+ ]
+ },
+ {
+ "id": "446bb70b.d44dc",
+ "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": 432.4288330078125,
+ "y": 5768.832854270935,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "93b7d995.70383",
+ "type": "set",
+ "name": "set vnf-level-oper-status to PendingCreate",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\n",
+ "comments": "",
+ "x": 522.2422790527344,
+ "y": 5671.170334815979,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "d0683c56.880d08",
+ "type": "for",
+ "name": "for each network-role",
+ "xml": "<for silentFailure='true' index='role-index' start='0' end='`$db.vf-network-role-mapping_length`'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 506.571590423584,
+ "y": 3989.7140951156616,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "f3f529c4.6b12c"
+ ]
+ ]
+ },
+ {
+ "id": "130edd17.8e3adb",
+ "type": "set",
+ "name": "set network-index = 0",
+ "xml": "<set>\n<parameter name='network-index' value='0' />\n",
+ "comments": "",
+ "x": 541.4047470092773,
+ "y": 3327.119010925293,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "3d503c9c.832644",
+ "type": "set",
+ "name": "increment network-index",
+ "xml": "<set>\n<parameter name='network-index' value='`$network-index + 1`' />\n",
+ "comments": "",
+ "x": 1274.6193084716797,
+ "y": 4960.09521484375,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "b5d09f96.ee588",
+ "type": "set",
+ "name": "set vnf-network_length",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length'\n value='`$network-index`' />\n",
+ "comments": "",
+ "x": 471.4763717651367,
+ "y": 4959.404655456543,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "495cb896.1a51b",
+ "type": "set",
+ "name": "copy input data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.' value='$vnf-topology-operation-input.vnf-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.' value='$vnf-topology-operation-input.vnf-request-input.' />\n\n",
+ "comments": "",
+ "x": 437.7621078491211,
+ "y": 5618.8331661224365,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "6a8ad94c.f3e7e8",
+ "type": "for",
+ "name": "for each vnf-network",
+ "xml": "<for index='vnf-nw-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 462.1907272338867,
+ "y": 5302.214380264282,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "f4c1e324.b2d9f8"
+ ]
+ ]
+ },
+ {
+ "id": "f4c1e324.b2d9f8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 665.8573684692383,
+ "y": 5302.214341163635,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "817f795f.7d9e58"
+ ]
+ ]
+ },
+ {
+ "id": "a28166da.a237f8",
+ "type": "set",
+ "name": "set new vnf_length",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf_length' value='`$vnf-index + 1`' />\n",
+ "comments": "",
+ "x": 512.0238418579102,
+ "y": 1224.2620267868042,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "626d1b8e.d0accc",
+ "type": "for",
+ "name": "for each cloud-region relationship",
+ "xml": "<for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 586.5952911376953,
+ "y": 3049.2618684768677,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "5af7d118.38ea4"
+ ]
+ ]
+ },
+ {
+ "id": "5af7d118.38ea4",
+ "type": "switchNode",
+ "name": "switch related-to",
+ "xml": "<switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 834.2738342285156,
+ "y": 3049.0117979049683,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "bcf1a4f2.c60d2"
+ ]
+ ]
+ },
+ {
+ "id": "bcf1a4f2.c60d2",
+ "type": "outcome",
+ "name": "complex",
+ "xml": "<outcome value='complex'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1003.7381553649902,
+ "y": 3048.4046201705933,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "919a9da7.1f7448"
+ ]
+ ]
+ },
+ {
+ "id": "ed342eb3.35926",
+ "type": "set",
+ "name": "set aic-clli",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli'\n value='`$aai-uid-split[$aai-uid-split_length - 1]`' />\n",
+ "comments": "",
+ "x": 1324.4524536132812,
+ "y": 3048.071277618408,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "cd35b6fb.34c568",
+ "type": "switchNode",
+ "name": "switch aic-clli",
+ "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 519.6429176330566,
+ "y": 3162.357000350952,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "9ad55fa5.5100e"
+ ]
+ ]
+ },
+ {
+ "id": "9ad55fa5.5100e",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 667.7857513427734,
+ "y": 3162.3569831848145,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "17e0c5d6.6b5e32"
+ ]
+ ]
+ },
+ {
+ "id": "4c53fd4b.741ad4",
+ "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=\"`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`\" />\n",
+ "comments": "",
+ "x": 958.2619438171387,
+ "y": 3163.5950288772583,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "5ff9dc5f.b0154c",
+ "type": "set",
+ "name": "set from DB",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'\n value='`$db.vf-model.invariant-uuid`' />\n",
+ "comments": "",
+ "x": 946.0954627990723,
+ "y": 2521.2142572402954,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "6c9db393.4e1bcc",
+ "type": "for",
+ "name": "for each l3-network",
+ "xml": "<for index='db-network-index' start='0' end='`$aai.l3-network.l3-network_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1412.8812980651855,
+ "y": 3736.90465259552,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "5b55e55c.75e71c"
+ ]
+ ]
+ },
+ {
+ "id": "d845e519.b3b708",
+ "type": "switchNode",
+ "name": "switch orchestration-status",
+ "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].orchestration-status`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1831.4524688720703,
+ "y": 3671.4761171340942,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "350f54c6.4f17c4",
+ "e8af3b91.a0a3f",
+ "53568d6f.73782c",
+ "31601472.8b3a34",
+ "8c589650.804078"
+ ]
+ ]
+ },
+ {
+ "id": "350f54c6.4f17c4",
+ "type": "outcome",
+ "name": "Pending Delete",
+ "xml": "<outcome value='Pending Delete'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2072.119338989258,
+ "y": 3713.1426210403442,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "1031ff3c.e50d89"
+ ]
+ ]
+ },
+ {
+ "id": "e8af3b91.a0a3f",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2044.9764785766602,
+ "y": 3764.142601966858,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "81380f6b.9e4dd8"
+ ]
+ ]
+ },
+ {
+ "id": "1327057d.754d53",
+ "type": "switchNode",
+ "name": "switch related-to",
+ "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].related-to`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2580.6907806396484,
+ "y": 3709.380518913269,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "ae878b3e.96dcc8",
+ "6cf05edd.c5677"
+ ]
+ ]
+ },
+ {
+ "id": "81380f6b.9e4dd8",
+ "type": "for",
+ "name": "for each relationship",
+ "xml": "<for silentFailure='true' index='db-rel-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2214.976390838623,
+ "y": 3763.713978767395,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "62e527d2.1d70b"
+ ]
+ ]
+ },
+ {
+ "id": "ae878b3e.96dcc8",
+ "type": "outcome",
+ "name": "cloud-region",
+ "xml": "<outcome value='cloud-region'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2754.9765663146973,
+ "y": 3732.285343170166,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "d451f3c0.15adf8"
+ ]
+ ]
+ },
+ {
+ "id": "d451f3c0.15adf8",
+ "type": "for",
+ "name": "for each relationship data",
+ "xml": "<for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2952.1192665100098,
+ "y": 3732.7138109207153,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "452b836d.c38914"
+ ]
+ ]
+ },
+ {
+ "id": "452b836d.c38914",
+ "type": "switchNode",
+ "name": "switch relationship-key",
+ "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3183.547866821289,
+ "y": 3732.285185813904,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "520ded75.9767fc"
+ ]
+ ]
+ },
+ {
+ "id": "520ded75.9767fc",
+ "type": "outcome",
+ "name": "cloud-region.cloud-region-id",
+ "xml": "<outcome value='cloud-region.cloud-region-id'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3424.976432800293,
+ "y": 3732.2852821350098,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "37116d50.cf56a2"
+ ]
+ ]
+ },
+ {
+ "id": "37116d50.cf56a2",
+ "type": "switchNode",
+ "name": "switch relationship-value == cloud-region-id",
+ "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value == $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3729.262351989746,
+ "y": 3732.1423377990723,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "a2bcc8dd.1057e8"
+ ]
+ ]
+ },
+ {
+ "id": "a2bcc8dd.1057e8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3434.2624893188477,
+ "y": 3849.785291671753,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "47b616fe.13117"
+ ]
+ ]
+ },
+ {
+ "id": "852ecf97.3adc68",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1249.0954704284668,
+ "y": 3668.19029712677,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "6c9db393.4e1bcc",
+ "721426a5.cd4d3"
+ ]
+ ]
+ },
+ {
+ "id": "7188a6e4.ef2cc",
+ "type": "set",
+ "name": "set l3-network-id = -1",
+ "xml": "<set>\n<parameter name='l3-network-id' value='-1' />\n",
+ "comments": "",
+ "x": 1293.4288291931152,
+ "y": 3540.0949506759644,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "47b616fe.13117",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3580.0954666137695,
+ "y": 3849.2614002227783,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "e7097d49.1fec",
+ "55b96b73.a3fe2c",
+ "d5b2ed44.4c2308"
+ ]
+ ]
+ },
+ {
+ "id": "e7097d49.1fec",
+ "type": "set",
+ "name": "set l3-network-id = this l3-network",
+ "xml": "<set>\n<parameter name='l3-network-id' value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />\n",
+ "comments": "",
+ "x": 3815.333469390869,
+ "y": 3811.404369354248,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "224ee4c1.326304",
+ "type": "switchNode",
+ "name": "switch l3-network-id",
+ "xml": "<switch test='`$l3-network-id`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1290.42875289917,
+ "y": 3863.761992454529,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "16bd9f79.c62dc9"
+ ]
+ ]
+ },
+ {
+ "id": "16bd9f79.c62dc9",
+ "type": "outcome",
+ "name": "-1",
+ "xml": "<outcome value='-1'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1460.4287033081055,
+ "y": 3863.761748313904,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "65b6c831.c5485"
+ ]
+ ]
+ },
+ {
+ "id": "93dfd24c.069538",
+ "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=\"`'Unable to find l3-network in AAI for network role ' + $db.vf-network-role-mapping[$role-index].network-role`\" />\n",
+ "comments": "",
+ "x": 1743.7620658874512,
+ "y": 3863.7619972229004,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "b931907d.b30a08",
+ "type": "switchNode",
+ "name": "switch input model-invariant-uuid",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 589.9525375366211,
+ "y": 2544.038701057434,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "7fb229b6.3c85c8",
+ "82f8f081.0af77"
+ ]
+ ]
+ },
+ {
+ "id": "7fb229b6.3c85c8",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 795.6192092895508,
+ "y": 2521.181664466858,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "5ff9dc5f.b0154c"
+ ]
+ ]
+ },
+ {
+ "id": "82f8f081.0af77",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 797.0478057861328,
+ "y": 2565.467255592346,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "1c3ddf94.b28f8"
+ ]
+ ]
+ },
+ {
+ "id": "1c3ddf94.b28f8",
+ "type": "set",
+ "name": "set from input",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`' />\n",
+ "comments": "",
+ "x": 951.3335418701172,
+ "y": 2564.895827770233,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "5b6749b4.40c77",
+ "type": "set",
+ "name": "set from DB",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'\n value='`$db.vf-model.uuid`' />\n",
+ "comments": "",
+ "x": 947.0477333068848,
+ "y": 2609.7529335021973,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "f455bc8c.50b508",
+ "type": "switchNode",
+ "name": "switch input model-uuid",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 562.5715560913086,
+ "y": 2632.577438354492,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "cd34a0af.96b0b",
+ "161c9d30.1c1f83"
+ ]
+ ]
+ },
+ {
+ "id": "cd34a0af.96b0b",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 796.5715293884277,
+ "y": 2609.7203702926636,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "5b6749b4.40c77"
+ ]
+ ]
+ },
+ {
+ "id": "161c9d30.1c1f83",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 798.0001258850098,
+ "y": 2654.005961418152,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "ddf4a9f0.bb3bb"
+ ]
+ ]
+ },
+ {
+ "id": "ddf4a9f0.bb3bb",
+ "type": "set",
+ "name": "set from input",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`' />\n",
+ "comments": "",
+ "x": 952.2858619689941,
+ "y": 2653.434533596039,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "6dacecbd.5288fc",
+ "type": "set",
+ "name": "set from DB",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'\n value='`$db.vf-model.version`' />\n",
+ "comments": "",
+ "x": 944.1906661987305,
+ "y": 2698.610140800476,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "968e0675.5c2c38",
+ "type": "switchNode",
+ "name": "switch input model-version",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 570.714427947998,
+ "y": 2721.434585571289,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "8880dbfd.516398",
+ "c5886381.b5bd18"
+ ]
+ ]
+ },
+ {
+ "id": "8880dbfd.516398",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 793.714412689209,
+ "y": 2698.5775480270386,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "6dacecbd.5288fc"
+ ]
+ ]
+ },
+ {
+ "id": "c5886381.b5bd18",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 795.143009185791,
+ "y": 2742.863139152527,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "3a72fbc9.bc28e4"
+ ]
+ ]
+ },
+ {
+ "id": "3a72fbc9.bc28e4",
+ "type": "set",
+ "name": "set from input",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`' />\n",
+ "comments": "",
+ "x": 949.4287452697754,
+ "y": 2742.291711330414,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "3807e625.baedda",
+ "type": "set",
+ "name": "set from DB",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'\n value='`$db.vf-model.name`' />\n",
+ "comments": "",
+ "x": 944.1906661987305,
+ "y": 2785.752963066101,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "1aa28b1b.cad405",
+ "type": "switchNode",
+ "name": "switch input model-name",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 565.714427947998,
+ "y": 2808.577407836914,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "8c87d49f.d1134",
+ "f0452bd2.1ea45"
+ ]
+ ]
+ },
+ {
+ "id": "8c87d49f.d1134",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 793.714412689209,
+ "y": 2785.7203702926636,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "3807e625.baedda"
+ ]
+ ]
+ },
+ {
+ "id": "f0452bd2.1ea45",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 795.143009185791,
+ "y": 2830.005961418152,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "19788717.fc0ab9"
+ ]
+ ]
+ },
+ {
+ "id": "19788717.fc0ab9",
+ "type": "set",
+ "name": "set from input",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`' />\n",
+ "comments": "",
+ "x": 949.4287452697754,
+ "y": 2829.434533596039,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "1031ff3c.e50d89",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2225.3334312438965,
+ "y": 3713.9194984436035,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "8c589650.804078",
+ "type": "outcome",
+ "name": "PendingDelete",
+ "xml": "<outcome value='PendingDelete'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2070.000072479248,
+ "y": 3668.919412612915,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "d760cdd9.ad965"
+ ]
+ ]
+ },
+ {
+ "id": "d760cdd9.ad965",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2225.2141647338867,
+ "y": 3669.6962900161743,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "31601472.8b3a34",
+ "type": "outcome",
+ "name": "Pending Create",
+ "xml": "<outcome value='Pending Create'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2072.000072479248,
+ "y": 3625.585916519165,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "4a882a52.6c0e4c"
+ ]
+ ]
+ },
+ {
+ "id": "4a882a52.6c0e4c",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2225.2141647338867,
+ "y": 3626.3627939224243,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "53568d6f.73782c",
+ "type": "outcome",
+ "name": "PendingCreate",
+ "xml": "<outcome value='PendingCreate'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2072.000072479248,
+ "y": 3582.25266456604,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "5220610c.a8f22"
+ ]
+ ]
+ },
+ {
+ "id": "5220610c.a8f22",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2225.2141647338867,
+ "y": 3583.0295419692993,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "b66dbfec.08d64",
+ "type": "for",
+ "name": "for each A&AI subnet",
+ "xml": "<for index='subnet-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1758.3810997009277,
+ "y": 4002.966833591461,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "a874eb32.f6f168"
+ ]
+ ]
+ },
+ {
+ "id": "e13df041.93d998",
+ "type": "set",
+ "name": "set subnet_length",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`' />\n",
+ "comments": "",
+ "x": 1747.047664642334,
+ "y": 4047.9669156074524,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "3368c7e5.1fd09",
+ "type": "set",
+ "name": "set availability-zones.max-count and length",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.max-count'\n value='`$db.vf-model.avail-zone-max-count`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone_length'\n value='`$aai.cloud-region.availability-zones.availability-zone_length`' />\n",
+ "comments": "",
+ "x": 532.666862487793,
+ "y": 5247.467719078064,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "70a29720.d1a208",
+ "type": "set",
+ "name": "set vnf-name",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name'\n value='`$tmp.vnf-name`' />\n",
+ "comments": "",
+ "x": 526.8333511352539,
+ "y": 2478.086464881897,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "313ffbab.c11cec",
+ "type": "save",
+ "name": "update generic-vnf",
+ "xml": "<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"generic-vnf\"\n key=\"generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"vnf-name\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name`\" />\n<parameter name=\"prov-status\" value=\"PREPROV\" />\n<!-- <parameter name=\"operational-status\" value=\"out-of-service-path\" /> -->\n<parameter name=\"equipment-role\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role`\" />\n<parameter name=\"model-invariant-id\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid`\" />\n<parameter name=\"model-version-id\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid`\" />\n<parameter name=\"model-customization-id\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid`\" />\n<parameter name=\"in-maint\" value=\"true\" />\n<parameter name=\"selflink\" value=\"`$vnf-object-path`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 453.00012969970703,
+ "y": 5457.13348197937,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "3ec43c9e.01f064",
+ "7b2826bc.a116b8"
+ ]
+ ]
+ },
+ {
+ "id": "4ddaa8b9.ea6108",
+ "type": "set",
+ "name": "set vnf-object-path",
+ "xml": "<set>\n<parameter name='vnf-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vnf-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 + $vnf-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'`\"/>\n",
+ "comments": "",
+ "x": 453.0001678466797,
+ "y": 5387.133964538574,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "e672ed3d.7fae28",
+ "type": "set",
+ "name": "set vnf-id",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id'\n value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n",
+ "comments": "",
+ "x": 515.1666946411133,
+ "y": 2429.753007888794,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "ea6f7aeb.38755",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vnf.log' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 427.3335609436035,
+ "y": 5717.610103607178,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "902bb36e.02d208",
+ "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=\"`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`\" />\n",
+ "comments": "",
+ "x": 1489.6669731140137,
+ "y": 5323.8003787994385,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "528a3002.e9b57",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1189.0241737365723,
+ "y": 5280.753039360046,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "6d66a46f.8f258c"
+ ]
+ ]
+ },
+ {
+ "id": "89b44b94.d5d48",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1197.595603942871,
+ "y": 5325.038752555847,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "7cc448d4.16c81"
+ ]
+ ]
+ },
+ {
+ "id": "2359ac2a.3e0f14",
+ "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=\"Error updating generic-vnf in AAI\" />\n",
+ "comments": "",
+ "x": 1492.357566833496,
+ "y": 5280.56258392334,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "8634857d.82a3b8",
+ "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=\"`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`\" />\n",
+ "comments": "",
+ "x": 924.6669082641602,
+ "y": 5477.13391494751,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "3ec43c9e.01f064",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 627.3574600219727,
+ "y": 5435.753077507019,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "d9ff6d90.7eee28"
+ ]
+ ]
+ },
+ {
+ "id": "7b2826bc.a116b8",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 635.9288902282715,
+ "y": 5480.03879070282,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "33df4ca0.132d64"
+ ]
+ ]
+ },
+ {
+ "id": "73b9cad.4267434",
+ "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=\"Error updating selflink in generic-vnf in AAI\" />\n",
+ "comments": "",
+ "x": 927.3575019836426,
+ "y": 5433.896120071411,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "3175fdda.28a8fa",
+ "type": "set",
+ "name": "set model-customization-uuid",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />\n",
+ "comments": "",
+ "x": 578.5000152587891,
+ "y": 2881.419611930847,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "959170f0.d10dc",
+ "type": "execute",
+ "name": "split related-link",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\n <parameter name='ctx_memory_result_key' value='aai-uid-split' />\n <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />\n <parameter name='regex' value='/' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1343.8333129882812,
+ "y": 3002.8331956863403,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "919a9da7.1f7448",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1163.500015258789,
+ "y": 3049.4999837875366,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "959170f0.d10dc",
+ "ed342eb3.35926",
+ "a6da362b.ee5178"
+ ]
+ ]
+ },
+ {
+ "id": "a6da362b.ee5178",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 1313.4999771118164,
+ "y": 3092.8332805633545,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "eb0700ec.359b5",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 764.6668014526367,
+ "y": 5158.547835350037,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "3a33cdc9.d2b98a",
+ "ddd1b4bb.1f863"
+ ]
+ ]
+ },
+ {
+ "id": "ddd1b4bb.1f863",
+ "type": "save",
+ "name": "save generic-vnf availability-zone relationship",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"generic-vnf:relationship-list\"\n key=\"generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"availability-zone\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"cloud-region.cloud-owner\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$prop.cloud-region.cloud-owner`\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[1].relationship-key\" value=\"cloud-region.cloud-region-id\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[1].relationship-value\" value=\"`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[2].relationship-key\" value=\"availability-zone.availability-zone-name\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[2].relationship-value\" value=\"`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1058.0001907348633,
+ "y": 5181.881289482117,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "2d7b0f8a.557578",
+ "e85b6745.2ad308"
+ ]
+ ]
+ },
+ {
+ "id": "6b436e6b.f83b58",
+ "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=\"`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`\" />\n",
+ "comments": "",
+ "x": 1615.1428527832031,
+ "y": 5205.800618171692,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "2d7b0f8a.557578",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1322.8334426879883,
+ "y": 5162.753111839294,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "27a776e9.fbab3a"
+ ]
+ ]
+ },
+ {
+ "id": "e85b6745.2ad308",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1331.404872894287,
+ "y": 5207.038825035095,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "f9343030.e19f98"
+ ]
+ ]
+ },
+ {
+ "id": "ff4464bf.dffb6",
+ "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=\"Error updating generic-vnf in AAI\" />\n",
+ "comments": "",
+ "x": 1617.8334465026855,
+ "y": 5162.562823295593,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "73b88fba.e9b14",
+ "type": "set",
+ "name": "set mapping rows to 0",
+ "xml": "<set>\n<parameter name='db.vf-network-role-mapping_length' value='0' />\n",
+ "comments": "",
+ "x": 1137.3094863891602,
+ "y": 3295.6905822753906,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "51bff44c.19d854",
+ "type": "switchNode",
+ "name": "switch AAI availability-zone_length",
+ "xml": "<switch test='`$aai.cloud-region.availability-zones.availability-zone_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 505.38108825683594,
+ "y": 5062.357421875,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "7fb16597.60b6c4"
+ ]
+ ]
+ },
+ {
+ "id": "7fb16597.60b6c4",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 723.952507019043,
+ "y": 5061.928831100464,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "4e3b7f46.0e5608"
+ ]
+ ]
+ },
+ {
+ "id": "2be48f2.fe16cf",
+ "type": "set",
+ "name": "set availability-zone_length to 0",
+ "xml": "<set>\n<parameter name='aai.cloud-region.availability-zones.availability-zone_length' value='0' />\n",
+ "comments": "",
+ "x": 1325.3811492919922,
+ "y": 5080.500068664551,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "4e3b7f46.0e5608",
+ "type": "switchNode",
+ "name": "switch AZ max count > 0",
+ "xml": "<switch test='`$db.vf-model.avail-zone-max-count > 0`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 912.5239791870117,
+ "y": 5062.357142925262,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "b4f1f3f1.16192",
+ "c45624a2.82a55"
+ ]
+ ]
+ },
+ {
+ "id": "b4f1f3f1.16192",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1115.3810863494873,
+ "y": 5036.642892837524,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "643da192.6cbbb8"
+ ]
+ ]
+ },
+ {
+ "id": "c45624a2.82a55",
+ "type": "outcomeFalse",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1116.8097076416016,
+ "y": 5080.928640365601,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "2be48f2.fe16cf"
+ ]
+ ]
+ },
+ {
+ "id": "189b8c3d.25fac4",
+ "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=\"`'No availability zones found in AAI for cloud region '\n + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`\" />\n",
+ "comments": "",
+ "x": 1406.8095932006836,
+ "y": 5034.690585136414,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "f0fccd2a.ef011",
+ "type": "execute",
+ "name": "execute PropertiesNode",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 525.2857360839844,
+ "y": 203.42858695983887,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "f66a80dc.7487a8",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 743.6190414428711,
+ "y": 1879.5000114440918,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "ac22119.a35ce7"
+ ]
+ ]
+ },
+ {
+ "id": "7385e826.1e20b8",
+ "type": "switchNode",
+ "name": "switch ecomp-naming",
+ "xml": "<switch test='`$db.vf-model.ecomp-generated-naming`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1121.2384300231934,
+ "y": 1780.2144479751587,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "c7848c1b.2755",
+ "63b39cde.16cae4",
+ "79c7d709.311e18"
+ ]
+ ]
+ },
+ {
+ "id": "ac22119.a35ce7",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 889.3335418701172,
+ "y": 1879.5001287460327,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "7385e826.1e20b8",
+ "a2a899d6.631ce"
+ ]
+ ]
+ },
+ {
+ "id": "63b39cde.16cae4",
+ "type": "outcome",
+ "name": "N",
+ "xml": "<outcome value='N'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1307.6668167114258,
+ "y": 1780.690574645996,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "ced87cfe.6267b"
+ ]
+ ]
+ },
+ {
+ "id": "ced87cfe.6267b",
+ "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=\"No vnf-name was received but ecomp-generated-naming is not Y\" />\n",
+ "comments": "",
+ "x": 1461.9526023864746,
+ "y": 1799.2620191574097,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "c7848c1b.2755",
+ "type": "outcome",
+ "name": "Y",
+ "xml": "<outcome value='Y'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1307.6668090820312,
+ "y": 1739.2620286941528,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "a3cf01ba.66ac98"
+ ]
+ ]
+ },
+ {
+ "id": "79c7d709.311e18",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1307.6667556762695,
+ "y": 1823.547706604004,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "ced87cfe.6267b"
+ ]
+ ]
+ },
+ {
+ "id": "a3cf01ba.66ac98",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1444.809726715088,
+ "y": 1739.4048957824707,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "aabbb10c.1ba08",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 728.8097686767578,
+ "y": 2234.1191873550415,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "6314c0d9.140b2"
+ ]
+ ]
+ },
+ {
+ "id": "6314c0d9.140b2",
+ "type": "set",
+ "name": "set tmp.vnf-name",
+ "xml": "<set>\n<parameter name='tmp.vnf-name' value=\"`$vnf-topology-operation-input.vnf-information.vnf-name`\" />\n",
+ "comments": "",
+ "x": 894.5717315673828,
+ "y": 2232.976457595825,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "3beb7057.231e78",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:generate-unique-name",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='generate-unique-name' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1779.643009185791,
+ "y": 1929.261948108673,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "81027dc0.e3c148",
+ "21154e6f.895c62"
+ ]
+ ]
+ },
+ {
+ "id": "81027dc0.e3c148",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2056.7858123779297,
+ "y": 1902.833481311798,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "ce9dddcd.2aaf8"
+ ]
+ ]
+ },
+ {
+ "id": "21154e6f.895c62",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2061.5475578308105,
+ "y": 1948.2143921852112,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "262123d3.5f7d2c"
+ ]
+ ]
+ },
+ {
+ "id": "806c7812.c6106",
+ "type": "set",
+ "name": "set variables for generating unique name",
+ "xml": "<set>\n<parameter name='generate-unique-name-input.action' value='ASSIGN' />\n<parameter name='generate-unique-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='generate-unique-name-input.index-table-name' value='VNF_NAME_INDEX' />\n<parameter name='generate-unique-name-input.index-table-prefix-column' value='vnf_name_prefix' />\n<parameter name='generate-unique-name-input.name-table-type' value='VNF_INSTANCE' />\n<parameter name='generate-unique-name-input.prefix' value=\"`'z' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region + $db.vf-model.nf-code`\" />\n",
+ "comments": "",
+ "x": 1734.6432609558105,
+ "y": 1880.357267856598,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "262123d3.5f7d2c",
+ "type": "set",
+ "name": "set tmp.vnf-name to generated name",
+ "xml": "<set>\n<parameter name='tmp.vnf-name' value='`$generate-unique-name-output.generated-name`' />\n",
+ "comments": "",
+ "x": 2284.4519538879395,
+ "y": 1947.6904673576355,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "ce9dddcd.2aaf8",
+ "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=\"`$generate-unique-name-output.error-message`\" />\n",
+ "comments": "",
+ "x": 2210.3572731018066,
+ "y": 1902.2619910240173,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "a2a899d6.631ce",
+ "type": "switchNode",
+ "name": "switch naming-policy",
+ "xml": "<switch test='`$db.vf-model.naming-policy`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1119.024013519287,
+ "y": 1988.5000648498535,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "ed656bab.19a14",
+ "57a640a4.897548"
+ ]
+ ]
+ },
+ {
+ "id": "ed656bab.19a14",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1309.0239448547363,
+ "y": 1909.9286193847656,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "886e4a38.baf3f"
+ ]
+ ]
+ },
+ {
+ "id": "57a640a4.897548",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1309.2621841430664,
+ "y": 2037.3095636367798,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "7b7e647a.75f324"
+ ]
+ ]
+ },
+ {
+ "id": "886e4a38.baf3f",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1461.8812141418457,
+ "y": 1908.5000858306885,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "806c7812.c6106",
+ "3beb7057.231e78"
+ ]
+ ]
+ },
+ {
+ "id": "e253edf1.811a",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:naming-policy-generate-name",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1800.9291381835938,
+ "y": 2053.0239453315735,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "212d48d0.479528",
+ "9de38862.6225"
+ ]
+ ]
+ },
+ {
+ "id": "7b7e647a.75f324",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1463.786033630371,
+ "y": 2037.3095636367798,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "a1f5d870.7f1b1",
+ "e253edf1.811a"
+ ]
+ ]
+ },
+ {
+ "id": "a1f5d870.7f1b1",
+ "type": "set",
+ "name": "set variables for generating name",
+ "xml": "<set>\n<parameter name='naming-policy-generate-name-input.policy-instance-name' value='`$db.vf-model.naming-policy`' />\n<parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\n<parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='naming-policy-generate-name-input.action' value='ASSIGN' />\n<parameter name='naming-policy-generate-name-input.query-parameter' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />",
+ "comments": "",
+ "x": 1710.929054260254,
+ "y": 2007.3095993995667,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "642508b0.79c448",
+ "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=\"Unable to generate VNF name\" />\n",
+ "comments": "",
+ "x": 2243.786087036133,
+ "y": 2026.880883216858,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "59675eaa.bff9a",
+ "type": "set",
+ "name": "set tmp.vnf-name to generated name",
+ "xml": "<set>\n<parameter name='tmp.vnf-name' value='`$naming-policy-generate-name-output.vnf-name`' />\n",
+ "comments": "",
+ "x": 2322.214656829834,
+ "y": 2071.595185279846,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "cc558d50.a15698",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2005.2854461669922,
+ "y": 2853.6662101745605,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "5d8843b.a7451bc",
+ "a7b55ced.0acf5"
+ ]
+ ]
+ },
+ {
+ "id": "a7b55ced.0acf5",
+ "type": "call",
+ "name": "call GENERIC-RESOURCE-API:naming-policy-generate-name",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2329.5711517333984,
+ "y": 2880.237741470337,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "5d8843b.a7451bc",
+ "type": "set",
+ "name": "set variables for deleting name",
+ "xml": "<set>\n<parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\n<parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='naming-policy-generate-name-input.action' value='DELETE' />\n",
+ "comments": "",
+ "x": 2230.999771118164,
+ "y": 2833.0948123931885,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "f6f1f4aa.91ffa",
+ "type": "comment",
+ "name": "Unassign the VNF name",
+ "info": "",
+ "comments": "",
+ "x": 2096.9520950317383,
+ "y": 2773.6663122177124,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "de36732.02f1d9",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 945.2857818603516,
+ "y": 2938.666510105133,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "267c8333.b6b41c",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "bca359aa.ea657",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 943.6190643310547,
+ "y": 2980.3332624435425,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "d8746dc5.16b6a8",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "17e0c5d6.6b5e32",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 800.2857360839844,
+ "y": 3161.9998922348022,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "4c53fd4b.741ad4",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "29b9ea01.3157fe",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1091.9524230957031,
+ "y": 3251.9998922348022,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "9f2c8e1d.bc9d48",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "f8b0e31a.69846",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1651.9524421691895,
+ "y": 3405.9997596740723,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "3ad691fc.ce86ce",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "ce329189.366548",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1650.2857246398926,
+ "y": 3447.6665120124817,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "47e87554.0101b4",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "65b6c831.c5485",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1593.619068145752,
+ "y": 3863.6665077209473,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "93dfd24c.069538",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "643da192.6cbbb8",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1250.6191101074219,
+ "y": 5035.333201408386,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "189b8c3d.25fac4",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "27a776e9.fbab3a",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1470.6191101074219,
+ "y": 5163.333201408386,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "ff4464bf.dffb6",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "f9343030.e19f98",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1468.952392578125,
+ "y": 5206.999953746796,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "6b436e6b.f83b58",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "6d66a46f.8f258c",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1333.9524841308594,
+ "y": 5280.333201408386,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "2359ac2a.3e0f14",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "7cc448d4.16c81",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1332.2857666015625,
+ "y": 5323.999953746796,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "902bb36e.02d208",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "d9ff6d90.7eee28",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 780.6191444396973,
+ "y": 5435.3333168029785,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "73b9cad.4267434",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "33df4ca0.132d64",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 778.9524269104004,
+ "y": 5479.000069141388,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "8634857d.82a3b8",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "212d48d0.479528",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2099.095184326172,
+ "y": 2027.952452659607,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "642508b0.79c448"
+ ]
+ ]
+ },
+ {
+ "id": "9de38862.6225",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2103.8569297790527,
+ "y": 2073.33336353302,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "59675eaa.bff9a"
+ ]
+ ]
+ },
+ {
+ "id": "6549374f.d5df9",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 754.3332824707031,
+ "y": 1382.9196710586548,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "db3e2bd5.25d1d8",
+ "74dc73bc.f91dbc"
+ ]
+ ]
+ },
+ {
+ "id": "16cb3af3.980cad",
+ "type": "for",
+ "name": "for each instance group id",
+ "xml": "<for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 537.6666297912598,
+ "y": 1383.5863161087036,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "6549374f.d5df9"
+ ]
+ ]
+ },
+ {
+ "id": "db3e2bd5.25d1d8",
+ "type": "get-resource",
+ "name": "get-resource instance-group",
+ "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"instance-group\" \n\t\tkey=\"instance-group.id = $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\"\n pfx='aai.instance-group' local-only='false' >\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 985.6666412353516,
+ "y": 1306.2530527114868,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "677b47d4.197f1",
+ "4f975206.42b044"
+ ]
+ ]
+ },
+ {
+ "id": "4f975206.42b044",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1199.9128494262695,
+ "y": 1324.4039011001587,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "d9bdda6f.0d718"
+ ]
+ ]
+ },
+ {
+ "id": "677b47d4.197f1",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1208.8414459228516,
+ "y": 1282.6896343231201,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "1478d3df.88a424"
+ ]
+ ]
+ },
+ {
+ "id": "1478d3df.88a424",
+ "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=\"`'Cannot find instance group id ' +\n $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\n + ' in AAI'`\" />\n",
+ "comments": "",
+ "x": 1381.6666564941406,
+ "y": 1280.2530450820923,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "d9bdda6f.0d718",
+ "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=\"Error retrieving instance-group from AAI\" />\n",
+ "comments": "",
+ "x": 1381.6666564941406,
+ "y": 1324.2530450820923,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "74dc73bc.f91dbc",
+ "type": "for",
+ "name": "for each relationship",
+ "xml": "<for index='rel-index' start='0' end='`$aai.instance-group.relationship-list.relationship_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 959.3332977294922,
+ "y": 1454.586368560791,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "63151d66.27336c"
+ ]
+ ]
+ },
+ {
+ "id": "63151d66.27336c",
+ "type": "switchNode",
+ "name": "switch related-to",
+ "xml": "<switch test='`$aai.instance-group.relationship-list.relationship[$rel-index].related-to`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1172.6667404174805,
+ "y": 1454.5863075256348,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "d19c02e6.4b8bc8"
+ ]
+ ]
+ },
+ {
+ "id": "d19c02e6.4b8bc8",
+ "type": "outcome",
+ "name": "collection",
+ "xml": "<outcome value='collection'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1344.3333778381348,
+ "y": 1454.586389541626,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "9b35c121.bc33e"
+ ]
+ ]
+ },
+ {
+ "id": "9b35c121.bc33e",
+ "type": "get-resource",
+ "name": "get-resource collection",
+ "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"collection\" \n\t\tkey=\"collection.collection-id = $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value\"\n pfx='aai.collection' local-only='false' >\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1564.3332824707031,
+ "y": 1452.9196510314941,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "f9f8813c.08693",
+ "24f587c8.0c75a8",
+ "b6e5c42f.a30fd"
+ ]
+ ]
+ },
+ {
+ "id": "24f587c8.0c75a8",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1778.579475402832,
+ "y": 1404.4038400650024,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "5ddf9f2b.f357e"
+ ]
+ ]
+ },
+ {
+ "id": "f9f8813c.08693",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1787.508071899414,
+ "y": 1362.6895732879639,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "f9dc29da.b3b21"
+ ]
+ ]
+ },
+ {
+ "id": "f9dc29da.b3b21",
+ "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=\"`'Cannot find collection ' +\n $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value\n + ' in AAI'`\" />\n",
+ "comments": "",
+ "x": 1944.3332824707031,
+ "y": 1361.2530450820923,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "5ddf9f2b.f357e",
+ "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=\"System error retrieving collection from AAI\" />\n",
+ "comments": "",
+ "x": 1944.3332824707031,
+ "y": 1405.2530450820923,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "b6e5c42f.a30fd",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1777.6666831970215,
+ "y": 1541.2530164718628,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "d656a0a2.00b1e8"
+ ]
+ ]
+ },
+ {
+ "id": "d656a0a2.00b1e8",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1930.9998245239258,
+ "y": 1540.5863122940063,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "27451716.fec75",
+ "250da88.60119d8",
+ "67857de.8994284",
+ "a686c66d.95e1a8",
+ "ffe952b4.3e93e8"
+ ]
+ ]
+ },
+ {
+ "id": "27451716.fec75",
+ "type": "for",
+ "name": "for each network-instance-group",
+ "xml": "<for silentFailure='true' index='nig-index' start='0' end='`$service-data.network-instance-groups.network-instance-group_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2169.333168029785,
+ "y": 1491.2530603408813,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "540078c7.3e22f"
+ ]
+ ]
+ },
+ {
+ "id": "250da88.60119d8",
+ "type": "set",
+ "name": "set found-network-instance-group to false",
+ "xml": "<set>\n<parameter name='found-network-instance-group' value='false' />\n",
+ "comments": "",
+ "x": 2199.3331298828125,
+ "y": 1444.5864324569702,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "540078c7.3e22f",
+ "type": "switchNode",
+ "name": "network-instance-group-id matches?",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\n == $service-data.network-instance-groups.network-instance-group[$nig-index].network-instance-group-id`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2485.9996795654297,
+ "y": 1491.253059387207,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "1359274a.c9e751"
+ ]
+ ]
+ },
+ {
+ "id": "1359274a.c9e751",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2707.666458129883,
+ "y": 1491.2530241012573,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "1f76ed63.309293"
+ ]
+ ]
+ },
+ {
+ "id": "1f76ed63.309293",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2837.666488647461,
+ "y": 1491.2531003952026,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "a8b95ef5.c774a",
+ "38775c89.04b34c"
+ ]
+ ]
+ },
+ {
+ "id": "a8b95ef5.c774a",
+ "type": "set",
+ "name": "set found-network-instance-group to true",
+ "xml": "<set>\n<parameter name='found-network-instance-group' value='true' />\n",
+ "comments": "",
+ "x": 3070.9996643066406,
+ "y": 1462.9197254180908,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "38775c89.04b34c",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 2964.333278656006,
+ "y": 1511.253095626831,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "67857de.8994284",
+ "type": "switchNode",
+ "name": "switch found-network-instance-group",
+ "xml": "<switch test='`$found-network-instance-group`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2180.999786376953,
+ "y": 1541.253041267395,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "8b10053b.c507b8"
+ ]
+ ]
+ },
+ {
+ "id": "8b10053b.c507b8",
+ "type": "outcomeFalse",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2402.666633605957,
+ "y": 1541.2530636787415,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "73628974.41794"
+ ]
+ ]
+ },
+ {
+ "id": "73628974.41794",
+ "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=\"`'Could not find network instance group ' +\n $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\n + ' in MD-SAL'`\" />\n",
+ "comments": "",
+ "x": 2549.333206176758,
+ "y": 1539.5863981246948,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "4394124c.44d794",
+ "type": "set",
+ "name": "set tmp.vnf-network-collection_length to 0",
+ "xml": "<set>\n<parameter name='tmp.vnf-network-collection_length' value='0' />\n",
+ "comments": "",
+ "x": 585.9999694824219,
+ "y": 1334.5864477157593,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "a686c66d.95e1a8",
+ "type": "set",
+ "name": "set vnf-network-collection data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-function'\n value='`$aai.instance-group.instance-group-function`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-id'\n value='`$aai.instance-group.id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-service-instance-id'\n value='`$service-data.network-instance-groups.network-instance-group[$nig-index].service-instance-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-customization-uuid'\n value='`$aai.collection.collection-customization-id`' />\n",
+ "comments": "",
+ "x": 2161.0001106262207,
+ "y": 1589.5863771438599,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "ffe952b4.3e93e8",
+ "type": "set",
+ "name": "increment tmp.vnf-network-collection_length",
+ "xml": "<set>\n<parameter name='tmp.vnf-network-collection_length' value='`$tmp.vnf-network-collection_length + 1`' />\n",
+ "comments": "",
+ "x": 2202.666816711426,
+ "y": 1636.2530450820923,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "2407628e.2ee6be",
+ "type": "set",
+ "name": "set vnf-network-collection_length",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection_length'\n value='`$tmp.vnf-network-collection_length`' />\n",
+ "comments": "",
+ "x": 565.1666641235352,
+ "y": 1592.0863971710205,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "7a429165.827b78",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 689.6667518615723,
+ "y": 5551.729342460632,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "bf4aeb08.2c39a"
+ ]
+ ]
+ },
+ {
+ "id": "a323fa5.3a8dc88",
+ "type": "for",
+ "name": "for each instance group id",
+ "xml": "<for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 473.0000991821289,
+ "y": 5552.395987510681,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "7a429165.827b78"
+ ]
+ ]
+ },
+ {
+ "id": "bf4aeb08.2c39a",
+ "type": "save",
+ "name": "save generic-vnf relationship to instance-group",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"generic-vnf:relationship-list\"\n key=\"generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-information.vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"instance-group\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/instance-groups/instance-group/'\n + $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id`\" />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 973.0000801086426,
+ "y": 5551.253023147583,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "1715949a.0a3723",
+ "36f68961.b1e9ee"
+ ]
+ ]
+ },
+ {
+ "id": "62aedcf5.8101fc",
+ "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=\"`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`\" />\n",
+ "comments": "",
+ "x": 1529.6667518615723,
+ "y": 5569.586276054382,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "1715949a.0a3723",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1232.3573036193848,
+ "y": 5528.205438613892,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "cd0daf19.9d1e"
+ ]
+ ]
+ },
+ {
+ "id": "36f68961.b1e9ee",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1240.9287338256836,
+ "y": 5572.491151809692,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "2487c202.d2179e"
+ ]
+ ]
+ },
+ {
+ "id": "52665799.0d53d",
+ "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=\"Error updating relationship in generic-vnf in AAI\" />\n",
+ "comments": "",
+ "x": 1532.3573532104492,
+ "y": 5526.348539352417,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "cd0daf19.9d1e",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1385.6189880371094,
+ "y": 5527.785677909851,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "52665799.0d53d",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "2487c202.d2179e",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1383.9522705078125,
+ "y": 5571.4524302482605,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "62aedcf5.8101fc",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "d4a87018.ef3a9",
+ "type": "switchNode",
+ "name": "switch subnet_length",
+ "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1294.5714988708496,
+ "y": 3984.3483905792236,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "b0edb11e.282bc",
+ "b1855265.5e5398",
+ "5293df59.0d5738"
+ ]
+ ]
+ },
+ {
+ "id": "b0edb11e.282bc",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 1467.4286613464355,
+ "y": 3947.2054500579834,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "39976e51.0d3af2"
+ ]
+ ]
+ },
+ {
+ "id": "b1855265.5e5398",
+ "type": "outcome",
+ "name": "0",
+ "xml": "<outcome value='0'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1468.8572311401367,
+ "y": 3985.7766132354736,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "39976e51.0d3af2"
+ ]
+ ]
+ },
+ {
+ "id": "5293df59.0d5738",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1467.428695678711,
+ "y": 4024.3480052948,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "4ce6f696.2fb698"
+ ]
+ ]
+ },
+ {
+ "id": "4ce6f696.2fb698",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1588.857250213623,
+ "y": 4024.3482723236084,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "b66dbfec.08d64",
+ "e13df041.93d998"
+ ]
+ ]
+ },
+ {
+ "id": "39976e51.0d3af2",
+ "type": "set",
+ "name": "set subnet_length to 0",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'\n value='0' />\n",
+ "comments": "",
+ "x": 1660.2858543395996,
+ "y": 3955.7766132354736,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "f6f8007e.44c25",
+ "type": "call",
+ "name": "call self-serve-vnf-assign",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-assign' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1154.9719772338867,
+ "y": 582.5269885063171,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "bbf73747.fb38e8"
+ ]
+ ]
+ },
+ {
+ "id": "750a541f.389b9c",
+ "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=\"`'Failed to create self-serve assignment for vnf with vnf-id=' + $vnf-topology-operation-input.vnf-information.vnf-id + ' with error: ' + $error-message`\" />\n",
+ "comments": "",
+ "x": 1539.0433540344238,
+ "y": 582.5269389152527,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "40830cf7.851d3c",
+ "type": "comment",
+ "name": "SELF-SERVE FORK",
+ "info": "",
+ "comments": "",
+ "x": 885.8413009643555,
+ "y": 604.9792346954346,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "bbf73747.fb38e8",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1360.2695579528809,
+ "y": 582.0150198936462,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "750a541f.389b9c"
+ ]
+ ]
+ },
+ {
+ "id": "71c37da.ca45504",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 271.0793685913086,
+ "y": 421.87208461761475,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "f0fccd2a.ef011",
+ "b64fdf51.475e6",
+ "4603d416.c13b14",
+ "54a690a3.566b7",
+ "2eb275c7.eda4b2",
+ "d1195cfa.559228"
+ ]
+ ]
+ },
+ {
+ "id": "a874eb32.f6f168",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1930.047706604004,
+ "y": 4002.952467918396,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "5916323f.9579e4",
+ "920a9f96.de71d8",
+ "c34c6358.0d5a1",
+ "a8f75919.b0f548"
+ ]
+ ]
+ },
+ {
+ "id": "85e069bd.2867e",
+ "type": "set",
+ "name": "clear aai.l3-network",
+ "xml": "<set>\n<parameter name='aai.l3-network.' value='' />\n",
+ "comments": "",
+ "x": 1288.6191520690918,
+ "y": 3375.8095865249634,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "55b96b73.a3fe2c",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 3730.3330879211426,
+ "y": 3902.9521503448486,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "721426a5.cd4d3",
+ "type": "set",
+ "name": "set found-network to false",
+ "xml": "<set>\n<parameter name='found-network' value='false' />\n",
+ "comments": "",
+ "x": 1430.047679901123,
+ "y": 3608.6665544509888,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "62e527d2.1d70b",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2401.7619857788086,
+ "y": 3762.952350616455,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "1327057d.754d53",
+ "5d3cb1c3.7483"
+ ]
+ ]
+ },
+ {
+ "id": "5d3cb1c3.7483",
+ "type": "switchNode",
+ "name": "switch found-network",
+ "xml": "<switch test='`$found-network`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2593.190532684326,
+ "y": 3792.952404975891,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "580a5665.5e59c8"
+ ]
+ ]
+ },
+ {
+ "id": "d5b2ed44.4c2308",
+ "type": "set",
+ "name": "set found-network to true",
+ "xml": "<set>\n<parameter name='found-network' value='true' />\n",
+ "comments": "",
+ "x": 3786.047966003418,
+ "y": 3857.2378311157227,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "580a5665.5e59c8",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2761.7620239257812,
+ "y": 3792.9523344039917,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "a329bff7.fcce5"
+ ]
+ ]
+ },
+ {
+ "id": "a329bff7.fcce5",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 2891.762092590332,
+ "y": 3791.5237283706665,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "5b55e55c.75e71c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1602.0477027893066,
+ "y": 3736.6666288375854,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "d845e519.b3b708",
+ "b0c27a22.aa05d"
+ ]
+ ]
+ },
+ {
+ "id": "b0c27a22.aa05d",
+ "type": "switchNode",
+ "name": "switch found-network",
+ "xml": "<switch test='`$found-network`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1812.0476570129395,
+ "y": 3808.666512489319,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "55660d1.d082974"
+ ]
+ ]
+ },
+ {
+ "id": "55660d1.d082974",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1980.6191482543945,
+ "y": 3808.6664419174194,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "ee901ebf.55824"
+ ]
+ ]
+ },
+ {
+ "id": "ee901ebf.55824",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 2110.6192169189453,
+ "y": 3807.2378358840942,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "813f9f7d.79ca28",
+ "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": 1127.3809127807617,
+ "y": 736.681556224823,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "35d8f89f.cae8e8",
+ "type": "set",
+ "name": "set vnf-level-oper-status to PendingCreate",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\n",
+ "comments": "",
+ "x": 1209.1943588256836,
+ "y": 634.019036769867,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "11521b87.cda144",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/ss-vnfend.log' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1117.2856407165527,
+ "y": 684.4588055610657,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "2f302cda.06e25c",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 905.9521713256836,
+ "y": 653.967264175415,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "f6f8007e.44c25",
+ "35d8f89f.cae8e8",
+ "11521b87.cda144",
+ "813f9f7d.79ca28"
+ ]
+ ]
+ },
+ {
+ "id": "c34c6358.0d5a1",
+ "type": "set",
+ "name": "set subnet data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].ip-version'\n value='`$tmp.ip-version`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-id'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].neutron-subnet-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].sdnc-subnet-id'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-role'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-name'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-name`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].network-start-address'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].network-start-address`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].gateway-address'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].gateway-address`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].cidr-mask'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].cidr-mask`' />\n",
+ "comments": "",
+ "x": 2084.3334732055664,
+ "y": 4033.634214401245,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "a8f75919.b0f548",
+ "type": "switchNode",
+ "name": "switch dhcp-enabled",
+ "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].dhcp-enabled`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2098.8572540283203,
+ "y": 4086.477168083191,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "5b9cfd56.94cab4",
+ "20b53f2d.6d298"
+ ]
+ ]
+ },
+ {
+ "id": "5b9cfd56.94cab4",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2261.714418683733,
+ "y": 4065.0485258102417,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "5825a0c3.778368"
+ ]
+ ]
+ },
+ {
+ "id": "20b53f2d.6d298",
+ "type": "outcomeFalse",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2260.2857513427734,
+ "y": 4110.762951850891,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "4ebb03e8.e8e0ec"
+ ]
+ ]
+ },
+ {
+ "id": "5825a0c3.778368",
+ "type": "set",
+ "name": "set dhcp-enabled to Y",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'\n value='Y' />\n",
+ "comments": "",
+ "x": 2434.571617126465,
+ "y": 4063.619921684265,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "4ebb03e8.e8e0ec",
+ "type": "set",
+ "name": "set dhcp-enabled to N",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'\n value='N' />\n",
+ "comments": "",
+ "x": 2431.714385986328,
+ "y": 4110.762951850891,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "5916323f.9579e4",
+ "type": "switchNode",
+ "name": "switch subnet-role",
+ "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2099.333423614502,
+ "y": 3915.5248403549194,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "e517ce5c.e07be8"
+ ]
+ ]
+ },
+ {
+ "id": "e517ce5c.e07be8",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2266.000026702881,
+ "y": 3915.524492263794,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "2b57ab32.a2f884"
+ ]
+ ]
+ },
+ {
+ "id": "2b57ab32.a2f884",
+ "type": "set",
+ "name": "set subnet-role to NONE",
+ "xml": "<set>\n<parameter name='aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role' value='NONE' />\n",
+ "comments": "",
+ "x": 2447.6668128967285,
+ "y": 3914.858144760132,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "920a9f96.de71d8",
+ "type": "switchNode",
+ "name": "switch ip-version",
+ "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].ip-version`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2094.5717582702637,
+ "y": 3980.0159463882446,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "cc335709.20c6a",
+ "d22c3e1.6742e4"
+ ]
+ ]
+ },
+ {
+ "id": "cc335709.20c6a",
+ "type": "outcome",
+ "name": "4",
+ "xml": "<outcome value='4'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2260.285900115967,
+ "y": 3961.4443435668945,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "b999772a.e74e08"
+ ]
+ ]
+ },
+ {
+ "id": "d22c3e1.6742e4",
+ "type": "outcome",
+ "name": "6",
+ "xml": "<outcome value='6'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2260.285861968994,
+ "y": 4002.8730869293213,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "baf052e9.035a8"
+ ]
+ ]
+ },
+ {
+ "id": "b999772a.e74e08",
+ "type": "set",
+ "name": "set tmp.ip-version to ipv4",
+ "xml": "<set>\n<parameter name='tmp.ip-version' value='ipv4' />\n",
+ "comments": "",
+ "x": 2447.428665161133,
+ "y": 3960.5872707366943,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "baf052e9.035a8",
+ "type": "set",
+ "name": "set tmp.ip-version to ipv6",
+ "xml": "<set>\n<parameter name='tmp.ip-version' value='ipv6' />\n",
+ "comments": "",
+ "x": 2446.000217437744,
+ "y": 4002.87308883667,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "f3f529c4.6b12c",
+ "type": "switchNode",
+ "name": "switch network-role",
+ "xml": "<switch test='`$db.vf-network-role-mapping[$role-index].network-role`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 726.9999504089355,
+ "y": 3988.2529973983765,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "ad907250.d52f88",
+ "1e7fd31a.7311cd",
+ "ffba2516.16032",
+ "dfcf0f8b.63ead"
+ ]
+ ]
+ },
+ {
+ "id": "ad907250.d52f88",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 895.09521484375,
+ "y": 3886.5864086151123,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "98619fd2.bec62"
+ ]
+ ]
+ },
+ {
+ "id": "1e7fd31a.7311cd",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 893.6665916442871,
+ "y": 4014.919596672058,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "7818536.37f0dac"
+ ]
+ ]
+ },
+ {
+ "id": "98619fd2.bec62",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1032.4762229919434,
+ "y": 3926.347988128662,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "ddb641a.0cdf6c",
+ "type": "get-resource",
+ "name": "get-resource VNF_RELATED_NETWORK_ROLE",
+ "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VNF_RELATED_NETWORK_ROLE where vnf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid\n and network_role = $db.vf-network-role-mapping[$role-index].network-role'\n pfx='db.vnf-related-network-role[]'>\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1389.0000457763672,
+ "y": 4317.99951171875,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "6e176994.c9fc08",
+ "a8e7219.491b5e"
+ ]
+ ]
+ },
+ {
+ "id": "6e176994.c9fc08",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1657.6667098999023,
+ "y": 4148.666353225708,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "cf025be1.019988"
+ ]
+ ]
+ },
+ {
+ "id": "34f534dd.e70314",
+ "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=\"Error reading VNF_RELATED_NETWORK_ROLE table\" />\n",
+ "comments": "",
+ "x": 1967.6666831970215,
+ "y": 4148.475923538208,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "cf025be1.019988",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 1804.8572273254395,
+ "y": 4147.214367866516,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "34f534dd.e70314",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "a8e7219.491b5e",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 1660.6667404174805,
+ "y": 4511.3328647613525,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "2d2c045a.605fac"
+ ]
+ ]
+ },
+ {
+ "id": "2d2c045a.605fac",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 1827.0000457763672,
+ "y": 4509.33251953125,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "d22411ae.cfab38",
+ "f00be450.6e03b8",
+ "ed5ab810.0698c",
+ "fe2e985b.3fac1",
+ "85d1660f.115f8",
+ "56fd3cba.9c5d9c",
+ "b51e7fb9.9341e",
+ "be6e885e.eba838",
+ "af3119a2.d6d4a8"
+ ]
+ ]
+ },
+ {
+ "id": "6cf05edd.c5677",
+ "type": "outcome",
+ "name": "service-instance",
+ "xml": "<outcome value='service-instance'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2765.285514831543,
+ "y": 3681.5711908340454,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "ec948079.0335d"
+ ]
+ ]
+ },
+ {
+ "id": "ec948079.0335d",
+ "type": "for",
+ "name": "for each relationship data",
+ "xml": "<for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2990.7613525390625,
+ "y": 3681.9998207092285,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "ecc5143d.d0e99"
+ ]
+ ]
+ },
+ {
+ "id": "ecc5143d.d0e99",
+ "type": "switchNode",
+ "name": "switch relationship-key",
+ "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3225.9999237060547,
+ "y": 3680.333251953125,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "bbd443c8.b2a97"
+ ]
+ ]
+ },
+ {
+ "id": "bbd443c8.b2a97",
+ "type": "outcome",
+ "name": "service-instance.service-instance-id",
+ "xml": "<outcome value='service-instance.service-instance-id'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3492.4282836914062,
+ "y": 3680.333315849304,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "b0369bab.d1cf"
+ ]
+ ]
+ },
+ {
+ "id": "b0369bab.d1cf",
+ "type": "set",
+ "name": "set network-service-instance-id",
+ "xml": "<set>\n<parameter name='network-service-instance-id'\n value='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value`' />\n",
+ "comments": "",
+ "x": 3786.000068664551,
+ "y": 3678.6667308807373,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "d22411ae.cfab38",
+ "type": "execute",
+ "name": "generate network-topology-identifier-structure url",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.network-topology-identifier-structure`\"/>\n <parameter name=\"outputPath\" value=\"tmp.part\"/>\n <parameter name=\"target\" value=\"{service-instance-id}\"/>\n <parameter name=\"replacement\" value=\"`$network-service-instance-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2146.3332138061523,
+ "y": 4205.000152587891,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "ed5ab810.0698c",
+ "type": "execute",
+ "name": "execute RestApiCallNode - get network-topology-identifier-structure",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ntis-url`' />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='GET' />\n <parameter name=\"responsePrefix\" value=\"mdsal-ntis\" />\n\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2203.3330078125,
+ "y": 4308.428893089294,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "e6cc22fc.af83a8"
+ ]
+ ]
+ },
+ {
+ "id": "f00be450.6e03b8",
+ "type": "execute",
+ "name": "generate network-topology-identifier-structure url (part 2)",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.part`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ntis-url\"/>\n <parameter name=\"target\" value=\"{network-id}\"/>\n <parameter name=\"replacement\" value=\"`$l3-network-id`\"/>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2167.999801635742,
+ "y": 4248.33349609375,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "fa6296d4.7da71",
+ "type": "execute",
+ "name": "printContext",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vnfa.log' />\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 473.3334197998047,
+ "y": 4154.99951171875,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "e6cc22fc.af83a8",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2532.442195892334,
+ "y": 4308.179370880127,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "282f7afe.cbc7c6"
+ ]
+ ]
+ },
+ {
+ "id": "9143790a.31996",
+ "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=\"`\n 'Error retrieving network-topology-identifier-structure for service instance '\n + $network-service-instance-id\n + ' and network-id '\n + $l3-network-id`\" />\n",
+ "comments": "",
+ "x": 2837.666572570801,
+ "y": 4318.665860176086,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "282f7afe.cbc7c6",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2669.8570861816406,
+ "y": 4307.404459953308,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "9143790a.31996",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "fe2e985b.3fac1",
+ "type": "set",
+ "name": "set is-trunked and segmentation-id in vnf-network",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].is-trunked'\n value='`$mdsal-ntis.network-topology-identifier-structure.is-trunked`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].segmentation-id'\n value='`$mdsal-ntis.network-topology-identifier-structure.segmentation-id`' />\n ",
+ "comments": "",
+ "x": 2146.000030517578,
+ "y": 4368.66651725769,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "56fd3cba.9c5d9c",
+ "type": "save",
+ "name": "custom query: get owning entity",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"custom-query\"\n key=\"format = 'resource'\"\n force=\"true\"\n local-only=\"false\"\n pfx=\"tmp.AnAI-data.oe\">\n<parameter name=\"start[0]\" value=\"`'nodes/service-instances/service-instance?service-instance-id=' + $network-service-instance-id `\" />\n<parameter name=\"start_length\" value=\"1\" />\n<parameter name=\"query\" value=\"/query/owning-entity-fromService-instance\" /> \n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2086.9999237060547,
+ "y": 4444,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "2a32fc41.36b374",
+ "2dd01fd8.93e128"
+ ]
+ ]
+ },
+ {
+ "id": "2a32fc41.36b374",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2297.2379722595215,
+ "y": 4422.666354179382,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "fe87cf4c.666438"
+ ]
+ ]
+ },
+ {
+ "id": "2dd01fd8.93e128",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2304.3808670043945,
+ "y": 4468.380578994751,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "d8b53acc.a4a998"
+ ]
+ ]
+ },
+ {
+ "id": "21db44b1.f7526c",
+ "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=\"Error getting owning entity from service instance\" />\n",
+ "comments": "",
+ "x": 2601.9999237060547,
+ "y": 4420.66650390625,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "fe87cf4c.666438",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2439.1904678344727,
+ "y": 4419.404948234558,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "21db44b1.f7526c",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "84457b19.381f68",
+ "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=\"Unable to find owning entity from service instance\" />\n",
+ "comments": "",
+ "x": 2600.3334197998047,
+ "y": 4470.66650390625,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "d8b53acc.a4a998",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2437.5239639282227,
+ "y": 4469.404948234558,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "84457b19.381f68",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "e71b1bdf.e3349",
+ "type": "save",
+ "name": "custom query: get tenant network",
+ "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"custom-query\"\n key=\"format = 'resource'\"\n force=\"true\"\n local-only=\"false\"\n pfx=\"tmp.AnAI-data.get-networks\">\n<parameter name=\"start[0]\" value=\"`'/business/owning-entities/owning-entity/' + $tmp.AnAI-data.oe.results[0].owning-entity.owning-entity-id `\" />\n<parameter name=\"start_length\" value=\"1\" />\n<parameter name=\"query\" value=\"`'/query/getNetworks?networkRole=' + $db.vnf-related-network-role[$rel-network-role-index].related-network-role\n + '&cloudRegionId=' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`\" /> \n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2536.6667404174805,
+ "y": 4617.000137329102,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "76ce5749.456708",
+ "822b2122.3612e8"
+ ]
+ ]
+ },
+ {
+ "id": "76ce5749.456708",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2749.9047889709473,
+ "y": 4595.66663646698,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "9637e847.9f9948"
+ ]
+ ]
+ },
+ {
+ "id": "822b2122.3612e8",
+ "type": "not-found",
+ "name": "not-found",
+ "xml": "<outcome value='not-found'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2757.0476837158203,
+ "y": 4641.380861282349,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "846ade0e.b07b78"
+ ]
+ ]
+ },
+ {
+ "id": "66764ab7.27f574",
+ "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=\"Error calling getNetworks custom query in AAI\" />\n",
+ "comments": "",
+ "x": 3054.6667404174805,
+ "y": 4593.666786193848,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "9637e847.9f9948",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2891.8572845458984,
+ "y": 4592.405230522156,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "66764ab7.27f574",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "b8d55e2e.271e08",
+ "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=\"`'No l3-network returned from getNetworks custom query for related network role '\n + $db.vnf-related-network-role[0].related-network-role`\" />\n",
+ "comments": "",
+ "x": 3053.0002365112305,
+ "y": 4643.666786193848,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "846ade0e.b07b78",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 2890.1907806396484,
+ "y": 4642.405230522156,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "b8d55e2e.271e08",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "e134937a.177c2",
+ "type": "for",
+ "name": "for each relationship",
+ "xml": "<for index='rel-index' start='0' end='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2503.6667404174805,
+ "y": 4743.000282287598,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "52894cbe.44c3ac"
+ ]
+ ]
+ },
+ {
+ "id": "52894cbe.44c3ac",
+ "type": "switchNode",
+ "name": "switch related-to",
+ "xml": "<switch test='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship[$rel-index].related-to`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2701.6667404174805,
+ "y": 4743.000282287598,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "304c09da.85f77e"
+ ]
+ ]
+ },
+ {
+ "id": "304c09da.85f77e",
+ "type": "outcome",
+ "name": "vlan-tag",
+ "xml": "<outcome value='vlan-tag'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2871.6667404174805,
+ "y": 4743.000282287598,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "3e80d79f.f3105"
+ ]
+ ]
+ },
+ {
+ "id": "3e80d79f.f3105",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 3039.6667404174805,
+ "y": 4741.000282287598,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "1f10b656.cec3a2",
+ "ce9fe060.e2a868",
+ "bbb52bca.889a8"
+ ]
+ ]
+ },
+ {
+ "id": "1f10b656.cec3a2",
+ "type": "set",
+ "name": "set vlan-tag-id",
+ "xml": "<set>\n<parameter name='vlan-tag-id' value='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value`' />\n",
+ "comments": "",
+ "x": 3215.6667404174805,
+ "y": 4701.000282287598,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "ce9fe060.e2a868",
+ "type": "get-resource",
+ "name": "get-resource vlan-tag",
+ "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"vlan-tag\" \n\t\tkey=\"vlan-tag.vlan-tag-id = $vlan-tag-id\"\n pfx='aai.vlan-tag' local-only='false'\n>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3237.6667404174805,
+ "y": 4759.000282287598,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "56d9856.c67207c",
+ "21dc559b.022632"
+ ]
+ ]
+ },
+ {
+ "id": "56d9856.c67207c",
+ "type": "failure",
+ "name": "failure",
+ "xml": "<outcome value='failure'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3417.7143478393555,
+ "y": 4741.143348693848,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "23eac337.91b434"
+ ]
+ ]
+ },
+ {
+ "id": "23eac337.91b434",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 3560.5236282348633,
+ "y": 4741.333990573883,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "ca977500.30f7b",
+ "cc558d50.a15698"
+ ]
+ ]
+ },
+ {
+ "id": "ca977500.30f7b",
+ "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=\"Error getting vlan-tag object from AAI\" />\n",
+ "comments": "",
+ "x": 3721.666633605957,
+ "y": 4737.000509262085,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "85d1660f.115f8",
+ "type": "for",
+ "name": "for each related network role",
+ "xml": "<for index='rel-network-role-index' start='0' end='`$db.vnf-related-network-role_length`' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2074.6666717529297,
+ "y": 4673.333847045898,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "3baee05d.ce7ed"
+ ]
+ ]
+ },
+ {
+ "id": "3baee05d.ce7ed",
+ "type": "block",
+ "name": "block : atomic",
+ "xml": "<block atomic=\"true\">",
+ "atomic": "true",
+ "outputs": 1,
+ "x": 2279.6666717529297,
+ "y": 4674.6669921875,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "e71b1bdf.e3349",
+ "e134937a.177c2",
+ "656856.eda49fac"
+ ]
+ ]
+ },
+ {
+ "id": "be6e885e.eba838",
+ "type": "switchNode",
+ "name": "switch rn-index",
+ "xml": "<switch test='`$rn-index`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 2035.6666717529297,
+ "y": 4563,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "284c1661.f85f52"
+ ]
+ ]
+ },
+ {
+ "id": "b51e7fb9.9341e",
+ "type": "set",
+ "name": "set rn-index to related network length",
+ "xml": "<set>\n<parameter name='rn-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network_length`' />\n",
+ "comments": "",
+ "x": 2104.3332595825195,
+ "y": 4513.999853134155,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "284c1661.f85f52",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value=''>",
+ "comments": "",
+ "outputs": 1,
+ "x": 2199.6666717529297,
+ "y": 4563,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "983fc56f.c30ce"
+ ]
+ ]
+ },
+ {
+ "id": "983fc56f.c30ce",
+ "type": "set",
+ "name": "set rn-index to 0",
+ "xml": "<set>\n<parameter name='rn-index' value='0' />\n",
+ "comments": "",
+ "x": 2359.6666717529297,
+ "y": 4563,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "656856.eda49fac",
+ "type": "set",
+ "name": "set related-network data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].network-id'\n value='`$tmp.AnAI-data.get-networks.results[0].l3-network.network-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].network-role'\n value='`$tmp.AnAI-data.get-networks.results[0].l3-network.network-role`' />\n",
+ "comments": "",
+ "x": 2507.3333282470703,
+ "y": 4673.66682434082,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "af3119a2.d6d4a8",
+ "type": "set",
+ "name": "set new related network length",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network_length'\n value='`$rn-index + 1`' />\n",
+ "comments": "",
+ "x": 2069.6667404174805,
+ "y": 4817.000137329102,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "21dc559b.022632",
+ "type": "success",
+ "name": "success",
+ "xml": "<outcome value='success'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 3419.6667404174805,
+ "y": 4789.000137329102,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "a3807c8f.32092"
+ ]
+ ]
+ },
+ {
+ "id": "a3807c8f.32092",
+ "type": "set",
+ "name": "set related-network data",
+ "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.vlan-interface'\n value='`$aai.vlan-tag.vlan-tag-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.upper-tag-id'\n value='`$aai.vlan-tag.vlan-id-outer`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.lower-tag-id'\n value='`$aai.vlan-tag.vlan-id-inner`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.is-private'\n value='`$aai.vlan-tag.is-private`' />\n",
+ "comments": "",
+ "x": 3611.6667404174805,
+ "y": 4789.000137329102,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "bbb52bca.889a8",
+ "type": "break",
+ "name": "break",
+ "xml": "<break>\n",
+ "comments": "",
+ "x": 3189.6667404174805,
+ "y": 4827.000137329102,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "5f19f981.44f8e8",
+ "type": "comment",
+ "name": "temporary data issue: also ignore string \"null\" and \"NULL\"",
+ "info": "",
+ "comments": "",
+ "x": 866.0000534057617,
+ "y": 3846.7621212005615,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "ffba2516.16032",
+ "type": "outcome",
+ "name": "null",
+ "xml": "<outcome value='null'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 893.1428756713867,
+ "y": 3929.6192626953125,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "98619fd2.bec62"
+ ]
+ ]
+ },
+ {
+ "id": "dfcf0f8b.63ead",
+ "type": "outcome",
+ "name": "NULL",
+ "xml": "<outcome value='NULL'>",
+ "comments": "",
+ "outputs": 1,
+ "x": 893.1428852081299,
+ "y": 3972.4763345718384,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "98619fd2.bec62"
+ ]
+ ]
+ },
+ {
+ "id": "54a690a3.566b7",
+ "type": "switchNode",
+ "name": "switch input cloud-owner",
+ "xml": "<switch test='`$vnf-topology-operation-input.vnf-request-input.cloud-owner`'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 525.9999923706055,
+ "y": 258.6666564941406,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "36ae954f.893402",
+ "721bab5f.eced9c"
+ ]
+ ]
+ },
+ {
+ "id": "36ae954f.893402",
+ "type": "other",
+ "name": "NULL",
+ "xml": "<outcome value=''>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 709.333366394043,
+ "y": 228.66664505004883,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "7432cce1.83deac"
+ ]
+ ]
+ },
+ {
+ "id": "721bab5f.eced9c",
+ "type": "other",
+ "name": "other",
+ "xml": "<outcome value='Other'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 709.095272064209,
+ "y": 269.61913871765137,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "3204702c.f7b9d8"
+ ]
+ ]
+ },
+ {
+ "id": "7432cce1.83deac",
+ "type": "block",
+ "name": "block",
+ "xml": "<block>\n",
+ "atomic": "false",
+ "comments": "",
+ "outputs": 1,
+ "x": 844.3333206176758,
+ "y": 226.99998474121094,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "3204702c.f7b9d8",
+ "type": "set",
+ "name": "set prop.cloud-region.cloud-owner",
+ "xml": "<set>\n<parameter name='prop.cloud-region.cloud-owner' value='`$vnf-topology-operation-input.vnf-request-input.cloud-owner`' />\n",
+ "comments": "",
+ "x": 925.9999771118164,
+ "y": 268.6666660308838,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ },
+ {
+ "id": "2eb275c7.eda4b2",
+ "type": "call",
+ "name": "call self-serve-vnf-forking-logic",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-forking-logic' mode='sync' >\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 543.8571472167969,
+ "y": 551.9673004150391,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "d1195cfa.559228",
+ "type": "switchNode",
+ "name": "switch ss.self-serve-flag",
+ "xml": "<switch test=\"`$ss.self-serve-flag`\">\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 523.9998626708984,
+ "y": 717.5387878417969,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "272b86e.2f2c07a",
+ "af9ed331.fb3a28"
+ ]
+ ]
+ },
+ {
+ "id": "272b86e.2f2c07a",
+ "type": "outcomeFalse",
+ "name": "false",
+ "xml": "<outcome value='false'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 735.7140197753906,
+ "y": 790.8240718841553,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "aefac3f0.23ec18"
+ ]
+ ]
+ },
+ {
+ "id": "af9ed331.fb3a28",
+ "type": "outcomeTrue",
+ "name": "true",
+ "xml": "<outcome value='true'>\n",
+ "comments": "",
+ "outputs": 1,
+ "x": 735.2855377197266,
+ "y": 654.3959054946899,
+ "z": "8c36dbb6.ab0628",
+ "wires": [
+ [
+ "2f302cda.06e25c"
+ ]
+ ]
+ },
+ {
+ "id": "88c71ce1.a67868",
+ "type": "comment",
+ "name": "'Old' version of DG, called for flows where SO does not expect async response (so-sdnc-adapter)",
+ "info": "",
+ "comments": "",
+ "x": 454,
+ "y": 55,
+ "z": "8c36dbb6.ab0628",
+ "wires": []
+ }
+]
\ No newline at end of file diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-assign.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-assign.json index 1b0f4cbf..345e63d2 100644 --- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-assign.json +++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-assign.json @@ -1,5843 +1,219 @@ [
{
- "id": "fa733965.8e1b48",
- "type": "dgstart",
- "name": "DGSTART",
- "outputs": 1,
- "x": 116.66666412353516,
- "y": 70.74699592590332,
- "z": "2d523017.81121",
- "wires": [
- [
- "daf6d1e0.f0a85"
- ]
- ]
- },
- {
- "id": "daf6d1e0.f0a85",
- "type": "service-logic",
- "name": "GENERIC-RESOURCE-API ${project.version}",
- "module": "GENERIC-RESOURCE-API",
- "version": "${project.version}",
- "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": 231.9523696899414,
- "y": 112.65177536010742,
- "z": "2d523017.81121",
- "wires": [
- [
- "3a6f31b4.299cee"
- ]
- ]
- },
- {
- "id": "3a6f31b4.299cee",
- "type": "method",
- "name": "method vnf-topology-operation-assign",
- "xml": "<method rpc='vnf-topology-operation-assign' mode='sync'>\n",
- "comments": "",
- "outputs": 1,
- "x": 204.76197052001953,
- "y": 155.41365909576416,
- "z": "2d523017.81121",
- "wires": [
- [
- "9ab83872.914ab8"
- ]
- ]
- },
- {
- "id": "21dff779.bf4cc8",
+ "id": "d8152ad9.82c12",
"type": "comment",
"name": "vnf-topology-operation-assign",
"info": "",
"comments": "",
- "x": 492.6781921386719,
- "y": 20,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "49a698b9.947698",
- "type": "switchNode",
- "name": "switch request-action",
- "xml": "<switch test='`$vnf-topology-operation-input.request-information.request-action`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 513.0476303100586,
- "y": 466.3898124694824,
- "z": "2d523017.81121",
- "wires": [
- [
- "725cf24d.8d4b4c",
- "abc6c6e8.654018"
- ]
- ]
- },
- {
- "id": "725cf24d.8d4b4c",
- "type": "outcome",
- "name": "CreateVnfInstance",
- "xml": "<outcome value='CreateVnfInstance'>\n",
- "comments": "",
- "outputs": 1,
- "x": 766.7619247436523,
- "y": 443.53269386291504,
- "z": "2d523017.81121",
- "wires": [
- [
- "b07fe8dd.932d38"
- ]
- ]
- },
- {
- "id": "abc6c6e8.654018",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 728.761890411377,
- "y": 489.24702167510986,
- "z": "2d523017.81121",
- "wires": [
- [
- "97a46274.9df5e"
- ]
- ]
- },
- {
- "id": "b07fe8dd.932d38",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 951.6190528869629,
- "y": 443.53272342681885,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "c8588b9c.b0d898",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 174.4048080444336,
- "y": 3352.7708625793457,
- "z": "2d523017.81121",
- "wires": [
- [
- "50e14066.4a8fb",
- "945671e8.3d2b7",
- "7054feb2.2900b",
- "25919575.6cb00a",
- "10583438.2574cc",
- "9cd27ab5.524f18",
- "13077d8a.632752",
- "8c40a330.8c84",
- "996bdc9d.0d63b",
- "2dd23fff.89a8d",
- "f2f609da.bd9858",
- "1b9bd518.29100b",
- "4eb737ee.442a38",
- "3530cc21.a0c0d4",
- "2fcd14d0.0b537c",
- "4796fba2.d51144",
- "42f099e.9f61568",
- "ab296e58.94c7",
- "8dc1e7e0.9d5668",
- "d03eeca7.23711",
- "494fd3fe.881b4c",
- "31dc7765.4b4208",
- "ae22f7f9.632468",
- "530dfe10.6f29",
- "2f250d1f.126482",
- "3c27d937.bf75c6",
- "6ae8e0f.7c6952",
- "dfdec27.324004",
- "dc580d36.feec6",
- "87cefff2.af896",
- "9e4b2f5.d8554d",
- "5563a4c5.a199ec",
- "97421a9a.865f98",
- "59c331da.0d09b",
- "b01ba289.b4c4d",
- "f93440f1.dad62",
- "5091afc0.4393d",
- "7381e60f.8d7388",
- "ef3b1f74.d9716",
- "4c1fc0a3.ee098"
- ]
- ]
- },
- {
- "id": "ade9f393.c1d96",
- "type": "get-resource",
- "name": "get-resource VF_MODEL",
- "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VF_MODEL WHERE customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'\n pfx='db.vf-model'>\n\n",
- "comments": "",
- "outputs": 1,
- "x": 525.3809356689453,
- "y": 557.5326824188232,
- "z": "2d523017.81121",
- "wires": [
- [
- "1e3f6d8d.668b62",
- "270acedb.4b2862"
- ]
- ]
- },
- {
- "id": "1e3f6d8d.668b62",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 726.166633605957,
- "y": 537.913519859314,
- "z": "2d523017.81121",
- "wires": [
- [
- "df6715d9.ce37d8"
- ]
- ]
- },
- {
- "id": "270acedb.4b2862",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 734.7380638122559,
- "y": 582.1992330551147,
- "z": "2d523017.81121",
- "wires": [
- [
- "e48fe633.d5a078"
- ]
- ]
- },
- {
- "id": "50e14066.4a8fb",
- "type": "switchNode",
- "name": "switch service-data.vnfs.vnf_length",
- "xml": "<switch test='`$service-data.vnfs.vnf_length`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 549.0475845336914,
- "y": 1145.9851322174072,
- "z": "2d523017.81121",
- "wires": [
- [
- "a52ad9f3.5409f8",
- "f1a27d38.307e4"
- ]
- ]
- },
- {
- "id": "a52ad9f3.5409f8",
- "type": "other",
- "name": "NULL",
- "xml": "<outcome value=''>\n",
- "comments": "",
- "outputs": 1,
- "x": 774.7619132995605,
- "y": 1113.1279201507568,
- "z": "2d523017.81121",
- "wires": [
- [
- "5a889bed.1fd0a4"
- ]
- ]
- },
- {
- "id": "5a889bed.1fd0a4",
- "type": "set",
- "name": "set vnf-index=0",
- "xml": "<set>\n<parameter name='vnf-index' value='0' />\n",
- "comments": "",
- "x": 939.0476341247559,
- "y": 1112.1279983520508,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "f1a27d38.307e4",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 776.1904754638672,
- "y": 1177.4137382507324,
- "z": "2d523017.81121",
- "wires": [
- [
- "ff49d41f.68ca58"
- ]
- ]
- },
- {
- "id": "742d47cf.681298",
- "type": "set",
- "name": "set vnf-index = vnf_length",
- "xml": "<set>\n<parameter name='vnf-index' value='`$service-data.vnfs.vnf_length`' />\n",
- "comments": "",
- "x": 1194.0476303100586,
- "y": 1155.699426651001,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "841debf7.ded508",
- "type": "for",
- "name": "for each existing VNF",
- "xml": "<for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1179.4761428833008,
- "y": 1201.6993656158447,
- "z": "2d523017.81121",
- "wires": [
- [
- "7d0d1ffd.f9c63"
- ]
- ]
- },
- {
- "id": "ff49d41f.68ca58",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 949.9047355651855,
- "y": 1177.413703918457,
- "z": "2d523017.81121",
- "wires": [
- [
- "742d47cf.681298",
- "841debf7.ded508"
- ]
- ]
- },
- {
- "id": "7d0d1ffd.f9c63",
- "type": "switchNode",
- "name": "switch vnf-information.vnf-id == service-data.vnfs.vnf[].vnf-id",
- "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.vnf-id == $service-data.vnfs.vnf[$idx].vnf-id`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1533.7619094848633,
- "y": 1201.270845413208,
- "z": "2d523017.81121",
- "wires": [
- [
- "8c6a6fdd.7581b"
- ]
- ]
- },
- {
- "id": "8c6a6fdd.7581b",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1828.047664642334,
- "y": 1200.8423299789429,
- "z": "2d523017.81121",
- "wires": [
- [
- "67d1f32e.64262c"
- ]
- ]
- },
- {
- "id": "7be2c7fd.7f9938",
- "type": "comment",
- "name": "make sure this VNF doesn't exist already",
- "info": "",
- "comments": "",
- "x": 1520.904640197754,
- "y": 1158.8422756195068,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "945671e8.3d2b7",
- "type": "set",
- "name": "set vnf-topology data",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id'\n value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-type'\n value='`$vnf-topology-operation-input.vnf-information.vnf-type`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-type'\n value='`$db.vf-model.nf-type`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role'\n value='`$db.vf-model.nf-role`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-function'\n value='`$db.vf-model.nf-function`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-code'\n value='`$db.vf-model.nf-code`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.tenant'\n value='`$vnf-topology-operation-input.vnf-request-input.tenant`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-cloud-region'\n value='`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`' />\n \n",
- "comments": "",
- "x": 514.7618675231934,
- "y": 1677.6518993377686,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "7054feb2.2900b",
- "type": "switchNode",
- "name": "switch input vnf-name",
- "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.vnf-name`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 527.2618865966797,
- "y": 2039.770956993103,
- "z": "2d523017.81121",
- "wires": [
- [
- "794a160e.b68c48",
- "109f5318.f22f2d"
- ]
- ]
- },
- {
- "id": "25919575.6cb00a",
- "type": "get-resource",
- "name": "get-resource cloud region",
- "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"cloud-region\" \n\t\tkey=\"cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND \n\t\t cloud-region.cloud-region-id = $vnf-topology-operation-input.vnf-request-input.aic-cloud-region AND\n\t\t depth='all'\"\n pfx='aai.cloud-region' local-only='false' >\n\n",
- "comments": "",
- "outputs": 1,
- "x": 559.4048309326172,
- "y": 2935.7706928253174,
- "z": "2d523017.81121",
- "wires": [
- [
- "da5da517.ae2e18",
- "54304dd.70307b4"
- ]
- ]
- },
- {
- "id": "54304dd.70307b4",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 767.5081481933594,
- "y": 2954.921399116516,
- "z": "2d523017.81121",
- "wires": [
- [
- "cbecda63.60f978"
- ]
- ]
- },
- {
- "id": "da5da517.ae2e18",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 776.4367446899414,
- "y": 2912.2071323394775,
- "z": "2d523017.81121",
- "wires": [
- [
- "55ab3764.a14138"
- ]
- ]
- },
- {
- "id": "10583438.2574cc",
- "type": "get-resource",
- "name": "get-resource VF_TO_NETWORK_ROLE_MAPPING",
- "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VF_TO_NETWORK_ROLE_MAPPING WHERE vf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'\n pfx='db.vf-network-role-mapping[]'>\n\n",
- "comments": "",
- "outputs": 1,
- "x": 624.6429138183594,
- "y": 3246.8182125091553,
- "z": "2d523017.81121",
- "wires": [
- [
- "b9431e3d.b421d",
- "395440a1.5e6de"
- ]
- ]
- },
- {
- "id": "b9431e3d.b421d",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 920.4285850524902,
- "y": 3225.532377243042,
- "z": "2d523017.81121",
- "wires": [
- [
- "5be8614b.d2283"
- ]
- ]
- },
- {
- "id": "395440a1.5e6de",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 929.0000152587891,
- "y": 3269.818090438843,
- "z": "2d523017.81121",
- "wires": [
- [
- "4f0a7869.c1d018"
- ]
- ]
- },
- {
- "id": "fde1d716.a4a0e8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1025.5716133117676,
- "y": 4363.460702896118,
- "z": "2d523017.81121",
- "wires": [
- [
- "abcfb9a1.c41368",
- "912ecbf0.ffa438",
- "c223a2fd.f4871",
- "7e1ee9f5.bc8198",
- "c6001282.4b6e1",
- "ea99e7e9.ed0b98",
- "c41b6137.b6d4b",
- "8dc14ff8.fbd57",
- "4e569933.c14918"
- ]
- ]
- },
- {
- "id": "c223a2fd.f4871",
- "type": "get-resource",
- "name": "get-resource l3-network",
- "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"l3-networks\" \n\t\tkey=\"l3-network.network-role = $db.vf-network-role-mapping[$role-index].network-role\"\n pfx='aai.l3-network' local-only='false'\n>\n",
- "comments": "",
- "outputs": 1,
- "x": 1275.2858123779297,
- "y": 3453.8417415618896,
- "z": "2d523017.81121",
- "wires": [
- [
- "ede95f4d.859fa",
- "3e760d07.8da062"
- ]
- ]
- },
- {
- "id": "3e760d07.8da062",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1480.7621269226074,
- "y": 3483.1273441314697,
- "z": "2d523017.81121",
- "wires": [
- [
- "4fcc2ec6.5268d"
- ]
- ]
- },
- {
- "id": "ede95f4d.859fa",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1488.2621231079102,
- "y": 3434.2703142166138,
- "z": "2d523017.81121",
- "wires": [
- [
- "1b9558ce.3c84a7"
- ]
- ]
- },
- {
- "id": "abcfb9a1.c41368",
- "type": "set",
- "name": "set vnf-network data",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-role'\n value='`$db.vf-network-role-mapping[$role-index].network-role`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-name'\n value='`$aai.l3-network.l3-network[$db-network-index].network-name`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].neutron-id'\n value='`$aai.l3-network.l3-network[$db-network-index].neutron-network-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-id'\n value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].contrail-network-fqdn'\n value='`$aai.l3-network.l3-network[$db-network-index].contrail-network-fqdn`' />\n",
- "comments": "",
- "x": 1271.6192779541016,
- "y": 4259.413550376892,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "996bdc9d.0d63b",
- "type": "for",
- "name": "for each cloud-region availability zone",
- "xml": "<for index='idx' start='0' end='`$aai.cloud-region.availability-zones.availability-zone_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 492.00031661987305,
- "y": 5506.532527923584,
- "z": "2d523017.81121",
- "wires": [
- [
- "b2e77d6f.5c88e"
- ]
- ]
- },
- {
- "id": "cab1cdc0.80552",
- "type": "set",
- "name": "set availability-zone",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone[$idx]'\n value='`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`' />\n",
- "comments": "",
- "x": 953.6669998168945,
- "y": 5475.865942001343,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "2dd23fff.89a8d",
- "type": "set",
- "name": "set vnf-parameters-data",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.'\n value='vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.' />\n",
- "comments": "",
- "x": 451.6192436218262,
- "y": 5356.484888076782,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "c622b6f5.5fb0e8",
- "type": "save",
- "name": "save generic-vnf l3-network relationships",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"generic-vnf:relationship-list\"\n key=\"generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"l3-network\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"l3-network.network-id\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-nw-index].network-id`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 918.1907768249512,
- "y": 5650.29474067688,
- "z": "2d523017.81121",
- "wires": [
- [
- "72e530eb.ef2a9",
- "560ad615.6ebaf8"
- ]
- ]
- },
- {
- "id": "4eb737ee.442a38",
- "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": 404.9645233154297,
- "y": 6546.056180000305,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "1b9bd518.29100b",
- "type": "set",
- "name": "set vnf-level-oper-status to PendingCreate",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\n",
- "comments": "",
- "x": 507.49225997924805,
- "y": 6019.500453948975,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "13077d8a.632752",
- "type": "for",
- "name": "for each network-role",
- "xml": "<for silentFailure='true' index='role-index' start='0' end='`$db.vf-network-role-mapping_length`'>",
- "comments": "",
- "outputs": 1,
- "x": 485.57154846191406,
- "y": 4336.794371604919,
- "z": "2d523017.81121",
- "wires": [
- [
- "b7e5144f.5264b8"
- ]
- ]
- },
- {
- "id": "9cd27ab5.524f18",
- "type": "set",
- "name": "set network-index = 0",
- "xml": "<set>\n<parameter name='network-index' value='0' />\n",
- "comments": "",
- "x": 527.0714111328125,
- "y": 3300.8660068511963,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "912ecbf0.ffa438",
- "type": "set",
- "name": "increment network-index",
- "xml": "<set>\n<parameter name='network-index' value='`$network-index + 1`' />\n",
- "comments": "",
- "x": 1253.6192665100098,
- "y": 5307.175491333008,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "8c40a330.8c84",
- "type": "set",
- "name": "set vnf-network_length",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length'\n value='`$network-index`' />\n",
- "comments": "",
- "x": 450.4763298034668,
- "y": 5306.484931945801,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "f2f609da.bd9858",
- "type": "set",
- "name": "copy input data",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.' value='$vnf-topology-operation-input.vnf-information.' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.' value='$vnf-topology-operation-input.vnf-request-input.' />\n\n",
- "comments": "",
- "x": 416.7620658874512,
- "y": 5965.913442611694,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "3530cc21.a0c0d4",
- "type": "for",
- "name": "for each vnf-network",
- "xml": "<for index='vnf-nw-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 441.1906852722168,
- "y": 5649.29465675354,
- "z": "2d523017.81121",
- "wires": [
- [
- "b6d2730a.405db"
- ]
- ]
- },
- {
- "id": "b6d2730a.405db",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 644.8573265075684,
- "y": 5649.294617652893,
- "z": "2d523017.81121",
- "wires": [
- [
- "c622b6f5.5fb0e8"
- ]
- ]
- },
- {
- "id": "2fcd14d0.0b537c",
- "type": "set",
- "name": "set new vnf_length",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf_length' value='`$vnf-index + 1`' />\n",
- "comments": "",
- "x": 497.6905059814453,
- "y": 1198.0090227127075,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "4796fba2.d51144",
- "type": "for",
- "name": "for each cloud-region relationship",
- "xml": "<for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 572.2619552612305,
- "y": 3023.008864402771,
- "z": "2d523017.81121",
- "wires": [
- [
- "de35f354.4a026"
- ]
- ]
- },
- {
- "id": "de35f354.4a026",
- "type": "switchNode",
- "name": "switch related-to",
- "xml": "<switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 819.9404983520508,
- "y": 3022.7587938308716,
- "z": "2d523017.81121",
- "wires": [
- [
- "9753c9fc.ee6548"
- ]
- ]
- },
- {
- "id": "9753c9fc.ee6548",
- "type": "outcome",
- "name": "complex",
- "xml": "<outcome value='complex'>\n",
- "comments": "",
- "outputs": 1,
- "x": 989.4048194885254,
- "y": 3022.1516160964966,
- "z": "2d523017.81121",
- "wires": [
- [
- "f1d0780c.c74608"
- ]
- ]
- },
- {
- "id": "49d47361.e5235c",
- "type": "set",
- "name": "set aic-clli",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli'\n value='`$aai-uid-split[$aai-uid-split_length - 1]`' />\n",
- "comments": "",
- "x": 1366.976203918457,
- "y": 3020.389811515808,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "42f099e.9f61568",
- "type": "switchNode",
- "name": "switch aic-clli",
- "xml": "<switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 505.3095817565918,
- "y": 3136.1039962768555,
- "z": "2d523017.81121",
- "wires": [
- [
- "18989148.50f10f"
- ]
- ]
- },
- {
- "id": "18989148.50f10f",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 653.4524154663086,
- "y": 3136.103979110718,
- "z": "2d523017.81121",
- "wires": [
- [
- "9a466e25.4156f"
- ]
- ]
- },
- {
- "id": "56b5f776.c4c628",
- "type": "set",
- "name": "set from DB",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'\n value='`$db.vf-model.invariant-uuid`' />\n",
- "comments": "",
- "x": 931.7621269226074,
- "y": 2494.9612531661987,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "c7e1c13d.03db5",
- "type": "for",
- "name": "for each l3-network",
- "xml": "<for index='db-network-index' start='0' end='`$aai.l3-network.l3-network_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1391.8812561035156,
- "y": 4083.984929084778,
- "z": "2d523017.81121",
- "wires": [
- [
- "c1ed15e6.f88648"
- ]
- ]
- },
- {
- "id": "e75f10eb.ced4f",
- "type": "switchNode",
- "name": "switch orchestration-status",
- "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].orchestration-status`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1810.4524269104004,
- "y": 4018.556393623352,
- "z": "2d523017.81121",
- "wires": [
- [
- "acbbb297.0a07e",
- "18131921.5c40e7",
- "84ce6f22.6e9ac",
- "a5969f85.edad",
- "8306b63a.7a6a88"
- ]
- ]
- },
- {
- "id": "acbbb297.0a07e",
- "type": "outcome",
- "name": "Pending Delete",
- "xml": "<outcome value='Pending Delete'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2051.119297027588,
- "y": 4060.222897529602,
- "z": "2d523017.81121",
- "wires": [
- [
- "bcc48c45.57047"
- ]
- ]
- },
- {
- "id": "18131921.5c40e7",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2023.9764366149902,
- "y": 4111.222878456116,
- "z": "2d523017.81121",
- "wires": [
- [
- "f846017e.0f7b7"
- ]
- ]
- },
- {
- "id": "d24ce0d7.c8619",
- "type": "switchNode",
- "name": "switch related-to",
- "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].related-to`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2559.6907386779785,
- "y": 4056.460795402527,
- "z": "2d523017.81121",
- "wires": [
- [
- "c028438.b008bc",
- "225c2fa8.b622f"
- ]
- ]
- },
- {
- "id": "f846017e.0f7b7",
- "type": "for",
- "name": "for each relationship",
- "xml": "<for silentFailure='true' index='db-rel-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2193.976348876953,
- "y": 4110.794255256653,
- "z": "2d523017.81121",
- "wires": [
- [
- "3979a64c.84ab9a"
- ]
- ]
- },
- {
- "id": "c028438.b008bc",
- "type": "outcome",
- "name": "cloud-region",
- "xml": "<outcome value='cloud-region'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2733.9765243530273,
- "y": 4079.365619659424,
- "z": "2d523017.81121",
- "wires": [
- [
- "24abd19e.88186e"
- ]
- ]
- },
- {
- "id": "24abd19e.88186e",
- "type": "for",
- "name": "for each relationship data",
- "xml": "<for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2931.11922454834,
- "y": 4079.794087409973,
- "z": "2d523017.81121",
- "wires": [
- [
- "6e6e70c9.1f47f"
- ]
- ]
- },
- {
- "id": "6e6e70c9.1f47f",
- "type": "switchNode",
- "name": "switch relationship-key",
- "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3162.547824859619,
- "y": 4079.3654623031616,
- "z": "2d523017.81121",
- "wires": [
- [
- "41f73a04.000a34"
- ]
- ]
- },
- {
- "id": "41f73a04.000a34",
- "type": "outcome",
- "name": "cloud-region.cloud-region-id",
- "xml": "<outcome value='cloud-region.cloud-region-id'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3403.976390838623,
- "y": 4079.3655586242676,
- "z": "2d523017.81121",
- "wires": [
- [
- "ec6b1424.dae298"
- ]
- ]
- },
- {
- "id": "ec6b1424.dae298",
- "type": "switchNode",
- "name": "switch relationship-value == cloud-region-id",
- "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value == $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3708.262310028076,
- "y": 4079.22261428833,
- "z": "2d523017.81121",
- "wires": [
- [
- "76d1c220.996b9c"
- ]
- ]
- },
- {
- "id": "76d1c220.996b9c",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3413.2624473571777,
- "y": 4196.865568161011,
- "z": "2d523017.81121",
- "wires": [
- [
- "1de3d6a.5295a29"
- ]
- ]
- },
- {
- "id": "7e1ee9f5.bc8198",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1228.0954284667969,
- "y": 4015.270573616028,
- "z": "2d523017.81121",
- "wires": [
- [
- "c7e1c13d.03db5",
- "85730c77.85f6e"
- ]
- ]
- },
- {
- "id": "c6001282.4b6e1",
- "type": "set",
- "name": "set l3-network-id = -1",
- "xml": "<set>\n<parameter name='l3-network-id' value='-1' />\n",
- "comments": "",
- "x": 1272.4287872314453,
- "y": 3887.175227165222,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "1de3d6a.5295a29",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3559.0954246520996,
- "y": 4196.341676712036,
- "z": "2d523017.81121",
- "wires": [
- [
- "f676c278.1ddf2",
- "6ee99534.f9db3c",
- "133789d2.fbdb36"
- ]
- ]
- },
- {
- "id": "f676c278.1ddf2",
- "type": "set",
- "name": "set l3-network-id = this l3-network",
- "xml": "<set>\n<parameter name='l3-network-id' value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />\n",
- "comments": "",
- "x": 3794.333427429199,
- "y": 4158.484645843506,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "ea99e7e9.ed0b98",
- "type": "switchNode",
- "name": "switch l3-network-id",
- "xml": "<switch test='`$l3-network-id`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1269.4287109375,
- "y": 4210.842268943787,
- "z": "2d523017.81121",
- "wires": [
- [
- "8b18bc8b.1ecc5"
- ]
- ]
- },
- {
- "id": "8b18bc8b.1ecc5",
- "type": "outcome",
- "name": "-1",
- "xml": "<outcome value='-1'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1439.4286613464355,
- "y": 4210.842024803162,
- "z": "2d523017.81121",
- "wires": [
- [
- "d03cff5b.4eae8"
- ]
- ]
- },
- {
- "id": "ab296e58.94c7",
- "type": "switchNode",
- "name": "switch input model-invariant-uuid",
- "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 575.6192016601562,
- "y": 2517.7856969833374,
- "z": "2d523017.81121",
- "wires": [
- [
- "a6d2444d.170f18",
- "d0c4e96a.f0e598"
- ]
- ]
- },
- {
- "id": "a6d2444d.170f18",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 781.2858734130859,
- "y": 2494.9286603927612,
- "z": "2d523017.81121",
- "wires": [
- [
- "56b5f776.c4c628"
- ]
- ]
- },
- {
- "id": "d0c4e96a.f0e598",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 782.714469909668,
- "y": 2539.2142515182495,
- "z": "2d523017.81121",
- "wires": [
- [
- "53133cb6.18d844"
- ]
- ]
- },
- {
- "id": "53133cb6.18d844",
- "type": "set",
- "name": "set from input",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`' />\n",
- "comments": "",
- "x": 937.0002059936523,
- "y": 2538.6428236961365,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "6f1bca5a.057ce4",
- "type": "set",
- "name": "set from DB",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'\n value='`$db.vf-model.uuid`' />\n",
- "comments": "",
- "x": 932.7143974304199,
- "y": 2583.4999294281006,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "8dc1e7e0.9d5668",
- "type": "switchNode",
- "name": "switch input model-uuid",
- "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 548.2382202148438,
- "y": 2606.3244342803955,
- "z": "2d523017.81121",
- "wires": [
- [
- "8002dd41.ae1f",
- "896eccc9.b25eb"
- ]
- ]
- },
- {
- "id": "8002dd41.ae1f",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 782.2381935119629,
- "y": 2583.467366218567,
- "z": "2d523017.81121",
- "wires": [
- [
- "6f1bca5a.057ce4"
- ]
- ]
- },
- {
- "id": "896eccc9.b25eb",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 783.6667900085449,
- "y": 2627.752957344055,
- "z": "2d523017.81121",
- "wires": [
- [
- "17701e26.510582"
- ]
- ]
- },
- {
- "id": "17701e26.510582",
- "type": "set",
- "name": "set from input",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`' />\n",
- "comments": "",
- "x": 937.9525260925293,
- "y": 2627.181529521942,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "b6fbf29a.0df09",
- "type": "set",
- "name": "set from DB",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'\n value='`$db.vf-model.version`' />\n",
- "comments": "",
- "x": 929.8573303222656,
- "y": 2672.3571367263794,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "d03eeca7.23711",
- "type": "switchNode",
- "name": "switch input model-version",
- "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 556.3810920715332,
- "y": 2695.1815814971924,
- "z": "2d523017.81121",
- "wires": [
- [
- "6aa27ca4.a61d34",
- "1ae6e106.ea9c7f"
- ]
- ]
- },
- {
- "id": "6aa27ca4.a61d34",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 779.3810768127441,
- "y": 2672.324543952942,
- "z": "2d523017.81121",
- "wires": [
- [
- "b6fbf29a.0df09"
- ]
- ]
- },
- {
- "id": "1ae6e106.ea9c7f",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 780.8096733093262,
- "y": 2716.61013507843,
- "z": "2d523017.81121",
- "wires": [
- [
- "56c362db.13020c"
- ]
- ]
- },
- {
- "id": "56c362db.13020c",
- "type": "set",
- "name": "set from input",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`' />\n",
- "comments": "",
- "x": 935.0954093933105,
- "y": 2716.038707256317,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "9fcfee3c.f2226",
- "type": "set",
- "name": "set from DB",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'\n value='`$db.vf-model.name`' />\n",
- "comments": "",
- "x": 929.8573303222656,
- "y": 2759.4999589920044,
- "z": "2d523017.81121",
+ "x": 289,
+ "y": 64,
+ "z": "d1fefa2f.dc5878",
"wires": []
},
{
- "id": "494fd3fe.881b4c",
- "type": "switchNode",
- "name": "switch input model-name",
- "xml": "<switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 551.3810920715332,
- "y": 2782.3244037628174,
- "z": "2d523017.81121",
- "wires": [
- [
- "3f7d112e.5f72ee",
- "6e803b0d.a54dc4"
- ]
- ]
- },
- {
- "id": "3f7d112e.5f72ee",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 779.3810768127441,
- "y": 2759.467366218567,
- "z": "2d523017.81121",
- "wires": [
- [
- "9fcfee3c.f2226"
- ]
- ]
- },
- {
- "id": "6e803b0d.a54dc4",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 780.8096733093262,
- "y": 2803.752957344055,
- "z": "2d523017.81121",
- "wires": [
- [
- "9d0420e8.1e34b"
- ]
- ]
- },
- {
- "id": "9d0420e8.1e34b",
- "type": "set",
- "name": "set from input",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`' />\n",
- "comments": "",
- "x": 935.0954093933105,
- "y": 2803.181529521942,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "bcc48c45.57047",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 2204.3333892822266,
- "y": 4060.9997749328613,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "8306b63a.7a6a88",
- "type": "outcome",
- "name": "PendingDelete",
- "xml": "<outcome value='PendingDelete'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2049.000030517578,
- "y": 4015.999689102173,
- "z": "2d523017.81121",
- "wires": [
- [
- "ea893bb0.586278"
- ]
- ]
- },
- {
- "id": "ea893bb0.586278",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 2204.214122772217,
- "y": 4016.776566505432,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "a5969f85.edad",
- "type": "outcome",
- "name": "Pending Create",
- "xml": "<outcome value='Pending Create'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2051.000030517578,
- "y": 3972.666193008423,
- "z": "2d523017.81121",
- "wires": [
- [
- "bab4140b.02b308"
- ]
- ]
- },
- {
- "id": "bab4140b.02b308",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 2204.214122772217,
- "y": 3973.443070411682,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "84ce6f22.6e9ac",
- "type": "outcome",
- "name": "PendingCreate",
- "xml": "<outcome value='PendingCreate'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2051.000030517578,
- "y": 3929.332941055298,
- "z": "2d523017.81121",
- "wires": [
- [
- "fc3367.845aac98"
- ]
- ]
- },
- {
- "id": "fc3367.845aac98",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 2204.214122772217,
- "y": 3930.109818458557,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "a129d9ae.667dd8",
- "type": "for",
- "name": "for each A&AI subnet",
- "xml": "<for index='subnet-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1737.3810577392578,
- "y": 4350.047110080719,
- "z": "2d523017.81121",
- "wires": [
- [
- "26e050ad.0575e"
- ]
- ]
- },
- {
- "id": "84d519bc.318478",
- "type": "set",
- "name": "set subnet_length",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`' />\n",
- "comments": "",
- "x": 1726.047622680664,
- "y": 4395.04719209671,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "31dc7765.4b4208",
- "type": "set",
- "name": "set availability-zones.max-count and length",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.max-count'\n value='`$db.vf-model.avail-zone-max-count`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone_length'\n value='`$aai.cloud-region.availability-zones.availability-zone_length`' />\n",
- "comments": "",
- "x": 511.66682052612305,
- "y": 5594.547995567322,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "ae22f7f9.632468",
- "type": "set",
- "name": "set vnf-name",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name'\n value='`$tmp.vnf-name`' />\n",
- "comments": "",
- "x": 512.5000152587891,
- "y": 2451.8334608078003,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "530dfe10.6f29",
- "type": "save",
- "name": "update generic-vnf",
- "xml": "<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"generic-vnf\"\n key=\"generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n<parameter name=\"vnf-name\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name`\" />\n<parameter name=\"prov-status\" value=\"PREPROV\" />\n<!-- <parameter name=\"operational-status\" value=\"out-of-service-path\" /> -->\n<parameter name=\"equipment-role\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role`\" />\n<parameter name=\"model-invariant-id\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid`\" />\n<parameter name=\"model-version-id\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid`\" />\n<parameter name=\"model-customization-id\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid`\" />\n<parameter name=\"in-maint\" value=\"true\" />\n<parameter name=\"selflink\" value=\"`$vnf-object-path`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 432.0000877380371,
- "y": 5804.213758468628,
- "z": "2d523017.81121",
- "wires": [
- [
- "8c964a5c.697478",
- "9e7283af.92a1c"
- ]
- ]
- },
- {
- "id": "2f250d1f.126482",
- "type": "set",
- "name": "set vnf-object-path",
- "xml": "<set>\n<parameter name='vnf-object-path'\n value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $vnf-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 + $vnf-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'`\"/>\n",
- "comments": "",
- "x": 432.00012588500977,
- "y": 5734.214241027832,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "3c27d937.bf75c6",
- "type": "set",
- "name": "set vnf-id",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id'\n value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n",
- "comments": "",
- "x": 500.83335876464844,
- "y": 2403.5000038146973,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "6ae8e0f.7c6952",
- "type": "execute",
- "name": "printContext",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vnf.log' />\n",
- "comments": "",
- "outputs": 1,
- "x": 406.51210021972656,
- "y": 6370.226758003235,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "72e530eb.ef2a9",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1168.0241317749023,
- "y": 5627.833315849304,
- "z": "2d523017.81121",
- "wires": [
- [
- "1d23943a.cc401c"
- ]
- ]
- },
- {
- "id": "560ad615.6ebaf8",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1176.5955619812012,
- "y": 5672.119029045105,
- "z": "2d523017.81121",
- "wires": [
- [
- "48b115c8.09c9bc"
- ]
- ]
- },
- {
- "id": "8c964a5c.697478",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 606.3574180603027,
- "y": 5782.833353996277,
- "z": "2d523017.81121",
- "wires": [
- [
- "b5f5454e.605518"
- ]
- ]
- },
- {
- "id": "9e7283af.92a1c",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 614.9288482666016,
- "y": 5827.119067192078,
- "z": "2d523017.81121",
- "wires": [
- [
- "fb7909b7.07d3a8"
- ]
- ]
- },
- {
- "id": "dfdec27.324004",
- "type": "set",
- "name": "set model-customization-uuid",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid'\n value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />\n",
- "comments": "",
- "x": 564.1666793823242,
- "y": 2855.1666078567505,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "f7d7f0fa.89cd2",
- "type": "execute",
- "name": "split related-link",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>\n <parameter name='ctx_memory_result_key' value='aai-uid-split' />\n <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />\n <parameter name='regex' value='/' />\n",
- "comments": "",
- "outputs": 1,
- "x": 1386.357063293457,
- "y": 2975.1517295837402,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "f1d0780c.c74608",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1172.0237655639648,
- "y": 3021.8185176849365,
- "z": "2d523017.81121",
- "wires": [
- [
- "f7d7f0fa.89cd2",
- "49d47361.e5235c",
- "68e794dc.43eb9c"
- ]
- ]
- },
- {
- "id": "68e794dc.43eb9c",
- "type": "break",
- "name": "break",
- "xml": "<break>\n",
- "comments": "",
- "x": 1356.0237274169922,
- "y": 3065.1518144607544,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "b2e77d6f.5c88e",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 743.6667594909668,
- "y": 5505.628111839294,
- "z": "2d523017.81121",
- "wires": [
- [
- "cab1cdc0.80552",
- "2c7d624d.a1567e"
- ]
- ]
- },
- {
- "id": "2c7d624d.a1567e",
- "type": "save",
- "name": "save generic-vnf availability-zone relationship",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"generic-vnf:relationship-list\"\n key=\"generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"availability-zone\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"cloud-region.cloud-owner\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$prop.cloud-region.cloud-owner`\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[1].relationship-key\" value=\"cloud-region.cloud-region-id\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[1].relationship-value\" value=\"`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[2].relationship-key\" value=\"availability-zone.availability-zone-name\" />\n <parameter name=\"relationship-list.relationship[0].relationship-data[2].relationship-value\" value=\"`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1037.0001487731934,
- "y": 5528.9615659713745,
- "z": "2d523017.81121",
- "wires": [
- [
- "7e45c7a1.1fc228",
- "7cb74929.a6a798"
- ]
- ]
- },
- {
- "id": "7e45c7a1.1fc228",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1301.8334007263184,
- "y": 5509.833388328552,
- "z": "2d523017.81121",
- "wires": [
- [
- "ac3d2a38.193128"
- ]
- ]
- },
- {
- "id": "7cb74929.a6a798",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
+ "id": "2dfa6d30.c20ada",
+ "type": "dgstart",
+ "name": "DGSTART",
"outputs": 1,
- "x": 1310.4048309326172,
- "y": 5554.119101524353,
- "z": "2d523017.81121",
+ "x": 109,
+ "y": 149,
+ "z": "d1fefa2f.dc5878",
"wires": [
[
- "edd6eeb3.58833"
+ "6fce10a9.87d3d"
]
]
},
{
- "id": "4f0a7869.c1d018",
- "type": "set",
- "name": "set mapping rows to 0",
- "xml": "<set>\n<parameter name='db.vf-network-role-mapping_length' value='0' />\n",
- "comments": "",
- "x": 1122.9761505126953,
- "y": 3269.437578201294,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "dc580d36.feec6",
- "type": "switchNode",
- "name": "switch AAI availability-zone_length",
- "xml": "<switch test='`$aai.cloud-region.availability-zones.availability-zone_length`'>\n",
+ "id": "c77c58e8.bd4388",
+ "type": "method",
+ "name": "vnf-topology-operation-assign",
+ "xml": "<method rpc='vnf-topology-operation-assign' mode='sync'>\n",
"comments": "",
"outputs": 1,
- "x": 484.381046295166,
- "y": 5409.437698364258,
- "z": "2d523017.81121",
+ "x": 271,
+ "y": 252,
+ "z": "d1fefa2f.dc5878",
"wires": [
[
- "65cd03d3.cd933c"
+ "4626099.919e7f8"
]
]
},
{
- "id": "65cd03d3.cd933c",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
+ "id": "6fce10a9.87d3d",
+ "type": "service-logic",
+ "name": "GENERIC-RESOURCE-API ${project.version}",
+ "module": "GENERIC-RESOURCE-API",
+ "version": "${project.version}",
"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": 702.952465057373,
- "y": 5409.009107589722,
- "z": "2d523017.81121",
+ "x": 306,
+ "y": 194,
+ "z": "d1fefa2f.dc5878",
"wires": [
[
- "5cdda0db.c6c79"
+ "c77c58e8.bd4388"
]
]
},
{
- "id": "55344fcf.542e2",
- "type": "set",
- "name": "set availability-zone_length to 0",
- "xml": "<set>\n<parameter name='aai.cloud-region.availability-zones.availability-zone_length' value='0' />\n",
- "comments": "",
- "x": 1304.3811073303223,
- "y": 5427.580345153809,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "5cdda0db.c6c79",
+ "id": "34c5880c.3f1be8",
"type": "switchNode",
- "name": "switch AZ max count > 0",
- "xml": "<switch test='`$db.vf-model.avail-zone-max-count > 0`'>\n",
+ "name": "so-response-url empty?",
+ "xml": "<switch test='length($vnf-topology-operation-input.sdnc-request-header.svc-notification-url) == 0'>\n",
"comments": "",
"outputs": 1,
- "x": 891.5239372253418,
- "y": 5409.43741941452,
- "z": "2d523017.81121",
+ "x": 413,
+ "y": 403,
+ "z": "d1fefa2f.dc5878",
"wires": [
[
- "689f8ebb.877dd",
- "dd9a3b97.b39268"
+ "ea711693.205148",
+ "9c19c050.c2966"
]
]
},
{
- "id": "689f8ebb.877dd",
+ "id": "ea711693.205148",
"type": "outcomeTrue",
"name": "true",
"xml": "<outcome value='true'>\n",
"comments": "",
"outputs": 1,
- "x": 1094.3810443878174,
- "y": 5383.723169326782,
- "z": "2d523017.81121",
+ "x": 638,
+ "y": 359,
+ "z": "d1fefa2f.dc5878",
"wires": [
[
- "63585eee.6f434"
+ "ef1a11b7.9f048"
]
]
},
{
- "id": "dd9a3b97.b39268",
+ "id": "9c19c050.c2966",
"type": "outcomeFalse",
"name": "false",
"xml": "<outcome value='false'>\n",
"comments": "",
"outputs": 1,
- "x": 1095.8096656799316,
- "y": 5428.008916854858,
- "z": "2d523017.81121",
- "wires": [
- [
- "55344fcf.542e2"
- ]
- ]
- },
- {
- "id": "2bc8145e.9e6d7c",
- "type": "execute",
- "name": "execute PropertiesNode",
- "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n",
- "comments": "",
- "outputs": 1,
- "x": 522.2024078369141,
- "y": 188.4255886077881,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "794a160e.b68c48",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 729.2857055664062,
- "y": 1853.2470073699951,
- "z": "2d523017.81121",
- "wires": [
- [
- "8d68e064.9148"
- ]
- ]
- },
- {
- "id": "b4c0271b.8d9548",
- "type": "switchNode",
- "name": "switch ecomp-naming",
- "xml": "<switch test='`$db.vf-model.ecomp-generated-naming`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1106.9050941467285,
- "y": 1753.961443901062,
- "z": "2d523017.81121",
- "wires": [
- [
- "1882b0bf.c2311f",
- "2eeee2ce.d551be",
- "b8c05ccb.47683"
- ]
- ]
- },
- {
- "id": "8d68e064.9148",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 875.0002059936523,
- "y": 1853.247124671936,
- "z": "2d523017.81121",
- "wires": [
- [
- "b4c0271b.8d9548",
- "2febaea8.95a862"
- ]
- ]
- },
- {
- "id": "2eeee2ce.d551be",
- "type": "outcome",
- "name": "N",
- "xml": "<outcome value='N'>",
- "comments": "",
- "outputs": 1,
- "x": 1293.333480834961,
- "y": 1754.4375705718994,
- "z": "2d523017.81121",
- "wires": [
- [
- "da3712d9.f41f4"
- ]
- ]
- },
- {
- "id": "1882b0bf.c2311f",
- "type": "outcome",
- "name": "Y",
- "xml": "<outcome value='Y'>",
- "comments": "",
- "outputs": 1,
- "x": 1293.3334732055664,
- "y": 1713.0090246200562,
- "z": "2d523017.81121",
- "wires": [
- [
- "18523eea.6d6ad1"
- ]
- ]
- },
- {
- "id": "b8c05ccb.47683",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1293.3334197998047,
- "y": 1797.2947025299072,
- "z": "2d523017.81121",
+ "x": 628,
+ "y": 451,
+ "z": "d1fefa2f.dc5878",
"wires": [
[
- "da3712d9.f41f4"
+ "f7cfe715.aecd18"
]
]
},
{
- "id": "18523eea.6d6ad1",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1430.476390838623,
- "y": 1713.151891708374,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "109f5318.f22f2d",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 714.476432800293,
- "y": 2207.866183280945,
- "z": "2d523017.81121",
- "wires": [
- [
- "fa97f7fa.540fd8"
- ]
- ]
- },
- {
- "id": "fa97f7fa.540fd8",
- "type": "set",
- "name": "set tmp.vnf-name",
- "xml": "<set>\n<parameter name='tmp.vnf-name' value=\"`$vnf-topology-operation-input.vnf-information.vnf-name`\" />\n",
- "comments": "",
- "x": 880.238395690918,
- "y": 2206.7234535217285,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "8d7fa952.98d108",
+ "id": "ef1a11b7.9f048",
"type": "call",
- "name": "call GENERIC-RESOURCE-API:generate-unique-name",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='generate-unique-name' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1765.3096733093262,
- "y": 1903.0089440345764,
- "z": "2d523017.81121",
- "wires": [
- [
- "681ac6a0.a11838",
- "f4abec22.90002"
- ]
- ]
- },
- {
- "id": "681ac6a0.a11838",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2042.4524765014648,
- "y": 1876.5804772377014,
- "z": "2d523017.81121",
- "wires": [
- [
- "6d7f13cc.8d975c"
- ]
- ]
- },
- {
- "id": "f4abec22.90002",
- "type": "success",
- "name": "success",
- "xml": "<outcome value='success'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2047.2142219543457,
- "y": 1921.9613881111145,
- "z": "2d523017.81121",
- "wires": [
- [
- "f9e4fa65.eb0968"
- ]
- ]
- },
- {
- "id": "b5dba753.21ae88",
- "type": "set",
- "name": "set variables for generating unique name",
- "xml": "<set>\n<parameter name='generate-unique-name-input.action' value='ASSIGN' />\n<parameter name='generate-unique-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='generate-unique-name-input.index-table-name' value='VNF_NAME_INDEX' />\n<parameter name='generate-unique-name-input.index-table-prefix-column' value='vnf_name_prefix' />\n<parameter name='generate-unique-name-input.name-table-type' value='VNF_INSTANCE' />\n<parameter name='generate-unique-name-input.prefix' value=\"`'z' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region + $db.vf-model.nf-code`\" />\n",
- "comments": "",
- "x": 1720.3099250793457,
- "y": 1854.1042637825012,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "f9e4fa65.eb0968",
- "type": "set",
- "name": "set tmp.vnf-name to generated name",
- "xml": "<set>\n<parameter name='tmp.vnf-name' value='`$generate-unique-name-output.generated-name`' />\n",
- "comments": "",
- "x": 2270.1186180114746,
- "y": 1921.4374632835388,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "2febaea8.95a862",
- "type": "switchNode",
- "name": "switch naming-policy",
- "xml": "<switch test='`$db.vf-model.naming-policy`'>\n",
+ "name": "call vnf-topology-operation-assign-sync",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-assign-sync' mode='sync' >\n",
"comments": "",
"outputs": 1,
- "x": 1104.6906776428223,
- "y": 1962.2470607757568,
- "z": "2d523017.81121",
+ "x": 1314,
+ "y": 360,
+ "z": "d1fefa2f.dc5878",
"wires": [
- [
- "8f7b27bf.e7e3a8",
- "b931038a.dea97"
- ]
- ]
- },
- {
- "id": "8f7b27bf.e7e3a8",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 1294.6906089782715,
- "y": 1883.675615310669,
- "z": "2d523017.81121",
- "wires": [
- [
- "1ce185e2.fb229a"
- ]
- ]
- },
- {
- "id": "b931038a.dea97",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1294.9288482666016,
- "y": 2011.056559562683,
- "z": "2d523017.81121",
- "wires": [
- [
- "42c58d7a.bc5884"
- ]
- ]
- },
- {
- "id": "1ce185e2.fb229a",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1447.5478782653809,
- "y": 1882.2470817565918,
- "z": "2d523017.81121",
- "wires": [
- [
- "b5dba753.21ae88",
- "8d7fa952.98d108"
- ]
+ []
]
},
{
- "id": "17d076a4.213ab9",
+ "id": "4b8837af.8e5f18",
"type": "call",
- "name": "call GENERIC-RESOURCE-API:naming-policy-generate-name",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >\n",
+ "name": "call vnf-topology-operation-assign-async",
+ "xml": "<call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-assign-async' mode='sync' >\n",
"comments": "",
"outputs": 1,
- "x": 1786.595802307129,
- "y": 2026.7709412574768,
- "z": "2d523017.81121",
+ "x": 1403,
+ "y": 563,
+ "z": "d1fefa2f.dc5878",
"wires": [
- [
- "7ca77e3f.200f2",
- "edded880.2d4e08"
- ]
- ]
- },
- {
- "id": "42c58d7a.bc5884",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1449.4526977539062,
- "y": 2011.056559562683,
- "z": "2d523017.81121",
- "wires": [
- [
- "9ce0b71c.18bda8",
- "17d076a4.213ab9"
- ]
- ]
- },
- {
- "id": "9ce0b71c.18bda8",
- "type": "set",
- "name": "set variables for generating name",
- "xml": "<set>\n<parameter name='naming-policy-generate-name-input.policy-instance-name' value='`$db.vf-model.naming-policy`' />\n<parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\n<parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='naming-policy-generate-name-input.action' value='ASSIGN' />\n<parameter name='naming-policy-generate-name-input.query-parameter' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />",
- "comments": "",
- "x": 1696.595718383789,
- "y": 1981.05659532547,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "efe8f3b.6be4a1",
- "type": "set",
- "name": "set tmp.vnf-name to generated name",
- "xml": "<set>\n<parameter name='tmp.vnf-name' value='`$naming-policy-generate-name-output.vnf-name`' />\n",
- "comments": "",
- "x": 2346.4527740478516,
- "y": 2046.770751953125,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "f54d4b54.f29d58",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1912.7142639160156,
- "y": 6493.819259643555,
- "z": "2d523017.81121",
- "wires": [
- [
- "a406d4bc.916068",
- "9c453248.1f195",
- "d27d64fe.c0c2c8",
- "71ce4538.3940fc"
- ]
- ]
- },
- {
- "id": "7ca77e3f.200f2",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2084.761848449707,
- "y": 2001.6994485855103,
- "z": "2d523017.81121",
- "wires": [
- [
- "702e58b3.200b38"
- ]
- ]
- },
- {
- "id": "edded880.2d4e08",
- "type": "success",
- "name": "success",
- "xml": "<outcome value='success'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2089.523593902588,
- "y": 2047.0803594589233,
- "z": "2d523017.81121",
- "wires": [
- [
- "efe8f3b.6be4a1"
- ]
- ]
- },
- {
- "id": "8e72cfc8.575e",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 739.9999465942383,
- "y": 1356.666666984558,
- "z": "2d523017.81121",
- "wires": [
- [
- "46dd139e.86081c",
- "761b2c43.67ef34"
- ]
- ]
- },
- {
- "id": "87cefff2.af896",
- "type": "for",
- "name": "for each instance group id",
- "xml": "<for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 523.3332939147949,
- "y": 1357.333312034607,
- "z": "2d523017.81121",
- "wires": [
- [
- "8e72cfc8.575e"
- ]
- ]
- },
- {
- "id": "46dd139e.86081c",
- "type": "get-resource",
- "name": "get-resource instance-group",
- "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"instance-group\" \n\t\tkey=\"instance-group.id = $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\"\n pfx='aai.instance-group' local-only='false' >\n\n",
- "comments": "",
- "outputs": 1,
- "x": 967.9999847412109,
- "y": 1288.3334255218506,
- "z": "2d523017.81121",
- "wires": [
- [
- "113b83c3.c5f2cc",
- "1095d6a8.eb1ea9"
- ]
- ]
- },
- {
- "id": "1095d6a8.eb1ea9",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1185.5792770385742,
- "y": 1319.8174781799316,
- "z": "2d523017.81121",
- "wires": [
- [
- "6b5b96d7.f11058"
- ]
- ]
- },
- {
- "id": "113b83c3.c5f2cc",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1194.5081100463867,
- "y": 1256.4366302490234,
- "z": "2d523017.81121",
- "wires": [
- [
- "3d4ce14c.b56fbe"
- ]
- ]
- },
- {
- "id": "761b2c43.67ef34",
- "type": "for",
- "name": "for each relationship",
- "xml": "<for index='rel-index' start='0' end='`$aai.instance-group.relationship-list.relationship_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 944.9999618530273,
- "y": 1428.3333644866943,
- "z": "2d523017.81121",
- "wires": [
- [
- "ef07f13d.87a9"
- ]
- ]
- },
- {
- "id": "ef07f13d.87a9",
- "type": "switchNode",
- "name": "switch related-to",
- "xml": "<switch test='`$aai.instance-group.relationship-list.relationship[$rel-index].related-to`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1158.3334045410156,
- "y": 1428.333303451538,
- "z": "2d523017.81121",
- "wires": [
- [
- "df5b0cc3.ccd9a"
- ]
- ]
- },
- {
- "id": "df5b0cc3.ccd9a",
- "type": "outcome",
- "name": "collection",
- "xml": "<outcome value='collection'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1330.00004196167,
- "y": 1428.3333854675293,
- "z": "2d523017.81121",
- "wires": [
- [
- "98da2133.07fbe"
- ]
- ]
- },
- {
- "id": "98da2133.07fbe",
- "type": "get-resource",
- "name": "get-resource collection",
- "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"collection\" \n\t\tkey=\"collection.collection-id = $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value\"\n pfx='aai.collection' local-only='false' >\n\n",
- "comments": "",
- "outputs": 1,
- "x": 1549.9999465942383,
- "y": 1426.6666469573975,
- "z": "2d523017.81121",
- "wires": [
- [
- "c6ab56ad.e1e918",
- "c4f813df.f6eb3",
- "fa511cd0.4acf7"
- ]
- ]
- },
- {
- "id": "c4f813df.f6eb3",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1764.2461395263672,
- "y": 1378.1508359909058,
- "z": "2d523017.81121",
- "wires": [
- [
- "1cfc4c24.ab0124"
- ]
- ]
- },
- {
- "id": "c6ab56ad.e1e918",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1773.1747360229492,
- "y": 1336.4365692138672,
- "z": "2d523017.81121",
- "wires": [
- [
- "75f0b66c.711368"
- ]
- ]
- },
- {
- "id": "fa511cd0.4acf7",
- "type": "success",
- "name": "success",
- "xml": "<outcome value='success'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1783.33345413208,
- "y": 1539.9999542236328,
- "z": "2d523017.81121",
- "wires": [
- [
- "2caf3e47.5abe82"
- ]
- ]
- },
- {
- "id": "2caf3e47.5abe82",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1936.6665954589844,
- "y": 1539.3332500457764,
- "z": "2d523017.81121",
- "wires": [
- [
- "889214a0.071c58",
- "61c009cd.371838",
- "1b8b156c.6c083b",
- "79b15187.90b49",
- "67373c69.98b004"
- ]
- ]
- },
- {
- "id": "889214a0.071c58",
- "type": "for",
- "name": "for each network-instance-group",
- "xml": "<for silentFailure='true' index='nig-index' start='0' end='`$service-data.network-instance-groups.network-instance-group_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2249.2857360839844,
- "y": 1488.5715045928955,
- "z": "2d523017.81121",
- "wires": [
- [
- "64d1075e.ee3f48"
- ]
- ]
- },
- {
- "id": "61c009cd.371838",
- "type": "set",
- "name": "set found-network-instance-group to false",
- "xml": "<set>\n<parameter name='found-network-instance-group' value='false' />\n",
- "comments": "",
- "x": 2279.2856979370117,
- "y": 1441.9048767089844,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "64d1075e.ee3f48",
- "type": "switchNode",
- "name": "network-instance-group-id matches?",
- "xml": "<switch test='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\n == $service-data.network-instance-groups.network-instance-group[$nig-index].network-instance-group-id`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2565.952247619629,
- "y": 1488.5715036392212,
- "z": "2d523017.81121",
- "wires": [
- [
- "e14a30ad.b266"
- ]
- ]
- },
- {
- "id": "e14a30ad.b266",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2787.619026184082,
- "y": 1488.5714683532715,
- "z": "2d523017.81121",
- "wires": [
- [
- "338a6e83.74e682"
- ]
- ]
- },
- {
- "id": "338a6e83.74e682",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 2917.61905670166,
- "y": 1488.5715446472168,
- "z": "2d523017.81121",
- "wires": [
- [
- "b65b391.a6cd9c8",
- "5a856f0a.aefef"
- ]
- ]
- },
- {
- "id": "b65b391.a6cd9c8",
- "type": "set",
- "name": "set found-network-instance-group to true",
- "xml": "<set>\n<parameter name='found-network-instance-group' value='true' />\n",
- "comments": "",
- "x": 3190.952423095703,
- "y": 1463.5715236663818,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "5a856f0a.aefef",
- "type": "break",
- "name": "break",
- "xml": "<break>\n",
- "comments": "",
- "x": 3084.2860374450684,
- "y": 1511.904893875122,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "1b8b156c.6c083b",
- "type": "switchNode",
- "name": "switch found-network-instance-group",
- "xml": "<switch test='`$found-network-instance-group`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2260.9523544311523,
- "y": 1538.5714855194092,
- "z": "2d523017.81121",
- "wires": [
- [
- "49805ef2.194a"
- ]
- ]
- },
- {
- "id": "49805ef2.194a",
- "type": "outcomeFalse",
- "name": "false",
- "xml": "<outcome value='false'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2482.6192016601562,
- "y": 1538.5715079307556,
- "z": "2d523017.81121",
- "wires": [
- [
- "a3ec7ac.ac12b88"
- ]
- ]
- },
- {
- "id": "9e4b2f5.d8554d",
- "type": "set",
- "name": "set tmp.vnf-network-collection_length to 0",
- "xml": "<set>\n<parameter name='tmp.vnf-network-collection_length' value='0' />\n",
- "comments": "",
- "x": 571.666633605957,
- "y": 1308.3334436416626,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "79b15187.90b49",
- "type": "set",
- "name": "set vnf-network-collection data",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-function'\n value='`$aai.instance-group.instance-group-function`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-id'\n value='`$aai.instance-group.id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-service-instance-id'\n value='`$service-data.network-instance-groups.network-instance-group[$nig-index].service-instance-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-customization-uuid'\n value='`$aai.collection.collection-customization-id`' />\n",
- "comments": "",
- "x": 2240.95267868042,
- "y": 1586.904821395874,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "67373c69.98b004",
- "type": "set",
- "name": "increment tmp.vnf-network-collection_length",
- "xml": "<set>\n<parameter name='tmp.vnf-network-collection_length' value='`$tmp.vnf-network-collection_length + 1`' />\n",
- "comments": "",
- "x": 2282.619384765625,
- "y": 1633.5714893341064,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "5563a4c5.a199ec",
- "type": "set",
- "name": "set vnf-network-collection_length",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection_length'\n value='`$tmp.vnf-network-collection_length`' />\n",
- "comments": "",
- "x": 550.8333282470703,
- "y": 1565.8333930969238,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "a9b7ab72.63a7e8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 668.6667098999023,
- "y": 5898.80961894989,
- "z": "2d523017.81121",
- "wires": [
- [
- "f0f08819.d9d3b8"
- ]
- ]
- },
- {
- "id": "97421a9a.865f98",
- "type": "for",
- "name": "for each instance group id",
- "xml": "<for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 452.000057220459,
- "y": 5899.476263999939,
- "z": "2d523017.81121",
- "wires": [
- [
- "a9b7ab72.63a7e8"
- ]
- ]
- },
- {
- "id": "f0f08819.d9d3b8",
- "type": "save",
- "name": "save generic-vnf relationship to instance-group",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"generic-vnf:relationship-list\"\n key=\"generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-information.vnf-id\"\n force=\"true\" pfx=\"tmp.AnAI-data\">\n <parameter name=\"relationship-list.relationship[0].related-to\" value=\"instance-group\" />\n <parameter name=\"relationship-list.relationship[0].related-link\"\n value=\"`'/aai/v$/network/instance-groups/instance-group/'\n + $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 952.0000381469727,
- "y": 5898.333299636841,
- "z": "2d523017.81121",
- "wires": [
- [
- "7a8ee12f.371a6",
- "1be782fa.92bfcd"
- ]
- ]
- },
- {
- "id": "7a8ee12f.371a6",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1211.3572616577148,
- "y": 5875.285715103149,
- "z": "2d523017.81121",
- "wires": [
- [
- "b5b87fb0.590f"
- ]
- ]
- },
- {
- "id": "1be782fa.92bfcd",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1219.9286918640137,
- "y": 5919.57142829895,
- "z": "2d523017.81121",
- "wires": [
- [
- "610d2304.a3d70c"
- ]
+ []
]
},
{
- "id": "c41b6137.b6d4b",
+ "id": "f7cfe715.aecd18",
"type": "switchNode",
- "name": "switch subnet_length",
- "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`'>\n",
+ "name": "so-response-url = ignored URL?",
+ "xml": "<switch test='$vnf-topology-operation-input.sdnc-request-header.svc-notification-url) == $prop.so.ignore-url'>\n",
"comments": "",
"outputs": 1,
- "x": 1273.5714569091797,
- "y": 4331.428667068481,
- "z": "2d523017.81121",
+ "x": 850,
+ "y": 452,
+ "z": "d1fefa2f.dc5878",
"wires": [
[
- "f2057e5e.eaee4",
- "f813a06e.cb2a1",
- "ce347497.746558"
+ "585f0b6a.5484b4",
+ "99002e6e.d012d"
]
]
},
{
- "id": "f2057e5e.eaee4",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 1446.4286193847656,
- "y": 4294.285726547241,
- "z": "2d523017.81121",
- "wires": [
- [
- "82fb5a4d.e1f5b8"
- ]
- ]
- },
- {
- "id": "f813a06e.cb2a1",
- "type": "outcome",
- "name": "0",
- "xml": "<outcome value='0'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1447.8571891784668,
- "y": 4332.856889724731,
- "z": "2d523017.81121",
- "wires": [
- [
- "82fb5a4d.e1f5b8"
- ]
- ]
- },
- {
- "id": "ce347497.746558",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1446.428653717041,
- "y": 4371.428281784058,
- "z": "2d523017.81121",
- "wires": [
- [
- "7cc4f5b7.8976ac"
- ]
- ]
- },
- {
- "id": "7cc4f5b7.8976ac",
+ "id": "4626099.919e7f8",
"type": "block",
"name": "block",
"xml": "<block>\n",
"atomic": "false",
"comments": "",
"outputs": 1,
- "x": 1567.8572082519531,
- "y": 4371.428548812866,
- "z": "2d523017.81121",
+ "x": 189,
+ "y": 321,
+ "z": "d1fefa2f.dc5878",
"wires": [
[
- "a129d9ae.667dd8",
- "84d519bc.318478"
+ "961c47b7.44b8d",
+ "34c5880c.3f1be8"
]
]
},
{
- "id": "82fb5a4d.e1f5b8",
- "type": "set",
- "name": "set subnet_length to 0",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'\n value='0' />\n",
- "comments": "",
- "x": 1639.2858123779297,
- "y": 4302.856889724731,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "9ab83872.914ab8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 256.7460632324219,
- "y": 368.11908626556396,
- "z": "2d523017.81121",
- "wires": [
- [
- "2bc8145e.9e6d7c",
- "49a698b9.947698",
- "ade9f393.c1d96",
- "36f653c4.5383bc",
- "16470885.0e3b37",
- "1caeb411.8cfeac",
- "fe102b69.7b64c8"
- ]
- ]
- },
- {
- "id": "26e050ad.0575e",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1909.047664642334,
- "y": 4350.032744407654,
- "z": "2d523017.81121",
- "wires": [
- [
- "6613870.b132378",
- "722310bb.9f769",
- "9fd39f7.3cbf46",
- "d3095f31.7d4de"
- ]
- ]
- },
- {
- "id": "8dc14ff8.fbd57",
- "type": "set",
- "name": "clear aai.l3-network",
- "xml": "<set>\n<parameter name='aai.l3-network.' value='' />\n",
- "comments": "",
- "x": 1260.4762344360352,
- "y": 3404.3182973861694,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "6ee99534.f9db3c",
- "type": "break",
- "name": "break",
- "xml": "<break>\n",
- "comments": "",
- "x": 3709.3330459594727,
- "y": 4250.032426834106,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "85730c77.85f6e",
- "type": "set",
- "name": "set found-network to false",
- "xml": "<set>\n<parameter name='found-network' value='false' />\n",
- "comments": "",
- "x": 1409.0476379394531,
- "y": 3955.7468309402466,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "3979a64c.84ab9a",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2380.7619438171387,
- "y": 4110.032627105713,
- "z": "2d523017.81121",
- "wires": [
- [
- "d24ce0d7.c8619",
- "c4e4f6d8.6939d8"
- ]
- ]
- },
- {
- "id": "c4e4f6d8.6939d8",
- "type": "switchNode",
- "name": "switch found-network",
- "xml": "<switch test='`$found-network`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2572.1904907226562,
- "y": 4140.032681465149,
- "z": "2d523017.81121",
- "wires": [
- [
- "8700444f.d17ae8"
- ]
- ]
- },
- {
- "id": "133789d2.fbdb36",
- "type": "set",
- "name": "set found-network to true",
- "xml": "<set>\n<parameter name='found-network' value='true' />\n",
- "comments": "",
- "x": 3765.047924041748,
- "y": 4204.3181076049805,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "8700444f.d17ae8",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2740.7619819641113,
- "y": 4140.0326108932495,
- "z": "2d523017.81121",
- "wires": [
- [
- "4c345848.e3a208"
- ]
- ]
- },
- {
- "id": "4c345848.e3a208",
- "type": "break",
- "name": "break",
- "xml": "<break>\n",
- "comments": "",
- "x": 2870.762050628662,
- "y": 4138.604004859924,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "c1ed15e6.f88648",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1581.0476608276367,
- "y": 4083.7469053268433,
- "z": "2d523017.81121",
- "wires": [
- [
- "e75f10eb.ced4f",
- "be46946a.165bb8"
- ]
- ]
- },
- {
- "id": "be46946a.165bb8",
- "type": "switchNode",
- "name": "switch found-network",
- "xml": "<switch test='`$found-network`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1791.0476150512695,
- "y": 4155.746788978577,
- "z": "2d523017.81121",
- "wires": [
- [
- "2f6a30a5.92d22"
- ]
- ]
- },
- {
- "id": "2f6a30a5.92d22",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1959.6191062927246,
- "y": 4155.746718406677,
- "z": "2d523017.81121",
- "wires": [
- [
- "587b7976.a36108"
- ]
- ]
- },
- {
- "id": "587b7976.a36108",
- "type": "break",
- "name": "break",
- "xml": "<break>\n",
- "comments": "",
- "x": 2089.6191749572754,
- "y": 4154.318112373352,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "9fd39f7.3cbf46",
- "type": "set",
- "name": "set subnet data",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].ip-version'\n value='`$tmp.ip-version`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-id'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].neutron-subnet-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].sdnc-subnet-id'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-role'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-name'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-name`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].network-start-address'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].network-start-address`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].gateway-address'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].gateway-address`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].cidr-mask'\n value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].cidr-mask`' />\n",
- "comments": "",
- "x": 2063.3334312438965,
- "y": 4380.714490890503,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "d3095f31.7d4de",
- "type": "switchNode",
- "name": "switch dhcp-enabled",
- "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].dhcp-enabled`'>\n",
+ "id": "961c47b7.44b8d",
+ "type": "execute",
+ "name": "execute PropertiesNode",
+ "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n",
"comments": "",
"outputs": 1,
- "x": 2077.8572120666504,
- "y": 4433.557444572449,
- "z": "2d523017.81121",
+ "x": 410,
+ "y": 320,
+ "z": "d1fefa2f.dc5878",
"wires": [
- [
- "a8c627c.ce253d8",
- "39879203.ca3c2e"
- ]
+ []
]
},
{
- "id": "a8c627c.ce253d8",
+ "id": "585f0b6a.5484b4",
"type": "outcomeTrue",
"name": "true",
"xml": "<outcome value='true'>\n",
"comments": "",
"outputs": 1,
- "x": 2240.714376722063,
- "y": 4412.1288022994995,
- "z": "2d523017.81121",
+ "x": 1090,
+ "y": 451,
+ "z": "d1fefa2f.dc5878",
"wires": [
[
- "85e1593a.3a1828"
+ "ef1a11b7.9f048"
]
]
},
{
- "id": "39879203.ca3c2e",
+ "id": "99002e6e.d012d",
"type": "outcomeFalse",
"name": "false",
"xml": "<outcome value='false'>\n",
"comments": "",
"outputs": 1,
- "x": 2239.2857093811035,
- "y": 4457.843228340149,
- "z": "2d523017.81121",
- "wires": [
- [
- "d7a92919.2d05e8"
- ]
- ]
- },
- {
- "id": "85e1593a.3a1828",
- "type": "set",
- "name": "set dhcp-enabled to Y",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'\n value='Y' />\n",
- "comments": "",
- "x": 2413.571575164795,
- "y": 4410.700198173523,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "d7a92919.2d05e8",
- "type": "set",
- "name": "set dhcp-enabled to N",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'\n value='N' />\n",
- "comments": "",
- "x": 2410.714344024658,
- "y": 4457.843228340149,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "6613870.b132378",
- "type": "switchNode",
- "name": "switch subnet-role",
- "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2078.333381652832,
- "y": 4262.605116844177,
- "z": "2d523017.81121",
- "wires": [
- [
- "75942d08.2adc24"
- ]
- ]
- },
- {
- "id": "75942d08.2adc24",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 2244.999984741211,
- "y": 4262.604768753052,
- "z": "2d523017.81121",
- "wires": [
- [
- "4010a065.68c26"
- ]
- ]
- },
- {
- "id": "4010a065.68c26",
- "type": "set",
- "name": "set subnet-role to NONE",
- "xml": "<set>\n<parameter name='aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role' value='NONE' />\n",
- "comments": "",
- "x": 2426.6667709350586,
- "y": 4261.93842124939,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "722310bb.9f769",
- "type": "switchNode",
- "name": "switch ip-version",
- "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].ip-version`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2073.5717163085938,
- "y": 4327.096222877502,
- "z": "2d523017.81121",
- "wires": [
- [
- "5fa58662.2f38f8",
- "df8a7995.4fde48"
- ]
- ]
- },
- {
- "id": "5fa58662.2f38f8",
- "type": "outcome",
- "name": "4",
- "xml": "<outcome value='4'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2239.285858154297,
- "y": 4308.524620056152,
- "z": "2d523017.81121",
- "wires": [
- [
- "5516675c.dd67e8"
- ]
- ]
- },
- {
- "id": "df8a7995.4fde48",
- "type": "outcome",
- "name": "6",
- "xml": "<outcome value='6'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2239.285820007324,
- "y": 4349.953363418579,
- "z": "2d523017.81121",
- "wires": [
- [
- "f2e70afd.b8c238"
- ]
- ]
- },
- {
- "id": "5516675c.dd67e8",
- "type": "set",
- "name": "set tmp.ip-version to ipv4",
- "xml": "<set>\n<parameter name='tmp.ip-version' value='ipv4' />\n",
- "comments": "",
- "x": 2426.428623199463,
- "y": 4307.667547225952,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "f2e70afd.b8c238",
- "type": "set",
- "name": "set tmp.ip-version to ipv6",
- "xml": "<set>\n<parameter name='tmp.ip-version' value='ipv6' />\n",
- "comments": "",
- "x": 2425.000175476074,
- "y": 4349.953365325928,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "b7e5144f.5264b8",
- "type": "switchNode",
- "name": "switch network-role",
- "xml": "<switch test='`$db.vf-network-role-mapping[$role-index].network-role`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 705.9999084472656,
- "y": 4335.333273887634,
- "z": "2d523017.81121",
- "wires": [
- [
- "b3ca721f.fe335",
- "272dba83.a8aed6",
- "83078563.934988",
- "5dd2d1e7.b5782"
- ]
- ]
- },
- {
- "id": "b3ca721f.fe335",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 874.0951728820801,
- "y": 4233.66668510437,
- "z": "2d523017.81121",
- "wires": [
- [
- "15298732.e21cb9"
- ]
- ]
- },
- {
- "id": "272dba83.a8aed6",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 872.6665496826172,
- "y": 4361.999873161316,
- "z": "2d523017.81121",
- "wires": [
- [
- "fde1d716.a4a0e8"
- ]
- ]
- },
- {
- "id": "15298732.e21cb9",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 1011.4761810302734,
- "y": 4273.42826461792,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "4e569933.c14918",
- "type": "get-resource",
- "name": "get-resource VNF_RELATED_NETWORK_ROLE",
- "xml": "<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VNF_RELATED_NETWORK_ROLE where vnf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid\n and network_role = $db.vf-network-role-mapping[$role-index].network-role'\n pfx='db.vnf-related-network-role[]'>\n\n",
- "comments": "",
- "outputs": 1,
- "x": 1368.0000038146973,
- "y": 4665.079788208008,
- "z": "2d523017.81121",
- "wires": [
- [
- "231fd20b.4ba7ee",
- "7d447ac2.636e24"
- ]
- ]
- },
- {
- "id": "231fd20b.4ba7ee",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1636.6666679382324,
- "y": 4495.746629714966,
- "z": "2d523017.81121",
- "wires": [
- [
- "c3080a54.9b9f68"
- ]
- ]
- },
- {
- "id": "7d447ac2.636e24",
- "type": "success",
- "name": "success",
- "xml": "<outcome value='success'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1639.6666984558105,
- "y": 4858.41314125061,
- "z": "2d523017.81121",
- "wires": [
- [
- "75a86f84.f58c6"
- ]
- ]
- },
- {
- "id": "75a86f84.f58c6",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1806.0000038146973,
- "y": 4856.412796020508,
- "z": "2d523017.81121",
- "wires": [
- [
- "ec2c65f9.047778",
- "ef924ba7.f37c58",
- "13bb35f5.a0401a",
- "e36fed30.43efa",
- "13a6411b.4f65df",
- "e8de30ac.6f904",
- "dc960591.08f438",
- "e90b4b31.6e7908",
- "56b41d87.a09d94"
- ]
- ]
- },
- {
- "id": "225c2fa8.b622f",
- "type": "outcome",
- "name": "service-instance",
- "xml": "<outcome value='service-instance'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2744.285472869873,
- "y": 4028.651467323303,
- "z": "2d523017.81121",
- "wires": [
- [
- "99500da8.54e39"
- ]
- ]
- },
- {
- "id": "99500da8.54e39",
- "type": "for",
- "name": "for each relationship data",
- "xml": "<for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2969.7613105773926,
- "y": 4029.0800971984863,
- "z": "2d523017.81121",
- "wires": [
- [
- "ee0dc0db.eb114"
- ]
- ]
- },
- {
- "id": "ee0dc0db.eb114",
- "type": "switchNode",
- "name": "switch relationship-key",
- "xml": "<switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3204.9998817443848,
- "y": 4027.413528442383,
- "z": "2d523017.81121",
- "wires": [
- [
- "d270b105.8ac1a"
- ]
- ]
- },
- {
- "id": "d270b105.8ac1a",
- "type": "outcome",
- "name": "service-instance.service-instance-id",
- "xml": "<outcome value='service-instance.service-instance-id'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3471.4282417297363,
- "y": 4027.413592338562,
- "z": "2d523017.81121",
- "wires": [
- [
- "bda20892.371be8"
- ]
- ]
- },
- {
- "id": "bda20892.371be8",
- "type": "set",
- "name": "set network-service-instance-id",
- "xml": "<set>\n<parameter name='network-service-instance-id'\n value='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value`' />\n",
- "comments": "",
- "x": 3765.000026702881,
- "y": 4025.747007369995,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "ec2c65f9.047778",
- "type": "execute",
- "name": "generate network-topology-identifier-structure url",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.network-topology-identifier-structure`\"/>\n <parameter name=\"outputPath\" value=\"tmp.part\"/>\n <parameter name=\"target\" value=\"{service-instance-id}\"/>\n <parameter name=\"replacement\" value=\"`$network-service-instance-id`\"/>\n",
- "comments": "",
- "outputs": 1,
- "x": 2125.3331718444824,
- "y": 4552.080429077148,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "13bb35f5.a0401a",
- "type": "execute",
- "name": "execute RestApiCallNode - get network-topology-identifier-structure",
- "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ntis-url`' />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='GET' />\n <parameter name=\"responsePrefix\" value=\"mdsal-ntis\" />\n\n",
- "comments": "",
- "outputs": 1,
- "x": 2182.33296585083,
- "y": 4655.509169578552,
- "z": "2d523017.81121",
- "wires": [
- [
- "3038b18e.e97b7e"
- ]
- ]
- },
- {
- "id": "ef924ba7.f37c58",
- "type": "execute",
- "name": "generate network-topology-identifier-structure url (part 2)",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.part`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ntis-url\"/>\n <parameter name=\"target\" value=\"{network-id}\"/>\n <parameter name=\"replacement\" value=\"`$l3-network-id`\"/>\n",
- "comments": "",
- "outputs": 1,
- "x": 2146.9997596740723,
- "y": 4595.413772583008,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "59c331da.0d09b",
- "type": "execute",
- "name": "printContext",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/bgb-vnfa.log' />\n",
- "comments": "",
- "outputs": 1,
- "x": 452.33337783813477,
- "y": 4502.079788208008,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "3038b18e.e97b7e",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2511.442153930664,
- "y": 4655.259647369385,
- "z": "2d523017.81121",
- "wires": [
- [
- "f361b5ff.f38548"
- ]
- ]
- },
- {
- "id": "e36fed30.43efa",
- "type": "set",
- "name": "set is-trunked and segmentation-id in vnf-network",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].is-trunked'\n value='`$mdsal-ntis.network-topology-identifier-structure.is-trunked`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].segmentation-id'\n value='`$mdsal-ntis.network-topology-identifier-structure.segmentation-id`' />\n ",
- "comments": "",
- "x": 2124.999988555908,
- "y": 4715.746793746948,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "e8de30ac.6f904",
- "type": "save",
- "name": "custom query: get owning entity",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"custom-query\"\n key=\"format = 'resource'\"\n force=\"true\"\n local-only=\"false\"\n pfx=\"tmp.AnAI-data.oe\">\n<parameter name=\"start[0]\" value=\"`'nodes/service-instances/service-instance?service-instance-id=' + $network-service-instance-id `\" />\n<parameter name=\"start_length\" value=\"1\" />\n<parameter name=\"query\" value=\"/query/owning-entity-fromService-instance\" /> \n",
- "comments": "",
- "outputs": 1,
- "x": 2065.9998817443848,
- "y": 4791.080276489258,
- "z": "2d523017.81121",
- "wires": [
- [
- "bb11fe98.9b1b9",
- "12e91c7e.074344"
- ]
- ]
- },
- {
- "id": "bb11fe98.9b1b9",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2276.2379302978516,
- "y": 4769.74663066864,
- "z": "2d523017.81121",
- "wires": [
- [
- "b897f854.8a4f58"
- ]
- ]
- },
- {
- "id": "12e91c7e.074344",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2283.3808250427246,
- "y": 4815.460855484009,
- "z": "2d523017.81121",
- "wires": [
- [
- "a1cce433.a5c9a8"
- ]
- ]
- },
- {
- "id": "eb288d10.2446b",
- "type": "save",
- "name": "custom query: get tenant network",
- "xml": "<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\"\n resource=\"custom-query\"\n key=\"format = 'resource'\"\n force=\"true\"\n local-only=\"false\"\n pfx=\"tmp.AnAI-data.get-networks\">\n<parameter name=\"start[0]\" value=\"`'/business/owning-entities/owning-entity/' + $tmp.AnAI-data.oe.results[0].owning-entity.owning-entity-id `\" />\n<parameter name=\"start_length\" value=\"1\" />\n<parameter name=\"query\" value=\"`'/query/getNetworks?networkRole=' + $db.vnf-related-network-role[$rel-network-role-index].related-network-role\n + '&cloudRegionId=' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`\" /> \n",
- "comments": "",
- "outputs": 1,
- "x": 2515.6666984558105,
- "y": 4964.080413818359,
- "z": "2d523017.81121",
- "wires": [
- [
- "23ed24a4.2c91dc",
- "b4f16506.66bd08"
- ]
- ]
- },
- {
- "id": "23ed24a4.2c91dc",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2728.9047470092773,
- "y": 4942.746912956238,
- "z": "2d523017.81121",
- "wires": [
- [
- "3e5e2886.704ec8"
- ]
- ]
- },
- {
- "id": "b4f16506.66bd08",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2736.0476417541504,
- "y": 4988.461137771606,
- "z": "2d523017.81121",
- "wires": [
- [
- "fb3762dd.d74d3"
- ]
- ]
- },
- {
- "id": "e2f76977.fea098",
- "type": "for",
- "name": "for each relationship",
- "xml": "<for index='rel-index' start='0' end='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2482.6666984558105,
- "y": 5090.0805587768555,
- "z": "2d523017.81121",
- "wires": [
- [
- "586febb.af11914"
- ]
- ]
- },
- {
- "id": "586febb.af11914",
- "type": "switchNode",
- "name": "switch related-to",
- "xml": "<switch test='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship[$rel-index].related-to`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2680.6666984558105,
- "y": 5090.0805587768555,
- "z": "2d523017.81121",
- "wires": [
- [
- "1b7b682d.5dd008"
- ]
- ]
- },
- {
- "id": "1b7b682d.5dd008",
- "type": "outcome",
- "name": "vlan-tag",
- "xml": "<outcome value='vlan-tag'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2850.6666984558105,
- "y": 5090.0805587768555,
- "z": "2d523017.81121",
- "wires": [
- [
- "9b43a30b.ab1c1"
- ]
- ]
- },
- {
- "id": "9b43a30b.ab1c1",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3018.6666984558105,
- "y": 5088.0805587768555,
- "z": "2d523017.81121",
- "wires": [
- [
- "97d76a2c.076008",
- "47618d94.b0d374",
- "1bf4c98d.f9c076"
- ]
- ]
- },
- {
- "id": "97d76a2c.076008",
- "type": "set",
- "name": "set vlan-tag-id",
- "xml": "<set>\n<parameter name='vlan-tag-id' value='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value`' />\n",
- "comments": "",
- "x": 3194.6666984558105,
- "y": 5048.0805587768555,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "47618d94.b0d374",
- "type": "get-resource",
- "name": "get-resource vlan-tag",
- "xml": "<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"vlan-tag\" \n\t\tkey=\"vlan-tag.vlan-tag-id = $vlan-tag-id\"\n pfx='aai.vlan-tag' local-only='false'\n>\n",
- "comments": "",
- "outputs": 1,
- "x": 3216.6666984558105,
- "y": 5106.0805587768555,
- "z": "2d523017.81121",
- "wires": [
- [
- "1f2ba326.d9772d",
- "fbf7fa7c.23d608"
- ]
- ]
- },
- {
- "id": "1f2ba326.d9772d",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3396.7143058776855,
- "y": 5088.2236251831055,
- "z": "2d523017.81121",
- "wires": [
- [
- "cf0cc9f2.e1c008"
- ]
- ]
- },
- {
- "id": "13a6411b.4f65df",
- "type": "for",
- "name": "for each related network role",
- "xml": "<for index='rel-network-role-index' start='0' end='`$db.vnf-related-network-role_length`' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2053.6666297912598,
- "y": 5020.414123535156,
- "z": "2d523017.81121",
- "wires": [
- [
- "668947e0.2f65c8"
- ]
- ]
- },
- {
- "id": "668947e0.2f65c8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2258.6666297912598,
- "y": 5021.747268676758,
- "z": "2d523017.81121",
- "wires": [
- [
- "eb288d10.2446b",
- "e2f76977.fea098",
- "986e7ac7.81d148"
- ]
- ]
- },
- {
- "id": "e90b4b31.6e7908",
- "type": "switchNode",
- "name": "switch rn-index",
- "xml": "<switch test='`$rn-index`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 2014.6666297912598,
- "y": 4910.080276489258,
- "z": "2d523017.81121",
- "wires": [
- [
- "896e1959.7fd6a8"
- ]
- ]
- },
- {
- "id": "dc960591.08f438",
- "type": "set",
- "name": "set rn-index to related network length",
- "xml": "<set>\n<parameter name='rn-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network_length`' />\n",
- "comments": "",
- "x": 2083.3332176208496,
- "y": 4861.080129623413,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "896e1959.7fd6a8",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value=''>",
- "comments": "",
- "outputs": 1,
- "x": 2178.6666297912598,
- "y": 4910.080276489258,
- "z": "2d523017.81121",
- "wires": [
- [
- "83542037.398bf"
- ]
- ]
- },
- {
- "id": "83542037.398bf",
- "type": "set",
- "name": "set rn-index to 0",
- "xml": "<set>\n<parameter name='rn-index' value='0' />\n",
- "comments": "",
- "x": 2338.6666297912598,
- "y": 4910.080276489258,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "986e7ac7.81d148",
- "type": "set",
- "name": "set related-network data",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].network-id'\n value='`$tmp.AnAI-data.get-networks.results[0].l3-network.network-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].network-role'\n value='`$tmp.AnAI-data.get-networks.results[0].l3-network.network-role`' />\n",
- "comments": "",
- "x": 2486.3332862854004,
- "y": 5020.747100830078,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "56b41d87.a09d94",
- "type": "set",
- "name": "set new related network length",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network_length'\n value='`$rn-index + 1`' />\n",
- "comments": "",
- "x": 2048.6666984558105,
- "y": 5164.080413818359,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "fbf7fa7c.23d608",
- "type": "success",
- "name": "success",
- "xml": "<outcome value='success'>\n",
- "comments": "",
- "outputs": 1,
- "x": 3398.6666984558105,
- "y": 5136.080413818359,
- "z": "2d523017.81121",
- "wires": [
- [
- "dc2e5d86.8c21f"
- ]
- ]
- },
- {
- "id": "dc2e5d86.8c21f",
- "type": "set",
- "name": "set related-network data",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.vlan-interface'\n value='`$aai.vlan-tag.vlan-tag-id`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.upper-tag-id'\n value='`$aai.vlan-tag.vlan-id-outer`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.lower-tag-id'\n value='`$aai.vlan-tag.vlan-id-inner`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.is-private'\n value='`$aai.vlan-tag.is-private`' />\n",
- "comments": "",
- "x": 3590.6666984558105,
- "y": 5136.080413818359,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "1bf4c98d.f9c076",
- "type": "break",
- "name": "break",
- "xml": "<break>\n",
- "comments": "",
- "x": 3168.6666984558105,
- "y": 5174.080413818359,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "2f24f627.1d687a",
- "type": "comment",
- "name": "temporary data issue: also ignore string \"null\" and \"NULL\"",
- "info": "",
- "comments": "",
- "x": 845.0000114440918,
- "y": 4193.842397689819,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "83078563.934988",
- "type": "outcome",
- "name": "null",
- "xml": "<outcome value='null'>\n",
- "comments": "",
- "outputs": 1,
- "x": 872.1428337097168,
- "y": 4276.69953918457,
- "z": "2d523017.81121",
- "wires": [
- [
- "15298732.e21cb9"
- ]
- ]
- },
- {
- "id": "5dd2d1e7.b5782",
- "type": "outcome",
- "name": "NULL",
- "xml": "<outcome value='NULL'>",
- "comments": "",
- "outputs": 1,
- "x": 872.14284324646,
- "y": 4319.556611061096,
- "z": "2d523017.81121",
- "wires": [
- [
- "15298732.e21cb9"
- ]
- ]
- },
- {
- "id": "36f653c4.5383bc",
- "type": "switchNode",
- "name": "switch input cloud-owner",
- "xml": "<switch test='`$vnf-topology-operation-input.vnf-request-input.cloud-owner`'>\n",
- "comments": "",
- "outputs": 1,
- "x": 521.6667022705078,
- "y": 367.4136428833008,
- "z": "2d523017.81121",
- "wires": [
- [
- "6073cd09.c47954",
- "60806490.79275c"
- ]
- ]
- },
- {
- "id": "6073cd09.c47954",
- "type": "other",
- "name": "NULL",
- "xml": "<outcome value=''>\n",
- "comments": "",
- "outputs": 1,
- "x": 705.0000762939453,
- "y": 337.413631439209,
- "z": "2d523017.81121",
- "wires": [
- [
- "a192c343.146f"
- ]
- ]
- },
- {
- "id": "60806490.79275c",
- "type": "other",
- "name": "other",
- "xml": "<outcome value='Other'>\n",
- "comments": "",
- "outputs": 1,
- "x": 704.7619819641113,
- "y": 378.3661251068115,
- "z": "2d523017.81121",
- "wires": [
- [
- "7907b.f03a3f85"
- ]
- ]
- },
- {
- "id": "a192c343.146f",
- "type": "block",
- "name": "block",
- "xml": "<block>\n",
- "atomic": "false",
- "comments": "",
- "outputs": 1,
- "x": 840.0000305175781,
- "y": 335.7469711303711,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "7907b.f03a3f85",
- "type": "set",
- "name": "set prop.cloud-region.cloud-owner",
- "xml": "<set>\n<parameter name='prop.cloud-region.cloud-owner' value='`$vnf-topology-operation-input.vnf-request-input.cloud-owner`' />\n",
- "comments": "",
- "x": 921.6666870117188,
- "y": 377.41365242004395,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "16470885.0e3b37",
- "type": "call",
- "name": "call self-serve-vnf-forking-logic",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-forking-logic' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 539.5238265991211,
- "y": 688.2142810821533,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "1caeb411.8cfeac",
- "type": "switchNode",
- "name": "switch ss.self-serve-flag",
- "xml": "<switch test=\"`$ss.self-serve-flag`\">\n",
- "comments": "",
- "outputs": 1,
- "x": 519.6665420532227,
- "y": 853.7857685089111,
- "z": "2d523017.81121",
- "wires": [
- [
- "37f74e26.cb2452",
- "beba854c.d89668"
- ]
- ]
- },
- {
- "id": "37f74e26.cb2452",
- "type": "outcomeFalse",
- "name": "false",
- "xml": "<outcome value='false'>\n",
- "comments": "",
- "outputs": 1,
- "x": 731.3806991577148,
- "y": 927.0710525512695,
- "z": "2d523017.81121",
- "wires": [
- [
- "c8588b9c.b0d898"
- ]
- ]
- },
- {
- "id": "beba854c.d89668",
- "type": "outcomeTrue",
- "name": "true",
- "xml": "<outcome value='true'>\n",
- "comments": "",
- "outputs": 1,
- "x": 730.9522171020508,
- "y": 790.6428861618042,
- "z": "2d523017.81121",
- "wires": [
- [
- "4645b056.44eb1"
- ]
- ]
- },
- {
- "id": "97a46274.9df5e",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 911.111156463623,
- "y": 489.38886737823486,
- "z": "2d523017.81121",
- "wires": [
- [
- "2a1c1eb.da980e2",
- "22c02af2.d4ee26"
- ]
- ]
- },
- {
- "id": "df6715d9.ce37d8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 911.111156463623,
- "y": 537.9603090286255,
- "z": "2d523017.81121",
- "wires": [
- [
- "b8d206be.845728",
- "22c02af2.d4ee26"
- ]
- ]
- },
- {
- "id": "e48fe633.d5a078",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 913.9682731628418,
- "y": 582.2460145950317,
- "z": "2d523017.81121",
- "wires": [
- [
- "da0200d1.6944b",
- "22c02af2.d4ee26"
- ]
- ]
- },
- {
- "id": "2a1c1eb.da980e2",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"If svc-action is 'assign' then request-action must be 'CreateVnfInstance'\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1147.539737701416,
- "y": 489.3888578414917,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "b8d206be.845728",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error reading VF_MODEL table\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1146.1111488342285,
- "y": 538.1031522750854,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "da0200d1.6944b",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'No model found for VNF customization UUID ' + $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1146.1111488342285,
- "y": 582.2460050582886,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "198f8218.7133ee",
- "type": "call",
- "name": "call self-serve-vnf-assign",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-assign' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1181.9878044128418,
- "y": 688.1072311401367,
- "z": "2d523017.81121",
- "wires": [
- [
- "d458bfd1.de073"
- ]
- ]
- },
- {
- "id": "e83e7b2d.1d4268",
- "type": "comment",
- "name": "SELF-SERVE FORK",
- "info": "",
- "comments": "",
- "x": 901.4285583496094,
- "y": 741.5119113922119,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "d458bfd1.de073",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 1387.285385131836,
- "y": 687.5952625274658,
- "z": "2d523017.81121",
- "wires": [
- [
- "c261dd9e.7394e"
- ]
- ]
- },
- {
- "id": "da6cb5e4.41c2f8",
- "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": 1157.2301712036133,
- "y": 936.789656996727,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "828a78b6.35b498",
- "type": "set",
- "name": "set vnf-level-oper-status to PendingCreate",
- "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />\n",
- "comments": "",
- "x": 1245.0991516113281,
- "y": 739.599271774292,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "b15ef9f9.2e3088",
- "type": "execute",
- "name": "printContext",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\n<parameter name='filename' value='/var/tmp/ss-vnfend.log' />\n",
- "comments": "",
- "outputs": 1,
- "x": 1144.3014678955078,
- "y": 790.0390481948853,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "4645b056.44eb1",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 921.5394287109375,
- "y": 790.4999408721924,
- "z": "2d523017.81121",
- "wires": [
- [
- "198f8218.7133ee",
- "828a78b6.35b498",
- "b15ef9f9.2e3088",
- "da6cb5e4.41c2f8",
- "afb784f3.b92c98",
- "179daba.4616354"
- ]
- ]
- },
- {
- "id": "22c02af2.d4ee26",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 1762.9842987060547,
- "y": 767.2462577819824,
- "z": "2d523017.81121",
- "wires": [
- [
- "9f6e7d2d.65cdb",
- "efad6026.2740a"
- ]
- ]
- },
- {
- "id": "c261dd9e.7394e",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1563.3016738891602,
- "y": 687.785698890686,
- "z": "2d523017.81121",
- "wires": [
- [
- "6b697ba4.a67094",
- "22c02af2.d4ee26"
- ]
- ]
- },
- {
- "id": "6b697ba4.a67094",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Failed to create self-serve assignment for vnf with vnf-id=' + $vnf-topology-operation-input.vnf-information.vnf-id + ' with error: ' + $error-message`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1774.8296203613281,
- "y": 629.690544128418,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "853dab16.a11508",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'VNF id ' + $service-data.vnfs.vnf[$idx].vnf-id\n + ' already exists'`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2205.666618347168,
- "y": 1201.666597366333,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "e351344c.af7228",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Cannot find instance group id ' +\n $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\n + ' in AAI'`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1582.7617416381836,
- "y": 1256.476245880127,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "564bf42f.5df9ac",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error retrieving instance-group from AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1582.761703491211,
- "y": 1319.619031906128,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "33ec168e.11b45a",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Unable to find AAI relationship from collection '\n + $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value\n + ' to service instance'`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2177.333206176758,
- "y": 1335.9523315429688,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "38b03742.d98548",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Failed to get network service instance '\n + $network-service-instance + ' from MD-SAL'`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2178.8094482421875,
- "y": 1377.666732788086,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "56ab1164.7603f",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Could not find network instance group ' +\n $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id\n + ' in MD-SAL service instance '\n + $network-service-instance`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2863.3335571289062,
- "y": 1536.1904573440552,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "60b9af41.99ebd",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 2889.345314025879,
- "y": 1840.3692474365234,
- "z": "2d523017.81121",
- "wires": [
- [
- "816ac0ef.84b68",
- "67ea33dc.59706c"
- ]
- ]
- },
- {
- "id": "67d1f32e.64262c",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2000.6664962768555,
- "y": 1199.9998836517334,
- "z": "2d523017.81121",
- "wires": [
- [
- "853dab16.a11508",
- "60b9af41.99ebd"
- ]
- ]
- },
- {
- "id": "3d4ce14c.b56fbe",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1370.999984741211,
- "y": 1256.6664772033691,
- "z": "2d523017.81121",
- "wires": [
- [
- "e351344c.af7228",
- "60b9af41.99ebd"
- ]
- ]
- },
- {
- "id": "6b5b96d7.f11058",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1371.666358947754,
- "y": 1319.3331823349,
- "z": "2d523017.81121",
- "wires": [
- [
- "564bf42f.5df9ac",
- "60b9af41.99ebd"
- ]
- ]
- },
- {
- "id": "75f0b66c.711368",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1959.9998779296875,
- "y": 1336.3333625793457,
- "z": "2d523017.81121",
- "wires": [
- [
- "33ec168e.11b45a",
- "60b9af41.99ebd"
- ]
- ]
- },
- {
- "id": "1cfc4c24.ab0124",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1958.333251953125,
- "y": 1378.333251953125,
- "z": "2d523017.81121",
- "wires": [
- [
- "38b03742.d98548",
- "60b9af41.99ebd"
- ]
- ]
- },
- {
- "id": "a3ec7ac.ac12b88",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2652.619094848633,
- "y": 1536.9047193527222,
- "z": "2d523017.81121",
- "wires": [
- [
- "56ab1164.7603f",
- "60b9af41.99ebd"
- ]
- ]
- },
- {
- "id": "da3712d9.f41f4",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1459.0475540161133,
- "y": 1771.9046249389648,
- "z": "2d523017.81121",
- "wires": [
- [
- "62fa2d49.68c884",
- "5de10e3b.8401c"
- ]
- ]
- },
- {
- "id": "62fa2d49.68c884",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"No vnf-name was received but ecomp-generated-naming is not Y\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1688.90478515625,
- "y": 1772.3329601287842,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "6d7f13cc.8d975c",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2211.9046783447266,
- "y": 1875.7618045806885,
- "z": "2d523017.81121",
- "wires": [
- [
- "4b15fa7b.a37b24",
- "5de10e3b.8401c"
- ]
- ]
- },
- {
- "id": "4b15fa7b.a37b24",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`$generate-unique-name-output.error-message`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2420.0475540161133,
- "y": 1875.3331956863403,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "702e58b3.200b38",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2260.476104736328,
- "y": 2001.9045372009277,
- "z": "2d523017.81121",
- "wires": [
- [
- "20b0a05b.f52ee",
- "5de10e3b.8401c"
- ]
- ]
- },
- {
- "id": "20b0a05b.f52ee",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Unable to generate VNF name\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2483.3331604003906,
- "y": 2002.3332080841064,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "5de10e3b.8401c",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic='true'>",
- "atomic": "true",
- "comments": "",
- "outputs": 1,
- "x": 2535.2147064208984,
- "y": 2257.333641052246,
- "z": "2d523017.81121",
- "wires": [
- [
- "731462dd.b506dc",
- "33152a66.1de486"
- ]
- ]
- },
- {
- "id": "55ab3764.a14138",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 952.8571090698242,
- "y": 2912.2857341766357,
- "z": "2d523017.81121",
- "wires": [
- [
- "f054f599.b671b8",
- "2115eaa4.e5b146"
- ]
- ]
- },
- {
- "id": "f054f599.b671b8",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Cloud region not found in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1151.428451538086,
- "y": 2878.0000200271606,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "cbecda63.60f978",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 956.1904602050781,
- "y": 2955.619020462036,
- "z": "2d523017.81121",
- "wires": [
- [
- "7ff32092.da86f",
- "2115eaa4.e5b146"
- ]
- ]
- },
- {
- "id": "7ff32092.da86f",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error retrieving cloud region from AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1154.7618026733398,
- "y": 2921.333306312561,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "9a466e25.4156f",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 814.5238952636719,
- "y": 3134.619167327881,
- "z": "2d523017.81121",
- "wires": [
- [
- "9a766ef3.dad01",
- "2115eaa4.e5b146"
- ]
- ]
- },
- {
- "id": "9a766ef3.dad01",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1024.5238876342773,
- "y": 3113.190655708313,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "2115eaa4.e5b146",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1911.1072616577148,
- "y": 3689.820848464966,
- "z": "2d523017.81121",
- "wires": [
- [
- "77d28d98.052f64",
- "2dcd5fd9.caa1d",
- "e2453329.ce9e1",
- "d8bb9422.93cd78"
- ]
- ]
- },
- {
- "id": "5be8614b.d2283",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1099.9999923706055,
- "y": 3224.714331626892,
- "z": "2d523017.81121",
- "wires": [
- [
- "8a74d4c9.f4d158",
- "2115eaa4.e5b146"
- ]
- ]
- },
- {
- "id": "8a74d4c9.f4d158",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error reading VF_TO_NETWORK_ROLE_MAPPING table\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1302.8571014404297,
- "y": 3191.8572273254395,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "1b9558ce.3c84a7",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1669.9999465942383,
- "y": 3434.285619735718,
- "z": "2d523017.81121",
- "wires": [
- [
- "f01f3cd.81c20c",
- "2115eaa4.e5b146"
- ]
- ]
- },
- {
- "id": "f01f3cd.81c20c",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Unable to find l3-network in AAI for network role ' + $db.vf-network-role-mapping[$role-index].network-role`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1881.4285507202148,
- "y": 3402.8569107055664,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "f361b5ff.f38548",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2690.4761276245117,
- "y": 4655.667684555054,
- "z": "2d523017.81121",
- "wires": [
- [
- "87fd5071.f5e61",
- "9615c407.df8ac8"
- ]
- ]
- },
- {
- "id": "87fd5071.f5e61",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`\n 'Error retrieving network-topology-identifier-structure for service instance '\n + $network-service-instance-id\n + ' and network-id '\n + $l3-network-id`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2901.9046325683594,
- "y": 4624.238899230957,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "c3080a54.9b9f68",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1803.1428604125977,
- "y": 4496.048126220703,
- "z": "2d523017.81121",
- "wires": [
- [
- "67128ab5.195dd4",
- "9615c407.df8ac8"
- ]
- ]
- },
- {
- "id": "67128ab5.195dd4",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error reading VNF_RELATED_NETWORK_ROLE table\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2017.1428604125977,
- "y": 4477.190979003906,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "b897f854.8a4f58",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2447.6190872192383,
- "y": 4771.667268753052,
- "z": "2d523017.81121",
- "wires": [
- [
- "90365fab.e2211",
- "9615c407.df8ac8"
- ]
- ]
- },
- {
- "id": "90365fab.e2211",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error getting owning entity from service instance\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2654.762107849121,
- "y": 4747.381650924683,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "a1cce433.a5c9a8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2462.6190872192383,
- "y": 4816.667268753052,
- "z": "2d523017.81121",
- "wires": [
- [
- "1a20c9fe.aa7526",
- "9615c407.df8ac8"
- ]
- ]
- },
- {
- "id": "1a20c9fe.aa7526",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Unable to find owning entity from service instance\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 2664.0477294921875,
- "y": 4790.953462600708,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "3e5e2886.704ec8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2906.6664810180664,
- "y": 4942.143200874329,
- "z": "2d523017.81121",
- "wires": [
- [
- "474a1c8f.5b8254",
- "9615c407.df8ac8"
- ]
- ]
- },
- {
- "id": "474a1c8f.5b8254",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error calling getNetworks custom query in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3122.380844116211,
- "y": 4912.143190383911,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "fb3762dd.d74d3",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 2918.3332290649414,
- "y": 4987.143200874329,
- "z": "2d523017.81121",
- "wires": [
- [
- "d13c17c6.96baa8",
- "9615c407.df8ac8"
- ]
- ]
- },
- {
- "id": "d13c17c6.96baa8",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'No l3-network returned from getNetworks custom query for related network role '\n + $db.vnf-related-network-role[0].related-network-role`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3134.047592163086,
- "y": 4957.143190383911,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "cf0cc9f2.e1c008",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3562.618698120117,
- "y": 5088.333766937256,
- "z": "2d523017.81121",
+ "x": 1098,
+ "y": 552,
+ "z": "d1fefa2f.dc5878",
"wires": [
[
- "583a5088.c3e55",
- "9615c407.df8ac8"
+ "4b8837af.8e5f18"
]
]
- },
- {
- "id": "583a5088.c3e55",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error getting vlan-tag object from AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 3775.475830078125,
- "y": 5061.190900802612,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "9615c407.df8ac8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 3682.345771789551,
- "y": 5539.275134086609,
- "z": "2d523017.81121",
- "wires": [
- [
- "2f005b1.f6000a4",
- "567a5bcf.b1abd4",
- "bda56dc4.abbc",
- "ab1a0201.102be"
- ]
- ]
- },
- {
- "id": "4fcc2ec6.5268d",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1669.9999313354492,
- "y": 3484.2856159210205,
- "z": "2d523017.81121",
- "wires": [
- [
- "75ca8e5d.ce23a",
- "2115eaa4.e5b146"
- ]
- ]
- },
- {
- "id": "75ca8e5d.ce23a",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error retrieving l3-network from AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1881.4285354614258,
- "y": 3452.856906890869,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "39a027a0.277908",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'Unable to find l3-network in AAI for network role ' + $db.vf-network-role-mapping[$role-index].network-role`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1805.71435546875,
- "y": 4195.714210510254,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "d03cff5b.4eae8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1605.71435546875,
- "y": 4210,
- "z": "2d523017.81121",
- "wires": [
- [
- "39a027a0.277908",
- "9615c407.df8ac8"
- ]
- ]
- },
- {
- "id": "63585eee.6f434",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1259.9999389648438,
- "y": 5382.856773376465,
- "z": "2d523017.81121",
- "wires": [
- [
- "2dd248fd.0355f8",
- "f54d4b54.f29d58"
- ]
- ]
- },
- {
- "id": "2dd248fd.0355f8",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'No availability zones found in AAI for cloud region '\n + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1462.8570709228516,
- "y": 5364.28534412384,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "ac3d2a38.193128",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1487.3811264038086,
- "y": 5509.524040222168,
- "z": "2d523017.81121",
- "wires": [
- [
- "fcb662f2.e888c",
- "f54d4b54.f29d58"
- ]
- ]
- },
- {
- "id": "fcb662f2.e888c",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error updating generic-vnf in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1688.8096771240234,
- "y": 5489.524041175842,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "edd6eeb3.58833",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1489.047752380371,
- "y": 5552.857048034668,
- "z": "2d523017.81121",
- "wires": [
- [
- "ed7e59f3.736ce8",
- "f54d4b54.f29d58"
- ]
- ]
- },
- {
- "id": "ed7e59f3.736ce8",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1690.476303100586,
- "y": 5532.857048988342,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "1d23943a.cc401c",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1346.904800415039,
- "y": 5627.618696212769,
- "z": "2d523017.81121",
- "wires": [
- [
- "5db8f40e.5238ec",
- "f54d4b54.f29d58"
- ]
- ]
- },
- {
- "id": "5db8f40e.5238ec",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error updating generic-vnf in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1544.5833358764648,
- "y": 5606.011522293091,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "48b115c8.09c9bc",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1366.9642944335938,
- "y": 5672.678614616394,
- "z": "2d523017.81121",
- "wires": [
- [
- "33966a0a.bc1c26",
- "f54d4b54.f29d58"
- ]
- ]
- },
- {
- "id": "33966a0a.bc1c26",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1571.2500610351562,
- "y": 5649.821611404419,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "b5f5454e.605518",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 782.6785583496094,
- "y": 5782.29768371582,
- "z": "2d523017.81121",
- "wires": [
- [
- "5a2cf836.80cc88",
- "f54d4b54.f29d58"
- ]
- ]
- },
- {
- "id": "5a2cf836.80cc88",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error updating selflink in generic-vnf in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 988.3928985595703,
- "y": 5758.011829376221,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "fb7909b7.07d3a8",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 796.0118713378906,
- "y": 5825.63117980957,
- "z": "2d523017.81121",
- "wires": [
- [
- "840ebe47.1002a",
- "f54d4b54.f29d58"
- ]
- ]
- },
- {
- "id": "840ebe47.1002a",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1001.7262115478516,
- "y": 5801.345325469971,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "b5b87fb0.590f",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1376.059555053711,
- "y": 5875.011758804321,
- "z": "2d523017.81121",
- "wires": [
- [
- "9605363d.80ae88",
- "f54d4b54.f29d58"
- ]
- ]
- },
- {
- "id": "9605363d.80ae88",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error updating relationship in generic-vnf in AAI\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1570.3452758789062,
- "y": 5849.2977504730225,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "610d2304.a3d70c",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 1391.059555053711,
- "y": 5918.345254898071,
- "z": "2d523017.81121",
- "wires": [
- [
- "70fd7745.526758",
- "f54d4b54.f29d58"
- ]
- ]
- },
- {
- "id": "70fd7745.526758",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1585.3452758789062,
- "y": 5892.6312465667725,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "b01ba289.b4c4d",
- "type": "execute",
- "name": "execute RestApiCallNode - PUT vnf",
- "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + 'vnf-data-assign.json'`\" />\n <parameter name='restapiUrl' value=\"`$prop.controller.url + $tmp.vnf.url`\" />\n <parameter name='restapiUser' value='`$prop.controller.user`' />\n <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n <parameter name='format' value='json' />\n <parameter name='httpMethod' value='PUT' />\n <parameter name=\"responsePrefix\" value=\"vnf-assign\" />\n\n",
- "comments": "",
- "outputs": 1,
- "x": 485.9878692626953,
- "y": 6282.9891719818115,
- "z": "2d523017.81121",
- "wires": [
- [
- "b8a25bcd.5c5768",
- "336fda4d.6f39d6"
- ]
- ]
- },
- {
- "id": "b8a25bcd.5c5768",
- "type": "not-found",
- "name": "not-found",
- "xml": "<outcome value='not-found'>\n",
- "comments": "",
- "outputs": 1,
- "x": 733.2006301879883,
- "y": 6304.319892883301,
- "z": "2d523017.81121",
- "wires": [
- [
- "dd704ec0.5452"
- ]
- ]
- },
- {
- "id": "336fda4d.6f39d6",
- "type": "failure",
- "name": "failure",
- "xml": "<outcome value='failure'>\n",
- "comments": "",
- "outputs": 1,
- "x": 725.629264831543,
- "y": 6262.819912910461,
- "z": "2d523017.81121",
- "wires": [
- [
- "dd704ec0.5452"
- ]
- ]
- },
- {
- "id": "dd704ec0.5452",
- "type": "block",
- "name": "block : atomic",
- "xml": "<block atomic=\"true\">",
- "atomic": "true",
- "outputs": 1,
- "x": 901.225944519043,
- "y": 6282.750367164612,
- "z": "2d523017.81121",
- "wires": [
- [
- "70b79c9a.11b3d4",
- "f54d4b54.f29d58"
- ]
- ]
- },
- {
- "id": "70b79c9a.11b3d4",
- "type": "configure",
- "name": "set error-message",
- "xml": "<set>\n<parameter name=\"error-message\" value=\"Error doing PUT of vnf-data\" />\n",
- "comments": "",
- "outputs": 1,
- "x": 1106.9402542114258,
- "y": 6248.464484214783,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "f93440f1.dad62",
- "type": "set",
- "name": "set so.response-code = 200",
- "xml": "<set>\n<parameter name=\"so.response-code\" value=\"200\" />",
- "comments": "",
- "x": 456.7604293823242,
- "y": 6425.500561714172,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "fe102b69.7b64c8",
- "type": "set",
- "name": "Initialize SO 500 reponse params",
- "xml": "<set>\n<parameter name=\"so.ack-final-indicator\" value=\"Y\" />\n<parameter name=\"so.response-code\" value=\"500\" />\n<parameter name=\"so.notification-url\" value=\"`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`\" />\n<parameter name=\"so.svc-request-id\" value=\"`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`\" />\n<parameter name=\"so.service-type\" value=\"`$vnf-topology-operation-input.service-information.subscription-service-type`\" />\n<parameter name=\"so.service-instance-id\" value=\"`$vnf-topology-operation-input.service-information.service-instance-id`\" />\n",
- "comments": "",
- "x": 554.42724609375,
- "y": 261.9549217224121,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "77d28d98.052f64",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API_send-so-response",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2236.9576263427734,
- "y": 3740.151798248291,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "afb784f3.b92c98",
- "type": "set",
- "name": "set so.reponse-code = 200",
- "xml": "<set>\n<parameter name=\"so.response-code\" value=\"200\" />\n",
- "comments": "",
- "x": 1197.5128784179688,
- "y": 836.2629871368408,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "2dcd5fd9.caa1d",
- "type": "set",
- "name": "set variables for deleting name",
- "xml": "<set>\n<parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\n<parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='naming-policy-generate-name-input.action' value='DELETE' />\n",
- "comments": "",
- "x": 2183.762954711914,
- "y": 3639.040738105774,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "e2453329.ce9e1",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:naming-policy-generate-name",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2281.334228515625,
- "y": 3689.1830978393555,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "bda56dc4.abbc",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API_send-so-response",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 4015.7076721191406,
- "y": 5563.346151351929,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "2f005b1.f6000a4",
- "type": "set",
- "name": "set variables for deleting name",
- "xml": "<set>\n<parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\n<parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='naming-policy-generate-name-input.action' value='DELETE' />\n",
- "comments": "",
- "x": 3962.5130004882812,
- "y": 5462.235091209412,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "567a5bcf.b1abd4",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:naming-policy-generate-name",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 4060.084274291992,
- "y": 5512.377450942993,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "d27d64fe.c0c2c8",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API_send-so-response",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2244.8742904663086,
- "y": 6544.319822311401,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "9c453248.1f195",
- "type": "set",
- "name": "set variables for deleting name",
- "xml": "<set>\n<parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />\n<parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />\n<parameter name='naming-policy-generate-name-input.action' value='DELETE' />\n",
- "comments": "",
- "x": 2187.929588317871,
- "y": 6443.2088985443115,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "a406d4bc.916068",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API:naming-policy-generate-name",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2285.500862121582,
- "y": 6493.351258277893,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "9f6e7d2d.65cdb",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API_send-so-response",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2077.3744049072266,
- "y": 740.8462972640991,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "816ac0ef.84b68",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API_send-so-response",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 3201.1239700317383,
- "y": 1816.596351146698,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "731462dd.b506dc",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API_send-so-response",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 2853.6240234375,
- "y": 2231.346435546875,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "5091afc0.4393d",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API_send-so-response",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 521.2630310058594,
- "y": 6479.874531745911,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "179daba.4616354",
- "type": "call",
- "name": "call GENERIC-RESOURCE-API_send-so-response",
- "xml": "<call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' >\n",
- "comments": "",
- "outputs": 1,
- "x": 1269.5129089355469,
- "y": 885.0129909515381,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "efad6026.2740a",
- "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=\"`$error-message`\" />\n",
- "comments": "",
- "x": 1958.762954711914,
- "y": 791.2629833221436,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "67ea33dc.59706c",
- "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=\"`$error-message`\" />\n",
- "comments": "",
- "x": 3082.512939453125,
- "y": 1860.8463134765625,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "33152a66.1de486",
- "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=\"`$error-message`\" />\n",
- "comments": "",
- "x": 2737.512939453125,
- "y": 2279.596435546875,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "d8bb9422.93cd78",
- "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=\"`$error-message`\" />\n",
- "comments": "",
- "x": 2117.5130882263184,
- "y": 3787.929880142212,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "ab1a0201.102be",
- "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=\"`$error-message`\" />\n",
- "comments": "",
- "x": 3898.485107421875,
- "y": 5613.06884765625,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "71ce4538.3940fc",
- "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=\"`$error-message`\" />\n",
- "comments": "",
- "x": 2124.735321044922,
- "y": 6591.263185501099,
- "z": "2d523017.81121",
- "wires": []
- },
- {
- "id": "7381e60f.8d7388",
- "type": "execute",
- "name": "generate vnf URL (sub service-instance-id)",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.vnf-assign`\"/>\n <parameter name=\"outputPath\" value=\"tmp.part\"/>\n <parameter name=\"target\" value=\"{service-instance-id}\"/>\n <parameter name=\"replacement\" value=\"`$service-data.service-topology.service-topology-identifier.service-instance-id`\"/>\n",
- "comments": "",
- "outputs": 1,
- "x": 510.0130157470703,
- "y": 6086.542016029358,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "ef3b1f74.d9716",
- "type": "execute",
- "name": "generate vnf URL (sub vnf-id)",
- "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.part`\"/>\n <parameter name=\"outputPath\" value=\"tmp.vnf.url\"/>\n <parameter name=\"target\" value=\"{vnf-id}\"/>\n <parameter name=\"replacement\" value=\"`$service-data.vnfs.vnf[$vnf-index].vnf-id`\"/>\n",
- "comments": "",
- "outputs": 1,
- "x": 465.012939453125,
- "y": 6137.969970703125,
- "z": "2d523017.81121",
- "wires": [
- []
- ]
- },
- {
- "id": "4c1fc0a3.ee098",
- "type": "set",
- "name": "copy vnf data",
- "xml": "<set>\n<parameter name='vnf-data.' value='service-data.vnfs.vnf[$vnf-index].vnf-data.' />\n",
- "comments": "",
- "x": 410.90589904785156,
- "y": 6185.827503204346,
- "z": "2d523017.81121",
- "wires": []
}
]
\ No newline at end of file diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-assign-async.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-assign-async.xml new file mode 100644 index 00000000..923303a0 --- /dev/null +++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-assign-async.xml @@ -0,0 +1,1862 @@ +<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='vf-module-topology-operation-assign-async' mode='sync'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
+ <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
+ <parameter name='contextPrefix' value='prop' />
+ </execute>
+ <set>
+ <parameter name="so.ack-final-indicator" value="Y" />
+ <parameter name="so.response-code" value="500" />
+ <parameter name="so.notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />
+ <parameter name="so.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />
+ <parameter name="so.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />
+ <parameter name="so.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />
+ </set>
+ <switch test='`$vf-module-topology-operation-input.vf-module-request-input.cloud-owner`'>
+ <outcome value=''>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='prop.cloud-region.cloud-owner' value='`$vf-module-topology-operation-input.vf-module-request-input.cloud-owner`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vf-module-topology-operation-input.request-information.request-action`'>
+ <outcome value='CreateVfModuleInstance'>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="If svc-action is 'assign' then request-action must be 'CreateVfModuleInstance'" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </switch>
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='SELECT * from VF_MODULE_MODEL WHERE customization_uuid = $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid'
+ pfx='db.vf-module-model'>
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error reading VF_MODULE_MODEL table" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'No model found for VF module customization UUID ' + $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </get-resource>
+ <set>
+ <parameter name='vnf-index' value='-1' />
+ </set>
+ <switch test='`$service-data.vnfs.vnf_length`'>
+ <outcome value=''>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="There are no VNFs defined in MD-SAL" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >
+ <switch test='`$service-data.vnfs.vnf[$idx].vnf-id == $vf-module-topology-operation-input.vnf-information.vnf-id`'>
+ <outcome value='true'>
+ <block>
+ <set>
+ <parameter name='vnf-index' value='`$idx`' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ </outcome>
+ </switch>
+ <switch test='`$vnf-index`'>
+ <outcome value='-1'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'Unable to find VNF ID ' + $vf-module-topology-operation-input.vnf-information.vnf-id + ' in MD-SAL'`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </switch>
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-forking-logic' mode='sync' ></call>
+ <switch test="`$ss.self-serve-flag`">
+ <outcome value='true'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-assign' mode='sync' >
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'Failed to create self-serve assignment for vf-module with vf-module-id=' + $vf-module-topology-operation-input.vf-module-information.vf-module-id + ' with error: ' + $error-message`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </call>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'
+ value='PendingCreate' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'
+ value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'
+ value='`$vf-module-topology-operation-input.request-information.request-action`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/ss-vnfend.log' />
+ </execute>
+ <set>
+ <parameter name="so.response-code" value="200" />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='false'>
+ <block atomic="true">
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>
+ <outcome value=''>
+ <set>
+ <parameter name='vf-module-index' value='0' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <block>
+ <set>
+ <parameter name='vf-module-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' />
+ </set>
+ <for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' >
+ <switch test='`$vf-module-topology-operation-input.vf-module-information.vf-module-id == $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id`'>
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'VF module id ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id
+ + ' already exists, and status is ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-data.vf-module-level-oper-status.order-status`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length' value='`$vf-module-index + 1`' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id'
+ value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />
+ </set>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-id' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />
+ <parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name' value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`' />
+ <parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-type' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-type`' />
+ <parameter name='tmp.vf-module-topology.tenant' value='`$vf-module-topology-operation-input.vf-module-request-input.tenant`' />
+ <parameter name='tmp.vf-module-topology.aic-cloud-region' value='`$vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`' />
+ </set>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="cloud-region"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND
+ cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region"
+ pfx='aai.cloud-region' local-only='false' >
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Cloud region not found in AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error retrieving cloud region from AAI. Is AAI down?" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </get-resource>
+ <for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >
+ <switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>
+ <outcome value='complex'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>
+ <parameter name='ctx_memory_result_key' value='aai-uid-split' />
+ <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />
+ <parameter name='regex' value='/' />
+ </execute>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.aic-clli'
+ value='`$aai-uid-split[$aai-uid-split_length - 1]`' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.aic-clli`'>
+ <outcome value=''>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </switch>
+ <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'
+ value='`$db.vf-module-model.invariant-uuid`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'
+ value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'
+ value='`$db.vf-module-model.uuid`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'
+ value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-version'
+ value='`$db.vf-module-model.version`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-version'
+ value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-name'
+ value='`$db.vf-module-model.name`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-name'
+ value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`' />
+ </set>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-customization-uuid'
+ value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`' />
+ </set>
+ <switch test='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`'>
+ <outcome value=''>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-no-preload' mode='sync' >
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'from-preload flag is true but could not find preload information for VF module name ' + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </call>
+ </outcome>
+ <outcome value='Other'>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='restapiUrl' value="`$prop.controller.url + $prop.restapi.preloadinformation + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name + '/vf-module'`" />
+ <parameter name='restapiUser' value='`$prop.controller.user`' />
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='GET' />
+ <parameter name="responsePrefix" value="mdsal-preload" />
+ <outcome value='failure'>
+ <block>
+ <switch test='`$mdsal-preload.response-code`'>
+ <outcome value='404'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-no-preload' mode='sync' >
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'from-preload flag is true but could not find preload information for VF module name ' + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </call>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error retrieving preload-information" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <block>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-preload' mode='sync' >
+ <outcome value='failure'>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </outcome>
+ </call>
+ </block>
+ </outcome>
+ </execute>
+ </outcome>
+ </switch>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vfmoduleb.log' />
+ </execute>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.from-preload`'>
+ <outcome value='false'>
+ <set>
+ <parameter name='automated-assignment' value='true' />
+ </set>
+ </outcome>
+ <outcome value='true'>
+ <set>
+ <parameter name='automated-assignment' value='false' />
+ </set>
+ </outcome>
+ </switch>
+ <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
+ <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
+ <for silentFailure='true' index='vnfc-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
+ <block atomic="true">
+ <set>
+ <parameter name='vnf-network-index' value='-1' />
+ </set>
+ <for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-network-role
+ == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$idx].network-role`'>
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='vnf-network-index' value='`$idx`' />
+ </set>
+ <set>
+ <parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].network-id'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$idx].network-id`' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$vnf-network-index`'>
+ <outcome value='-1'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'VNFC network role '
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-network-role
+ + ' is not found in VNF network list'
+ `" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </switch>
+ <for index='subnet-role-index' start='0'
+ end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet_length`' >
+ <for index='address-family-index' start='0'
+ end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip_length`'>
+ <outcome value=''>
+ <block></block>
+ </outcome>
+ <outcome value='0'>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.address-family'
+ value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='af-count' value='0' />
+ </set>
+ <for index='subnet-data-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >
+ <switch test='`$tmp.address-family
+ == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].ip-version`'>
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='subnet-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id`' />
+ </set>
+ <set>
+ <parameter name='af-count' value='`$af-count + 1`' />
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$af-count`'>
+ <outcome value='1'>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id'
+ value='`$subnet-id`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <set>
+ <parameter name='subnet-id' value='-1' />
+ </set>
+ <for index='subnet-data-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >
+ <switch test='`$tmp.address-family
+ == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].ip-version`'>
+ <outcome value='true'>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].network-start-address`'>
+ <outcome value=''>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'SDNC subnet id '
+ + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id
+ + ' does not have network-start-address populated'`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].cidr-mask`'>
+ <outcome value=''>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'SDNC subnet id '
+ + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id
+ + ' does not have cidr-mask populated'`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <switch test='`$tmp.address-family`'>
+ <outcome value='ipv4'>
+ <set>
+ <parameter name='ip-type' value='IPv4' />
+ </set>
+ </outcome>
+ <outcome value='ipv6'>
+ <set>
+ <parameter name='ip-type' value='IPv6' />
+ </set>
+ </outcome>
+ </switch>
+ <execute plugin="com.att.sdnctl.sli.plugin.ipAddressTools.IpAddressTool" method="isInSameSubnet">
+ <parameter name="firstIPAddr" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].network-start-address`" />
+ <parameter name="secondIPAddr" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[0].vnfc-ip-address`" />
+ <parameter name="subnet" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].cidr-mask`" />
+ <parameter name="ipType" value="`$ip-type`" />
+ <outcome value='success'>
+ <block atomic="true">
+ <set>
+ <parameter name='subnet-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id`' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </execute>
+ </block>
+ </outcome>
+ </switch>
+ </outcome>
+ </switch>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$subnet-id`'>
+ <outcome value='-1'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'Not able to find VNF network subnet that contains address '
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[0].vnfc-ip-address
+ `" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id' value='`$subnet-id`' />
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ </for>
+ </block>
+ </for>
+ </for>
+ </for>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vfmodulec.log' />
+ </execute>
+ <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
+ <block atomic="true">
+ <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >
+ <block atomic="true">
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='SELECT * from VFC_RELATED_NETWORK_ROLE where vfc_customization_uuid = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].model-customization-uuid
+ and network_role = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role'
+ pfx='db.vnf-related-network-role[]'>
+ <outcome value='failure'>
+ <block atomic='true'>
+ <set>
+ <parameter name="error-message" value="Error reading VFC_RELATED_NETWORK_ROLE table" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <for index='db-related-network-index' start='0' end='`$db.vnf-related-network-role_length`' >
+ <block atomic="true">
+ <set>
+ <parameter name='found-related-network' value='false' />
+ </set>
+ <for silentFailure='true' index='vnf-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
+ <block atomic="true">
+ <for silentFailure='true' index='related-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].related-networks.related-network_length`' >
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].related-networks.related-network[$related-network-index].network-role
+ == $db.vnf-related-network-role[$db-related-network-index].related-network-role`'>
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='found-related-network' value='true' />
+ </set>
+ <set>
+ <parameter name='saved-vnf-network-index' value='`$vnf-network-index`' />
+ <parameter name='saved-related-network-index' value='`$related-network-index`' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$found-related-network`'>
+ <outcome value='true'>
+ <break/>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ <switch test='`$found-related-network`'>
+ <outcome value='false'>
+ <block atomic='true'>
+ <set>
+ <parameter name="error-message" value="`'Unable to find related network '
+ + $db.vnf-related-network-role[$db-related-network-index].related-network-role + ' in vnf-networks'`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].is-trunked'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].is-trunked`' />
+ <parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].segmentation-id'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].segmentation-id`' />
+ </set>
+ <set>
+ <parameter name='rn-index' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length`' />
+ </set>
+ <switch test='`$rn-index`'>
+ <outcome value=''>
+ <set>
+ <parameter name='rn-index' value='0' />
+ </set>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].network-id'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].network-id`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].network-role'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].network-role`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.vlan-interface'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.vlan-interface`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.lower-tag-id'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.lower-tag-id`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.upper-tag-id'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.upper-tag-id`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.is-private'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.is-private`' />
+ </set>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length'
+ value='`$rn-index + 1`' />
+ </set>
+ </block>
+ </for>
+ </outcome>
+ </get-resource>
+ </block>
+ </for>
+ </block>
+ </for>
+ <set>
+ <parameter name='vf-module-object-path'
+ value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ + $vf-module-topology-operation-input.service-information.service-instance-id
+ + '/service-data/vnfs/vnf/'
+ + $service-data.vnfs.vnf[$vnf-index].vnf-id
+ + '/vnf-data/vf-modules/vf-module/'
+ + $vf-module-topology-operation-input.vf-module-information.vf-module-id
+ + '/vf-module-data/vf-module-topology/'`"/>
+ <parameter name='vnf-object-path'
+ value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ + $vf-module-topology-operation-input.service-information.service-instance-id
+ + '/service-data/vnfs/vnf/'
+ + $service-data.vnfs.vnf[$vnf-index].vnf-id
+ + '/vnf-data/vnf-topology/'`"/>
+ <parameter name='service-object-path'
+ value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ + $vf-module-topology-operation-input.service-information.service-instance-id
+ + '/service-data/service-topology/'`"/>
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module"
+ key="vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id
+ AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="vf-module-name" value="`$tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name`" />
+ <parameter name="model-invariant-id" value="`$tmp.vf-module-topology.onap-model-information.model-invariant-uuid`" />
+ <parameter name="model-version-id" value="`$tmp.vf-module-topology.onap-model-information.model-uuid`" />
+ <parameter name="model-customization-id" value="`$tmp.vf-module-topology.onap-model-information.model-customization-uuid`" />
+ <parameter name="selflink" value="`$vf-module-object-path`" />
+ <parameter name="automated-assignment" value="`$automated-assignment`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error updating vf-module in AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'No vf-module found in AAI for vf module ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`" />
+ </set>
+ </block>
+ </outcome>
+ </update>
+ <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
+ <block atomic="true">
+ <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
+ <block atomic="true">
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.nfc-naming-code' value='DEFAULT' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.nfc-naming-code' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.nfc-function' value='DEFAULT' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.nfc-function' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].invariant-uuid`'>
+ <outcome value=''>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vnfc"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name" >
+ <parameter name="vnfc-name" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />
+ <parameter name="nfc-naming-code" value="`$tmp.nfc-naming-code`" />
+ <parameter name="nfc-function" value="`$tmp.nfc-function`" />
+ <parameter name="orchestration-status" value="`PendingCreate`" />
+ <parameter name="in-maint" value="true" />
+ <parameter name="prov-status" value="`PREPROV`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error saving vnfc to AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error saving vnfc to AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ </outcome>
+ <outcome value='Other'>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vnfc"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name" >
+ <parameter name="vnfc-name" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />
+ <parameter name="nfc-naming-code" value="`$tmp.nfc-naming-code`" />
+ <parameter name="nfc-function" value="`$tmp.nfc-function`" />
+ <parameter name="model-invariant-id" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].invariant-uuid`" />
+ <parameter name="model-version-id" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].uuid`" />
+ <parameter name="model-customization-id" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].model-customization-uuid`" />
+ <parameter name="orchestration-status" value="`PendingCreate`" />
+ <parameter name="in-maint" value="true" />
+ <parameter name="prov-status" value="`PREPROV`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error saving vnfc to AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error saving vnfc to AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].created_flag' value='true' />
+ </set>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vnfc:relationship-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="generic-vnf" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/generic-vnfs/generic-vnf/' +
+ $vf-module-topology-operation-input.vnf-information.vnf-id`" />
+ <parameter name="relationship-list.relationship[1].related-to" value="vf-module" />
+ <parameter name="relationship-list.relationship[1].related-link"
+ value="`'/aai/v$/network/generic-vnfs/generic-vnf/' +
+ $vf-module-topology-operation-input.vnf-information.vnf-id +
+ '/vf-modules/vf-module/' +
+ $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error updating vnfc relationships in AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Not-found error updating vnfc relationships" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
+ <block atomic="true">
+ <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID" >
+ <parameter name="ctx-destination" value="cp-instance-id" />
+ </execute>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="cp"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id" >
+ <parameter name="cp-instance-id" value="`$cp-instance-id`" />
+ <parameter name="port-id" value="0" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error saving cp object to AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error saving cp object to AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].connection-point.connection-point-id'
+ value='`$cp-instance-id`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].connection-point.port-id'
+ value='0' />
+ </set>
+ <for silentFailure='true' index='subnet-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet_length`' >
+ <for silentFailure='true' index='address-family-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.address-family'
+ value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />
+ </set>
+ <for silentFailure='true' index='address-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip_length`' >
+ <switch test='`$tmp.address-family`'>
+ <outcome value='ipv4'>
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l3-interface-ipv4-address-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id
+ AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address" >
+ <parameter name="l3-interface-ipv4-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`" />
+ <parameter name="l3-interface-ipv4-prefix-length" value="32" />
+ <parameter name="is-floating" value="false" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error creating l3-interface-ipv4-address-list object in AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l3-interface-ipv4-address-list:relationship-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id
+ AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id`" />
+ <parameter name="relationship-list.relationship[1].related-to" value="subnet" />
+ <parameter name="relationship-list.relationship[1].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +
+ '/subnets/subnet/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error updating l3-interface-ipv4-address-list relationships in AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Not-found error updating l3-interface-ipv4-address-list relationships" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ </block>
+ </outcome>
+ <outcome value='ipv6'>
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l3-interface-ipv6-address-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id
+ AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address" >
+ <parameter name="l3-interface-ipv6-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`" />
+ <parameter name="l3-interface-ipv6-prefix-length" value="128" />
+ <parameter name="is-floating" value="false" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error creating l3-interface-ipv6-address-list object in AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l3-interface-ipv6-address-list:relationship-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id
+ AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id`" />
+ <parameter name="relationship-list.relationship[1].related-to" value="subnet" />
+ <parameter name="relationship-list.relationship[1].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +
+ '/subnets/subnet/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error updating l3-interface-ipv6-address-list relationships in AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Not-found error updating l3-interface-ipv6-address-list relationships" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </for>
+ </for>
+ <for index='vnf-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-network-role
+ == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>
+ <outcome value='true'>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="cp:relationship-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error updating cp relationship to l3-network in AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Not-found error updating cp relationship to l3-network" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ </outcome>
+ </switch>
+ </for>
+ <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role
+ == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>
+ <outcome value='true'>
+ <for silentFailure='true' index='related-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length`' >
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="cp:relationship-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].network-id`" />
+ <parameter name="relationship-list.relationship[1].related-to" value="vlan-tag" />
+ <parameter name="relationship-list.relationship[1].related-link"
+ value="`'/aai/v$/network/vlan-tags/vlan-tag/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].vlan-tags.vlan-interface`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error updating cp relationship to l3-network and vlan-tag in AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Not-found error updating cp relationship to l3-network and vlan-tag" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ </for>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </for>
+ </block>
+ </for>
+ <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module:relationship-list"
+ key="vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id
+ AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error updating vf-module relationships in AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'No l3-network found in AAI for network ID '
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].created-flag' value='true' />
+ </set>
+ <for silentFailure='true' index='ipv4-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vip-ipv4-address-list"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
+ AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]" >
+ <parameter name="vip-ipv4-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]`" />
+ <parameter name="vip-ipv4-prefix-length" value="32" />
+ <parameter name="is-floating" value="false" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error saving vip-ipv4-address-list in AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Not-found error saving vip-ipv4-address-list" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv4-flag' value='true' />
+ </set>
+ <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vip-ipv4-address-list:relationship-list"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
+ AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="subnet" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id
+ + '/subnets/subnet/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv4-subnet-id`" />
+ <parameter name="relationship-list.relationship[1].related-to" value="vnfc" />
+ <parameter name="relationship-list.relationship[1].related-link"
+ value="`'/aai/v$/network/vnfcs/vnfc/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error updating vip-ipv4-address-list relationships in AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Not-found error updating vip-ipv4-address-list relationships" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ <for silentFailure='true' index='vnfc-network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role
+ == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].vnfc-network-role`'>
+ <outcome value='true'>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vip-ipv4-address-list:relationship-list"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
+ AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="cp" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/vnfcs/vnfc/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ + '/cps/cp/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].connection-point.connection-point-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error updating vip-ipv4-address-list relationship to cp in AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Not-found error updating vip-ipv4-address-list relationship to cp" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </for>
+ </block>
+ </for>
+ <for silentFailure='true' index='ipv6-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vip-ipv6-address-list"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
+ AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]" >
+ <parameter name="vip-ipv6-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]`" />
+ <parameter name="vip-ipv6-prefix-length" value="128" />
+ <parameter name="is-floating" value="false" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error saving vip-ipv6-address-list in AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Not-found error saving vip-ipv6-address-list" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv6-flag' value='true' />
+ </set>
+ <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vip-ipv6-address-list:relationship-list"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
+ AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="subnet" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id
+ + '/subnets/subnet/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv6-subnet-id`" />
+ <parameter name="relationship-list.relationship[1].related-to" value="vnfc" />
+ <parameter name="relationship-list.relationship[1].related-link"
+ value="`'/aai/v$/network/vnfcs/vnfc/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error updating vip-ipv6-address-list relationships in AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Not-found error updating vip-ipv6-address-list relationships" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ <for silentFailure='true' index='vnfc-network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role
+ == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].vnfc-network-role`'>
+ <outcome value='true'>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vip-ipv6-address-list:relationship-list"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
+ AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="cp" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/vnfcs/vnfc/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ + '/cps/cp/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].connection-point.connection-point-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error updating vip-ipv4-address-list relationship to cp in AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Not-found error updating vip-ipv4-address-list relationship to cp" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </for>
+ </block>
+ </for>
+ </block>
+ </for>
+ </block>
+ </for>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-vlan-tagging-assign' mode='sync' >
+ <outcome value='failure'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vlantaggingfailure.log' />
+ </execute>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </call>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-generate-heat-parameters' mode='sync' ></call>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vfmoduleheat.log' />
+ </execute>
+ <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
+ <for index='vm-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-count`' >
+ <block atomic="true">
+ <delete plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='DELETE from VIPR_CONFIGURATION WHERE vnf_id = $service-data.vnfs.vnf[$vnf-index].vnf-id
+ AND ecomp_service_instance_id = $service-data.service-information.service-instance-id
+ AND vm_name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index]' >
+ <outcome value='failure'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID"/>
+ <parameter name="field3" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`"/>
+ <parameter name="field4" value="Failed to insert VIPR_CONFIGURATION record"/>
+ </record>
+ </outcome>
+ </delete>
+ <save plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL"
+key="INSERT INTO VIPR_CONFIGURATION (vnf_id, vnf_name, ecomp_service_instance_id, vm_name, cloud_region_id, cloud_owner) VALUES ( $service-data.vnfs.vnf[$vnf-index].vnf-id , $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name , $service-data.service-information.service-instance-id , $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index] , $tmp.vf-module-topology.aic-cloud-region , $prop.cloud-region.cloud-owner )" >
+ <outcome value='failure'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID"/>
+ <parameter name="field3" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`"/>
+ <parameter name="field4" value="Failed to insert VIPR_CONFIGURATION record"/>
+ </record>
+ </outcome>
+ </save>
+ </block>
+ </for>
+ </for>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.' value='tmp.vf-module-topology.' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.sdnc-request-header.'
+ value='$vf-module-topology-operation-input.sdnc-request-header.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.request-information.'
+ value='$vf-module-topology-operation-input.request-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.service-information.'
+ value='$vf-module-topology-operation-input.service-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vnf-information.'
+ value='$vf-module-topology-operation-input.vnf-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.'
+ value='$vf-module-topology-operation-input.vf-module-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.'
+ value='$vf-module-topology-operation-input.vf-module-request-input.' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'
+ value='PendingCreate' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'
+ value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'
+ value='`$vf-module-topology-operation-input.sdnc-request-header.request-action`' />
+ </set>
+ <set>
+ <parameter name='vf-module-data.'
+ value='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.vf-module`"/>
+ <parameter name="outputPath" value="tmp.part"/>
+ <parameter name="target" value="{service-instance-id}"/>
+ <parameter name="replacement" value="`$service-data.service-topology.service-topology-identifier.service-instance-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.part`"/>
+ <parameter name="outputPath" value="tmp.part"/>
+ <parameter name="target" value="{vnf-id}"/>
+ <parameter name="replacement" value="`$service-data.vnfs.vnf[$vnf-index].vnf-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.part`"/>
+ <parameter name="outputPath" value="tmp.vf-module.url"/>
+ <parameter name="target" value="{vf-module-id}"/>
+ <parameter name="replacement" value="`$vf-module-topology-operation-input.vf-module-information.vf-module-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + 'vf-module-assign.json'`" />
+ <parameter name='restapiUrl' value="`$prop.controller.url + $tmp.vf-module.url`" />
+ <parameter name='restapiUser' value='`$prop.controller.user`' />
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='PUT' />
+ <parameter name="responsePrefix" value="vf-module-assign" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error doing PUT of vf-module" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error doing PUT of vf-module" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vfmodule.log' />
+ </execute>
+ <set>
+ <parameter name="so.response-code" value="200" />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </method>
+</service-logic>
\ No newline at end of file diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-assign-sync.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-assign-sync.xml new file mode 100644 index 00000000..52601479 --- /dev/null +++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-assign-sync.xml @@ -0,0 +1,1433 @@ +<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='vf-module-topology-operation-assign-sync' mode='sync'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
+ <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
+ <parameter name='contextPrefix' value='prop' />
+ </execute>
+ <switch test='`$vf-module-topology-operation-input.vf-module-request-input.cloud-owner`'>
+ <outcome value=''>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='prop.cloud-region.cloud-owner' value='`$vf-module-topology-operation-input.vf-module-request-input.cloud-owner`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vf-module-topology-operation-input.request-information.request-action`'>
+ <outcome value='CreateVfModuleInstance'>
+ <block></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="If svc-action is 'assign' then request-action must be 'CreateVfModuleInstance'" />
+ </return>
+ </outcome>
+ </switch>
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='SELECT * from VF_MODULE_MODEL WHERE customization_uuid = $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid'
+ pfx='db.vf-module-model'>
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error reading VF_MODULE_MODEL table" />
+ </return>
+ </outcome>
+ <outcome value='not-found'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No model found for VF module customization UUID ' + $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`" />
+ </return>
+ </outcome>
+ </get-resource>
+ <set>
+ <parameter name='vnf-index' value='-1' />
+ </set>
+ <switch test='`$service-data.vnfs.vnf_length`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="There are no VNFs defined in MD-SAL" />
+ </return>
+ </outcome>
+ <outcome value='Other'>
+ <for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >
+ <switch test='`$service-data.vnfs.vnf[$idx].vnf-id == $vf-module-topology-operation-input.vnf-information.vnf-id`'>
+ <outcome value='true'>
+ <block>
+ <set>
+ <parameter name='vnf-index' value='`$idx`' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ </outcome>
+ </switch>
+ <switch test='`$vnf-index`'>
+ <outcome value='-1'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Unable to find VNF ID ' + $vf-module-topology-operation-input.vnf-information.vnf-id + ' in MD-SAL'`" />
+ </return>
+ </outcome>
+ </switch>
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-forking-logic' mode='sync' ></call>
+ <switch test="`$ss.self-serve-flag`">
+ <outcome value='true'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-assign' mode='sync' >
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Failed to create self-serve assignment for vf-module with vf-module-id=' + $vf-module-topology-operation-input.vf-module-information.vf-module-id + ' with error: ' + $error-message`" />
+ </return>
+ </outcome>
+ </call>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'
+ value='PendingCreate' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'
+ value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'
+ value='`$vf-module-topology-operation-input.sdnc-request-header.request-action`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/ss-vnfend.log' />
+ </execute>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='false'>
+ <block atomic="true">
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>
+ <outcome value=''>
+ <set>
+ <parameter name='vf-module-index' value='0' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <block>
+ <set>
+ <parameter name='vf-module-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' />
+ </set>
+ <for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' >
+ <switch test='`$vf-module-topology-operation-input.vf-module-information.vf-module-id == $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id`'>
+ <outcome value='true'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'VF module id ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id
+ + ' already exists, and status is ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-data.vf-module-level-oper-status.order-status`" />
+ </return>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length' value='`$vf-module-index + 1`' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id'
+ value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />
+ </set>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-id' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />
+ <parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name' value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`' />
+ <parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-type' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-type`' />
+ <parameter name='tmp.vf-module-topology.tenant' value='`$vf-module-topology-operation-input.vf-module-request-input.tenant`' />
+ <parameter name='tmp.vf-module-topology.aic-cloud-region' value='`$vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`' />
+ </set>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="cloud-region"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND
+ cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region"
+ pfx='aai.cloud-region' local-only='false' >
+ <outcome value='not-found'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Cloud region not found in AAI" />
+ </return>
+ </outcome>
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error retrieving cloud region from AAI" />
+ </return>
+ </outcome>
+ </get-resource>
+ <for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >
+ <switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>
+ <outcome value='complex'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>
+ <parameter name='ctx_memory_result_key' value='aai-uid-split' />
+ <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />
+ <parameter name='regex' value='/' />
+ </execute>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.aic-clli'
+ value='`$aai-uid-split[$aai-uid-split_length - 1]`' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.aic-clli`'>
+ <outcome value=''>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`" />
+ </return>
+ </outcome>
+ </switch>
+ <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'
+ value='`$db.vf-module-model.invariant-uuid`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'
+ value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'
+ value='`$db.vf-module-model.uuid`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'
+ value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-version'
+ value='`$db.vf-module-model.version`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-version'
+ value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-name'
+ value='`$db.vf-module-model.name`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-name'
+ value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`' />
+ </set>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='tmp.vf-module-topology.onap-model-information.model-customization-uuid'
+ value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`' />
+ </set>
+ <switch test='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`'>
+ <outcome value=''>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-no-preload' mode='sync' >
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'></return>
+ </block>
+ </outcome>
+ </call>
+ </outcome>
+ <outcome value='Other'>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='restapiUrl' value="`$prop.controller.url + $prop.restapi.preloadinformation + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name + '/vf-module'`" />
+ <parameter name='restapiUser' value='`$prop.controller.user`' />
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='GET' />
+ <parameter name="responsePrefix" value="mdsal-preload" />
+ <outcome value='failure'>
+ <block>
+ <switch test='`$mdsal-preload.response-code`'>
+ <outcome value='404'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-no-preload' mode='sync' >
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'></return>
+ </block>
+ </outcome>
+ </call>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error retrieving preload-information" />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <block>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-preload' mode='sync' >
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'></return>
+ </block>
+ </outcome>
+ </call>
+ </block>
+ </outcome>
+ </execute>
+ </outcome>
+ </switch>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vfmoduleb.log' />
+ </execute>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.from-preload`'>
+ <outcome value='false'>
+ <set>
+ <parameter name='automated-assignment' value='true' />
+ </set>
+ </outcome>
+ <outcome value='true'>
+ <set>
+ <parameter name='automated-assignment' value='false' />
+ </set>
+ </outcome>
+ </switch>
+ <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
+ <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
+ <for silentFailure='true' index='vnfc-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
+ <block atomic="true">
+ <set>
+ <parameter name='vnf-network-index' value='-1' />
+ </set>
+ <for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-network-role
+ == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$idx].network-role`'>
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='vnf-network-index' value='`$idx`' />
+ </set>
+ <set>
+ <parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].network-id'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$idx].network-id`' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$vnf-network-index`'>
+ <outcome value='-1'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'VNFC network role '
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-network-role
+ + ' is not found in VNF network list'
+ `" />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ <for index='subnet-role-index' start='0'
+ end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet_length`' >
+ <for index='address-family-index' start='0'
+ end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip_length`'>
+ <outcome value=''>
+ <block></block>
+ </outcome>
+ <outcome value='0'>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.address-family'
+ value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='af-count' value='0' />
+ </set>
+ <for index='subnet-data-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >
+ <switch test='`$tmp.address-family
+ == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].ip-version`'>
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='subnet-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id`' />
+ </set>
+ <set>
+ <parameter name='af-count' value='`$af-count + 1`' />
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$af-count`'>
+ <outcome value='1'>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id'
+ value='`$subnet-id`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <set>
+ <parameter name='subnet-id' value='-1' />
+ </set>
+ <for index='subnet-data-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >
+ <switch test='`$tmp.address-family
+ == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].ip-version`'>
+ <outcome value='true'>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].network-start-address`'>
+ <outcome value=''>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'SDNC subnet id '
+ + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id
+ + ' does not have network-start-address populated'`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].cidr-mask`'>
+ <outcome value=''>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'SDNC subnet id '
+ + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id
+ + ' does not have cidr-mask populated'`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <switch test='`$tmp.address-family`'>
+ <outcome value='ipv4'>
+ <set>
+ <parameter name='ip-type' value='IPv4' />
+ </set>
+ </outcome>
+ <outcome value='ipv6'>
+ <set>
+ <parameter name='ip-type' value='IPv6' />
+ </set>
+ </outcome>
+ </switch>
+ <execute plugin="com.att.sdnctl.sli.plugin.ipAddressTools.IpAddressTool" method="isInSameSubnet">
+ <parameter name="firstIPAddr" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].network-start-address`" />
+ <parameter name="secondIPAddr" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[0].vnfc-ip-address`" />
+ <parameter name="subnet" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].cidr-mask`" />
+ <parameter name="ipType" value="`$ip-type`" />
+ <outcome value='success'>
+ <block atomic="true">
+ <set>
+ <parameter name='subnet-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id`' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </execute>
+ </block>
+ </outcome>
+ </switch>
+ </outcome>
+ </switch>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$subnet-id`'>
+ <outcome value='-1'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Not able to find VNF network subnet that contains address '
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[0].vnfc-ip-address
+ `" />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id' value='`$subnet-id`' />
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ </for>
+ </block>
+ </for>
+ </for>
+ </for>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vfmodulec.log' />
+ </execute>
+ <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
+ <block atomic="true">
+ <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >
+ <block atomic="true">
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='SELECT * from VFC_RELATED_NETWORK_ROLE where vfc_customization_uuid = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].model-customization-uuid
+ and network_role = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role'
+ pfx='db.vnf-related-network-role[]'>
+ <outcome value='failure'>
+ <block>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error reading VFC_RELATED_NETWORK_ROLE table" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <for index='db-related-network-index' start='0' end='`$db.vnf-related-network-role_length`' >
+ <block atomic="true">
+ <set>
+ <parameter name='found-related-network' value='false' />
+ </set>
+ <for silentFailure='true' index='vnf-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
+ <block atomic="true">
+ <for silentFailure='true' index='related-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].related-networks.related-network_length`' >
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].related-networks.related-network[$related-network-index].network-role
+ == $db.vnf-related-network-role[$db-related-network-index].related-network-role`'>
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='found-related-network' value='true' />
+ </set>
+ <set>
+ <parameter name='saved-vnf-network-index' value='`$vnf-network-index`' />
+ <parameter name='saved-related-network-index' value='`$related-network-index`' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$found-related-network`'>
+ <outcome value='true'>
+ <break/>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ <switch test='`$found-related-network`'>
+ <outcome value='false'>
+ <block>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Unable to find related network '
+ + $db.vnf-related-network-role[$db-related-network-index].related-network-role + ' in vnf-networks'`" />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].is-trunked'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].is-trunked`' />
+ <parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].segmentation-id'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].segmentation-id`' />
+ </set>
+ <set>
+ <parameter name='rn-index' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length`' />
+ </set>
+ <switch test='`$rn-index`'>
+ <outcome value=''>
+ <set>
+ <parameter name='rn-index' value='0' />
+ </set>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].network-id'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].network-id`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].network-role'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].network-role`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.vlan-interface'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.vlan-interface`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.lower-tag-id'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.lower-tag-id`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.upper-tag-id'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.upper-tag-id`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.is-private'
+ value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.is-private`' />
+ </set>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length'
+ value='`$rn-index + 1`' />
+ </set>
+ </block>
+ </for>
+ </outcome>
+ </get-resource>
+ </block>
+ </for>
+ </block>
+ </for>
+ <set>
+ <parameter name='vf-module-object-path'
+ value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ + $vf-module-topology-operation-input.service-information.service-instance-id
+ + '/service-data/vnfs/vnf/'
+ + $service-data.vnfs.vnf[$vnf-index].vnf-id
+ + '/vnf-data/vf-modules/vf-module/'
+ + $vf-module-topology-operation-input.vf-module-information.vf-module-id
+ + '/vf-module-data/vf-module-topology/'`"/>
+ <parameter name='vnf-object-path'
+ value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ + $vf-module-topology-operation-input.service-information.service-instance-id
+ + '/service-data/vnfs/vnf/'
+ + $service-data.vnfs.vnf[$vnf-index].vnf-id
+ + '/vnf-data/vnf-topology/'`"/>
+ <parameter name='service-object-path'
+ value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ + $vf-module-topology-operation-input.service-information.service-instance-id
+ + '/service-data/service-topology/'`"/>
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module"
+ key="vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id
+ AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="vf-module-name" value="`$tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name`" />
+ <parameter name="model-invariant-id" value="`$tmp.vf-module-topology.onap-model-information.model-invariant-uuid`" />
+ <parameter name="model-version-id" value="`$tmp.vf-module-topology.onap-model-information.model-uuid`" />
+ <parameter name="model-customization-id" value="`$tmp.vf-module-topology.onap-model-information.model-customization-uuid`" />
+ <parameter name="selflink" value="`$vf-module-object-path`" />
+ <parameter name="automated-assignment" value="`$automated-assignment`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating vf-module in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No vf-module found in AAI for vf module ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`" />
+ </return>
+ </block>
+ </outcome>
+ </update>
+ <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
+ <block atomic="true">
+ <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
+ <block atomic="true">
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.nfc-naming-code' value='DEFAULT' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.nfc-naming-code' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`'>
+ <outcome value=''>
+ <set>
+ <parameter name='tmp.nfc-function' value='DEFAULT' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.nfc-function' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].invariant-uuid`'>
+ <outcome value=''>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vnfc"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name" >
+ <parameter name="vnfc-name" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />
+ <parameter name="nfc-naming-code" value="`$tmp.nfc-naming-code`" />
+ <parameter name="nfc-function" value="`$tmp.nfc-function`" />
+ <parameter name="orchestration-status" value="`PendingCreate`" />
+ <parameter name="in-maint" value="true" />
+ <parameter name="prov-status" value="`PREPROV`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error saving vnfc to AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error saving vnfc to AAI" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </outcome>
+ <outcome value='Other'>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vnfc"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name" >
+ <parameter name="vnfc-name" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />
+ <parameter name="nfc-naming-code" value="`$tmp.nfc-naming-code`" />
+ <parameter name="nfc-function" value="`$tmp.nfc-function`" />
+ <parameter name="model-invariant-id" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].invariant-uuid`" />
+ <parameter name="model-version-id" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].uuid`" />
+ <parameter name="model-customization-id" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].model-customization-uuid`" />
+ <parameter name="orchestration-status" value="`PendingCreate`" />
+ <parameter name="in-maint" value="true" />
+ <parameter name="prov-status" value="`PREPROV`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error saving vnfc to AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error saving vnfc to AAI" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].created_flag' value='true' />
+ </set>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vnfc:relationship-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="generic-vnf" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/generic-vnfs/generic-vnf/' +
+ $vf-module-topology-operation-input.vnf-information.vnf-id`" />
+ <parameter name="relationship-list.relationship[1].related-to" value="vf-module" />
+ <parameter name="relationship-list.relationship[1].related-link"
+ value="`'/aai/v$/network/generic-vnfs/generic-vnf/' +
+ $vf-module-topology-operation-input.vnf-information.vnf-id +
+ '/vf-modules/vf-module/' +
+ $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating vnfc relationships in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error updating vnfc relationships" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
+ <block atomic="true">
+ <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID" >
+ <parameter name="ctx-destination" value="cp-instance-id" />
+ </execute>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="cp"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id" >
+ <parameter name="cp-instance-id" value="`$cp-instance-id`" />
+ <parameter name="port-id" value="0" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error creating cp object in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error creating cp object in AAI" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].connection-point.connection-point-id'
+ value='`$cp-instance-id`' />
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].connection-point.port-id'
+ value='0' />
+ </set>
+ <for silentFailure='true' index='subnet-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet_length`' >
+ <for silentFailure='true' index='address-family-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >
+ <block atomic="true">
+ <set>
+ <parameter name='tmp.address-family'
+ value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />
+ </set>
+ <for silentFailure='true' index='address-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip_length`' >
+ <switch test='`$tmp.address-family`'>
+ <outcome value='ipv4'>
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l3-interface-ipv4-address-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id
+ AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address" >
+ <parameter name="l3-interface-ipv4-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`" />
+ <parameter name="l3-interface-ipv4-prefix-length" value="32" />
+ <parameter name="is-floating" value="false" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error creating l3-interface-ipv4-address-list object in AAI" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l3-interface-ipv4-address-list:relationship-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id
+ AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id`" />
+ <parameter name="relationship-list.relationship[1].related-to" value="subnet" />
+ <parameter name="relationship-list.relationship[1].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +
+ '/subnets/subnet/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating l3-interface-ipv4-address-list relationships in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error updating l3-interface-ipv4-address-list relationships" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </block>
+ </outcome>
+ <outcome value='ipv6'>
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l3-interface-ipv6-address-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id
+ AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address" >
+ <parameter name="l3-interface-ipv6-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`" />
+ <parameter name="l3-interface-ipv6-prefix-length" value="128" />
+ <parameter name="is-floating" value="false" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error creating l3-interface-ipv6-address-list object in AAI" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l3-interface-ipv6-address-list:relationship-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id
+ AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id`" />
+ <parameter name="relationship-list.relationship[1].related-to" value="subnet" />
+ <parameter name="relationship-list.relationship[1].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +
+ '/subnets/subnet/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating l3-interface-ipv6-address-list relationships in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error updating l3-interface-ipv6-address-list relationships" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </for>
+ </for>
+ <for index='vnf-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-network-role
+ == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>
+ <outcome value='true'>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="cp:relationship-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating cp relationship to l3-network in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error updating cp relationship to l3-network" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </outcome>
+ </switch>
+ </for>
+ <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role
+ == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>
+ <outcome value='true'>
+ <for silentFailure='true' index='related-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length`' >
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="cp:relationship-list"
+ key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ AND cp.cp-instance-id = $cp-instance-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].network-id`" />
+ <parameter name="relationship-list.relationship[1].related-to" value="vlan-tag" />
+ <parameter name="relationship-list.relationship[1].related-link"
+ value="`'/aai/v$/network/vlan-tags/vlan-tag/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].vlan-tags.vlan-interface`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating cp relationship to l3-network and vlan-tag in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error updating cp relationship to l3-network and vlan-tag" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </for>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </for>
+ </block>
+ </for>
+ <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vf-module:relationship-list"
+ key="vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id
+ AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/' +
+ $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating vf-module relationships in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No l3-network found in AAI for network ID '
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].created-flag' value='true' />
+ </set>
+ <for silentFailure='true' index='ipv4-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vip-ipv4-address-list"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
+ AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]" >
+ <parameter name="vip-ipv4-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]`" />
+ <parameter name="vip-ipv4-prefix-length" value="32" />
+ <parameter name="is-floating" value="false" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error saving vip-ipv4-address-list in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error saving vip-ipv4-address-list" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv4-flag' value='true' />
+ </set>
+ <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vip-ipv4-address-list:relationship-list"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
+ AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="subnet" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id
+ + '/subnets/subnet/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv4-subnet-id`" />
+ <parameter name="relationship-list.relationship[1].related-to" value="vnfc" />
+ <parameter name="relationship-list.relationship[1].related-link"
+ value="`'/aai/v$/network/vnfcs/vnfc/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating vip-ipv4-address-list relationships in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error updating vip-ipv4-address-list relationships" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <for silentFailure='true' index='vnfc-network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role
+ == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].vnfc-network-role`'>
+ <outcome value='true'>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vip-ipv4-address-list:relationship-list"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
+ AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="cp" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/vnfcs/vnfc/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ + '/cps/cp/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].connection-point.connection-point-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating vip-ipv4-address-list relationship to cp in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error updating vip-ipv4-address-list relationship to cp" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </for>
+ </block>
+ </for>
+ <for silentFailure='true' index='ipv6-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vip-ipv6-address-list"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
+ AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]" >
+ <parameter name="vip-ipv6-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]`" />
+ <parameter name="vip-ipv6-prefix-length" value="128" />
+ <parameter name="is-floating" value="false" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error saving vip-ipv6-address-list in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error saving vip-ipv6-address-list" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv6-flag' value='true' />
+ </set>
+ <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vip-ipv6-address-list:relationship-list"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
+ AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="subnet" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/l3-networks/l3-network/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id
+ + '/subnets/subnet/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv6-subnet-id`" />
+ <parameter name="relationship-list.relationship[1].related-to" value="vnfc" />
+ <parameter name="relationship-list.relationship[1].related-link"
+ value="`'/aai/v$/network/vnfcs/vnfc/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating vip-ipv6-address-list relationships in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error updating vip-ipv6-address-list relationships" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <for silentFailure='true' index='vnfc-network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
+ <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role
+ == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].vnfc-network-role`'>
+ <outcome value='true'>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vip-ipv6-address-list:relationship-list"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
+ AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
+ AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="cp" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/vnfcs/vnfc/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
+ + '/cps/cp/'
+ + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].connection-point.connection-point-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating vip-ipv4-address-list relationship to cp in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Not-found error updating vip-ipv4-address-list relationship to cp" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </for>
+ </block>
+ </for>
+ </block>
+ </for>
+ </block>
+ </for>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-vlan-tagging-assign' mode='sync' >
+ <outcome value='failure'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vlantaggingfailure.log' />
+ </execute>
+ <return status='failure'></return>
+ </block>
+ </outcome>
+ </call>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-generate-heat-parameters' mode='sync' ></call>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vfmoduleheat.log' />
+ </execute>
+ <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
+ <for index='vm-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-count`' >
+ <block atomic="true">
+ <delete plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='DELETE from VIPR_CONFIGURATION WHERE vnf_id = $service-data.vnfs.vnf[$vnf-index].vnf-id
+ AND ecomp_service_instance_id = $service-data.service-information.service-instance-id
+ AND vm_name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index]' >
+ <outcome value='failure'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID"/>
+ <parameter name="field3" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`"/>
+ <parameter name="field4" value="Failed to insert VIPR_CONFIGURATION record"/>
+ </record>
+ </outcome>
+ </delete>
+ <save plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL"
+key="INSERT INTO VIPR_CONFIGURATION (vnf_id, vnf_name, ecomp_service_instance_id, vm_name, cloud_region_id, cloud_owner) VALUES ( $service-data.vnfs.vnf[$vnf-index].vnf-id , $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name , $service-data.service-information.service-instance-id , $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index] , $tmp.vf-module-topology.aic-cloud-region , $prop.cloud-region.cloud-owner )" >
+ <outcome value='failure'>
+ <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
+ <parameter name="logger" value="message-log"/>
+ <parameter name="field1" value="__TIMESTAMP__"/>
+ <parameter name="field2" value="GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID"/>
+ <parameter name="field3" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`"/>
+ <parameter name="field4" value="Failed to insert VIPR_CONFIGURATION record"/>
+ </record>
+ </outcome>
+ </save>
+ </block>
+ </for>
+ </for>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.' value='tmp.vf-module-topology.' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.sdnc-request-header.'
+ value='$vf-module-topology-operation-input.sdnc-request-header.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.request-information.'
+ value='$vf-module-topology-operation-input.request-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.service-information.'
+ value='$vf-module-topology-operation-input.service-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vnf-information.'
+ value='$vf-module-topology-operation-input.vnf-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.'
+ value='$vf-module-topology-operation-input.vf-module-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.'
+ value='$vf-module-topology-operation-input.vf-module-request-input.' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='gw-vfmodule-update' mode='sync' ></call>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'
+ value='PendingCreate' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'
+ value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'
+ value='`$vf-module-topology-operation-input.sdnc-request-header.request-action`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vfmodule.log' />
+ </execute>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </method>
+</service-logic>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-assign.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-assign.xml index 4223b729..b6cd4203 100755 --- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-assign.xml +++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vf-module-topology-operation-assign.xml @@ -2,1861 +2,26 @@ 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='vf-module-topology-operation-assign' mode='sync'>
- <block atomic="true">
+ <block>
<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
<parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
<parameter name='contextPrefix' value='prop' />
</execute>
- <set>
- <parameter name="so.ack-final-indicator" value="Y" />
- <parameter name="so.response-code" value="500" />
- <parameter name="so.notification-url" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url`" />
- <parameter name="so.svc-request-id" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`" />
- <parameter name="so.service-type" value="`$vf-module-topology-operation-input.service-information.subscription-service-type`" />
- <parameter name="so.service-instance-id" value="`$vf-module-topology-operation-input.service-information.service-instance-id`" />
- </set>
- <switch test='`$vf-module-topology-operation-input.vf-module-request-input.cloud-owner`'>
- <outcome value=''>
- <block></block>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='prop.cloud-region.cloud-owner' value='`$vf-module-topology-operation-input.vf-module-request-input.cloud-owner`' />
- </set>
- </outcome>
- </switch>
- <switch test='`$vf-module-topology-operation-input.request-information.request-action`'>
- <outcome value='CreateVfModuleInstance'>
- <block></block>
- </outcome>
- <outcome value='Other'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="If svc-action is 'assign' then request-action must be 'CreateVfModuleInstance'" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </switch>
- <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
- key='SELECT * from VF_MODULE_MODEL WHERE customization_uuid = $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid'
- pfx='db.vf-module-model'>
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error reading VF_MODULE_MODEL table" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'No model found for VF module customization UUID ' + $vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </get-resource>
- <set>
- <parameter name='vnf-index' value='-1' />
- </set>
- <switch test='`$service-data.vnfs.vnf_length`'>
- <outcome value=''>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="There are no VNFs defined in MD-SAL" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='Other'>
- <for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >
- <switch test='`$service-data.vnfs.vnf[$idx].vnf-id == $vf-module-topology-operation-input.vnf-information.vnf-id`'>
- <outcome value='true'>
- <block>
- <set>
- <parameter name='vnf-index' value='`$idx`' />
- </set>
- <break/>
- </block>
- </outcome>
- </switch>
- </for>
- </outcome>
- </switch>
- <switch test='`$vnf-index`'>
- <outcome value='-1'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'Unable to find VNF ID ' + $vf-module-topology-operation-input.vnf-information.vnf-id + ' in MD-SAL'`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </switch>
- <call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-forking-logic' mode='sync' ></call>
- <switch test="`$ss.self-serve-flag`">
+ <switch test='length($vf-module-topology-operation-input.sdnc-request-header.svc-notification-url) == 0'>
<outcome value='true'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='self-serve-vf-module-assign' mode='sync' >
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'Failed to create self-serve assignment for vf-module with vf-module-id=' + $vf-module-topology-operation-input.vf-module-information.vf-module-id + ' with error: ' + $error-message`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </call>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'
- value='PendingCreate' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'
- value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'
- value='`$vf-module-topology-operation-input.request-information.request-action`' />
- </set>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
- <parameter name='filename' value='/var/tmp/ss-vnfend.log' />
- </execute>
- <set>
- <parameter name="so.response-code" value="200" />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='success'>
- <parameter name="ack-final-indicator" value="Y" />
- <parameter name="error-code" value="200" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-sync' mode='sync' ></call>
</outcome>
<outcome value='false'>
- <block atomic="true">
- <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`'>
- <outcome value=''>
- <set>
- <parameter name='vf-module-index' value='0' />
- </set>
- </outcome>
- <outcome value='Other'>
- <block>
- <set>
- <parameter name='vf-module-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' />
- </set>
- <for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length`' >
- <switch test='`$vf-module-topology-operation-input.vf-module-information.vf-module-id == $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id`'>
- <outcome value='true'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'VF module id ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-id
- + ' already exists, and status is ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$idx].vf-module-data.vf-module-level-oper-status.order-status`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </switch>
- </for>
- </block>
- </outcome>
- </switch>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module_length' value='`$vf-module-index + 1`' />
- </set>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id'
- value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />
- </set>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-id' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-id`' />
- <parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name' value='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`' />
- <parameter name='tmp.vf-module-topology.vf-module-topology-identifier.vf-module-type' value='`$vf-module-topology-operation-input.vf-module-information.vf-module-type`' />
- <parameter name='tmp.vf-module-topology.tenant' value='`$vf-module-topology-operation-input.vf-module-request-input.tenant`' />
- <parameter name='tmp.vf-module-topology.aic-cloud-region' value='`$vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`' />
- </set>
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="cloud-region"
- key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND
- cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region"
- pfx='aai.cloud-region' local-only='false' >
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Cloud region not found in AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error retrieving cloud region from AAI. Is AAI down?" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </get-resource>
- <for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >
- <switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>
- <outcome value='complex'>
- <block atomic="true">
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>
- <parameter name='ctx_memory_result_key' value='aai-uid-split' />
- <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />
- <parameter name='regex' value='/' />
- </execute>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.aic-clli'
- value='`$aai-uid-split[$aai-uid-split_length - 1]`' />
- </set>
- <break/>
- </block>
- </outcome>
- </switch>
- </for>
- <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.aic-clli`'>
- <outcome value=''>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </switch>
- <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`'>
- <outcome value=''>
- <set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'
- value='`$db.vf-module-model.invariant-uuid`' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-invariant-uuid'
- value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-invariant-uuid`' />
- </set>
- </outcome>
- </switch>
- <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`'>
- <outcome value=''>
- <set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'
- value='`$db.vf-module-model.uuid`' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-uuid'
- value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-uuid`' />
- </set>
- </outcome>
- </switch>
- <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`'>
- <outcome value=''>
- <set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-version'
- value='`$db.vf-module-model.version`' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-version'
- value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-version`' />
- </set>
- </outcome>
- </switch>
- <switch test='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`'>
- <outcome value=''>
- <set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-name'
- value='`$db.vf-module-model.name`' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-name'
- value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-name`' />
- </set>
- </outcome>
- </switch>
- <set>
- <parameter name='tmp.vf-module-topology.onap-model-information.model-customization-uuid'
- value='`$vf-module-topology-operation-input.vf-module-information.onap-model-information.model-customization-uuid`' />
- </set>
- <switch test='`$vf-module-topology-operation-input.vf-module-request-input.vf-module-name`'>
- <outcome value=''>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-no-preload' mode='sync' >
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'from-preload flag is true but could not find preload information for VF module name ' + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </call>
- </outcome>
- <outcome value='Other'>
- <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
- <parameter name='restapiUrl' value="`$prop.controller.url + $prop.restapi.preloadinformation + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name + '/vf-module'`" />
- <parameter name='restapiUser' value='`$prop.controller.user`' />
- <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
- <parameter name='format' value='json' />
- <parameter name='httpMethod' value='GET' />
- <parameter name="responsePrefix" value="mdsal-preload" />
- <outcome value='failure'>
- <block>
- <switch test='`$mdsal-preload.response-code`'>
- <outcome value='404'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-no-preload' mode='sync' >
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'from-preload flag is true but could not find preload information for VF module name ' + $vf-module-topology-operation-input.vf-module-request-input.vf-module-name`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </call>
- </outcome>
- <outcome value='Other'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error retrieving preload-information" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </switch>
- </block>
- </outcome>
- <outcome value='success'>
- <block>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-preload' mode='sync' >
- <outcome value='failure'>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </outcome>
- </call>
- </block>
- </outcome>
- </execute>
- </outcome>
- </switch>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
- <parameter name='filename' value='/var/tmp/bgb-vfmoduleb.log' />
- </execute>
- <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.from-preload`'>
- <outcome value='false'>
- <set>
- <parameter name='automated-assignment' value='true' />
- </set>
- </outcome>
- <outcome value='true'>
- <set>
- <parameter name='automated-assignment' value='false' />
- </set>
- </outcome>
- </switch>
- <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
- <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
- <for silentFailure='true' index='vnfc-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
- <block atomic="true">
- <set>
- <parameter name='vnf-network-index' value='-1' />
- </set>
- <for index='idx' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
- <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-network-role
- == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$idx].network-role`'>
- <outcome value='true'>
- <block atomic="true">
- <set>
- <parameter name='vnf-network-index' value='`$idx`' />
- </set>
- <set>
- <parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].network-id'
- value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$idx].network-id`' />
- </set>
- <break/>
- </block>
- </outcome>
- </switch>
- </for>
- <switch test='`$vnf-network-index`'>
- <outcome value='-1'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'VNFC network role '
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-network-role
- + ' is not found in VNF network list'
- `" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </switch>
- <for index='subnet-role-index' start='0'
- end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet_length`' >
- <for index='address-family-index' start='0'
- end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >
- <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip_length`'>
- <outcome value=''>
- <block></block>
- </outcome>
- <outcome value='0'>
- <block></block>
- </outcome>
- <outcome value='Other'>
- <block atomic="true">
- <set>
- <parameter name='tmp.address-family'
- value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />
- </set>
- <block atomic="true">
- <set>
- <parameter name='af-count' value='0' />
- </set>
- <for index='subnet-data-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >
- <switch test='`$tmp.address-family
- == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].ip-version`'>
- <outcome value='true'>
- <block atomic="true">
- <set>
- <parameter name='subnet-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id`' />
- </set>
- <set>
- <parameter name='af-count' value='`$af-count + 1`' />
- </set>
- </block>
- </outcome>
- </switch>
- </for>
- <switch test='`$af-count`'>
- <outcome value='1'>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id'
- value='`$subnet-id`' />
- </set>
- </outcome>
- <outcome value='Other'>
- <block atomic="true">
- <set>
- <parameter name='subnet-id' value='-1' />
- </set>
- <for index='subnet-data-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data_length`' >
- <switch test='`$tmp.address-family
- == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].ip-version`'>
- <outcome value='true'>
- <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].network-start-address`'>
- <outcome value=''>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'SDNC subnet id '
- + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id
- + ' does not have network-start-address populated'`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='Other'>
- <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].cidr-mask`'>
- <outcome value=''>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'SDNC subnet id '
- + $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id
- + ' does not have cidr-mask populated'`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='Other'>
- <block atomic="true">
- <switch test='`$tmp.address-family`'>
- <outcome value='ipv4'>
- <set>
- <parameter name='ip-type' value='IPv4' />
- </set>
- </outcome>
- <outcome value='ipv6'>
- <set>
- <parameter name='ip-type' value='IPv6' />
- </set>
- </outcome>
- </switch>
- <execute plugin="com.att.sdnctl.sli.plugin.ipAddressTools.IpAddressTool" method="isInSameSubnet">
- <parameter name="firstIPAddr" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].network-start-address`" />
- <parameter name="secondIPAddr" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[0].vnfc-ip-address`" />
- <parameter name="subnet" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].cidr-mask`" />
- <parameter name="ipType" value="`$ip-type`" />
- <outcome value='success'>
- <block atomic="true">
- <set>
- <parameter name='subnet-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].subnets-data.subnet-data[$subnet-data-index].sdnc-subnet-id`' />
- </set>
- <break/>
- </block>
- </outcome>
- </execute>
- </block>
- </outcome>
- </switch>
- </outcome>
- </switch>
- </outcome>
- </switch>
- </for>
- <switch test='`$subnet-id`'>
- <outcome value='-1'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'Not able to find VNF network subnet that contains address '
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[0].vnfc-ip-address
- `" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </switch>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id' value='`$subnet-id`' />
- </set>
- </block>
- </outcome>
- </switch>
- </block>
- </block>
- </outcome>
- </switch>
- </for>
- </for>
- </block>
- </for>
- </for>
- </for>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
- <parameter name='filename' value='/var/tmp/bgb-vfmodulec.log' />
- </execute>
- <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
- <block atomic="true">
- <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >
- <block atomic="true">
- <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
- key='SELECT * from VFC_RELATED_NETWORK_ROLE where vfc_customization_uuid = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].model-customization-uuid
- and network_role = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role'
- pfx='db.vnf-related-network-role[]'>
- <outcome value='failure'>
- <block atomic='true'>
- <set>
- <parameter name="error-message" value="Error reading VFC_RELATED_NETWORK_ROLE table" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='success'>
- <for index='db-related-network-index' start='0' end='`$db.vnf-related-network-role_length`' >
- <block atomic="true">
- <set>
- <parameter name='found-related-network' value='false' />
- </set>
- <for silentFailure='true' index='vnf-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
- <block atomic="true">
- <for silentFailure='true' index='related-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].related-networks.related-network_length`' >
- <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].related-networks.related-network[$related-network-index].network-role
- == $db.vnf-related-network-role[$db-related-network-index].related-network-role`'>
- <outcome value='true'>
- <block atomic="true">
- <set>
- <parameter name='found-related-network' value='true' />
- </set>
- <set>
- <parameter name='saved-vnf-network-index' value='`$vnf-network-index`' />
- <parameter name='saved-related-network-index' value='`$related-network-index`' />
- </set>
- <break/>
- </block>
- </outcome>
- </switch>
- </for>
- <switch test='`$found-related-network`'>
- <outcome value='true'>
- <break/>
- </outcome>
- </switch>
- </block>
- </for>
- <switch test='`$found-related-network`'>
- <outcome value='false'>
- <block atomic='true'>
- <set>
- <parameter name="error-message" value="`'Unable to find related network '
- + $db.vnf-related-network-role[$db-related-network-index].related-network-role + ' in vnf-networks'`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </switch>
- <set>
- <parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].is-trunked'
- value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].is-trunked`' />
- <parameter name='$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].segmentation-id'
- value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].segmentation-id`' />
- </set>
- <set>
- <parameter name='rn-index' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length`' />
- </set>
- <switch test='`$rn-index`'>
- <outcome value=''>
- <set>
- <parameter name='rn-index' value='0' />
- </set>
- </outcome>
- </switch>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].network-id'
- value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].network-id`' />
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].network-role'
- value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].network-role`' />
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.vlan-interface'
- value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.vlan-interface`' />
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.lower-tag-id'
- value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.lower-tag-id`' />
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.upper-tag-id'
- value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.upper-tag-id`' />
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$rn-index].vlan-tags.is-private'
- value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$saved-vnf-network-index].related-networks.related-network[$saved-related-network-index].vlan-tags.is-private`' />
- </set>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length'
- value='`$rn-index + 1`' />
- </set>
- </block>
- </for>
- </outcome>
- </get-resource>
- </block>
- </for>
- </block>
- </for>
- <set>
- <parameter name='vf-module-object-path'
- value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
- + $vf-module-topology-operation-input.service-information.service-instance-id
- + '/service-data/vnfs/vnf/'
- + $service-data.vnfs.vnf[$vnf-index].vnf-id
- + '/vnf-data/vf-modules/vf-module/'
- + $vf-module-topology-operation-input.vf-module-information.vf-module-id
- + '/vf-module-data/vf-module-topology/'`"/>
- <parameter name='vnf-object-path'
- value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
- + $vf-module-topology-operation-input.service-information.service-instance-id
- + '/service-data/vnfs/vnf/'
- + $service-data.vnfs.vnf[$vnf-index].vnf-id
- + '/vnf-data/vnf-topology/'`"/>
- <parameter name='service-object-path'
- value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
- + $vf-module-topology-operation-input.service-information.service-instance-id
- + '/service-data/service-topology/'`"/>
- </set>
- <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vf-module"
- key="vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id
- AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="vf-module-name" value="`$tmp.vf-module-topology.vf-module-topology-identifier.vf-module-name`" />
- <parameter name="model-invariant-id" value="`$tmp.vf-module-topology.onap-model-information.model-invariant-uuid`" />
- <parameter name="model-version-id" value="`$tmp.vf-module-topology.onap-model-information.model-uuid`" />
- <parameter name="model-customization-id" value="`$tmp.vf-module-topology.onap-model-information.model-customization-uuid`" />
- <parameter name="selflink" value="`$vf-module-object-path`" />
- <parameter name="automated-assignment" value="`$automated-assignment`" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error updating vf-module in AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'No vf-module found in AAI for vf module ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`" />
- </set>
- </block>
- </outcome>
- </update>
- <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
- <block atomic="true">
- <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
- <block atomic="true">
- <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`'>
- <outcome value=''>
- <set>
- <parameter name='tmp.nfc-naming-code' value='DEFAULT' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='tmp.nfc-naming-code' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-naming-code`' />
- </set>
- </outcome>
- </switch>
- <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`'>
- <outcome value=''>
- <set>
- <parameter name='tmp.nfc-function' value='DEFAULT' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='tmp.nfc-function' value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].nfc-function`' />
- </set>
- </outcome>
- </switch>
- <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].invariant-uuid`'>
- <outcome value=''>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vnfc"
- key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name" >
- <parameter name="vnfc-name" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />
- <parameter name="nfc-naming-code" value="`$tmp.nfc-naming-code`" />
- <parameter name="nfc-function" value="`$tmp.nfc-function`" />
- <parameter name="orchestration-status" value="`PendingCreate`" />
- <parameter name="in-maint" value="true" />
- <parameter name="prov-status" value="`PREPROV`" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error saving vnfc to AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error saving vnfc to AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- </outcome>
- <outcome value='Other'>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vnfc"
- key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name" >
- <parameter name="vnfc-name" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />
- <parameter name="nfc-naming-code" value="`$tmp.nfc-naming-code`" />
- <parameter name="nfc-function" value="`$tmp.nfc-function`" />
- <parameter name="model-invariant-id" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].invariant-uuid`" />
- <parameter name="model-version-id" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].uuid`" />
- <parameter name="model-customization-id" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].model-customization-uuid`" />
- <parameter name="orchestration-status" value="`PendingCreate`" />
- <parameter name="in-maint" value="true" />
- <parameter name="prov-status" value="`PREPROV`" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error saving vnfc to AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error saving vnfc to AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- </outcome>
- </switch>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].created_flag' value='true' />
- </set>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vnfc:relationship-list"
- key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="generic-vnf" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/generic-vnfs/generic-vnf/' +
- $vf-module-topology-operation-input.vnf-information.vnf-id`" />
- <parameter name="relationship-list.relationship[1].related-to" value="vf-module" />
- <parameter name="relationship-list.relationship[1].related-link"
- value="`'/aai/v$/network/generic-vnfs/generic-vnf/' +
- $vf-module-topology-operation-input.vnf-information.vnf-id +
- '/vf-modules/vf-module/' +
- $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error updating vnfc relationships in AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Not-found error updating vnfc relationships" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
- <block atomic="true">
- <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID" >
- <parameter name="ctx-destination" value="cp-instance-id" />
- </execute>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="cp"
- key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
- AND cp.cp-instance-id = $cp-instance-id" >
- <parameter name="cp-instance-id" value="`$cp-instance-id`" />
- <parameter name="port-id" value="0" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error saving cp object to AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error saving cp object to AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].connection-point.connection-point-id'
- value='`$cp-instance-id`' />
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].connection-point.port-id'
- value='0' />
- </set>
- <for silentFailure='true' index='subnet-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet_length`' >
- <for silentFailure='true' index='address-family-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments_length`' >
- <block atomic="true">
- <set>
- <parameter name='tmp.address-family'
- value='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-address-family`' />
- </set>
- <for silentFailure='true' index='address-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip_length`' >
- <switch test='`$tmp.address-family`'>
- <outcome value='ipv4'>
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-interface-ipv4-address-list"
- key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
- AND cp.cp-instance-id = $cp-instance-id
- AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address" >
- <parameter name="l3-interface-ipv4-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`" />
- <parameter name="l3-interface-ipv4-prefix-length" value="32" />
- <parameter name="is-floating" value="false" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error creating l3-interface-ipv4-address-list object in AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-interface-ipv4-address-list:relationship-list"
- key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
- AND cp.cp-instance-id = $cp-instance-id
- AND l3-interface-ipv4-address-list.l3-interface-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/l3-networks/l3-network/' +
- $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id`" />
- <parameter name="relationship-list.relationship[1].related-to" value="subnet" />
- <parameter name="relationship-list.relationship[1].related-link"
- value="`'/aai/v$/network/l3-networks/l3-network/' +
- $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +
- '/subnets/subnet/' +
- $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error updating l3-interface-ipv4-address-list relationships in AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Not-found error updating l3-interface-ipv4-address-list relationships" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- </block>
- </outcome>
- <outcome value='ipv6'>
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-interface-ipv6-address-list"
- key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
- AND cp.cp-instance-id = $cp-instance-id
- AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address" >
- <parameter name="l3-interface-ipv6-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address`" />
- <parameter name="l3-interface-ipv6-prefix-length" value="128" />
- <parameter name="is-floating" value="false" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error creating l3-interface-ipv6-address-list object in AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-interface-ipv6-address-list:relationship-list"
- key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
- AND cp.cp-instance-id = $cp-instance-id
- AND l3-interface-ipv6-address-list.l3-interface-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].vnfc-subnet-ip[$address-index].vnfc-ip-address"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/l3-networks/l3-network/' +
- $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id`" />
- <parameter name="relationship-list.relationship[1].related-to" value="subnet" />
- <parameter name="relationship-list.relationship[1].related-link"
- value="`'/aai/v$/network/l3-networks/l3-network/' +
- $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].network-id +
- '/subnets/subnet/' +
- $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-subnet[$subnet-role-index].vnfc-ip-assignments[$address-family-index].subnet-id`" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error updating l3-interface-ipv6-address-list relationships in AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Not-found error updating l3-interface-ipv6-address-list relationships" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- </block>
- </outcome>
- </switch>
- </for>
- </block>
- </for>
- </for>
- <for index='vnf-network-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
- <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$network-role-index].vnfc-network-role
- == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>
- <outcome value='true'>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="cp:relationship-list"
- key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
- AND cp.cp-instance-id = $cp-instance-id"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/l3-networks/l3-network/' +
- $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-id`" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error updating cp relationship to l3-network in AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Not-found error updating cp relationship to l3-network" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- </outcome>
- </switch>
- </for>
- <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >
- <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role
- == $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-network-index].network-role`'>
- <outcome value='true'>
- <for silentFailure='true' index='related-network-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network_length`' >
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="cp:relationship-list"
- key="vnfc.vnfc-name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
- AND cp.cp-instance-id = $cp-instance-id"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/l3-networks/l3-network/' +
- $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].network-id`" />
- <parameter name="relationship-list.relationship[1].related-to" value="vlan-tag" />
- <parameter name="relationship-list.relationship[1].related-link"
- value="`'/aai/v$/network/vlan-tags/vlan-tag/' +
- $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].related-networks.related-network[$related-network-index].vlan-tags.vlan-interface`" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error updating cp relationship to l3-network and vlan-tag in AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Not-found error updating cp relationship to l3-network and vlan-tag" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- </for>
- </outcome>
- </switch>
- </for>
- </block>
- </for>
- </block>
- </for>
- <for silentFailure='true' index='network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network_length`' >
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vf-module:relationship-list"
- key="vf-module.vf-module-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id
- AND generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/l3-networks/l3-network/' +
- $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error updating vf-module relationships in AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'No l3-network found in AAI for network ID '
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-id`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].created-flag' value='true' />
- </set>
- <for silentFailure='true' index='ipv4-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4_length`' >
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vip-ipv4-address-list"
- key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
- AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
- AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]" >
- <parameter name="vip-ipv4-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]`" />
- <parameter name="vip-ipv4-prefix-length" value="32" />
- <parameter name="is-floating" value="false" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error saving vip-ipv4-address-list in AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Not-found error saving vip-ipv4-address-list" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv4-flag' value='true' />
- </set>
- <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vip-ipv4-address-list:relationship-list"
- key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
- AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
- AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="subnet" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/l3-networks/l3-network/'
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id
- + '/subnets/subnet/'
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv4-subnet-id`" />
- <parameter name="relationship-list.relationship[1].related-to" value="vnfc" />
- <parameter name="relationship-list.relationship[1].related-link"
- value="`'/aai/v$/network/vnfcs/vnfc/'
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error updating vip-ipv4-address-list relationships in AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Not-found error updating vip-ipv4-address-list relationships" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- <for silentFailure='true' index='vnfc-network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
- <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role
- == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].vnfc-network-role`'>
- <outcome value='true'>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vip-ipv4-address-list:relationship-list"
- key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
- AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
- AND vip-ipv4-address-list.vip-ipv4-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v4[$ipv4-index]"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="cp" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/vnfcs/vnfc/'
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
- + '/cps/cp/'
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].connection-point.connection-point-id`" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error updating vip-ipv4-address-list relationship to cp in AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Not-found error updating vip-ipv4-address-list relationship to cp" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- </outcome>
- </switch>
- </for>
- </block>
- </for>
- </block>
- </for>
- <for silentFailure='true' index='ipv6-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6_length`' >
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vip-ipv6-address-list"
- key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
- AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
- AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]" >
- <parameter name="vip-ipv6-address" value="`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]`" />
- <parameter name="vip-ipv6-prefix-length" value="128" />
- <parameter name="is-floating" value="false" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error saving vip-ipv6-address-list in AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Not-found error saving vip-ipv6-address-list" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- <set>
- <parameter name='tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.created-ipv6-flag' value='true' />
- </set>
- <for silentFailure='true' index='vnfc-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names_length`' >
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vip-ipv6-address-list:relationship-list"
- key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
- AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
- AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="subnet" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/l3-networks/l3-network/'
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].network-id
- + '/subnets/subnet/'
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.ipv6-subnet-id`" />
- <parameter name="relationship-list.relationship[1].related-to" value="vnfc" />
- <parameter name="relationship-list.relationship[1].related-link"
- value="`'/aai/v$/network/vnfcs/vnfc/'
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name`" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error updating vip-ipv6-address-list relationships in AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Not-found error updating vip-ipv6-address-list relationships" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- <for silentFailure='true' index='vnfc-network-role-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data_length`' >
- <switch test='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$network-role-index].network-role
- == $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].vnfc-network-role`'>
- <outcome value='true'>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vip-ipv6-address-list:relationship-list"
- key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner
- AND cloud-region.cloud-region-id = $vf-module-topology-operation-input.vf-module-request-input.aic-cloud-region
- AND vip-ipv6-address-list.vip-ipv6-address = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-networks.vm-network[$vm-network-index].floating-ips.floating-ip-v6[$ipv6-index]"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="cp" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/vnfcs/vnfc/'
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-name
- + '/cps/cp/'
- + $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vnfc-names[$vnfc-index].vnfc-networks.vnfc-network-data[$vnfc-network-role-index].connection-point.connection-point-id`" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error updating vip-ipv4-address-list relationship to cp in AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Not-found error updating vip-ipv4-address-list relationship to cp" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- </outcome>
- </switch>
- </for>
- </block>
- </for>
- </block>
- </for>
- </block>
- </for>
- </block>
- </for>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-vlan-tagging-assign' mode='sync' >
- <outcome value='failure'>
- <block atomic="true">
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
- <parameter name='filename' value='/var/tmp/bgb-vlantaggingfailure.log' />
- </execute>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </call>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-generate-heat-parameters' mode='sync' ></call>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
- <parameter name='filename' value='/var/tmp/bgb-vfmoduleheat.log' />
- </execute>
- <for silentFailure='true' index='vm-type-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm_length`' >
- <for index='vm-index' start='0' end='`$tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-count`' >
- <block atomic="true">
- <delete plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
- key='DELETE from VIPR_CONFIGURATION WHERE vnf_id = $service-data.vnfs.vnf[$vnf-index].vnf-id
- AND ecomp_service_instance_id = $service-data.service-information.service-instance-id
- AND vm_name = $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index]' >
- <outcome value='failure'>
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
- <parameter name="logger" value="message-log"/>
- <parameter name="field1" value="__TIMESTAMP__"/>
- <parameter name="field2" value="GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID"/>
- <parameter name="field3" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`"/>
- <parameter name="field4" value="Failed to insert VIPR_CONFIGURATION record"/>
- </record>
- </outcome>
- </delete>
- <save plugin="org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource" resource="SQL"
-key="INSERT INTO VIPR_CONFIGURATION (vnf_id, vnf_name, ecomp_service_instance_id, vm_name, cloud_region_id, cloud_owner) VALUES ( $service-data.vnfs.vnf[$vnf-index].vnf-id , $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name , $service-data.service-information.service-instance-id , $tmp.vf-module-topology.vf-module-assignments.vms.vm[$vm-type-index].vm-names.vm-name[$vm-index] , $tmp.vf-module-topology.aic-cloud-region , $prop.cloud-region.cloud-owner )" >
- <outcome value='failure'>
- <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
- <parameter name="logger" value="message-log"/>
- <parameter name="field1" value="__TIMESTAMP__"/>
- <parameter name="field2" value="GENERIC-RESOURCE-API.vf-module-topology-operation-assign:REQID"/>
- <parameter name="field3" value="`$vf-module-topology-operation-input.sdnc-request-header.svc-request-id`"/>
- <parameter name="field4" value="Failed to insert VIPR_CONFIGURATION record"/>
- </record>
- </outcome>
- </save>
- </block>
- </for>
- </for>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.' value='tmp.vf-module-topology.' />
- </set>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.sdnc-request-header.'
- value='$vf-module-topology-operation-input.sdnc-request-header.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.request-information.'
- value='$vf-module-topology-operation-input.request-information.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.service-information.'
- value='$vf-module-topology-operation-input.service-information.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vnf-information.'
- value='$vf-module-topology-operation-input.vnf-information.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.'
- value='$vf-module-topology-operation-input.vf-module-information.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.'
- value='$vf-module-topology-operation-input.vf-module-request-input.' />
- </set>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.order-status'
- value='PendingCreate' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-rpc-action'
- value='`$vf-module-topology-operation-input.sdnc-request-header.svc-action`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.last-action'
- value='`$vf-module-topology-operation-input.sdnc-request-header.request-action`' />
- </set>
- <set>
- <parameter name='vf-module-data.'
- value='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.' />
- </set>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$prop.restapi.vf-module`"/>
- <parameter name="outputPath" value="tmp.part"/>
- <parameter name="target" value="{service-instance-id}"/>
- <parameter name="replacement" value="`$service-data.service-topology.service-topology-identifier.service-instance-id`"/>
- </execute>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$tmp.part`"/>
- <parameter name="outputPath" value="tmp.part"/>
- <parameter name="target" value="{vnf-id}"/>
- <parameter name="replacement" value="`$service-data.vnfs.vnf[$vnf-index].vnf-id`"/>
- </execute>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$tmp.part`"/>
- <parameter name="outputPath" value="tmp.vf-module.url"/>
- <parameter name="target" value="{vf-module-id}"/>
- <parameter name="replacement" value="`$vf-module-topology-operation-input.vf-module-information.vf-module-id`"/>
- </execute>
- <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
- <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + 'vf-module-assign.json'`" />
- <parameter name='restapiUrl' value="`$prop.controller.url + $tmp.vf-module.url`" />
- <parameter name='restapiUser' value='`$prop.controller.user`' />
- <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
- <parameter name='format' value='json' />
- <parameter name='httpMethod' value='PUT' />
- <parameter name="responsePrefix" value="vf-module-assign" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error doing PUT of vf-module" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error doing PUT of vf-module" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-assign-rollback' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </execute>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
- <parameter name='filename' value='/var/tmp/bgb-vfmodule.log' />
- </execute>
- <set>
- <parameter name="so.response-code" value="200" />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='success'>
- <parameter name="ack-final-indicator" value="Y" />
- <parameter name="error-code" value="200" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
+ <switch test='$vf-module-topology-operation-input.sdnc-request-header.svc-notification-url) == $prop.so.ignore-url'>
+ <outcome value='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-sync' mode='sync' ></call>
+ </outcome>
+ <outcome value='false'>
+ <call module='GENERIC-RESOURCE-API' rpc='vf-module-topology-operation-assign-async' mode='sync' ></call>
+ </outcome>
+ </switch>
</outcome>
</switch>
</block>
</method>
-</service-logic>
+</service-logic>
\ No newline at end of file diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-assign-async.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-assign-async.xml new file mode 100644 index 00000000..61b4226a --- /dev/null +++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-assign-async.xml @@ -0,0 +1,1536 @@ +<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='vnf-topology-operation-assign-async' mode='sync'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
+ <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
+ <parameter name='contextPrefix' value='prop' />
+ </execute>
+ <set>
+ <parameter name="so.ack-final-indicator" value="Y" />
+ <parameter name="so.response-code" value="500" />
+ <parameter name="so.notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />
+ <parameter name="so.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />
+ <parameter name="so.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />
+ <parameter name="so.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />
+ </set>
+ <switch test='`$vnf-topology-operation-input.vnf-request-input.cloud-owner`'>
+ <outcome value=''>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='prop.cloud-region.cloud-owner' value='`$vnf-topology-operation-input.vnf-request-input.cloud-owner`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vnf-topology-operation-input.request-information.request-action`'>
+ <outcome value='CreateVnfInstance'>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="If svc-action is 'assign' then request-action must be 'CreateVnfInstance'" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </switch>
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='SELECT * from VF_MODEL WHERE customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'
+ pfx='db.vf-model'>
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error reading VF_MODEL table" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'No model found for VNF customization UUID ' + $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </get-resource>
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-forking-logic' mode='sync' ></call>
+ <switch test="`$ss.self-serve-flag`">
+ <outcome value='true'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-assign' mode='sync' >
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'Failed to create self-serve assignment for vnf with vnf-id=' + $vnf-topology-operation-input.vnf-information.vnf-id + ' with error: ' + $error-message`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </call>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/ss-vnfend.log' />
+ </execute>
+ <set>
+ <parameter name="so.response-code" value="200" />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='false'>
+ <block atomic="true">
+ <switch test='`$service-data.vnfs.vnf_length`'>
+ <outcome value=''>
+ <set>
+ <parameter name='vnf-index' value='0' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic='true'>
+ <set>
+ <parameter name='vnf-index' value='`$service-data.vnfs.vnf_length`' />
+ </set>
+ <for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >
+ <switch test='`$vnf-topology-operation-input.vnf-information.vnf-id == $service-data.vnfs.vnf[$idx].vnf-id`'>
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'VNF id ' + $service-data.vnfs.vnf[$idx].vnf-id
+ + ' already exists'`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf_length' value='`$vnf-index + 1`' />
+ </set>
+ <set>
+ <parameter name='tmp.vnf-network-collection_length' value='0' />
+ </set>
+ <for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >
+ <block atomic="true">
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="instance-group"
+ key="instance-group.id = $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id"
+ pfx='aai.instance-group' local-only='false' >
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'Cannot find instance group id ' +
+ $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id
+ + ' in AAI'`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error retrieving instance-group from AAI" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </get-resource>
+ <for index='rel-index' start='0' end='`$aai.instance-group.relationship-list.relationship_length`' >
+ <switch test='`$aai.instance-group.relationship-list.relationship[$rel-index].related-to`'>
+ <outcome value='collection'>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="collection"
+ key="collection.collection-id = $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value"
+ pfx='aai.collection' local-only='false' >
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'Unable to find AAI relationship from collection '
+ + $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value
+ + ' to service instance'`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'Failed to get network service instance '
+ + $network-service-instance + ' from MD-SAL'`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <block atomic="true">
+ <set>
+ <parameter name='found-network-instance-group' value='false' />
+ </set>
+ <for silentFailure='true' index='nig-index' start='0' end='`$service-data.network-instance-groups.network-instance-group_length`' >
+ <switch test='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id
+ == $service-data.network-instance-groups.network-instance-group[$nig-index].network-instance-group-id`'>
+ <outcome value='true'>
+ <block>
+ <set>
+ <parameter name='found-network-instance-group' value='true' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$found-network-instance-group`'>
+ <outcome value='false'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'Could not find network instance group ' +
+ $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id
+ + ' in MD-SAL service instance '
+ + $network-service-instance`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-function'
+ value='`$aai.instance-group.instance-group-function`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-id'
+ value='`$aai.instance-group.id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-service-instance-id'
+ value='`$service-data.network-instance-groups.network-instance-group[$nig-index].service-instance-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-customization-uuid'
+ value='`$aai.collection.collection-customization-id`' />
+ </set>
+ <set>
+ <parameter name='tmp.vnf-network-collection_length' value='`$tmp.vnf-network-collection_length + 1`' />
+ </set>
+ </block>
+ </outcome>
+ </get-resource>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </for>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection_length'
+ value='`$tmp.vnf-network-collection_length`' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id'
+ value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-type'
+ value='`$vnf-topology-operation-input.vnf-information.vnf-type`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-type'
+ value='`$db.vf-model.nf-type`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role'
+ value='`$db.vf-model.nf-role`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-function'
+ value='`$db.vf-model.nf-function`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-code'
+ value='`$db.vf-model.nf-code`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.tenant'
+ value='`$vnf-topology-operation-input.vnf-request-input.tenant`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-cloud-region'
+ value='`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`' />
+ </set>
+ <switch test='`$vnf-topology-operation-input.vnf-information.vnf-name`'>
+ <outcome value=''>
+ <block atomic="true">
+ <switch test='`$db.vf-model.ecomp-generated-naming`'>
+ <outcome value='Y'>
+ <block></block>
+ </outcome>
+ <outcome value='N'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="No vnf-name was received but ecomp-generated-naming is not Y" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="No vnf-name was received but ecomp-generated-naming is not Y" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </switch>
+ <switch test='`$db.vf-model.naming-policy`'>
+ <outcome value=''>
+ <block atomic="true">
+ <set>
+ <parameter name='generate-unique-name-input.action' value='ASSIGN' />
+ <parameter name='generate-unique-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='generate-unique-name-input.index-table-name' value='VNF_NAME_INDEX' />
+ <parameter name='generate-unique-name-input.index-table-prefix-column' value='vnf_name_prefix' />
+ <parameter name='generate-unique-name-input.name-table-type' value='VNF_INSTANCE' />
+ <parameter name='generate-unique-name-input.prefix' value="`'z' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region + $db.vf-model.nf-code`" />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='generate-unique-name' mode='sync' >
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`$generate-unique-name-output.error-message`" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='tmp.vnf-name' value='`$generate-unique-name-output.generated-name`' />
+ </set>
+ </outcome>
+ </call>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.policy-instance-name' value='`$db.vf-model.naming-policy`' />
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='ASSIGN' />
+ <parameter name='naming-policy-generate-name-input.query-parameter' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Unable to generate VNF name" />
+ </set>
+ <block atomic='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='tmp.vnf-name' value='`$naming-policy-generate-name-output.vnf-name`' />
+ </set>
+ </outcome>
+ </call>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.vnf-name' value="`$vnf-topology-operation-input.vnf-information.vnf-name`" />
+ </set>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id'
+ value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name'
+ value='`$tmp.vnf-name`' />
+ </set>
+ <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`'>
+ <outcome value=''>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'
+ value='`$db.vf-model.invariant-uuid`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'
+ value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`'>
+ <outcome value=''>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'
+ value='`$db.vf-model.uuid`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'
+ value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`'>
+ <outcome value=''>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'
+ value='`$db.vf-model.version`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'
+ value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`'>
+ <outcome value=''>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'
+ value='`$db.vf-model.name`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'
+ value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`' />
+ </set>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid'
+ value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />
+ </set>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="cloud-region"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND
+ cloud-region.cloud-region-id = $vnf-topology-operation-input.vnf-request-input.aic-cloud-region AND
+ depth='all'"
+ pfx='aai.cloud-region' local-only='false' >
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Cloud region not found in AAI" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error retrieving cloud region from AAI" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </get-resource>
+ <for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >
+ <switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>
+ <outcome value='complex'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>
+ <parameter name='ctx_memory_result_key' value='aai-uid-split' />
+ <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />
+ <parameter name='regex' value='/' />
+ </execute>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli'
+ value='`$aai-uid-split[$aai-uid-split_length - 1]`' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli`'>
+ <outcome value=''>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </switch>
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='SELECT * from VF_TO_NETWORK_ROLE_MAPPING WHERE vf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'
+ pfx='db.vf-network-role-mapping[]'>
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error reading VF_TO_NETWORK_ROLE_MAPPING table" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='db.vf-network-role-mapping_length' value='0' />
+ </set>
+ </outcome>
+ </get-resource>
+ <set>
+ <parameter name='network-index' value='0' />
+ </set>
+ <for silentFailure='true' index='role-index' start='0' end='`$db.vf-network-role-mapping_length`'>
+ <switch test='`$db.vf-network-role-mapping[$role-index].network-role`'>
+ <outcome value=''>
+ <block></block>
+ </outcome>
+ <outcome value='null'>
+ <block></block>
+ </outcome>
+ <outcome value='NULL'>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <set>
+ <parameter name='aai.l3-network.' value='' />
+ </set>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l3-networks"
+ key="l3-network.network-role = $db.vf-network-role-mapping[$role-index].network-role"
+ pfx='aai.l3-network' local-only='false'
+>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'Unable to find l3-network in AAI for network role ' + $db.vf-network-role-mapping[$role-index].network-role`" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error retrieving l3-network from AAI" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </get-resource>
+ <set>
+ <parameter name='l3-network-id' value='-1' />
+ </set>
+ <block>
+ <set>
+ <parameter name='found-network' value='false' />
+ </set>
+ <for index='db-network-index' start='0' end='`$aai.l3-network.l3-network_length`' >
+ <block atomic="true">
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].orchestration-status`'>
+ <outcome value='PendingCreate'>
+ <block></block>
+ </outcome>
+ <outcome value='Pending Create'>
+ <block></block>
+ </outcome>
+ <outcome value='PendingDelete'>
+ <block></block>
+ </outcome>
+ <outcome value='Pending Delete'>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <for silentFailure='true' index='db-rel-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship_length`' >
+ <block atomic="true">
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].related-to`'>
+ <outcome value='service-instance'>
+ <for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>
+ <outcome value='service-instance.service-instance-id'>
+ <set>
+ <parameter name='network-service-instance-id'
+ value='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value`' />
+ </set>
+ </outcome>
+ </switch>
+ </for>
+ </outcome>
+ <outcome value='cloud-region'>
+ <for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>
+ <outcome value='cloud-region.cloud-region-id'>
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value == $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`'>
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='l3-network-id' value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />
+ </set>
+ <set>
+ <parameter name='found-network' value='true' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </outcome>
+ </switch>
+ </for>
+ </outcome>
+ </switch>
+ <switch test='`$found-network`'>
+ <outcome value='true'>
+ <break/>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ </outcome>
+ </switch>
+ <switch test='`$found-network`'>
+ <outcome value='true'>
+ <break/>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ </block>
+ <switch test='`$l3-network-id`'>
+ <outcome value='-1'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'Unable to find l3-network in AAI for network role ' + $db.vf-network-role-mapping[$role-index].network-role`" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-role'
+ value='`$db.vf-network-role-mapping[$role-index].network-role`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-name'
+ value='`$aai.l3-network.l3-network[$db-network-index].network-name`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].neutron-id'
+ value='`$aai.l3-network.l3-network[$db-network-index].neutron-network-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-id'
+ value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].contrail-network-fqdn'
+ value='`$aai.l3-network.l3-network[$db-network-index].contrail-network-fqdn`' />
+ </set>
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`'>
+ <outcome value=''>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'
+ value='0' />
+ </set>
+ </outcome>
+ <outcome value='0'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'
+ value='0' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <block>
+ <for index='subnet-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`' >
+ <block>
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`'>
+ <outcome value=''>
+ <set>
+ <parameter name='aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role' value='NONE' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].ip-version`'>
+ <outcome value='4'>
+ <set>
+ <parameter name='tmp.ip-version' value='ipv4' />
+ </set>
+ </outcome>
+ <outcome value='6'>
+ <set>
+ <parameter name='tmp.ip-version' value='ipv6' />
+ </set>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].ip-version'
+ value='`$tmp.ip-version`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-id'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].neutron-subnet-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].sdnc-subnet-id'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-role'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-name'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-name`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].network-start-address'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].network-start-address`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].gateway-address'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].gateway-address`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].cidr-mask'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].cidr-mask`' />
+ </set>
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].dhcp-enabled`'>
+ <outcome value='true'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'
+ value='Y' />
+ </set>
+ </outcome>
+ <outcome value='false'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'
+ value='N' />
+ </set>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`' />
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='SELECT * from VNF_RELATED_NETWORK_ROLE where vnf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid
+ and network_role = $db.vf-network-role-mapping[$role-index].network-role'
+ pfx='db.vnf-related-network-role[]'>
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error reading VNF_RELATED_NETWORK_ROLE table" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.network-topology-identifier-structure`"/>
+ <parameter name="outputPath" value="tmp.part"/>
+ <parameter name="target" value="{service-instance-id}"/>
+ <parameter name="replacement" value="`$network-service-instance-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.part`"/>
+ <parameter name="outputPath" value="tmp.ntis-url"/>
+ <parameter name="target" value="{network-id}"/>
+ <parameter name="replacement" value="`$l3-network-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ntis-url`' />
+ <parameter name='restapiUser' value='`$prop.controller.user`' />
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='GET' />
+ <parameter name="responsePrefix" value="mdsal-ntis" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`
+ 'Error retrieving network-topology-identifier-structure for service instance '
+ + $network-service-instance-id
+ + ' and network-id '
+ + $l3-network-id`" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </execute>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].is-trunked'
+ value='`$mdsal-ntis.network-topology-identifier-structure.is-trunked`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].segmentation-id'
+ value='`$mdsal-ntis.network-topology-identifier-structure.segmentation-id`' />
+ </set>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="custom-query"
+ key="format = 'resource'"
+ force="true"
+ local-only="false"
+ pfx="tmp.AnAI-data.oe">
+ <parameter name="start[0]" value="`'nodes/service-instances/service-instance?service-instance-id=' + $network-service-instance-id `" />
+ <parameter name="start_length" value="1" />
+ <parameter name="query" value="/query/owning-entity-fromService-instance" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error getting owning entity from service instance" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Unable to find owning entity from service instance" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='rn-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network_length`' />
+ </set>
+ <switch test='`$rn-index`'>
+ <outcome value=''>
+ <set>
+ <parameter name='rn-index' value='0' />
+ </set>
+ </outcome>
+ </switch>
+ <for index='rel-network-role-index' start='0' end='`$db.vnf-related-network-role_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="custom-query"
+ key="format = 'resource'"
+ force="true"
+ local-only="false"
+ pfx="tmp.AnAI-data.get-networks">
+ <parameter name="start[0]" value="`'/business/owning-entities/owning-entity/' + $tmp.AnAI-data.oe.results[0].owning-entity.owning-entity-id `" />
+ <parameter name="start_length" value="1" />
+ <parameter name="query" value="`'/query/getNetworks?networkRole=' + $db.vnf-related-network-role[$rel-network-role-index].related-network-role
+ + '&cloudRegionId=' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error calling getNetworks custom query in AAI" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'No l3-network returned from getNetworks custom query for related network role '
+ + $db.vnf-related-network-role[0].related-network-role`" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].network-id'
+ value='`$tmp.AnAI-data.get-networks.results[0].l3-network.network-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].network-role'
+ value='`$tmp.AnAI-data.get-networks.results[0].l3-network.network-role`' />
+ </set>
+ <for index='rel-index' start='0' end='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship_length`' >
+ <switch test='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship[$rel-index].related-to`'>
+ <outcome value='vlan-tag'>
+ <block atomic="true">
+ <set>
+ <parameter name='vlan-tag-id' value='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value`' />
+ </set>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vlan-tag"
+ key="vlan-tag.vlan-tag-id = $vlan-tag-id"
+ pfx='aai.vlan-tag' local-only='false'
+>
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error getting vlan-tag object from AAI" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.vlan-interface'
+ value='`$aai.vlan-tag.vlan-tag-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.upper-tag-id'
+ value='`$aai.vlan-tag.vlan-id-outer`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.lower-tag-id'
+ value='`$aai.vlan-tag.vlan-id-inner`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.is-private'
+ value='`$aai.vlan-tag.is-private`' />
+ </set>
+ </outcome>
+ </get-resource>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </for>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network_length'
+ value='`$rn-index + 1`' />
+ </set>
+ </block>
+ </outcome>
+ </get-resource>
+ <set>
+ <parameter name='network-index' value='`$network-index + 1`' />
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vnfa.log' />
+ </execute>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length'
+ value='`$network-index`' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.'
+ value='vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.' />
+ </set>
+ <switch test='`$aai.cloud-region.availability-zones.availability-zone_length`'>
+ <outcome value=''>
+ <switch test='`$db.vf-model.avail-zone-max-count > 0`'>
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'No availability zones found in AAI for cloud region '
+ + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='false'>
+ <set>
+ <parameter name='aai.cloud-region.availability-zones.availability-zone_length' value='0' />
+ </set>
+ </outcome>
+ </switch>
+ </outcome>
+ </switch>
+ <for index='idx' start='0' end='`$aai.cloud-region.availability-zones.availability-zone_length`' >
+ <block atomic="true">
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone[$idx]'
+ value='`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`' />
+ </set>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf:relationship-list"
+ key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="availability-zone" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="cloud-region.cloud-owner" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.cloud-region.cloud-owner`" />
+ <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-key" value="cloud-region.cloud-region-id" />
+ <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-value" value="`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />
+ <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-key" value="availability-zone.availability-zone-name" />
+ <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-value" value="`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error updating generic-vnf in AAI" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ </block>
+ </for>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.max-count'
+ value='`$db.vf-model.avail-zone-max-count`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone_length'
+ value='`$aai.cloud-region.availability-zones.availability-zone_length`' />
+ </set>
+ <for index='vnf-nw-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf:relationship-list"
+ key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="l3-network.network-id" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-nw-index].network-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error updating generic-vnf in AAI" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ </block>
+ </for>
+ <set>
+ <parameter name='vnf-object-path'
+ value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ + $vnf-topology-operation-input.service-information.service-instance-id
+ + '/service-data/vnfs/vnf/'
+ + $service-data.vnfs.vnf[$vnf-index].vnf-id
+ + '/vnf-data/vnf-topology/'`"/>
+ <parameter name='service-object-path'
+ value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ + $vnf-topology-operation-input.service-information.service-instance-id
+ + '/service-data/service-topology/'`"/>
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="vnf-name" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name`" />
+ <parameter name="prov-status" value="PREPROV" />
+ <!-- <parameter name="operational-status" value="out-of-service-path" /> -->
+ <parameter name="equipment-role" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role`" />
+ <parameter name="model-invariant-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid`" />
+ <parameter name="model-version-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid`" />
+ <parameter name="model-customization-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid`" />
+ <parameter name="in-maint" value="true" />
+ <parameter name="selflink" value="`$vnf-object-path`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error updating selflink in generic-vnf in AAI" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </update>
+ <for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf:relationship-list"
+ key="generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-information.vnf-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="instance-group" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/instance-groups/instance-group/'
+ + $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id`" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error updating relationship in generic-vnf in AAI" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </save>
+ </block>
+ </for>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.' value='$vnf-topology-operation-input.vnf-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.' value='$vnf-topology-operation-input.vnf-request-input.' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.vnf-assign`"/>
+ <parameter name="outputPath" value="tmp.part"/>
+ <parameter name="target" value="{service-instance-id}"/>
+ <parameter name="replacement" value="`$service-data.service-topology.service-topology-identifier.service-instance-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.part`"/>
+ <parameter name="outputPath" value="tmp.vnf.url"/>
+ <parameter name="target" value="{vnf-id}"/>
+ <parameter name="replacement" value="`$service-data.vnfs.vnf[$vnf-index].vnf-id`"/>
+ </execute>
+ <set>
+ <parameter name='vnf-data.' value='service-data.vnfs.vnf[$vnf-index].vnf-data.' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + 'vnf-data-assign.json'`" />
+ <parameter name='restapiUrl' value="`$prop.controller.url + $tmp.vnf.url`" />
+ <parameter name='restapiUser' value='`$prop.controller.user`' />
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='PUT' />
+ <parameter name="responsePrefix" value="vnf-assign" />
+ <outcome value='failure'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error doing PUT of vnf-data" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block atomic="true">
+ <set>
+ <parameter name="error-message" value="Error doing PUT of vnf-data" />
+ </set>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </block>
+ </outcome>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vnf.log' />
+ </execute>
+ <set>
+ <parameter name="so.response-code" value="200" />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </method>
+</service-logic>
\ No newline at end of file diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-assign-sync.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-assign-sync.xml new file mode 100644 index 00000000..2202daca --- /dev/null +++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-assign-sync.xml @@ -0,0 +1,1250 @@ +<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='vnf-topology-operation-assign-sync' mode='sync'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
+ <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
+ <parameter name='contextPrefix' value='prop' />
+ </execute>
+ <switch test='`$vnf-topology-operation-input.vnf-request-input.cloud-owner`'>
+ <outcome value=''>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='prop.cloud-region.cloud-owner' value='`$vnf-topology-operation-input.vnf-request-input.cloud-owner`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vnf-topology-operation-input.request-information.request-action`'>
+ <outcome value='CreateVnfInstance'>
+ <block></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="If svc-action is 'assign' then request-action must be 'CreateVnfInstance'" />
+ </return>
+ </outcome>
+ </switch>
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='SELECT * from VF_MODEL WHERE customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'
+ pfx='db.vf-model'>
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error reading VF_MODEL table" />
+ </return>
+ </outcome>
+ <outcome value='not-found'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No model found for VNF customization UUID ' + $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`" />
+ </return>
+ </outcome>
+ </get-resource>
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-forking-logic' mode='sync' ></call>
+ <switch test="`$ss.self-serve-flag`">
+ <outcome value='true'>
+ <block atomic="true">
+ <call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-assign' mode='sync' >
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Failed to create self-serve assignment for vnf with vnf-id=' + $vnf-topology-operation-input.vnf-information.vnf-id + ' with error: ' + $error-message`" />
+ </return>
+ </outcome>
+ </call>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/ss-vnfend.log' />
+ </execute>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='false'>
+ <block atomic="true">
+ <switch test='`$service-data.vnfs.vnf_length`'>
+ <outcome value=''>
+ <set>
+ <parameter name='vnf-index' value='0' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <block>
+ <set>
+ <parameter name='vnf-index' value='`$service-data.vnfs.vnf_length`' />
+ </set>
+ <for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >
+ <switch test='`$vnf-topology-operation-input.vnf-information.vnf-id == $service-data.vnfs.vnf[$idx].vnf-id`'>
+ <outcome value='true'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'VNF id ' + $service-data.vnfs.vnf[$idx].vnf-id
+ + ' already exists'`" />
+ </return>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf_length' value='`$vnf-index + 1`' />
+ </set>
+ <set>
+ <parameter name='tmp.vnf-network-collection_length' value='0' />
+ </set>
+ <for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >
+ <block atomic="true">
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="instance-group"
+ key="instance-group.id = $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id"
+ pfx='aai.instance-group' local-only='false' >
+ <outcome value='not-found'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Cannot find instance group id ' +
+ $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id
+ + ' in AAI'`" />
+ </return>
+ </outcome>
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error retrieving instance-group from AAI" />
+ </return>
+ </outcome>
+ </get-resource>
+ <for index='rel-index' start='0' end='`$aai.instance-group.relationship-list.relationship_length`' >
+ <switch test='`$aai.instance-group.relationship-list.relationship[$rel-index].related-to`'>
+ <outcome value='collection'>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="collection"
+ key="collection.collection-id = $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value"
+ pfx='aai.collection' local-only='false' >
+ <outcome value='not-found'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Cannot find collection ' +
+ $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value
+ + ' in AAI'`" />
+ </return>
+ </outcome>
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="System error retrieving collection from AAI" />
+ </return>
+ </outcome>
+ <outcome value='success'>
+ <block atomic="true">
+ <set>
+ <parameter name='found-network-instance-group' value='false' />
+ </set>
+ <for silentFailure='true' index='nig-index' start='0' end='`$service-data.network-instance-groups.network-instance-group_length`' >
+ <switch test='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id
+ == $service-data.network-instance-groups.network-instance-group[$nig-index].network-instance-group-id`'>
+ <outcome value='true'>
+ <block>
+ <set>
+ <parameter name='found-network-instance-group' value='true' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$found-network-instance-group`'>
+ <outcome value='false'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Could not find network instance group ' +
+ $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id
+ + ' in MD-SAL'`" />
+ </return>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-function'
+ value='`$aai.instance-group.instance-group-function`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-id'
+ value='`$aai.instance-group.id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-service-instance-id'
+ value='`$service-data.network-instance-groups.network-instance-group[$nig-index].service-instance-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-customization-uuid'
+ value='`$aai.collection.collection-customization-id`' />
+ </set>
+ <set>
+ <parameter name='tmp.vnf-network-collection_length' value='`$tmp.vnf-network-collection_length + 1`' />
+ </set>
+ </block>
+ </outcome>
+ </get-resource>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </for>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection_length'
+ value='`$tmp.vnf-network-collection_length`' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id'
+ value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-type'
+ value='`$vnf-topology-operation-input.vnf-information.vnf-type`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-type'
+ value='`$db.vf-model.nf-type`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role'
+ value='`$db.vf-model.nf-role`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-function'
+ value='`$db.vf-model.nf-function`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-code'
+ value='`$db.vf-model.nf-code`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.tenant'
+ value='`$vnf-topology-operation-input.vnf-request-input.tenant`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-cloud-region'
+ value='`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`' />
+ </set>
+ <switch test='`$vnf-topology-operation-input.vnf-information.vnf-name`'>
+ <outcome value=''>
+ <block atomic="true">
+ <switch test='`$db.vf-model.ecomp-generated-naming`'>
+ <outcome value='Y'>
+ <block></block>
+ </outcome>
+ <outcome value='N'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="No vnf-name was received but ecomp-generated-naming is not Y" />
+ </return>
+ </outcome>
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="No vnf-name was received but ecomp-generated-naming is not Y" />
+ </return>
+ </outcome>
+ </switch>
+ <switch test='`$db.vf-model.naming-policy`'>
+ <outcome value=''>
+ <block atomic="true">
+ <set>
+ <parameter name='generate-unique-name-input.action' value='ASSIGN' />
+ <parameter name='generate-unique-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='generate-unique-name-input.index-table-name' value='VNF_NAME_INDEX' />
+ <parameter name='generate-unique-name-input.index-table-prefix-column' value='vnf_name_prefix' />
+ <parameter name='generate-unique-name-input.name-table-type' value='VNF_INSTANCE' />
+ <parameter name='generate-unique-name-input.prefix' value="`'z' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region + $db.vf-model.nf-code`" />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='generate-unique-name' mode='sync' >
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`$generate-unique-name-output.error-message`" />
+ </return>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='tmp.vnf-name' value='`$generate-unique-name-output.generated-name`' />
+ </set>
+ </outcome>
+ </call>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.policy-instance-name' value='`$db.vf-model.naming-policy`' />
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='ASSIGN' />
+ <parameter name='naming-policy-generate-name-input.query-parameter' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Unable to generate VNF name" />
+ </return>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='tmp.vnf-name' value='`$naming-policy-generate-name-output.vnf-name`' />
+ </set>
+ </outcome>
+ </call>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='tmp.vnf-name' value="`$vnf-topology-operation-input.vnf-information.vnf-name`" />
+ </set>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id'
+ value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name'
+ value='`$tmp.vnf-name`' />
+ </set>
+ <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`'>
+ <outcome value=''>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'
+ value='`$db.vf-model.invariant-uuid`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'
+ value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`'>
+ <outcome value=''>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'
+ value='`$db.vf-model.uuid`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'
+ value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`'>
+ <outcome value=''>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'
+ value='`$db.vf-model.version`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'
+ value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`'>
+ <outcome value=''>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'
+ value='`$db.vf-model.name`' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'
+ value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`' />
+ </set>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid'
+ value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />
+ </set>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="cloud-region"
+ key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND
+ cloud-region.cloud-region-id = $vnf-topology-operation-input.vnf-request-input.aic-cloud-region AND
+ depth='all'"
+ pfx='aai.cloud-region' local-only='false' >
+ <outcome value='not-found'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Cloud region not found in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='failure'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error retrieving cloud region from AAI" />
+ </return>
+ </block>
+ </outcome>
+ </get-resource>
+ <for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >
+ <switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>
+ <outcome value='complex'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>
+ <parameter name='ctx_memory_result_key' value='aai-uid-split' />
+ <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />
+ <parameter name='regex' value='/' />
+ </execute>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli'
+ value='`$aai-uid-split[$aai-uid-split_length - 1]`' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli`'>
+ <outcome value=''>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='SELECT * from VF_TO_NETWORK_ROLE_MAPPING WHERE vf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'
+ pfx='db.vf-network-role-mapping[]'>
+ <outcome value='failure'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error reading VF_TO_NETWORK_ROLE_MAPPING table" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <set>
+ <parameter name='db.vf-network-role-mapping_length' value='0' />
+ </set>
+ </outcome>
+ </get-resource>
+ <set>
+ <parameter name='network-index' value='0' />
+ </set>
+ <for silentFailure='true' index='role-index' start='0' end='`$db.vf-network-role-mapping_length`'>
+ <switch test='`$db.vf-network-role-mapping[$role-index].network-role`'>
+ <outcome value=''>
+ <block></block>
+ </outcome>
+ <outcome value='null'>
+ <block></block>
+ </outcome>
+ <outcome value='NULL'>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <block atomic="true">
+ <set>
+ <parameter name='aai.l3-network.' value='' />
+ </set>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="l3-networks"
+ key="l3-network.network-role = $db.vf-network-role-mapping[$role-index].network-role"
+ pfx='aai.l3-network' local-only='false'
+>
+ <outcome value='not-found'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No active l3-network found in AAI with cloud_region_id '
+ + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region + ' and network_role '
+ + $db.vf-network-role-mapping[$network-index].network-role`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='failure'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error retrieving l3-network from AAI" />
+ </return>
+ </block>
+ </outcome>
+ </get-resource>
+ <set>
+ <parameter name='l3-network-id' value='-1' />
+ </set>
+ <block>
+ <set>
+ <parameter name='found-network' value='false' />
+ </set>
+ <for index='db-network-index' start='0' end='`$aai.l3-network.l3-network_length`' >
+ <block atomic="true">
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].orchestration-status`'>
+ <outcome value='PendingCreate'>
+ <block></block>
+ </outcome>
+ <outcome value='Pending Create'>
+ <block></block>
+ </outcome>
+ <outcome value='PendingDelete'>
+ <block></block>
+ </outcome>
+ <outcome value='Pending Delete'>
+ <block></block>
+ </outcome>
+ <outcome value='Other'>
+ <for silentFailure='true' index='db-rel-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship_length`' >
+ <block atomic="true">
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].related-to`'>
+ <outcome value='service-instance'>
+ <for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>
+ <outcome value='service-instance.service-instance-id'>
+ <set>
+ <parameter name='network-service-instance-id'
+ value='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value`' />
+ </set>
+ </outcome>
+ </switch>
+ </for>
+ </outcome>
+ <outcome value='cloud-region'>
+ <for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>
+ <outcome value='cloud-region.cloud-region-id'>
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value == $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`'>
+ <outcome value='true'>
+ <block atomic="true">
+ <set>
+ <parameter name='l3-network-id' value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />
+ </set>
+ <set>
+ <parameter name='found-network' value='true' />
+ </set>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </outcome>
+ </switch>
+ </for>
+ </outcome>
+ </switch>
+ <switch test='`$found-network`'>
+ <outcome value='true'>
+ <break/>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ </outcome>
+ </switch>
+ <switch test='`$found-network`'>
+ <outcome value='true'>
+ <break/>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ </block>
+ <switch test='`$l3-network-id`'>
+ <outcome value='-1'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Unable to find l3-network in AAI for network role ' + $db.vf-network-role-mapping[$role-index].network-role`" />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-role'
+ value='`$db.vf-network-role-mapping[$role-index].network-role`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-name'
+ value='`$aai.l3-network.l3-network[$db-network-index].network-name`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].neutron-id'
+ value='`$aai.l3-network.l3-network[$db-network-index].neutron-network-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-id'
+ value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].contrail-network-fqdn'
+ value='`$aai.l3-network.l3-network[$db-network-index].contrail-network-fqdn`' />
+ </set>
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`'>
+ <outcome value=''>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'
+ value='0' />
+ </set>
+ </outcome>
+ <outcome value='0'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'
+ value='0' />
+ </set>
+ </outcome>
+ <outcome value='Other'>
+ <block>
+ <for index='subnet-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`' >
+ <block>
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`'>
+ <outcome value=''>
+ <set>
+ <parameter name='aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role' value='NONE' />
+ </set>
+ </outcome>
+ </switch>
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].ip-version`'>
+ <outcome value='4'>
+ <set>
+ <parameter name='tmp.ip-version' value='ipv4' />
+ </set>
+ </outcome>
+ <outcome value='6'>
+ <set>
+ <parameter name='tmp.ip-version' value='ipv6' />
+ </set>
+ </outcome>
+ </switch>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].ip-version'
+ value='`$tmp.ip-version`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-id'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].neutron-subnet-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].sdnc-subnet-id'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-role'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-name'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-name`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].network-start-address'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].network-start-address`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].gateway-address'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].gateway-address`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].cidr-mask'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].cidr-mask`' />
+ </set>
+ <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].dhcp-enabled`'>
+ <outcome value='true'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'
+ value='Y' />
+ </set>
+ </outcome>
+ <outcome value='false'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'
+ value='N' />
+ </set>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'
+ value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`' />
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
+ key='SELECT * from VNF_RELATED_NETWORK_ROLE where vnf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid
+ and network_role = $db.vf-network-role-mapping[$role-index].network-role'
+ pfx='db.vnf-related-network-role[]'>
+ <outcome value='failure'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error reading VNF_RELATED_NETWORK_ROLE table" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <block atomic="true">
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.network-topology-identifier-structure`"/>
+ <parameter name="outputPath" value="tmp.part"/>
+ <parameter name="target" value="{service-instance-id}"/>
+ <parameter name="replacement" value="`$network-service-instance-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.part`"/>
+ <parameter name="outputPath" value="tmp.ntis-url"/>
+ <parameter name="target" value="{network-id}"/>
+ <parameter name="replacement" value="`$l3-network-id`"/>
+ </execute>
+ <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ntis-url`' />
+ <parameter name='restapiUser' value='`$prop.controller.user`' />
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='GET' />
+ <parameter name="responsePrefix" value="mdsal-ntis" />
+ <outcome value='failure'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`
+ 'Error retrieving network-topology-identifier-structure for service instance '
+ + $network-service-instance-id
+ + ' and network-id '
+ + $l3-network-id`" />
+ </return>
+ </block>
+ </outcome>
+ </execute>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].is-trunked'
+ value='`$mdsal-ntis.network-topology-identifier-structure.is-trunked`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].segmentation-id'
+ value='`$mdsal-ntis.network-topology-identifier-structure.segmentation-id`' />
+ </set>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="custom-query"
+ key="format = 'resource'"
+ force="true"
+ local-only="false"
+ pfx="tmp.AnAI-data.oe">
+ <parameter name="start[0]" value="`'nodes/service-instances/service-instance?service-instance-id=' + $network-service-instance-id `" />
+ <parameter name="start_length" value="1" />
+ <parameter name="query" value="/query/owning-entity-fromService-instance" />
+ <outcome value='failure'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error getting owning entity from service instance" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Unable to find owning entity from service instance" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='rn-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network_length`' />
+ </set>
+ <switch test='`$rn-index`'>
+ <outcome value=''>
+ <set>
+ <parameter name='rn-index' value='0' />
+ </set>
+ </outcome>
+ </switch>
+ <for index='rel-network-role-index' start='0' end='`$db.vnf-related-network-role_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="custom-query"
+ key="format = 'resource'"
+ force="true"
+ local-only="false"
+ pfx="tmp.AnAI-data.get-networks">
+ <parameter name="start[0]" value="`'/business/owning-entities/owning-entity/' + $tmp.AnAI-data.oe.results[0].owning-entity.owning-entity-id `" />
+ <parameter name="start_length" value="1" />
+ <parameter name="query" value="`'/query/getNetworks?networkRole=' + $db.vnf-related-network-role[$rel-network-role-index].related-network-role
+ + '&cloudRegionId=' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />
+ <outcome value='failure'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error calling getNetworks custom query in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No l3-network returned from getNetworks custom query for related network role '
+ + $db.vnf-related-network-role[0].related-network-role`" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].network-id'
+ value='`$tmp.AnAI-data.get-networks.results[0].l3-network.network-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].network-role'
+ value='`$tmp.AnAI-data.get-networks.results[0].l3-network.network-role`' />
+ </set>
+ <for index='rel-index' start='0' end='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship_length`' >
+ <switch test='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship[$rel-index].related-to`'>
+ <outcome value='vlan-tag'>
+ <block atomic="true">
+ <set>
+ <parameter name='vlan-tag-id' value='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value`' />
+ </set>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="vlan-tag"
+ key="vlan-tag.vlan-tag-id = $vlan-tag-id"
+ pfx='aai.vlan-tag' local-only='false'
+>
+ <outcome value='failure'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error getting vlan-tag object from AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='success'>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.vlan-interface'
+ value='`$aai.vlan-tag.vlan-tag-id`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.upper-tag-id'
+ value='`$aai.vlan-tag.vlan-id-outer`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.lower-tag-id'
+ value='`$aai.vlan-tag.vlan-id-inner`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.is-private'
+ value='`$aai.vlan-tag.is-private`' />
+ </set>
+ </outcome>
+ </get-resource>
+ <break/>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </for>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network_length'
+ value='`$rn-index + 1`' />
+ </set>
+ </block>
+ </outcome>
+ </get-resource>
+ <set>
+ <parameter name='network-index' value='`$network-index + 1`' />
+ </set>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vnfa.log' />
+ </execute>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length'
+ value='`$network-index`' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.'
+ value='vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.' />
+ </set>
+ <switch test='`$aai.cloud-region.availability-zones.availability-zone_length`'>
+ <outcome value=''>
+ <switch test='`$db.vf-model.avail-zone-max-count > 0`'>
+ <outcome value='true'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No availability zones found in AAI for cloud region '
+ + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='false'>
+ <set>
+ <parameter name='aai.cloud-region.availability-zones.availability-zone_length' value='0' />
+ </set>
+ </outcome>
+ </switch>
+ </outcome>
+ </switch>
+ <for index='idx' start='0' end='`$aai.cloud-region.availability-zones.availability-zone_length`' >
+ <block atomic="true">
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone[$idx]'
+ value='`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`' />
+ </set>
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf:relationship-list"
+ key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="availability-zone" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="cloud-region.cloud-owner" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.cloud-region.cloud-owner`" />
+ <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-key" value="cloud-region.cloud-region-id" />
+ <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-value" value="`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />
+ <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-key" value="availability-zone.availability-zone-name" />
+ <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-value" value="`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`" />
+ <outcome value='failure'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating generic-vnf in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </block>
+ </for>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.max-count'
+ value='`$db.vf-model.avail-zone-max-count`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone_length'
+ value='`$aai.cloud-region.availability-zones.availability-zone_length`' />
+ </set>
+ <for index='vnf-nw-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf:relationship-list"
+ key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="l3-network.network-id" />
+ <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-nw-index].network-id`" />
+ <outcome value='failure'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating generic-vnf in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </block>
+ </for>
+ <set>
+ <parameter name='vnf-object-path'
+ value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ + $vnf-topology-operation-input.service-information.service-instance-id
+ + '/service-data/vnfs/vnf/'
+ + $service-data.vnfs.vnf[$vnf-index].vnf-id
+ + '/vnf-data/vnf-topology/'`"/>
+ <parameter name='service-object-path'
+ value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ + $vnf-topology-operation-input.service-information.service-instance-id
+ + '/service-data/service-topology/'`"/>
+ </set>
+ <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf"
+ key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="vnf-name" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name`" />
+ <parameter name="prov-status" value="PREPROV" />
+ <!-- <parameter name="operational-status" value="out-of-service-path" /> -->
+ <parameter name="equipment-role" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role`" />
+ <parameter name="model-invariant-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid`" />
+ <parameter name="model-version-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid`" />
+ <parameter name="model-customization-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid`" />
+ <parameter name="in-maint" value="true" />
+ <parameter name="selflink" value="`$vnf-object-path`" />
+ <outcome value='failure'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating selflink in generic-vnf in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />
+ </return>
+ </block>
+ </outcome>
+ </update>
+ <for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >
+ <block atomic="true">
+ <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="generic-vnf:relationship-list"
+ key="generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-information.vnf-id"
+ force="true" pfx="tmp.AnAI-data">
+ <parameter name="relationship-list.relationship[0].related-to" value="instance-group" />
+ <parameter name="relationship-list.relationship[0].related-link"
+ value="`'/aai/v$/network/instance-groups/instance-group/'
+ + $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id`" />
+ <outcome value='failure'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating relationship in generic-vnf in AAI" />
+ </return>
+ </block>
+ </outcome>
+ <outcome value='not-found'>
+ <block>
+ <block atomic="true">
+ <set>
+ <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
+ <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
+ <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
+ </set>
+ <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
+ </block>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />
+ </return>
+ </block>
+ </outcome>
+ </save>
+ </block>
+ </for>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.' value='$vnf-topology-operation-input.vnf-information.' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.' value='$vnf-topology-operation-input.vnf-request-input.' />
+ </set>
+ <set>
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />
+ <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />
+ </set>
+ <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
+ <parameter name='filename' value='/var/tmp/bgb-vnf.log' />
+ </execute>
+ <return status='success'>
+ <parameter name="ack-final-indicator" value="Y" />
+ <parameter name="error-code" value="200" />
+ <parameter name="error-message" value="`$error-message`" />
+ </return>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </method>
+</service-logic>
\ No newline at end of file diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-assign.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-assign.xml index 66341c30..aaefc8e4 100755 --- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-assign.xml +++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_vnf-topology-operation-assign.xml @@ -2,1533 +2,24 @@ 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='vnf-topology-operation-assign' mode='sync'>
- <block atomic="true">
+ <block>
<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
<parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
<parameter name='contextPrefix' value='prop' />
</execute>
- <set>
- <parameter name="so.ack-final-indicator" value="Y" />
- <parameter name="so.response-code" value="500" />
- <parameter name="so.notification-url" value="`$vnf-topology-operation-input.sdnc-request-header.svc-notification-url`" />
- <parameter name="so.svc-request-id" value="`$vnf-topology-operation-input.sdnc-request-header.svc-request-id`" />
- <parameter name="so.service-type" value="`$vnf-topology-operation-input.service-information.subscription-service-type`" />
- <parameter name="so.service-instance-id" value="`$vnf-topology-operation-input.service-information.service-instance-id`" />
- </set>
- <switch test='`$vnf-topology-operation-input.vnf-request-input.cloud-owner`'>
- <outcome value=''>
- <block></block>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='prop.cloud-region.cloud-owner' value='`$vnf-topology-operation-input.vnf-request-input.cloud-owner`' />
- </set>
- </outcome>
- </switch>
- <switch test='`$vnf-topology-operation-input.request-information.request-action`'>
- <outcome value='CreateVnfInstance'>
- <block></block>
- </outcome>
- <outcome value='Other'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="If svc-action is 'assign' then request-action must be 'CreateVnfInstance'" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </switch>
- <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
- key='SELECT * from VF_MODEL WHERE customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'
- pfx='db.vf-model'>
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error reading VF_MODEL table" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'No model found for VNF customization UUID ' + $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </get-resource>
- <call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-forking-logic' mode='sync' ></call>
- <switch test="`$ss.self-serve-flag`">
+ <switch test='length($vnf-topology-operation-input.sdnc-request-header.svc-notification-url) == 0'>
<outcome value='true'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='self-serve-vnf-assign' mode='sync' >
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'Failed to create self-serve assignment for vnf with vnf-id=' + $vnf-topology-operation-input.vnf-information.vnf-id + ' with error: ' + $error-message`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </call>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />
- </set>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
- <parameter name='filename' value='/var/tmp/ss-vnfend.log' />
- </execute>
- <set>
- <parameter name="so.response-code" value="200" />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='success'>
- <parameter name="ack-final-indicator" value="Y" />
- <parameter name="error-code" value="200" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
+ <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-assign-sync' mode='sync' ></call>
</outcome>
<outcome value='false'>
- <block atomic="true">
- <switch test='`$service-data.vnfs.vnf_length`'>
- <outcome value=''>
- <set>
- <parameter name='vnf-index' value='0' />
- </set>
- </outcome>
- <outcome value='Other'>
- <block atomic='true'>
- <set>
- <parameter name='vnf-index' value='`$service-data.vnfs.vnf_length`' />
- </set>
- <for index='idx' start='0' end='`$service-data.vnfs.vnf_length`' >
- <switch test='`$vnf-topology-operation-input.vnf-information.vnf-id == $service-data.vnfs.vnf[$idx].vnf-id`'>
- <outcome value='true'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'VNF id ' + $service-data.vnfs.vnf[$idx].vnf-id
- + ' already exists'`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </switch>
- </for>
- </block>
- </outcome>
- </switch>
- <set>
- <parameter name='service-data.vnfs.vnf_length' value='`$vnf-index + 1`' />
- </set>
- <set>
- <parameter name='tmp.vnf-network-collection_length' value='0' />
- </set>
- <for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >
- <block atomic="true">
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="instance-group"
- key="instance-group.id = $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id"
- pfx='aai.instance-group' local-only='false' >
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'Cannot find instance group id ' +
- $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id
- + ' in AAI'`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error retrieving instance-group from AAI" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </get-resource>
- <for index='rel-index' start='0' end='`$aai.instance-group.relationship-list.relationship_length`' >
- <switch test='`$aai.instance-group.relationship-list.relationship[$rel-index].related-to`'>
- <outcome value='collection'>
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="collection"
- key="collection.collection-id = $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value"
- pfx='aai.collection' local-only='false' >
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'Unable to find AAI relationship from collection '
- + $aai.instance-group.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value
- + ' to service instance'`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'Failed to get network service instance '
- + $network-service-instance + ' from MD-SAL'`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='success'>
- <block atomic="true">
- <set>
- <parameter name='found-network-instance-group' value='false' />
- </set>
- <for silentFailure='true' index='nig-index' start='0' end='`$service-data.network-instance-groups.network-instance-group_length`' >
- <switch test='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id
- == $service-data.network-instance-groups.network-instance-group[$nig-index].network-instance-group-id`'>
- <outcome value='true'>
- <block>
- <set>
- <parameter name='found-network-instance-group' value='true' />
- </set>
- <break/>
- </block>
- </outcome>
- </switch>
- </for>
- <switch test='`$found-network-instance-group`'>
- <outcome value='false'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'Could not find network instance group ' +
- $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id
- + ' in MD-SAL service instance '
- + $network-service-instance`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </switch>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-function'
- value='`$aai.instance-group.instance-group-function`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-instance-group-id'
- value='`$aai.instance-group.id`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-service-instance-id'
- value='`$service-data.network-instance-groups.network-instance-group[$nig-index].service-instance-id`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection[$tmp.vnf-network-collection_length].network-collection-customization-uuid'
- value='`$aai.collection.collection-customization-id`' />
- </set>
- <set>
- <parameter name='tmp.vnf-network-collection_length' value='`$tmp.vnf-network-collection_length + 1`' />
- </set>
- </block>
- </outcome>
- </get-resource>
- </outcome>
- </switch>
- </for>
- </block>
- </for>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-network-collections.vnf-network-collection_length'
- value='`$tmp.vnf-network-collection_length`' />
- </set>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id'
- value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-type'
- value='`$vnf-topology-operation-input.vnf-information.vnf-type`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-type'
- value='`$db.vf-model.nf-type`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role'
- value='`$db.vf-model.nf-role`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-function'
- value='`$db.vf-model.nf-function`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-code'
- value='`$db.vf-model.nf-code`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.tenant'
- value='`$vnf-topology-operation-input.vnf-request-input.tenant`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-cloud-region'
- value='`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`' />
- </set>
- <switch test='`$vnf-topology-operation-input.vnf-information.vnf-name`'>
- <outcome value=''>
- <block atomic="true">
- <switch test='`$db.vf-model.ecomp-generated-naming`'>
- <outcome value='Y'>
- <block></block>
- </outcome>
- <outcome value='N'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="No vnf-name was received but ecomp-generated-naming is not Y" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='Other'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="No vnf-name was received but ecomp-generated-naming is not Y" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </switch>
- <switch test='`$db.vf-model.naming-policy`'>
- <outcome value=''>
- <block atomic="true">
- <set>
- <parameter name='generate-unique-name-input.action' value='ASSIGN' />
- <parameter name='generate-unique-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='generate-unique-name-input.index-table-name' value='VNF_NAME_INDEX' />
- <parameter name='generate-unique-name-input.index-table-prefix-column' value='vnf_name_prefix' />
- <parameter name='generate-unique-name-input.name-table-type' value='VNF_INSTANCE' />
- <parameter name='generate-unique-name-input.prefix' value="`'z' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region + $db.vf-model.nf-code`" />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='generate-unique-name' mode='sync' >
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`$generate-unique-name-output.error-message`" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='success'>
- <set>
- <parameter name='tmp.vnf-name' value='`$generate-unique-name-output.generated-name`' />
- </set>
- </outcome>
- </call>
- </block>
- </outcome>
- <outcome value='Other'>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.policy-instance-name' value='`$db.vf-model.naming-policy`' />
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='ASSIGN' />
- <parameter name='naming-policy-generate-name-input.query-parameter' value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' >
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Unable to generate VNF name" />
- </set>
- <block atomic='true'>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='success'>
- <set>
- <parameter name='tmp.vnf-name' value='`$naming-policy-generate-name-output.vnf-name`' />
- </set>
- </outcome>
- </call>
- </block>
- </outcome>
- </switch>
- </block>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='tmp.vnf-name' value="`$vnf-topology-operation-input.vnf-information.vnf-name`" />
- </set>
- </outcome>
- </switch>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-id'
- value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- </set>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name'
- value='`$tmp.vnf-name`' />
- </set>
- <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`'>
- <outcome value=''>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'
- value='`$db.vf-model.invariant-uuid`' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid'
- value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`' />
- </set>
- </outcome>
- </switch>
- <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`'>
- <outcome value=''>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'
- value='`$db.vf-model.uuid`' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid'
- value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`' />
- </set>
- </outcome>
- </switch>
- <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`'>
- <outcome value=''>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'
- value='`$db.vf-model.version`' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-version'
- value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-version`' />
- </set>
- </outcome>
- </switch>
- <switch test='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`'>
- <outcome value=''>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'
- value='`$db.vf-model.name`' />
- </set>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-name'
- value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-name`' />
- </set>
- </outcome>
- </switch>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid'
- value='`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`' />
- </set>
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="cloud-region"
- key="cloud-region.cloud-owner = $prop.cloud-region.cloud-owner AND
- cloud-region.cloud-region-id = $vnf-topology-operation-input.vnf-request-input.aic-cloud-region AND
- depth='all'"
- pfx='aai.cloud-region' local-only='false' >
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Cloud region not found in AAI" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error retrieving cloud region from AAI" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </get-resource>
- <for index='idx' start='0' end='`$aai.cloud-region.relationship-list.relationship_length`' >
- <switch test='`$aai.cloud-region.relationship-list.relationship[$idx].related-to`'>
- <outcome value='complex'>
- <block atomic="true">
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split'>
- <parameter name='ctx_memory_result_key' value='aai-uid-split' />
- <parameter name='original_string' value='`$aai.cloud-region.relationship-list.relationship[$idx].related-link`' />
- <parameter name='regex' value='/' />
- </execute>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli'
- value='`$aai-uid-split[$aai-uid-split_length - 1]`' />
- </set>
- <break/>
- </block>
- </outcome>
- </switch>
- </for>
- <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.aic-clli`'>
- <outcome value=''>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'Unable to find aic-clli in AAI for aic-cloud-region ' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </switch>
- <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
- key='SELECT * from VF_TO_NETWORK_ROLE_MAPPING WHERE vf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid'
- pfx='db.vf-network-role-mapping[]'>
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error reading VF_TO_NETWORK_ROLE_MAPPING table" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <set>
- <parameter name='db.vf-network-role-mapping_length' value='0' />
- </set>
- </outcome>
- </get-resource>
- <set>
- <parameter name='network-index' value='0' />
- </set>
- <for silentFailure='true' index='role-index' start='0' end='`$db.vf-network-role-mapping_length`'>
- <switch test='`$db.vf-network-role-mapping[$role-index].network-role`'>
- <outcome value=''>
- <block></block>
- </outcome>
- <outcome value='null'>
- <block></block>
- </outcome>
- <outcome value='NULL'>
- <block></block>
- </outcome>
- <outcome value='Other'>
- <block atomic="true">
- <set>
- <parameter name='aai.l3-network.' value='' />
- </set>
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-networks"
- key="l3-network.network-role = $db.vf-network-role-mapping[$role-index].network-role"
- pfx='aai.l3-network' local-only='false'
->
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'Unable to find l3-network in AAI for network role ' + $db.vf-network-role-mapping[$role-index].network-role`" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error retrieving l3-network from AAI" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </get-resource>
- <set>
- <parameter name='l3-network-id' value='-1' />
- </set>
- <block>
- <set>
- <parameter name='found-network' value='false' />
- </set>
- <for index='db-network-index' start='0' end='`$aai.l3-network.l3-network_length`' >
- <block atomic="true">
- <switch test='`$aai.l3-network.l3-network[$db-network-index].orchestration-status`'>
- <outcome value='PendingCreate'>
- <block></block>
- </outcome>
- <outcome value='Pending Create'>
- <block></block>
- </outcome>
- <outcome value='PendingDelete'>
- <block></block>
- </outcome>
- <outcome value='Pending Delete'>
- <block></block>
- </outcome>
- <outcome value='Other'>
- <for silentFailure='true' index='db-rel-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship_length`' >
- <block atomic="true">
- <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].related-to`'>
- <outcome value='service-instance'>
- <for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >
- <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>
- <outcome value='service-instance.service-instance-id'>
- <set>
- <parameter name='network-service-instance-id'
- value='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value`' />
- </set>
- </outcome>
- </switch>
- </for>
- </outcome>
- <outcome value='cloud-region'>
- <for silentFailure='true' index='db-data-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data_length`' >
- <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-key`'>
- <outcome value='cloud-region.cloud-region-id'>
- <switch test='`$aai.l3-network.l3-network[$db-network-index].relationship-list.relationship[$db-rel-index].relationship-data[$db-data-index].relationship-value == $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`'>
- <outcome value='true'>
- <block atomic="true">
- <set>
- <parameter name='l3-network-id' value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />
- </set>
- <set>
- <parameter name='found-network' value='true' />
- </set>
- <break/>
- </block>
- </outcome>
- </switch>
- </outcome>
- </switch>
- </for>
- </outcome>
- </switch>
- <switch test='`$found-network`'>
- <outcome value='true'>
- <break/>
- </outcome>
- </switch>
- </block>
- </for>
- </outcome>
- </switch>
- <switch test='`$found-network`'>
- <outcome value='true'>
- <break/>
- </outcome>
- </switch>
- </block>
- </for>
- </block>
- <switch test='`$l3-network-id`'>
- <outcome value='-1'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'Unable to find l3-network in AAI for network role ' + $db.vf-network-role-mapping[$role-index].network-role`" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </switch>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-role'
- value='`$db.vf-network-role-mapping[$role-index].network-role`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-name'
- value='`$aai.l3-network.l3-network[$db-network-index].network-name`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].neutron-id'
- value='`$aai.l3-network.l3-network[$db-network-index].neutron-network-id`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].network-id'
- value='`$aai.l3-network.l3-network[$db-network-index].network-id`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].contrail-network-fqdn'
- value='`$aai.l3-network.l3-network[$db-network-index].contrail-network-fqdn`' />
- </set>
- <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`'>
- <outcome value=''>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'
- value='0' />
- </set>
- </outcome>
- <outcome value='0'>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'
- value='0' />
- </set>
- </outcome>
- <outcome value='Other'>
- <block>
- <for index='subnet-index' start='0' end='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`' >
- <block>
- <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`'>
- <outcome value=''>
- <set>
- <parameter name='aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role' value='NONE' />
- </set>
- </outcome>
- </switch>
- <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].ip-version`'>
- <outcome value='4'>
- <set>
- <parameter name='tmp.ip-version' value='ipv4' />
- </set>
- </outcome>
- <outcome value='6'>
- <set>
- <parameter name='tmp.ip-version' value='ipv6' />
- </set>
- </outcome>
- </switch>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].ip-version'
- value='`$tmp.ip-version`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-id'
- value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].neutron-subnet-id`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].sdnc-subnet-id'
- value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-id`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-role'
- value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-role`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].subnet-name'
- value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].subnet-name`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].network-start-address'
- value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].network-start-address`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].gateway-address'
- value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].gateway-address`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].cidr-mask'
- value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].cidr-mask`' />
- </set>
- <switch test='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet[$subnet-index].dhcp-enabled`'>
- <outcome value='true'>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'
- value='Y' />
- </set>
- </outcome>
- <outcome value='false'>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data[$subnet-index].dhcp-enabled'
- value='N' />
- </set>
- </outcome>
- </switch>
- </block>
- </for>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].subnets-data.subnet-data_length'
- value='`$aai.l3-network.l3-network[$db-network-index].subnets.subnet_length`' />
- </set>
- </block>
- </outcome>
- </switch>
- <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
- key='SELECT * from VNF_RELATED_NETWORK_ROLE where vnf_customization_uuid = $vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid
- and network_role = $db.vf-network-role-mapping[$role-index].network-role'
- pfx='db.vnf-related-network-role[]'>
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error reading VNF_RELATED_NETWORK_ROLE table" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='success'>
- <block atomic="true">
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$prop.restapi.network-topology-identifier-structure`"/>
- <parameter name="outputPath" value="tmp.part"/>
- <parameter name="target" value="{service-instance-id}"/>
- <parameter name="replacement" value="`$network-service-instance-id`"/>
- </execute>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$tmp.part`"/>
- <parameter name="outputPath" value="tmp.ntis-url"/>
- <parameter name="target" value="{network-id}"/>
- <parameter name="replacement" value="`$l3-network-id`"/>
- </execute>
- <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
- <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ntis-url`' />
- <parameter name='restapiUser' value='`$prop.controller.user`' />
- <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
- <parameter name='format' value='json' />
- <parameter name='httpMethod' value='GET' />
- <parameter name="responsePrefix" value="mdsal-ntis" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`
- 'Error retrieving network-topology-identifier-structure for service instance '
- + $network-service-instance-id
- + ' and network-id '
- + $l3-network-id`" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </execute>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].is-trunked'
- value='`$mdsal-ntis.network-topology-identifier-structure.is-trunked`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].segmentation-id'
- value='`$mdsal-ntis.network-topology-identifier-structure.segmentation-id`' />
- </set>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="custom-query"
- key="format = 'resource'"
- force="true"
- local-only="false"
- pfx="tmp.AnAI-data.oe">
- <parameter name="start[0]" value="`'nodes/service-instances/service-instance?service-instance-id=' + $network-service-instance-id `" />
- <parameter name="start_length" value="1" />
- <parameter name="query" value="/query/owning-entity-fromService-instance" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error getting owning entity from service instance" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Unable to find owning entity from service instance" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- <set>
- <parameter name='rn-index' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network_length`' />
- </set>
- <switch test='`$rn-index`'>
- <outcome value=''>
- <set>
- <parameter name='rn-index' value='0' />
- </set>
- </outcome>
- </switch>
- <for index='rel-network-role-index' start='0' end='`$db.vnf-related-network-role_length`' >
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="custom-query"
- key="format = 'resource'"
- force="true"
- local-only="false"
- pfx="tmp.AnAI-data.get-networks">
- <parameter name="start[0]" value="`'/business/owning-entities/owning-entity/' + $tmp.AnAI-data.oe.results[0].owning-entity.owning-entity-id `" />
- <parameter name="start_length" value="1" />
- <parameter name="query" value="`'/query/getNetworks?networkRole=' + $db.vnf-related-network-role[$rel-network-role-index].related-network-role
- + '&cloudRegionId=' + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error calling getNetworks custom query in AAI" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'No l3-network returned from getNetworks custom query for related network role '
- + $db.vnf-related-network-role[0].related-network-role`" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].network-id'
- value='`$tmp.AnAI-data.get-networks.results[0].l3-network.network-id`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].network-role'
- value='`$tmp.AnAI-data.get-networks.results[0].l3-network.network-role`' />
- </set>
- <for index='rel-index' start='0' end='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship_length`' >
- <switch test='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship[$rel-index].related-to`'>
- <outcome value='vlan-tag'>
- <block atomic="true">
- <set>
- <parameter name='vlan-tag-id' value='`$tmp.AnAI-data.get-networks.results[0].l3-network.relationship-list.relationship[$rel-index].relationship-data[0].relationship-value`' />
- </set>
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vlan-tag"
- key="vlan-tag.vlan-tag-id = $vlan-tag-id"
- pfx='aai.vlan-tag' local-only='false'
->
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error getting vlan-tag object from AAI" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='success'>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.vlan-interface'
- value='`$aai.vlan-tag.vlan-tag-id`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.upper-tag-id'
- value='`$aai.vlan-tag.vlan-id-outer`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.lower-tag-id'
- value='`$aai.vlan-tag.vlan-id-inner`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network[$rn-index].vlan-tags.is-private'
- value='`$aai.vlan-tag.is-private`' />
- </set>
- </outcome>
- </get-resource>
- <break/>
- </block>
- </outcome>
- </switch>
- </for>
- </block>
- </for>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$network-index].related-networks.related-network_length'
- value='`$rn-index + 1`' />
- </set>
- </block>
- </outcome>
- </get-resource>
- <set>
- <parameter name='network-index' value='`$network-index + 1`' />
- </set>
- </block>
- </outcome>
- </switch>
- </for>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
- <parameter name='filename' value='/var/tmp/bgb-vnfa.log' />
- </execute>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length'
- value='`$network-index`' />
- </set>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.'
- value='vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.' />
- </set>
- <switch test='`$aai.cloud-region.availability-zones.availability-zone_length`'>
- <outcome value=''>
- <switch test='`$db.vf-model.avail-zone-max-count > 0`'>
- <outcome value='true'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'No availability zones found in AAI for cloud region '
- + $vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='false'>
- <set>
- <parameter name='aai.cloud-region.availability-zones.availability-zone_length' value='0' />
- </set>
- </outcome>
- </switch>
- </outcome>
- </switch>
- <for index='idx' start='0' end='`$aai.cloud-region.availability-zones.availability-zone_length`' >
- <block atomic="true">
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone[$idx]'
- value='`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`' />
- </set>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="generic-vnf:relationship-list"
- key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="availability-zone" />
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="cloud-region.cloud-owner" />
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.cloud-region.cloud-owner`" />
- <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-key" value="cloud-region.cloud-region-id" />
- <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-value" value="`$vnf-topology-operation-input.vnf-request-input.aic-cloud-region`" />
- <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-key" value="availability-zone.availability-zone-name" />
- <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-value" value="`$aai.cloud-region.availability-zones.availability-zone[$idx].availability-zone-name`" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error updating generic-vnf in AAI" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- </block>
- </for>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.max-count'
- value='`$db.vf-model.avail-zone-max-count`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.availability-zones.availability-zone_length'
- value='`$aai.cloud-region.availability-zones.availability-zone_length`' />
- </set>
- <for index='vnf-nw-index' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network_length`' >
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="generic-vnf:relationship-list"
- key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-id"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="l3-network.network-id" />
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-resource-assignments.vnf-networks.vnf-network[$vnf-nw-index].network-id`" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error updating generic-vnf in AAI" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- </block>
- </for>
- <set>
- <parameter name='vnf-object-path'
- value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
- + $vnf-topology-operation-input.service-information.service-instance-id
- + '/service-data/vnfs/vnf/'
- + $service-data.vnfs.vnf[$vnf-index].vnf-id
- + '/vnf-data/vnf-topology/'`"/>
- <parameter name='service-object-path'
- value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
- + $vnf-topology-operation-input.service-information.service-instance-id
- + '/service-data/service-topology/'`"/>
- </set>
- <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="generic-vnf"
- key="generic-vnf.vnf-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-id"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="vnf-name" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.vnf-name`" />
- <parameter name="prov-status" value="PREPROV" />
- <!-- <parameter name="operational-status" value="out-of-service-path" /> -->
- <parameter name="equipment-role" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-topology-identifier-structure.nf-role`" />
- <parameter name="model-invariant-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-invariant-uuid`" />
- <parameter name="model-version-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-uuid`" />
- <parameter name="model-customization-id" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.onap-model-information.model-customization-uuid`" />
- <parameter name="in-maint" value="true" />
- <parameter name="selflink" value="`$vnf-object-path`" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error updating selflink in generic-vnf in AAI" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </update>
- <for silentFailure='true' index='inst-group-index' start='0' end='`$vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids_length`' >
- <block atomic="true">
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="generic-vnf:relationship-list"
- key="generic-vnf.vnf-id = $vnf-topology-operation-input.vnf-information.vnf-id"
- force="true" pfx="tmp.AnAI-data">
- <parameter name="relationship-list.relationship[0].related-to" value="instance-group" />
- <parameter name="relationship-list.relationship[0].related-link"
- value="`'/aai/v$/network/instance-groups/instance-group/'
- + $vnf-topology-operation-input.vnf-request-input.vnf-network-instance-group-ids[$inst-group-index].vnf-network-instance-group-id`" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error updating relationship in generic-vnf in AAI" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="`'No generic-vnf found in AAI for vnf ID ' + $service-data.vnfs.vnf[$vnf-index].vnf-id`" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </save>
- </block>
- </for>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.sdnc-request-header.' value='$vnf-topology-operation-input.sdnc-request-header.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.request-information.' value='$vnf-topology-operation-input.request-information.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.service-information.' value='$vnf-topology-operation-input.service-information.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-information.' value='$vnf-topology-operation-input.vnf-information.' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-request-input.' value='$vnf-topology-operation-input.vnf-request-input.' />
- </set>
- <set>
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.order-status' value='PendingCreate' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-rpc-action' value='`$vnf-topology-operation-input.sdnc-request-header.svc-action`' />
- <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-level-oper-status.last-action' value='`$vnf-topology-operation-input.request-information.request-action`' />
- </set>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$prop.restapi.vnf-assign`"/>
- <parameter name="outputPath" value="tmp.part"/>
- <parameter name="target" value="{service-instance-id}"/>
- <parameter name="replacement" value="`$service-data.service-topology.service-topology-identifier.service-instance-id`"/>
- </execute>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$tmp.part`"/>
- <parameter name="outputPath" value="tmp.vnf.url"/>
- <parameter name="target" value="{vnf-id}"/>
- <parameter name="replacement" value="`$service-data.vnfs.vnf[$vnf-index].vnf-id`"/>
- </execute>
- <set>
- <parameter name='vnf-data.' value='service-data.vnfs.vnf[$vnf-index].vnf-data.' />
- </set>
- <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
- <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + 'vnf-data-assign.json'`" />
- <parameter name='restapiUrl' value="`$prop.controller.url + $tmp.vnf.url`" />
- <parameter name='restapiUser' value='`$prop.controller.user`' />
- <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
- <parameter name='format' value='json' />
- <parameter name='httpMethod' value='PUT' />
- <parameter name="responsePrefix" value="vnf-assign" />
- <outcome value='failure'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error doing PUT of vnf-data" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- <outcome value='not-found'>
- <block atomic="true">
- <set>
- <parameter name="error-message" value="Error doing PUT of vnf-data" />
- </set>
- <block atomic="true">
- <set>
- <parameter name='naming-policy-generate-name-input.naming-type' value='VNF' />
- <parameter name='naming-policy-generate-name-input.context-id' value='`$vnf-topology-operation-input.vnf-information.vnf-id`' />
- <parameter name='naming-policy-generate-name-input.action' value='DELETE' />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='naming-policy-generate-name' mode='sync' ></call>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </block>
- </outcome>
- </execute>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >
- <parameter name='filename' value='/var/tmp/bgb-vnf.log' />
- </execute>
- <set>
- <parameter name="so.response-code" value="200" />
- </set>
- <call module='GENERIC-RESOURCE-API' rpc='send-so-response' mode='sync' ></call>
- <return status='success'>
- <parameter name="ack-final-indicator" value="Y" />
- <parameter name="error-code" value="200" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
+ <switch test='$vnf-topology-operation-input.sdnc-request-header.svc-notification-url) == $prop.so.ignore-url'>
+ <outcome value='true'>
+ <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-assign-sync' mode='sync' ></call>
+ </outcome>
+ <outcome value='false'>
+ <call module='GENERIC-RESOURCE-API' rpc='vnf-topology-operation-assign-async' mode='sync' ></call>
+ </outcome>
+ </switch>
</outcome>
</switch>
</block>
|