1 <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='eipam-allocate-network-role-subnet' mode='sync'>
\r 
   2 <block atomic='true'><set>
\r 
   3         <parameter name="tmp.eipam-error" value="false" />
\r 
   4         <parameter name="eipam-ip-block.ip-prefix" value='' />
\r 
   5         <parameter name="eipam-ip-block.mask" value='' />
\r 
   6         <parameter name="pfx.eipam-pool-row" value='' />
\r 
   7         <parameter name="tmp.level1-key-name" value="CLLI:CLOUD_REGION" />
\r 
   8         <parameter name="tmp.level2-key-name" value="NETWORK_ROLE:NETWORK_ID" /></set><!--Need to know which ipv version to get the plan name from the network-model.--><switch test="`$eipam-ip-block.allocate-version`"><outcome value='ipv4'><block atomic='true'><switch test="`$eipam-ip-block.level`"><outcome value='1'><block atomic='true'><!--subnet and subnet_keys are deleted in the EIPAMPlugin--><set>
\r 
   9         <parameter name="eipam-ip-block.plan-name" value="`$network-model.eipam-v4-address-plan`"/>
\r 
  10         <parameter name="eipam-ip-block.activate-subnet-flag" value="Y"/>       
\r 
  11         <parameter name="eipam-ip-block.leaf-level-indicator" value="N"/>
\r 
  12         <!-- Number of Pool Levels -->
\r 
  13         <parameter name="eipam-ip-block.pools_length" value="1"/>
\r 
  16         <parameter name="eipam-ip-block.pools[0].key-name" value="`$tmp.level1-key-name`"/>
\r 
  17         <parameter name="eipam-ip-block.pools[0].key-value" value="`$tmp.level1-key-value`"/></set><!--subnet and subnet_keys are deleted in the EIPAMPlugin--><execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="allocateSubnet">
\r 
  18 <outcome value='failure'><return status="failure">
\r 
  19         <parameter name="tmp.eipam-error" value="true" />
\r 
  20         <parameter name="error-code" value="500"/>
\r 
  21         <parameter name="error-message" value="An error occured while allocating V4 subnet in EIPAM." />
\r 
  22         </return></outcome></execute><get-resource
\r 
  23         plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource'
\r 
  25         key="SELECT * from EIPAM_IP_POOLS WHERE plan_name = $network-model.eipam-v4-address-plan and level = 1 and key_value = $tmp.level1-key-value ; "
\r 
  26         pfx='pfx.eipam-pool-row'>
\r 
  28 <outcome value='failure'><return status="failure">
\r 
  29         <parameter name="tmp.eipam-error" value="true" />
\r 
  30         <parameter name="error-code" value="500"/>
\r 
  31         <parameter name="error-message" value="An error occured while looking for entry in EIPAM_IP_POOLS for V4 subnet in EIPAM." />
\r 
  32         </return></outcome><outcome value="not-found"><return status="failure">
\r 
  33         <parameter name="tmp.eipam-error" value="true" />
\r 
  34         <parameter name="error-code" value="500"/>
\r 
  35         <parameter name="error-message" value="An error occured while looking for entry in EIPAM_IP_POOLS for V4 subnet in EIPAM." />
\r 
  36         </return></outcome></get-resource><record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r 
  37 <parameter name="logger" value="message-log"/>
\r 
  38 <parameter name="field1" value="__TIMESTAMP__"/>
\r 
  39 <parameter name="field2" value="network-topology-operation"/>
\r 
  40 <parameter name="field3" value="eipam-allocate-network-role-subnet"/>
\r 
  41 <parameter name="field4" value="`$network-model.eipam-v4-address-plan`"/>
\r 
  42 <parameter name="field5" value="`$tmp.level1-key-value`"/>
\r 
  43 <parameter name="field6" value="`$tmp.eipam-pool-row.pool-id`"/>
\r 
  44 <parameter name="field7" value="Level 1 subnet saved to DB."/></record><save
\r 
  45         plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource'
\r 
  47         key="INSERT EIPAM_IP_SUBNETS
\r 
  49              entity_id = $eipam-ip-block.entity-id ,
\r 
  50              service_type = $tmp.service-type ,
\r 
  51              ip_address = $eipam-ip-block.ip-prefix ,
\r 
  52              prefix_length = $eipam-ip-block.mask ,
