+++ /dev/null
-<service-logic\r
- xmlns='http://www.onap.org/sdnc/svclogic'\r
- 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}'>\r
- <method rpc='network-topology-operation-activate' mode='sync'>\r
- <block atomic="true">\r
- <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
- resource="l3-network" \r
- key="l3-network.network-id = $network-topology-operation-input.network-information.network-id AND \r
- depth = 'all'" \r
- local-only="false" \r
- pfx="aai.l3-network">\r
- <outcome value='not-found'>\r
- <return status='failure'>\r
- <parameter name="error-code" value="404" />\r
- <parameter name="error-message" value="network-id not found in AAI" />\r
- </return>\r
- </outcome>\r
- <outcome value='failure'>\r
- <return status='failure'>\r
- <parameter name="error-code" value="500" />\r
- <parameter name="error-message" value="'Error retrieving l3-network with network-id=' + $network-topology-operation-input.network-request-information.network-id + 'from AnAI'" />\r
- </return>\r
- </outcome>\r
- </get-resource>\r
- <switch test='`$aai.l3-network.subnets.subnet_length`'>\r
- <outcome value=''>\r
- <return status='failure'>\r
- <parameter name='ack-final' value='Y'/>\r
- <parameter name="error-code" value="500" />\r
- <parameter name="error-message" value="no networks found" />\r
- </return>\r
- </outcome>\r
- <outcome value='Other'>\r
- <switch test='`$network-data.network-topology.network-topology-identifier-structure.network-instance-group-id`'>\r
- <outcome value=''>\r
- <switch test='`$service-data.networks.network[$nidx].network-data.network-information.from-preload`'>\r
- <outcome value='true'>\r
- <block atomic="true">\r
- <for index='sidx' start='0' end='`$aai.l3-network.subnets.subnet_length`' >\r
- <block atomic="true">\r
- <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
- resource="subnet" \r
- key="l3-network.network-id = $aai.l3-network.network-id \r
- AND subnet.subnet-id = $aai.l3-network.subnets.subnet[$sidx].subnet-id" >\r
- <parameter name="orchestration-status" value="Active" />\r
- <outcome value='failure'>\r
- <return status="failure">\r
- <parameter name="error-code" value="500"/>\r
- <parameter name="error-message" value="Failure updating orchestration-status in AAI for subnet." />\r
- </return>\r
- </outcome>\r
- <outcome value="not-found">\r
- <return status="failure">\r
- <parameter name="error-code" value="500"/>\r
- <parameter name="error-message" value="Failure updating orchestration-status in AAI for subnet. Subnet not found." />\r
- </return>\r
- </outcome>\r
- </update>\r
- </block>\r
- </for>\r
- </block>\r
- </outcome>\r
- <outcome value='Other'>\r
- <block atomic="true">\r
- <for index='sidx' start='0' end='`$aai.l3-network.subnets.subnet_length`' >\r
- <block atomic="true">\r
- <get-resource\r
- plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource'\r
- resource='SQL'\r
- key="SELECT * from EIPAM_IP_SUBNETS where entity_id = $aai.l3-network.subnets.subnet[$sidx].subnet-id ; "\r
- pfx='tmp.eipam-subnet-row'>\r
- <outcome value='failure'>\r
- <return status="failure">\r
- <parameter name="error-code" value="500"/>\r
- <parameter name="error-message" value="Query to DB table EIPAM_IP_SUBNETS failed to find subnet matching aai subnet." />\r
- </return>\r
- </outcome>\r
- <outcome value="not-found">\r
- <return status="failure">\r
- <parameter name="error-code" value="500"/>\r
- <parameter name="error-message" value="Subnet not found in EIPAM_IP_SUBNETS - activate failed." />\r
- </return>\r
- </outcome>\r
- <outcome value='success'>\r
- <block atomic='true'>\r
- <set>\r
- <parameter name="eipam-ip-block.entity-id" value="`$aai.l3-network.subnets.subnet[$sidx].subnet-id`"/>\r
- <parameter name="eipam-ip-block.plans[0].plan-name" value="`$tmp.eipam-subnet-row.plan-name`"/>\r
- </set>\r
- <!--subnet and subnet_keys are deleted in the EIPAMPlugin-->\r
- <execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="activateSubnet">\r
- <outcome value='failure'>\r
- <return status="failure">\r
- <parameter name="error-code" value="500"/>\r
- <parameter name="error-message" value="An error occured while activating subnet in EIPAM." />\r
- </return>\r
- </outcome>\r
- </execute>\r
- <save \r
- plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' \r
- resource='SQL'\r
- key="UPDATE EIPAM_IP_SUBNETS\r
- SET status = 'ACTIVE'\r
- WHERE entity_id = $eipam-ip-block.entity-id ; "\r
- force='true'\r
- pfx='pfx.eipam-subnet-row'>\r
- <outcome value='failure'>\r
- <return status="failure">\r
- <parameter name="error-code" value="500"/>\r
- <parameter name="error-message" value="An error occured while updating subnet to active in mysql." />\r
- </return>\r
- </outcome>\r
- <outcome value="not-found">\r
- <return status="failure">\r
- <parameter name="error-code" value="500"/>\r
- <parameter name="error-message" value="An error occured while updating subnet to active in mysql." />\r
- </return>\r
- </outcome>\r
- <outcome value='success'>\r
- <block atomic='true'>\r
- <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
- resource="subnet" \r
- key="l3-network.network-id = $aai.l3-network.network-id \r
- AND subnet.subnet-id = $eipam-ip-block.entity-id" >\r
- <parameter name="orchestration-status" value="Active" />\r
- <outcome value='failure'>\r
- <return status="failure">\r
- <parameter name="error-code" value="500"/>\r
- <parameter name="error-message" value="Failure updating orchestration-status in AAI for subnet." />\r
- </return>\r
- </outcome>\r
- <outcome value="not-found">\r
- <return status="failure">\r
- <parameter name="error-code" value="500"/>\r
- <parameter name="error-message" value="Failure updating orchestration-status in AAI for subnet. Subnet not found." />\r
- </return>\r
- </outcome>\r
- </update>\r
- </block>\r
- </outcome>\r
- </save>\r
- </block>\r
- </outcome>\r
- </get-resource>\r
- </block>\r
- </for>\r
- </block>\r
- </outcome>\r
- </switch>\r
- </outcome>\r
- <outcome value='Other'>\r
- <block atomic="true">\r
- <return status='failure'>\r
- <parameter name='ack-final' value='Y'/>\r
- <parameter name="error-code" value="500" />\r
- <parameter name="error-message" value="network collection activate failed" />\r
- </return>\r
- </block>\r
- </outcome>\r
- </switch>\r
- </outcome>\r
- </switch>\r
- <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
- resource="l3-network" \r
- key="l3-network.network-id = $aai.l3-network.network-id" >\r
- <parameter name="orchestration-status" value="Active" />\r
- <outcome value='failure'>\r
- <return status="failure">\r
- <parameter name="error-code" value="500"/>\r
- <parameter name="error-message" value="Failure updating orchestration-status in AAI for l3-network" />\r
- </return>\r
- </outcome>\r
- <outcome value="not-found">\r
- <return status="failure">\r
- <parameter name="error-code" value="500"/>\r
- <parameter name="error-message" value="Failure updating orchestration-status in AAI for l3-network. Network not found." />\r
- </return>\r
- </outcome>\r
- </update>\r
- <set>\r
- <parameter name='service-data.networks.network[$nidx].network-data.sdnc-request-header.' value='`$network-topology-operation-input.sdnc-request-header.`' />\r
- <parameter name='service-data.networks.network[$nidx].network-data.request-information.' value='`$network-topology-operation-input.request-information.`' />\r
- </set>\r
- <set>\r
- <parameter name='networkId' value='`$network-topology-operation-input.network-information.network-id`' />\r
- </set>\r
- <set>\r
- <parameter name='network-object-path' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'\r
- + $network-topology-operation-input.service-information.service-instance-id\r
- + '/service-data/networks/network/'\r
- + $networkId\r
- + '/network-data/network-topology/'` " />\r
- </set>\r
- <set>\r
- <parameter name='service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.order-status' value='Created' />\r
- <parameter name='service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.last-rpc-action' value='`$network-topology-operation-input.sdnc-request-header.svc-action`' />\r
- <parameter name='service-data.networks.network[$tmp.nidx].network-data.network-level-oper-status.last-action' value='`$network-topology-operation-input.request-information.request-action`' />\r
- </set>\r
- <return status='success'>\r
- <parameter name="ack-final-indicator" value="Y" />\r
- <parameter name="error-code" value="200" />\r
- <parameter name="error-message" value="`$error-message`" />\r
- </return>\r
- </block>\r
- </method>\r
-</service-logic>
\ No newline at end of file