diff options
author | Rahul_cool <rahul.tamrkar@huawei.com> | 2020-04-03 17:44:54 +0530 |
---|---|---|
committer | Rahul_cool <rahul.tamrkar@huawei.com> | 2020-04-03 20:33:58 +0530 |
commit | 36b54b31d97fd230a18aefe0af76cbdefd95a89d (patch) | |
tree | 62d6032140b8f776a5c141c404d3109375ffb5a0 /platform-logic/generic-resource-api/src/main/xml | |
parent | deb729cf3099ad58cb8c243101c37904da4fe349 (diff) |
Bug fixed related to service-instance metadat
Issue-ID: SDNC-1021
Signed-off-by: Rahul_cool <rahul.tamrkar@huawei.com>
Change-Id: I5a48fd7e119ba4a4c32daa33785e637521315838
Former-commit-id: 5a25099f4388a07809b5f5501cbf14035f860d78
Diffstat (limited to 'platform-logic/generic-resource-api/src/main/xml')
5 files changed, 458 insertions, 327 deletions
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_bbs-access-connectivity-vnf-topology-operation-create-huawei.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_bbs-access-connectivity-vnf-topology-operation-create-huawei.xml index 3f30d506..2ba58354 100644 --- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_bbs-access-connectivity-vnf-topology-operation-create-huawei.xml +++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_bbs-access-connectivity-vnf-topology-operation-create-huawei.xml @@ -1,276 +1,288 @@ -<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='bbs-access-connectivity-vnf-topology-operation-create-huawei' mode='sync'>
- <block atomic="true">
- <call module='GENERIC-RESOURCE-API' rpc='validate-bbs-vnf-input-parameters' mode='sync' ></call>
- <set>
- <parameter name='vnf-input-parameters.' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.`' />
- <parameter name='prop.sdncRestApi.thirdpartySdnc.url' value='https://172.30.0.55:26335' />
- <parameter name='prop.bbs.HsiPackage' value='50M' />
- <parameter name='prop.bbs.HsiType' value='IPoE' />
- </set>
- <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>
- <for index='idx' start='0' end='`$vnf-input-parameters.param_length`' >
- <block>
- <switch test="`$vnf-input-parameters.param[$idx].name == 'remote_id'`">
- <outcome value='true'>
- <switch test='`$vnf-input-parameters.param[$idx].value`'>
- <outcome value=''>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$vnf-input-parameters.param[$idx].name +' value is null, please check it.'`" />
- </return>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='prop.bbs.remote_id' value='`$vnf-input-parameters.param[$idx].value`' />
- </set>
- </outcome>
- </switch>
- </outcome>
- </switch>
- <switch test="`$vnf-input-parameters.param[$idx].name == 'ONTSN'`">
- <outcome value='true'>
- <switch test='`$vnf-input-parameters.param[$idx].value`'>
- <outcome value=''>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$vnf-input-parameters.param[$idx].name +' value is null, please check it.'`" />
- </return>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='prop.bbs.ONTSN' value='`$vnf-input-parameters.param[$idx].value`' />
- </set>
- </outcome>
- </switch>
- </outcome>
- </switch>
- <switch test="`$vnf-input-parameters.param[$idx].name == 'CVLAN'`">
- <outcome value='true'>
- <switch test='`$vnf-input-parameters.param[$idx].value`'>
- <outcome value=''>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$vnf-input-parameters.param[$idx].name +' value is null, please check it.'`" />
- </return>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='prop.bbs.CVLAN' value='`$vnf-input-parameters.param[$idx].value`' />
- </set>
- </outcome>
- </switch>
- </outcome>
- </switch>
- <switch test="`$vnf-input-parameters.param[$idx].name == 'SVLAN'`">
- <outcome value='true'>
- <switch test='`$vnf-input-parameters.param[$idx].value`'>
- <outcome value=''>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`$vnf-input-parameters.param[$idx].name +' value is null, please check it.'`" />
- </return>
- </outcome>
- <outcome value='Other'>
- <set>
- <parameter name='prop.bbs.SVLAN' value='`$vnf-input-parameters.param[$idx].value`' />
- </set>
- </outcome>
- </switch>
- </outcome>
- </switch>
- </block>
- </for>
- <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
- <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/bbs-token-template.json'`"/>
- <parameter name="restapiUrl" value="`'http://159.138.58.209:30335/rest/plat/smapp/v1/oauth/token'`"/>
- <parameter name="format" value="json"/>
- <parameter name="httpMethod" value="put"/>
- <parameter name="responsePrefix" value="token-result"/>
- <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>
- <parameter name="trustStorePassword" value="adminadmin"/>
- <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
- <parameter name="keyStorePassword" value="adminadmin"/>
- <!--<parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url+'/rest/plat/smapp/v1/oauth/token'`"/>-->
- <outcome value='success'>
- <switch test='`$token-result.accessSession`'>
- <outcome value='Other'>
- <set>
- <parameter name='prop.sdncRestApi.token_id' value='`$token-result.accessSession`' />
- </set>
- </outcome>
- <outcome value=''>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error executing queryTokenID,vaule is null" />
- </return>
- </outcome>
- </switch>
- </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 failed to call queryTokenID" />
- </return>
- </outcome>
- </execute>
- <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
- <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/bbs-access-connectivity-create.json'`" />
- <parameter name="restapiUrl" value="`'http://159.138.58.209:30335/ws/rest/1002/FanOpenAPI/ActiveOnt'`" />
- <parameter name="contentType" value="application/json"/>
- <parameter name="httpMethod" value="post"/>
- <parameter name="responsePrefix" value="service-result"/>
- <parameter name="customHttpHeaders" value="`'X-Auth-Token=' + $prop.sdncRestApi.token_id`"/>
- <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/>
- <parameter name="trustStorePassword" value="adminadmin"/>
- <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
- <parameter name="keyStorePassword" value="adminadmin"/>
- <!--<parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/ws/rest/1002/FanOpenAPI/ActiveOnt'`" />-->
- <outcome value='failure'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error failed to call createAccessConnectivityService" />
- </return>
- </outcome>
- <outcome value='success'>
- <switch test="`$service-result.errors.error[0].error-message`">
- <outcome value='Other'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Error createAccessConnectivityService return: '+$service-result.errors.error[0].error-message`" />
- </return>
- </outcome>
- <outcome value=''>
- <block>
- <set>
- <parameter name='prop.bbs.serviceID' value="`$service-result.accessE2Eservice.serviceID`"/>
- </set>
- </block>
- </outcome>
- </switch>
- </outcome>
- </execute>
- <block>
- <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID">
- <parameter name="ctx-destination" value="prop.random-data"/>
- <outcome value='success'>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >
- <parameter name="ctx_memory_result_key" value="prop.random-data-list"/>
- <parameter name="original_string" value="`$prop.random-data`"/>
- <parameter name="regex" value="-"/>
- <outcome value='success'></outcome>
- </execute>
- </outcome>
- </execute>
- <set>
- <parameter name='vnf-id' value="`$prop.random-data-list[3]`"/>
- <parameter name='vnf-name' value="`'vnf-'+$prop.random-data-list[4]`"/>
- </set>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="generic-vnf" key="generic-vnf.vnf-id = $vnf-id" >
- <parameter name= "vnf-id" value = "`$vnf-id`"/>
- <parameter name= "vnf-name" value = "`$vnf-name`"/>
- <parameter name= "vnf-type" value = "AccessConnectivity"/>
- <parameter name= "service-id" value = "`$vnf-topology-operation-input.service-information.service-id`"/>
- <parameter name= "prov-status" value = "ACTIVE"/>
- <parameter name= "orchestration-status" value = "Active"/>
- <parameter name= "is-closed-loop-disabled" value = "false" />
- <parameter name= "model-invariant-id" value = "`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`"/>
- <parameter name= "model-version-id" value = "`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`"/>
- <parameter name= "model-customization-id" value = "`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`"/>
- <outcome value='failure'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Failure calling AAI to save generic-vnf" />
- </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="generic-vnf instance does not exist in AAI" />
- </return>
- </outcome>
- <outcome value='success'></outcome>
- </save>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="service-instance:metadata"
- key="service-instance.service-instance-id = $vnf-topology-operation-input.service-information.service-id
- AND customer.global-customer-id = $vnf-topology-operation-input.service-information.global-customer-id
- AND service-subscription.service-type = $vnf-topology-operation-input.service-information.subscription-service-type
- AND service-instance.service-instance-id = $vnf-topology-operation-input.service-information.service-instance-id" force="true" pfx="tmp.AnAI-data"
- >
- <parameter name="metadata.metadatum[0].metaname" value="remote-id" />
- <parameter name="metadata.metadatum[0].metaval" value="`$prop.bbs.remote_id`" />
- <parameter name="metadata.metadatum[1].metaname" value="controller-service-id" />
- <parameter name="metadata.metadatum[1].metaval" value="`$prop.bbs.serviceID`" />
- <parameter name="metadata.metadatum[2].metaname" value="cvlan" />
- <parameter name="metadata.metadatum[2].metaval" value="`$prop.bbs.CVLAN`" />
- <parameter name="metadata.metadatum[3].metaname" value="svlan" />
- <parameter name="metadata.metadatum[3].metaval" value="`$prop.bbs.SVLAN`" />
- <parameter name="metadata.metadatum[4].metaname" value="expected-ont-id" />
- <parameter name="metadata.metadatum[4].metaval" value="`$prop.bbs.ONTSN`" />
- <!--<parameter name="metadata.metadatum[5].metaname" value="rgw-mac-address" />-->
- <!--<parameter name="metadata.metadatum[5].metaval" value="`$prop.bbs.mac`" />-->
- <outcome value='failure'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Failure calling AAI to save metadatum" />
- </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="metadatum instance does not exist in AAI" />
- </return>
- </outcome>
- <outcome value='success'></outcome>
- </save>
- <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="service-instance:relationship-list"
- key="service-instance.service-instance-id = $vnf-topology-operation-input.service-information.service-id
- AND customer.global-customer-id = $vnf-topology-operation-input.service-information.global-customer-id
- AND service-subscription.service-type = $vnf-topology-operation-input.service-information.subscription-service-type
- AND service-instance.service-instance-id = $vnf-topology-operation-input.service-information.service-instance-id" 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="`'/network/generic-vnfs/generic-vnf/' + $vnf-id`" />
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="generic-vnf.vnf-id" />
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$vnf-id`" />
- <outcome value='failure'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Failure calling AAI to save metadatum" />
- </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="metadatum instance does not exist in AAI" />
- </return>
- </outcome>
- <outcome value='success'></outcome>
- </save>
- </block>
- <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>
- </method>
+<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='bbs-access-connectivity-vnf-topology-operation-create-huawei' mode='sync'> + <block atomic="true"> + <call module='GENERIC-RESOURCE-API' rpc='validate-bbs-vnf-input-parameters' mode='sync' ></call> + <set> + <parameter name='vnf-input-parameters.' value='`$vnf-topology-operation-input.vnf-request-input.vnf-input-parameters.`' /> + <parameter name='prop.sdncRestApi.thirdpartySdnc.url' value='https://172.30.0.55:26335' /> + <parameter name='prop.bbs.HsiPackage' value='50M' /> + <parameter name='prop.bbs.HsiType' value='IPoE' /> + </set> + <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> + <for index='idx' start='0' end='`$vnf-input-parameters.param_length`' > + <block> + <switch test="`$vnf-input-parameters.param[$idx].name == 'remote_id'`"> + <outcome value='true'> + <switch test='`$vnf-input-parameters.param[$idx].value`'> + <outcome value=''> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="`$vnf-input-parameters.param[$idx].name +' value is null, please check it.'`" /> + </return> + </outcome> + <outcome value='Other'> + <set> + <parameter name='prop.bbs.remote_id' value='`$vnf-input-parameters.param[$idx].value`' /> + </set> + </outcome> + </switch> + </outcome> + </switch> + <switch test="`$vnf-input-parameters.param[$idx].name == 'ONTSN'`"> + <outcome value='true'> + <switch test='`$vnf-input-parameters.param[$idx].value`'> + <outcome value=''> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="`$vnf-input-parameters.param[$idx].name +' value is null, please check it.'`" /> + </return> + </outcome> + <outcome value='Other'> + <set> + <parameter name='prop.bbs.ONTSN' value='`$vnf-input-parameters.param[$idx].value`' /> + </set> + </outcome> + </switch> + </outcome> + </switch> + <switch test="`$vnf-input-parameters.param[$idx].name == 'CVLAN'`"> + <outcome value='true'> + <switch test='`$vnf-input-parameters.param[$idx].value`'> + <outcome value=''> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="`$vnf-input-parameters.param[$idx].name +' value is null, please check it.'`" /> + </return> + </outcome> + <outcome value='Other'> + <set> + <parameter name='prop.bbs.CVLAN' value='`$vnf-input-parameters.param[$idx].value`' /> + </set> + </outcome> + </switch> + </outcome> + </switch> + <switch test="`$vnf-input-parameters.param[$idx].name == 'SVLAN'`"> + <outcome value='true'> + <switch test='`$vnf-input-parameters.param[$idx].value`'> + <outcome value=''> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="`$vnf-input-parameters.param[$idx].name +' value is null, please check it.'`" /> + </return> + </outcome> + <outcome value='Other'> + <set> + <parameter name='prop.bbs.SVLAN' value='`$vnf-input-parameters.param[$idx].value`' /> + </set> + </outcome> + </switch> + </outcome> + </switch> + </block> + </for> + <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest"> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/bbs-token-template.json'`"/> + <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url+'/rest/plat/smapp/v1/oauth/token'`"/> + <parameter name="format" value="json"/> + <parameter name="httpMethod" value="put"/> + <parameter name="responsePrefix" value="token-result"/> + <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/> + <parameter name="trustStorePassword" value="adminadmin"/> + <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/> + <parameter name="keyStorePassword" value="adminadmin"/> + <!--<parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url+'/rest/plat/smapp/v1/oauth/token'`"/>--> + <outcome value='success'> + <switch test='`$token-result.accessSession`'> + <outcome value='Other'> + <set> + <parameter name='prop.sdncRestApi.token_id' value='`$token-result.accessSession`' /> + </set> + </outcome> + <outcome value=''> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Error executing queryTokenID,vaule is null" /> + </return> + </outcome> + </switch> + </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 failed to call queryTokenID" /> + </return> + </outcome> + </execute> + <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest"> + <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/bbs-access-connectivity-create.json'`" /> + <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/ws/rest/1002/FanOpenAPI/ActiveOnt'`" /> + <parameter name="contentType" value="application/json"/> + <parameter name="httpMethod" value="post"/> + <parameter name="responsePrefix" value="service-result"/> + <parameter name="customHttpHeaders" value="`'X-Auth-Token=' + $prop.sdncRestApi.token_id`"/> + <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.jks"/> + <parameter name="trustStorePassword" value="adminadmin"/> + <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/> + <parameter name="keyStorePassword" value="adminadmin"/> + <!--<parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/ws/rest/1002/FanOpenAPI/ActiveOnt'`" />--> + <outcome value='failure'> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Error failed to call createAccessConnectivityService" /> + </return> + </outcome> + <outcome value='success'> + <switch test="`$service-result.errors.error[0].error-message`"> + <outcome value='Other'> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="`'Error createAccessConnectivityService return: '+$service-result.errors.error[0].error-message`" /> + </return> + </outcome> + <outcome value=''> + <block> + <set> + <parameter name='prop.bbs.serviceID' value="`$service-result.accessE2Eservice.serviceID`"/> + </set> + </block> + </outcome> + </switch> + </outcome> + </execute> + <block> + <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID"> + <parameter name="ctx-destination" value="prop.random-data"/> + <outcome value='success'> + <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' > + <parameter name="ctx_memory_result_key" value="prop.random-data-list"/> + <parameter name="original_string" value="`$prop.random-data`"/> + <parameter name="regex" value="-"/> + <outcome value='success'></outcome> + </execute> + </outcome> + </execute> + <set> + <parameter name='vnf-id' value="`$prop.random-data-list[3]`"/> + <parameter name='vnf-name' value="`'vnf-'+$prop.random-data-list[4]`"/> + <!--<set>--> + <!--<parameter name='vnf-id' value="123456789"/>--> + <!--<parameter name='vnf-name' value="vnf_name"/>--> + </set> + <record plugin='org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder'> + <parameter name='logger' value='message-log'/> + <parameter name='field1' value='`$vnf-id`'/> + <parameter name='field2' value='`$vnf-name`'/> + <!--<record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">--> + <!-- <parameter name="file" value="/root/logx.txt" />--> + <!-- <parameter name="field1" value="deleteAccessConnectivityService success!" />--> + <!-- <parameter name="field2" value='`$topology.networks.network[0].network-types`' />--> + </record> + <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="generic-vnf" key="generic-vnf.vnf-id = $vnf-id" > + <parameter name= "vnf-id" value = "`$vnf-id`"/> + <parameter name= "vnf-name" value = "`$vnf-name`"/> + <parameter name= "vnf-type" value = "AccessConnectivity"/> + <parameter name= "service-id" value = "`$vnf-topology-operation-input.service-information.service-id`"/> + <parameter name= "prov-status" value = "ACTIVE"/> + <parameter name= "orchestration-status" value = "Active"/> + <parameter name= "is-closed-loop-disabled" value = "false" /> + <parameter name= "model-invariant-id" value = "`$vnf-topology-operation-input.vnf-information.onap-model-information.model-invariant-uuid`"/> + <parameter name= "model-version-id" value = "`$vnf-topology-operation-input.vnf-information.onap-model-information.model-uuid`"/> + <parameter name= "model-customization-id" value = "`$vnf-topology-operation-input.vnf-information.onap-model-information.model-customization-uuid`"/> + <outcome value='failure'> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Failure calling AAI to save generic-vnf" /> + </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="generic-vnf instance does not exist in AAI" /> + </return> + </outcome> + <outcome value='success'></outcome> + </save> + <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="service-instance:metadata" + key="service-instance.service-instance-id = $vnf-topology-operation-input.service-information.service-id + AND customer.global-customer-id = $vnf-topology-operation-input.service-information.global-customer-id + AND service-subscription.service-type = $vnf-topology-operation-input.service-information.subscription-service-type + AND service-instance.service-instance-id = $vnf-topology-operation-input.service-information.service-instance-id" force="true" pfx="tmp.AnAI-data" + > + <parameter name="metadata.metadatum[0].metaname" value="remote-id" /> + <parameter name="metadata.metadatum[0].metaval" value="`$prop.bbs.remote_id`" /> + <parameter name="metadata.metadatum[1].metaname" value="controller-service-id" /> + <parameter name="metadata.metadatum[1].metaval" value="`$prop.bbs.serviceID`" /> + <parameter name="metadata.metadatum[2].metaname" value="cvlan" /> + <parameter name="metadata.metadatum[2].metaval" value="`$prop.bbs.CVLAN`" /> + <parameter name="metadata.metadatum[3].metaname" value="svlan" /> + <parameter name="metadata.metadatum[3].metaval" value="`$prop.bbs.SVLAN`" /> + <parameter name="metadata.metadatum[4].metaname" value="expected-ont-id" /> + <parameter name="metadata.metadatum[4].metaval" value="`$prop.bbs.ONTSN`" /> + <!--<parameter name="metadata.metadatum[5].metaname" value="rgw-mac-address" />--> + <!--<parameter name="metadata.metadatum[5].metaval" value="`$prop.bbs.mac`" />--> + <outcome value='failure'> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Failure calling AAI to save metadatum" /> + </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="metadatum instance does not exist in AAI" /> + </return> + </outcome> + <outcome value='success'></outcome> + </save> + <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="service-instance:relationship-list" + key="service-instance.service-instance-id = $vnf-topology-operation-input.service-information.service-id + AND customer.global-customer-id = $vnf-topology-operation-input.service-information.global-customer-id + AND service-subscription.service-type = $vnf-topology-operation-input.service-information.subscription-service-type + AND service-instance.service-instance-id = $vnf-topology-operation-input.service-information.service-instance-id" 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="`'/network/generic-vnfs/generic-vnf/' + $vnf-id`" /> + <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="generic-vnf.vnf-id" /> + <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$vnf-id`" /> + <outcome value='failure'> + <return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Failure calling AAI to save metadatum" /> + </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="metadatum instance does not exist in AAI" /> + </return> + </outcome> + <outcome value='success'></outcome> + </save> + </block> + <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> + </method> </service-logic>
\ No newline at end of file diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_bbs-access-connectivity-vnf-topology-operation-delete-huawei.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_bbs-access-connectivity-vnf-topology-operation-delete-huawei.xml index 9d50feef..3b983651 100644 --- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_bbs-access-connectivity-vnf-topology-operation-delete-huawei.xml +++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_bbs-access-connectivity-vnf-topology-operation-delete-huawei.xml @@ -142,6 +142,60 @@ </block>
</for>
</for>
+ <for silentFailure='true' index='rix' start='0' end="`$aai.service-instance.metadata.metadatum_length`" >
+ <switch test='`$aai.service-instance.metadata.metadatum[$rix].metaname`'>
+ <outcome value='remote-id'>
+ <block atomic='true'>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="service-instance"
+ key="customer.global-customer-id = $vnf-topology-operation-input.service-information.global-customer-id AND
+ service-subscription.service-type = $vnf-topology-operation-input.service-information.subscription-service-type AND
+ service-instance.service-instance-id = $vnf-topology-operation-input.service-information.service-instance-id AND
+ metadatum.metaname = $aai.service-instance.metadata.metadatum[$rix].metaname" ></delete>
+ </block>
+ </outcome>
+ <outcome value='controller-service-id'>
+ <block atomic='true'>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="service-instance"
+ key="customer.global-customer-id = $vnf-topology-operation-input.service-information.global-customer-id AND
+ service-subscription.service-type = $vnf-topology-operation-input.service-information.subscription-service-type AND
+ service-instance.service-instance-id = $vnf-topology-operation-input.service-information.service-instance-id AND
+ metadatum.metaname = $aai.service-instance.metadata.metadatum[$rix].metaname" ></delete>
+ </block>
+ </outcome>
+ <outcome value='cvlan'>
+ <block atomic='true'>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="service-instance"
+ key="customer.global-customer-id = $vnf-topology-operation-input.service-information.global-customer-id AND
+ service-subscription.service-type = $vnf-topology-operation-input.service-information.subscription-service-type AND
+ service-instance.service-instance-id = $vnf-topology-operation-input.service-information.service-instance-id AND
+ metadatum.metaname = $aai.service-instance.metadata.metadatum[$rix].metaname" ></delete>
+ </block>
+ </outcome>
+ <outcome value='svlan'>
+ <block atomic='true'>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="service-instance"
+ key="customer.global-customer-id = $vnf-topology-operation-input.service-information.global-customer-id AND
+ service-subscription.service-type = $vnf-topology-operation-input.service-information.subscription-service-type AND
+ service-instance.service-instance-id = $vnf-topology-operation-input.service-information.service-instance-id AND
+ metadatum.metaname = $aai.service-instance.metadata.metadatum[$rix].metaname" ></delete>
+ </block>
+ </outcome>
+ <outcome value='expected-ont-id'>
+ <block atomic='true'>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="service-instance"
+ key="customer.global-customer-id = $vnf-topology-operation-input.service-information.global-customer-id AND
+ service-subscription.service-type = $vnf-topology-operation-input.service-information.subscription-service-type AND
+ service-instance.service-instance-id = $vnf-topology-operation-input.service-information.service-instance-id AND
+ metadatum.metaname = $aai.service-instance.metadata.metadatum[$rix].metaname" ></delete>
+ </block>
+ </outcome>
+ </switch>
+ </for>
</block>
</outcome>
</get-resource>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_bbs-internet-profile-vnf-topology-operation-change-huawei.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_bbs-internet-profile-vnf-topology-operation-change-huawei.xml index 9df1b38f..4aa36b93 100644 --- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_bbs-internet-profile-vnf-topology-operation-change-huawei.xml +++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_bbs-internet-profile-vnf-topology-operation-change-huawei.xml @@ -18,20 +18,22 @@ </return>
</outcome>
<outcome value='success'>
- <switch test="`$service-result.errors.error[0].error-message`">
+ <switch test="`$service-result.status`">
<outcome value='Other'>
<return status='failure'>
<parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Error ChangeInternetProfileInstance return: '+$service-result.errors.error[0].error-message`" />
+ <parameter name="error-message" value="`'Error ChangeInternetProfileInstance return: '+$service-result.status`" />
</return>
</outcome>
- <outcome value=''>
+ <outcome value='ok'>
<block></block>
</outcome>
</switch>
</outcome>
</execute>
+ <call module='GENERIC-RESOURCE-API' rpc='bbs-internet-profile-vnf-topology-operation-delete-huawei' mode='sync'></call>
+ <call module='GENERIC-RESOURCE-API' rpc='bbs-internet-profile-vnf-topology-operation-create-huawei' mode='sync'></call>
<return status='success'>
<parameter name="ack-final-indicator" value="Y" />
<parameter name="error-code" value="200" />
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_bbs-internet-profile-vnf-topology-operation-create-huawei.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_bbs-internet-profile-vnf-topology-operation-create-huawei.xml index 27048ab0..fb07393c 100644 --- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_bbs-internet-profile-vnf-topology-operation-create-huawei.xml +++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_bbs-internet-profile-vnf-topology-operation-create-huawei.xml @@ -10,6 +10,7 @@ <parameter name="contentType" value="application/json"/>
<parameter name="httpMethod" value="post"/>
<parameter name="responsePrefix" value="service-result"/>
+ <!--<parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/CreateInternetProfileInstance'`" />-->
<outcome value='failure'>
<return status='failure'>
<parameter name='ack-final' value='Y'/>
@@ -18,15 +19,15 @@ </return>
</outcome>
<outcome value='success'>
- <switch test="`$service-result.errors.error[0].error-message`">
+ <switch test="`$service-result.status`">
<outcome value='Other'>
<return status='failure'>
<parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Error CreateInternetProfileInstance return: '+$service-result.errors.error[0].error-message`" />
+ <parameter name="error-message" value="`'Error CreateInternetProfileInstance return: '+$service-result.status`" />
</return>
</outcome>
- <outcome value=''>
+ <outcome value='ok'>
<block></block>
</outcome>
</switch>
@@ -47,6 +48,9 @@ <set>
<parameter name='vnf-id' value="`$prop.random-data-list[3]`"/>
<parameter name='vnf-name' value="`'vnf-'+$prop.random-data-list[4]`"/>
+ <!--<set>-->
+ <!--<parameter name='vnf-id' value="123456789"/>-->
+ <!--<parameter name='vnf-name' value="vnf_name"/>-->
</set>
<save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="generic-vnf" key="generic-vnf.vnf-id = $vnf-id" >
<parameter name= "vnf-id" value = "`$vnf-id`"/>
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_bbs-internet-profile-vnf-topology-operation-delete-huawei.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_bbs-internet-profile-vnf-topology-operation-delete-huawei.xml index 4b2e5fb3..cebb55fd 100644 --- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_bbs-internet-profile-vnf-topology-operation-delete-huawei.xml +++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_bbs-internet-profile-vnf-topology-operation-delete-huawei.xml @@ -4,60 +4,119 @@ <method rpc='bbs-internet-profile-vnf-topology-operation-delete-huawei' mode='sync'>
<block atomic="true">
<call module='GENERIC-RESOURCE-API' rpc='bbs-internet-profile-vnf-topology-operation-common-huawei' mode='sync' ></call>
- <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
- <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/bbs-internet-profile-operation.json'`" />
- <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/DeleteInternetProfileInstance'`" />
- <parameter name="contentType" value="application/json"/>
- <parameter name="httpMethod" value="post"/>
- <parameter name="responsePrefix" value="service-result"/>
+ <switch test='`$vnf-topology-operation-input.sdnc-request-header.svc-action`'>
+ <outcome value='delete'>
+ <block atomic='true'>
+ <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
+ <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/bbs-internet-profile-operation.json'`" />
+ <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/DeleteInternetProfileInstance'`" />
+ <parameter name="contentType" value="application/json"/>
+ <parameter name="httpMethod" value="post"/>
+ <parameter name="responsePrefix" value="service-result"/>
+ <outcome value='failure'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error failed to call DeleteInternetProfileInstance" />
+ </return>
+ </outcome>
+ <outcome value='success'>
+ <switch test="`$service-result.status`">
+ <outcome value='Other'>
+ <return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="`'Error DeleteInternetProfileInstance return: '+$service-result.status`" />
+ </return>
+ </outcome>
+ <outcome value='ok'>
+ <block></block>
+ </outcome>
+ </switch>
+ </outcome>
+ </execute>
+ </block>
+ </outcome>
+ </switch>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="service-instance"
+ key="customer.global-customer-id = $vnf-topology-operation-input.service-information.global-customer-id AND
+ service-subscription.service-type = $vnf-topology-operation-input.service-information.subscription-service-type AND
+ service-instance.service-instance-id = $vnf-topology-operation-input.service-information.service-instance-id"
+ pfx='aai.service-instance' local-only='false' >
<outcome value='failure'>
<return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error failed to call DeleteInternetProfileInstance" />
+ <parameter name='error-code' value='' />
+ <parameter name='error-message' value='' />
</return>
</outcome>
<outcome value='success'>
- <switch test="`$service-result.errors.error[0].error-message`">
- <outcome value='Other'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Error DeleteInternetProfileInstance return: '+$service-result.errors.error[0].error-message`" />
- </return>
- </outcome>
- <outcome value=''>
- <block></block>
- </outcome>
- </switch>
- </outcome>
- </execute>
- <for silentFailure='false' index='rdidx' start='0' end="`$aai.service-instance.relationship-list.relationship[$ridx].relationship-data_length`" >
- <block atomic='true'>
- <switch test='`$aai.service-instance.relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-key`'>
- <outcome value='generic-vnf.vnf-id'>
- <block atomic='true'>
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ <block atomic='true'>
+ <for silentFailure='true' index='ridx' start='0' end="`$aai.service-instance.relationship-list.relationship_length`" >
+ <for silentFailure='false' index='rdidx' start='0' end="`$aai.service-instance.relationship-list.relationship[$ridx].relationship-data_length`" >
+ <block atomic='true'>
+ <switch test='`$aai.service-instance.relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-key`'>
+ <outcome value='generic-vnf.vnf-id'>
+ <block atomic='true'>
+ <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
resource="generic-vnf"
key="generic-vnf.vnf-id = $aai.service-instance.relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-value"
pfx='aai.generic-vnf' local-only='false' >
- <outcome value='success'>
- <block atomic='true'>
- <switch test='`$aai.generic-vnf.vnf-type`'>
- <outcome value='InternetProfile'>
- <set>
- <parameter name='prop.bbs.internetProfileVNFId' value='`$aai.generic-vnf.vnf-id`' />
- </set>
- </outcome>
- </switch>
- </block>
- </outcome>
- </get-resource>
- </block>
- </outcome>
- </switch>
- </block>
- </for>
+ <outcome value='success'>
+ <block atomic='true'>
+ <switch test='`$aai.generic-vnf.vnf-type`'>
+ <outcome value='InternetProfile'>
+ <set>
+ <parameter name='prop.bbs.internetProfileVNFId' value='`$aai.generic-vnf.vnf-id`' />
+ </set>
+ </outcome>
+ </switch>
+ </block>
+ </outcome>
+ </get-resource>
+ </block>
+ </outcome>
+ </switch>
+ </block>
+ </for>
+ </for>
+ <for silentFailure='true' index='rix' start='0' end="`$aai.service-instance.metadata.metadatum_length`" >
+ <switch test='`$aai.service-instance.metadata.metadatum[$rix].metaname`'>
+ <outcome value='service-type'>
+ <block atomic='true'>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="service-instance"
+ key="customer.global-customer-id = $vnf-topology-operation-input.service-information.global-customer-id AND
+ service-subscription.service-type = $vnf-topology-operation-input.service-information.subscription-service-type AND
+ service-instance.service-instance-id = $vnf-topology-operation-input.service-information.service-instance-id AND
+ metadatum.metaname = $aai.service-instance.metadata.metadatum[$rix].metaname" ></delete>
+ </block>
+ </outcome>
+ <outcome value='up-speed'>
+ <block atomic='true'>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="service-instance"
+ key="customer.global-customer-id = $vnf-topology-operation-input.service-information.global-customer-id AND
+ service-subscription.service-type = $vnf-topology-operation-input.service-information.subscription-service-type AND
+ service-instance.service-instance-id = $vnf-topology-operation-input.service-information.service-instance-id AND
+ metadatum.metaname = $aai.service-instance.metadata.metadatum[$rix].metaname" ></delete>
+ </block>
+ </outcome>
+ <outcome value='down-speed'>
+ <block atomic='true'>
+ <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="service-instance"
+ key="customer.global-customer-id = $vnf-topology-operation-input.service-information.global-customer-id AND
+ service-subscription.service-type = $vnf-topology-operation-input.service-information.subscription-service-type AND
+ service-instance.service-instance-id = $vnf-topology-operation-input.service-information.service-instance-id AND
+ metadatum.metaname = $aai.service-instance.metadata.metadatum[$rix].metaname" ></delete>
+ </block>
+ </outcome>
+ </switch>
+ </for>
+ </block>
+ </outcome>
+ </get-resource>
<delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
resource="generic-vnf"
key="generic-vnf.vnf-id = $prop.bbs.internetProfileVNFId">
|