\r 
  53              plan_name = $network-model.eipam-v4-address-plan ,
\r 
  55              pool_id = $pfx.eipam-pool-row.pool-id ,
\r 
  56              address_family = $network-model.ipv4-ip-version ,
\r 
  57              network_id = $tmp.network-id ; "
\r 
  59         pfx='pfx.eipam-v4subnet-row'>
\r 
  60 <outcome value='failure'><return status='failure'>
\r 
  61 <parameter name='error-code' value='500' />
\r 
  62 <parameter name='error-message' value='failed to update EIPAM_IP_SUBNETS table.' />
\r 
  63 </return></outcome><outcome value='success'>
\r 
  64 </outcome></save><save
\r 
  65         plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource'
\r 
  67         key="INSERT EIPAM_IP_SUBNET_KEYS
\r 
  69              entity_id = $eipam-ip-block.entity-id ,
\r 
  70              key_name = $tmp.level1-key-name ,
\r 
  71              key_value = $tmp.level1-key-value ,
\r 
  74         pfx='pfx.eipam-v4subnet-key-row'>
\r 
  75 <outcome value='failure'><return status='failure'>
\r 
  76 <parameter name='error-code' value='500' />
\r 
  77 <parameter name='error-message' value='failed to update EIPAM_IP_SUBNET_KEYS table.' />
\r 
  78 </return></outcome><outcome value='success'>
\r 
  79 </outcome></save></block></outcome><outcome value='2'><block atomic='true'><!--subnet and subnet_keys are deleted in the EIPAMPlugin--><set>
\r 
  80         <parameter name="eipam-ip-block.plan-name" value="`$network-model.eipam-v4-address-plan`"/>
\r 
  81         <parameter name="eipam-ip-block.activate-subnet-flag" value="N"/>       
\r 
  82         <parameter name="eipam-ip-block.leaf-level-indicator" value="Y"/>
\r 
  84         <!-- Number of Pool Levels -->
\r 
  85         <parameter name="eipam-ip-block.pools_length" value="2"/>
\r 
  88         <parameter name="eipam-ip-block.pools[0].key-name" value="`$tmp.level1-key-name`"/>
\r 
  89         <parameter name="eipam-ip-block.pools[0].key-value" value="`$tmp.level1-key-value`"/>
\r 
  92         <parameter name="eipam-ip-block.pools[1].key-name" value="`$tmp.level2-key-name`"/>
\r 
  93         <parameter name="eipam-ip-block.pools[1].key-value" value="`$tmp.level2-key-value`"/></set><switch test="`$eipam-ip-block.subnet-size-override`"><outcome value=''>
\r 
  94 <block atomic='true'><record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r 
  95 <parameter name="logger" value="message-log"/>
\r 
  96 <parameter name="field1" value="__TIMESTAMP__"/>
\r 
  97 <parameter name="field2" value="network-topology-operation"/>
\r 
  98 <parameter name="field3" value="eipam-allocate-network-role-subnet"/>
\r 
  99 <parameter name="field4" value="`$network-model.eipam-v4-address-plan`"/>
\r 
 100 <parameter name="field5" value="`$tmp.level2-key-value`"/>
\r 
 101 <parameter name="field6" value="Level 2 subnet override not set, default to network model value."/>
\r 
 103 </record><!--subnet and subnet_keys are deleted in the EIPAMPlugin--><set>
\r 
 104         <parameter name="eipam-ip-block.subnet-size-override" value="`$network-model.ipv4-cidr-mask`" />
\r 
 105 </set></block></outcome></switch><!--subnet and subnet_keys are deleted in the EIPAMPlugin--><execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="allocateSubnet">
\r 
 106 <outcome value='failure'><return status="failure">
\r 
 107         <parameter name="tmp.eipam-error" value="true" />
\r 
 108         <parameter name="error-code" value="500"/>
\r 
 109         <parameter name="error-message" value="An error occured while allocating V4 subnet in EIPAM." />
\r 
 110         </return></outcome></execute><get-resource
\r 
 111         plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource'
\r 
 113         key="SELECT * from EIPAM_IP_POOLS WHERE plan_name = $network-model.eipam-v4-address-plan and level = 2 and parent_pool = $tmp.level1-key-value AND key_value = $tmp.level2-key-value ; "
\r 
 114         pfx='pfx.eipam-pool-row'>
\r 
 116 <outcome value='failure'><return status="failure">
