Service Delete


Service Delete Diagram

Detailed Description:

Step no.

Subcomponent/Class

method

Requirement Reference

Impact Description

Actions(Logic)

Step no.

Subcomponent/Class

method

Requirement Reference

Impact Description

Actions(Logic)

1

/restconf/operations/opticalservice:optical-service-delete



1

SO invokes Service Delete API of SDNC

  • optical-service-delete RPC will be invoked by SO to delete service

2

check the status of the request in DB

if (a) "Other than Created"



2.c

Delete Service instance from AAI

<delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource='service-instance'
key='customer.global-customer-id = $optical-service-delete-input.global-customer-id AND
service-subscription.service-type = $optical-service-delete-input.service-type AND
service-instance.service-instance-id = $instance'>



3.a

opticalservice:optical-service-delete



2.c



Send sync response to SO(RPC response)

Actions to be performed in DG[opticalservice:optical-service-delete]:

Step no.

Subcomponent/Class

plugin/adaptor

method

Requirement Reference

Description

Actions(Logic)

Step no.

Subcomponent/Class

plugin/adaptor

method

Requirement Reference

Description

Actions(Logic)

4.

opticalservice:optical-service-delete

org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode

sendRequest

2.d

Send Service delete Request to Virtuora Controller

<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
<parameter name="templateFileName" value="/opt/onap/sdnc/restapi/templates/optical-service-delete-msa.json" />
<parameter name="restapiUrl" value="https://167.254.204.115:8443/cxf/openroadm/openroadm-services/ + '`$optical-service-delete-input.payload.service-name`'"/>
<parameter name='restapiUser' value='admin' />
<parameter name='restapiPassword' value='admin' />
<parameter name="httpMethod" value="DELETE"/>
<parameter name="responsePrefix" value="service-delete-response"/>
<parameter name='contentType' value='application/json' />
<parameter name='format' value='json' />
<parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.onap.client.msa.jks"/>
<parameter name="trustStorePassword" value="adminadmin"/>
<parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>
<parameter name="keyStorePassword" value="adminadmin"/>





Synchronous Response from Domain Controller:

Sync success response



Step no.

Subcomponent/Class

plugin/adaptor

method

Requirement Reference

Description

Actions(Logic)

Step no.

Subcomponent/Class

plugin/adaptor

method

Requirement Reference

Description

Actions(Logic)

5.a(i)

opticalservice:optical-service-delete

org.onap.ccsdk.sli.adaptors.aai.AAIService



3.b

update Domain Service instance in AAI

<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='deleteResource'>
<parameter name="Orchestration status " value="deleting ">

5.a.(ii)

opticalservice:optical-service-delete

org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource





Update request_status in Config DB

<save plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
key = 'UPDATE sdnc_mdons SET request_status=$sdnc_mdons.request_status where request_id=$sdnc_mdons.request_id'
force='true' pfx='save-result'>
Status: DELETING

5.a(iii)

opticalservice:optical-service-delete





3.a

Publish notification to SO

Send response (RPC response to SO)

{
 "output": {
    "response-code": "200",
    "response-message": "Service Deletion in progress."
  }
}





Sync failure response



Step no.

Subcomponent/Class

plugin/adaptor

method

Requirement Reference

Description

Actions(Logic)

Step no.

Subcomponent/Class

plugin/adaptor

method

Requirement Reference

Description

Actions(Logic)

5.b. 

opticalservice:optical-service-delete









3.a

publish sync failure message to SO

Send response (RPC response to SO)

{
  "output": {
    "response-code": "500",
    "response-message": "Service cannot be deleted."
  }
}

Asynchronous Response from Domain Controller:

Async success response



Step no.

Subcomponent/Class

plugin/adaptor

method

Requirement Reference

Description

Actions(Logic)

Step no.

Subcomponent/Class

plugin/adaptor

method

Requirement Reference

Description

Actions(Logic)

6.a.(i)

opticalservice:

AsyncNotificationHandling.java

org.onap.ccsdk.sli.adaptors.aai.AAIService





delete service-instance entry in AAI

Capacity:

available_capacity = avaialble_capacity+rate

under p-interface and logical-link

<delete plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='deletedResource'>
<parameter name="Orchestration status " value="deleting ">



opticalservice:

AsyncNotificationHandling.java

org.onap.ccsdk.sli.adaptors.aai.AAIService





Update network-interface-type under p-interface (available)

<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='deletedResource'>
<parameter name="network-interface " value="save ">

6.a(ii)

opticalservice:

AsyncNotificationHandling.java

org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource



4.c

Delete an entry from Config DB

<delete plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
key = 'Delete * from sdnc_mdons where request_id=$sdnc_mdons.request_id'
force='true' pfx='save-result'>

6.a(iii)

opticalservice:

AsyncNotificationHandling.java







4.a

publish async success message to SO

{

     "configuration-response-common":{

         "request-id":"3e35dcad-8e2d-420a-b434-822daa38b2ff",

         "response-code":"200",

         "response-message":"SUCCESS",

         "ack-final-indicator":"Y"

      }

}



Async failure response



Step no.

Subcomponent/Class

plugin/adaptor

method

Requirement Reference

Description

Actions(Logic)

Step no.

Subcomponent/Class

plugin/adaptor

method

Requirement Reference

Description

Actions(Logic)

6.b(i)

opticalservice:

AsyncNotificationHandling.java

org.onap.ccsdk.sli.adaptors.aai.AAIService





Update service-instance in AAI

No operation on available_capacity

<save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='deletedResource'>
<parameter name="Orchestration status " value="Created ">

6.b(ii)

opticalservice:

AsyncNotificationHandling.java

org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource





Update request_status in Config DB

<save plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
key = 'UPDATE sdnc_mdons SET request_status=$sdnc_mdons.request_status where request_id=$sdnc_mdons.request_id'
force='true' pfx='save-result'>
Status: CREATED

6.b(iii)

opticalservice:

AsyncNotificationHandling.java







Post notification to SO

{

      "configuration-response-common":{

         "request-id":"3e35dcad-8e2d-420a-b434-822daa38b2ff",

         "response-code":"500",

         "response-message":"Failure",

         "ack-final-indicator":"Y"

      }

}