\r 
 117         <parameter name="tmp.eipam-error" value="true" />
\r 
 118         <parameter name="error-code" value="500"/>
\r 
 119         <parameter name="error-message" value="An error occured while looking for entry in EIPAM_IP_POOLS for V4 subnet in EIPAM." />
\r 
 120         </return></outcome><outcome value="not-found"><return status="failure">
\r 
 121         <parameter name="tmp.eipam-error" value="true" />
\r 
 122         <parameter name="error-code" value="500"/>
\r 
 123         <parameter name="error-message" value="An error occured while looking for entry in EIPAM_IP_POOLS for V4 subnet in EIPAM." />
\r 
 124         </return></outcome></get-resource><save
\r 
 125         plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource'
\r 
 127         key="INSERT EIPAM_IP_SUBNETS
\r 
 129              entity_id = $eipam-ip-block.entity-id ,
\r 
 130              service_type = $tmp.service-type ,
\r 
 131              ip_address = $eipam-ip-block.ip-prefix ,
\r 
 132              prefix_length = $eipam-ip-block.mask ,
\r 
 133              plan_name = $network-model.eipam-v4-address-plan ,
\r 
 134              status = 'ALLOCATED' ,
\r 
 135              pool_id = $pfx.eipam-pool-row.pool-id ,
\r 
 136              address_family = $network-model.ipv4-ip-version ,
\r 
 137              network_id = $tmp.network-id ; "
\r 
 139         pfx='pfx.eipam-subnet-row'>
\r 
 140 <outcome value='failure'><return status='failure'>
\r 
 141 <parameter name='error-code' value='500' />
\r 
 142 <parameter name='error-message' value='failed to update EIPAM_IP_SUBNETS table.' />
\r 
 143 </return></outcome><outcome value='success'>
\r 
 144 </outcome></save><save
\r 
 145         plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource'
\r 
 147         key="INSERT EIPAM_IP_SUBNET_KEYS
\r 
 149              entity_id = $eipam-ip-block.entity-id ,
\r 
 150              key_name = $tmp.level1-key-name ,
\r 
 151              key_value = $tmp.level1-key-value ,
\r 
 154         pfx='pfx.eipam-v4subnet-key-row'>
\r 
 155 <outcome value='success'>
\r 
 156 </outcome><outcome value='failure'><return status='failure'>
\r 
 157 <parameter name='error-code' value='500' />
\r 
 158 <parameter name='error-message' value='failed to update EIPAM_IP_SUBNET_KEYS table.' />
\r 
 159 </return></outcome></save><save
\r 
 160         plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource'
\r 
 162         key="INSERT EIPAM_IP_SUBNET_KEYS
\r 
 164              entity_id = $eipam-ip-block.entity-id ,
\r 
 165              key_name = $tmp.level2-key-name ,
\r 
 166              key_value = $tmp.level2-key-value ,
\r 
 169         pfx='pfx.eipam-v4subnet-key-row'>
\r 
 170 <outcome value='success'>
\r 
 171 </outcome><outcome value='failure'><return status='failure'>
\r 
 172 <parameter name='error-code' value='500' />
\r 
 173 <parameter name='error-message' value='failed to update EIPAM_IP_SUBNET_KEYS table.' />
\r 
 174 </return></outcome></save><record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r 
 175 <parameter name="logger" value="message-log"/>
\r 
 176 <parameter name="field1" value="__TIMESTAMP__"/>
\r 
 177 <parameter name="field2" value="network-topology-operation"/>
\r 
 178 <parameter name="field3" value="eipam-allocate-network-role-subnet"/>
\r 
 179 <parameter name="field4" value="`$network-model.eipam-v4-address-plan`"/>
\r 
 180 <parameter name="field5" value="`$tmp.level1-key-value`"/>
\r 
 183         <parameter name="field6" value="NETWORK_ROLE_NETWORK_ID"/>
\r 
 184         <parameter name="field7" value="`$tmp.level2-key-value`"/>
\r 
 185 <parameter name="field8" value="Level 2 subnet saved to DB."/></record></block></outcome><outcome value=''><return status="failure">
\r 
 186         <parameter name="tmp.eipam-error" value="true" />
\r 
 187         <parameter name="error-code" value="500"/>
\r 
 188         <parameter name="error-message" value="Please set the eipam-ip-block.level for appropriate EIPAM request." />
\r 
 189         </return></outcome></switch></block></outcome><outcome value='ipv6'><block atomic='true'><switch test="`$eipam-ip-block.level`"><outcome value='1'><block atomic='true'><!--subnet and subnet_keys are deleted in the EIPAMPlugin--><set>
\r 
 190         <parameter name="eipam-ip-block.plan-name" value="`$network-model.eipam-v6-address-plan`"/>
\r 
 191         <parameter name="eipam-ip-block.activate-subnet-flag" value="Y"/>       
\r 
 192         <parameter name="eipam-ip-block.leaf-level-indicator" value="N"/>
\r 
 193         <!-- Number of Pool Levels -->
\r 
 194         <parameter name="eipam-ip-block.pools_length" value="1"/>
\r 
 197         <parameter name="eipam-ip-block.pools[0].key-name" value="`$tmp.level1-key-name`"/>
\r 
 198         <parameter name="eipam-ip-block.pools[0].key-value" value="`$tmp.level1-key-value`"/></set><!--subnet and subnet_keys are deleted in the EIPAMPlugin--><execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="allocateSubnet">
\r 
 199 <outcome value='failure'><return status="failure">
\r 
 200         <parameter name="tmp.eipam-error" value="true" />
\r 
 201         <parameter name="error-code" value="500"/>
\r 
 202         <parameter name="error-message" value="An error occured while allocating V4 subnet in EIPAM." />
\r 
 203         </return></outcome></execute><get-resource
\r 
 204         plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource'
\r 
 206         key="SELECT * from EIPAM_IP_POOLS WHERE plan_name = $network-model.eipam-v6-address-plan and level = 1 and key_value = $tmp.level1-key-value ; "
\r 
 207         pfx='pfx.eipam-pool-row'>
\r 
 209 <outcome value='failure'><return status="failure">
\r 
 210         <parameter name="tmp.eipam-error" value="true" />
\r 
 211         <parameter name="error-code" value="500"/>
\r 
 212         <parameter name="error-message" value="An error occured while looking for entry in EIPAM_IP_POOLS for V6 subnet in EIPAM." />
\r 
 213         </return></outcome><outcome value="not-found"><return status="failure">
\r 
 214         <parameter name="tmp.eipam-error" value="true" />
\r 
 215         <parameter name="error-code" value="500"/>
\r 
 216         <parameter name="error-message" value="An error occured while looking for entry in EIPAM_IP_POOLS for V6 subnet in EIPAM." />
\r 
 217         </return></outcome></get-resource><save
\r 
 218         plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource'
\r 
 220         key="INSERT EIPAM_IP_SUBNETS
\r 
 222              entity_id = $eipam-ip-block.entity-id ,
\r 
 223              service_type = $tmp.service-type ,
\r 
 224              ip_address = $eipam-ip-block.ip-prefix ,
\r 
 225              prefix_length = $eipam-ip-block.mask ,
\r 
 226              plan_name = $network-model.eipam-v6-address-plan ,
\r 
 227              status = 'ACTIVE' ,
\r 
 228              pool_id = $pfx.eipam-pool-row.pool-id ,
\r 
 229              address_family = $network-model.ipv6-ip-version ,
\r 
 230              network_id = $tmp.network-id ; "
\r 
 232         pfx='pfx.eipam-v6subnet-row'>
\r 
 233 <outcome value='failure'><return status='failure'>
\r 
 234 <parameter name='error-code' value='500' />
\r 
 235 <parameter name='error-message' value='failed to update EIPAM_IP_SUBNETS table.' />
\r 
 236 </return></outcome><outcome value='success'>
\r 
 237 </outcome></save><save
\r 
 238         plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource'
\r 
 240         key="INSERT EIPAM_IP_SUBNET_KEYS
\r 
 242              entity_id = $eipam-ip-block.entity-id ,
\r 
 243              key_name = $tmp.level1-key-name ,
\r 
 244              key_value = $tmp.level1-key-value ,
\r 
 247         pfx='pfx.eipam-v6subnet-key-row'>
\r 
 248 <outcome value='failure'><return status='failure'>
\r 
 249 <parameter name='error-code' value='500' />
\r 
 250 <parameter name='error-message' value='failed to update EIPAM_IP_SUBNET_KEYS table.' />
\r 
 251 </return></outcome><outcome value='success'>
\r 
 252 </outcome></save><record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r 
 253 <parameter name="logger" value="message-log"/>
\r 
 254 <parameter name="field1" value="__TIMESTAMP__"/>
\r 
 255 <parameter name="field2" value="network-topology-operation"/>
\r 
 256 <parameter name="field3" value="eipam-allocate-network-role-subnet"/>
\r 
 257 <parameter name="field4" value="`$network-model.eipam-v4-address-plan`"/>
\r 
 258 <parameter name="field5" value="`$tmp.level1-key-value`"/>
\r 
 259 <parameter name="field6" value="`$tmp.eipam-pool-row.pool-id`"/>
\r 
 260 <parameter name="field7" value="Level 1 subnet saved to DB."/></record></block></outcome><outcome value='2'><block atomic='true'><!--subnet and subnet_keys are deleted in the EIPAMPlugin--><set>
\r 
 261         <parameter name="eipam-ip-block.plan-name" value="`$network-model.eipam-v6-address-plan`"/>
\r 
 262         <parameter name="eipam-ip-block.activate-subnet-flag" value="N"/>       
\r 
 263         <parameter name="eipam-ip-block.leaf-level-indicator" value="Y"/>
\r 
 265         <!-- Number of Pool Levels -->
\r 
 266         <parameter name="eipam-ip-block.pools_length" value="2"/>
\r 
 269         <parameter name="eipam-ip-block.pools[0].key-name" value="`$tmp.level1-key-name`"/>
\r 
 270         <parameter name="eipam-ip-block.pools[0].key-value" value="`$tmp.level1-key-value`"/>
\r 
 273         <parameter name="eipam-ip-block.pools[1].key-name" value="`$tmp.level2-key-name`"/>
\r 
 274         <parameter name="eipam-ip-block.pools[1].key-value" value="`$tmp.level2-key-value`"/></set><switch test="`$eipam-ip-block.subnet-size-override`"><outcome value=''>
\r 
 275 <block atomic='true'><record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r 
 276 <parameter name="logger" value="message-log"/>
\r 
 277 <parameter name="field1" value="__TIMESTAMP__"/>
\r 
 278 <parameter name="field2" value="network-topology-operation"/>
\r 
 279 <parameter name="field3" value="eipam-allocate-network-role-subnet"/>
\r 
 280 <parameter name="field4" value="`$network-model.eipam-v6-address-plan`"/>
\r 
 281 <parameter name="field5" value="`$tmp.level2-key-value`"/>
\r 
 282 <parameter name="field6" value="Level 2 subnet override not set, default to network model value."/>
\r 
 284 </record><!--subnet and subnet_keys are deleted in the EIPAMPlugin--><set>
\r 
 285         <parameter name="eipam-ip-block.subnet-size-override" value="`$network-model.ipv6-cidr-mask`" />
\r 
 286 </set></block></outcome></switch><!--subnet and subnet_keys are deleted in the EIPAMPlugin--><execute plugin="com.att.sdnctl.sli.plugin.eipam.EIPAMPlugin" method="allocateSubnet">
\r 
 287 <outcome value='failure'><return status="failure">
\r 
 288         <parameter name="tmp.eipam-error" value="true" />
\r 
 289         <parameter name="error-code" value="500"/>
\r 
 290         <parameter name="error-message" value="An error occured while allocating V4 subnet in EIPAM." />
\r 
 291         </return></outcome></execute><get-resource
\r 
 292         plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource'
\r 
 294         key="SELECT * from EIPAM_IP_POOLS WHERE plan_name = $network-model.eipam-v6-address-plan and level = 2 and parent_pool = $tmp.level1-key-value AND key_value = $tmp.level2-key-value ; "
\r 
 295         pfx='pfx.eipam-pool-row'>
\r 
 297 <outcome value='failure'><return status="failure">
\r 
 298         <parameter name="tmp.eipam-error" value="true" />
\r 
 299         <parameter name="error-code" value="500"/>
\r 
 300         <parameter name="error-message" value="An error occured while looking for entry in EIPAM_IP_POOLS for V6 subnet in EIPAM." />
\r 
 301         </return></outcome><outcome value="not-found"><return status="failure">
\r 
 302         <parameter name="tmp.eipam-error" value="true" />
\r 
 303         <parameter name="error-code" value="500"/>
\r 
 304         <parameter name="error-message" value="An error occured while looking for entry in EIPAM_IP_POOLS for V6 subnet in EIPAM." />
\r 
 305         </return></outcome></get-resource><save
\r 
 306         plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource'
\r 
 308         key="INSERT EIPAM_IP_SUBNETS
\r 
 310              entity_id = $eipam-ip-block.entity-id ,
\r 
 311              service_type = $tmp.service-type ,
\r 
 312              ip_address = $eipam-ip-block.ip-prefix ,
\r 
 313              prefix_length = $eipam-ip-block.mask ,
\r 
 314              plan_name = $network-model.eipam-v6-address-plan ,
\r 
 315              status = 'ALLOCATED' ,
\r 
 316              pool_id = $pfx.eipam-pool-row.pool-id ,
\r 
 317              address_family = $network-model.ipv6-ip-version ,
\r 
 318              network_id = $tmp.network-id ; "
\r 
 320         pfx='pfx.eipam-v6subnet-row'>
\r 
 321 <outcome value='failure'><return status='failure'>
\r 
 322 <parameter name='error-code' value='500' />
\r 
 323 <parameter name='error-message' value='failed to update EIPAM_IP_SUBNETS table.' />
\r 
 324 </return></outcome><outcome value='success'>
\r 
 325 </outcome></save><save
\r 
 326         plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource'
\r 
 328         key="INSERT EIPAM_IP_SUBNET_KEYS
\r 
 330              entity_id = $eipam-ip-block.entity-id ,
\r 
 331              key_name = $tmp.level1-key-name ,
\r 
 332              key_value = $tmp.level1-key-value ,
\r 
 335         pfx='pfx.eipam-v6subnet-key-row'>
\r 
 336 <outcome value='failure'><return status='failure'>
\r 
 337 <parameter name='error-code' value='500' />
\r 
 338 <parameter name='error-message' value='failed to update EIPAM_IP_SUBNET_KEYS table.' />
\r 
 339 </return></outcome><outcome value='success'>
\r 
 340 </outcome></save><save
\r 
 341         plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource'
\r 
 343         key="INSERT EIPAM_IP_SUBNET_KEYS
\r 
 345              entity_id = $eipam-ip-block.entity-id ,
\r 
 346              key_name = $tmp.level2-key-name ,
\r 
 347              key_value = $tmp.level2-key-value ,
\r 
 350         pfx='pfx.eipam-v6subnet-key-row'>
\r 
 351 <outcome value='failure'><return status='failure'>
\r 
 352 <parameter name='error-code' value='500' />
\r 
 353 <parameter name='error-message' value='failed to update EIPAM_IP_SUBNET_KEYS table.' />
\r 
 354 </return></outcome><outcome value='success'>
\r 
 355 </outcome></save><record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
\r 
 356 <parameter name="logger" value="message-log"/>
\r 
 357 <parameter name="field1" value="__TIMESTAMP__"/>
\r 
 358 <parameter name="field2" value="network-topology-operation"/>
\r 
 359 <parameter name="field3" value="eipam-allocate-network-role-subnet"/>
\r 
 360 <parameter name="field4" value="`$network-model.eipam-v4-address-plan`"/>
\r 
 361 <parameter name="field5" value="`$tmp.level1-key-value`"/>
\r 
 364         <parameter name="field6" value="NETWORK_ROLE_NETWORK_ID"/>
\r 
 365         <parameter name="field7" value="`$tmp.level2-key-value`"/>
\r 
 366 <parameter name="field8" value="Level 2 subnet saved to DB."/></record></block></outcome><outcome value=''><return status="failure">
\r 
 367         <parameter name="tmp.eipam-error" value="true" />
\r 
 368         <parameter name="error-code" value="500"/>
\r 
 369         <parameter name="error-message" value="Please set the eipam-ip-block.level for appropriate EIPAM request." />
\r 
 370         </return></outcome></switch></block></outcome><outcome value=''><return status="failure">
\r 
 371         <parameter name="tmp.eipam-error" value="true" />
\r 
 372         <parameter name="error-code" value="500"/>
\r 
 373         <parameter name="error-message" value="Please set the eipam-ip-block.allocate-version for appropriate EIPAM request." />
\r 
 374         </return></outcome></switch><return status='success'>
\r 
 375         <parameter name="error-code" value="200" />
\r 
 376 </return></block></method></service-logic>