The below indicates high-level test cases for A1 Adapter in ONAP to interface with A1 Mediator in RT RIC. The test cases will be further detailed out before the testing cycle.
The current scope of A1 Adpater in Non-RT RIC is limited to supporting Policy Management A1 messagesA1 messages.
Please note that A1 Mediator (Developer version 1.0.1), is currently deployed in the Windriver Lab in a standalone VM (without full RIC deployment), and can be accessed at 10.12.7.38:10001.
# | Component(s) | Test Case | Status | Remarks | ||||||
---|---|---|---|---|---|---|---|---|---|---|
#1 | SDN-R/A1 Adapter and A1 Mediator | A1 Adapter in Non-RT RIC establishes connection with A1 Mediator in RT RICNOT STARTED |
| |||||||
#2 | SDN-R/A1 Adapter and ONAP components | Upon receiving A1 Policy management DMAAP message from any ONAP components or micro-services, SDNR sends corresponding A1 message to A1 Mediator in Near Real TIme RIC. | NOT STARTED
| Currently there are close to 10 A1 messages that will be supported in Frankfurt, and individual test cases will correspond to the respective A1 messages | ||||||
#3 | SDN-R/A1 Adapter and ONAP components | SDNR is able to receive A1 message on A1-P topic and invoke corresponding RPC to trigger respective DG NOT STARTED |
| Currently there are close to 10 A1 messages that will be supported in Frankfurt, and individual test cases will correspond to the respective A1 messages | ||||||
#4 | SDN-R/A1 Adapter and ONAP components | RPC/DG execution: Verify if respective A1 Rest API is invoked against A1 Mediator, based on the received A1 Policy management DMAAP message | NOT STARTED
| Currently there are close to 10 A1 messages that will be supported in Frankfurt, and individual test cases will correspond to the respective A1 messages | ||||||
#5 | SDN-R/A1 Adapter and ONAP components | RPC/DG execution: Verify if DMAAP message confirming success or failure of API transaction with A1 mediator is published on A1-P-RSP topic. This DMAAP message to be consumed by ONAP components, as confirmation of its requested action NOT STARTED |
| Currently there are close to 10 A1 messages that will be supported in Frankfurt, and individual test cases will correspond to the respective A1 messages | ||||||
#6 | SDN-R/A1 Adapter and A1 Mediator | A1 Mediator in RT RIC to invoke Notification message against A1 AdapterNOT STARTED |
| Would be tested using CURL, as the current A1 mediator does not implement notifications |
...
2. DMAAP Message Request/Response Payloads and Test Verification Using CURL against A1 Mediator
RPC | DMAAP Message Request Payload | DMAAP Message Response Payload | Verification Using CURL against A1 Mediator | YANG/RPC Definition |
getNearRT-RICs | { "input" : { "dummy" : "Hello" } } | \"Payload\":\"10.12.7.38:10001\" | +---x getNearRT-RICs | +---w input | | +---w dummy? string | +--ro output | +--ro response-code? string | +--ro response-message? string | +--ro near-rt-ric-id-list* string | |
getHealthCheck | { "input" : { "near-rt-ric-id" : "10.12.7.38:10001" } } | \"Payload\":\"None\" | curl -X GET \ http://10.12.7.38:10001/a1-p/healthcheck \ -H 'Accept: application/json' \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ | +---x getHealthCheck | +---w input | | +---w near-rt-ric-id? string | +--ro output | +--ro response-code? string | +--ro response-message? string | +--ro health-status? Boolean |
getPolicyTypes | { "input" : { "near-rt-ric-id" : "10.12.7.38:10001" } } | \"Payload\":\"[20505, 20525 ]\\n\" | Check using CURL if policy type has been created curl -X GET \ http://10.12.7.38:10001/a1-p/policytypes \ -H 'Accept: application/json' \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ | +---x getPolicyTypes | +---w input | | +---w near-rt-ric-id? string | +--ro output | +--ro response-code? string | +--ro response-message? string | +--ro policy-type-id-list* uint32 |
getPolicyType | { "input" : { "near-rt-ric-id" : "10.12.7.38:10001", “policy-type-id": “20505" } } | "Payload":"{ \"create_schema\": { \"$schema\": \"http://json-schema.org/draft-07/schema#\", \"additionalProperties\": false, \"properties\": { \"blocking_rate\": { \"default\": 10, \"description\": \"% Connections to block\", \"maximum\": 100, \"minimum\": 1, \"type\": \"number\" }, \"enforce\": { \"default\": true, \"type\": \"boolean\" }, \"trigger_threshold\": { \"default\": 10, \"description\": \"Minimum number of events in window to trigger blocking\", \"minimum\": 1, \"type\": \"integer\" }, \"window_length\": { \"default\": 1, \"description\": \"Sliding window length (in minutes)\", \"maximum\": 30, \"minimum\": 1, \"type\": \"integer\" } }, \"type\": \"object\" }, \"description\": \"various parameters for controlpolicy2\", \"name\": \"controlPolicy2\", \"policy_type_id\": 20505}" | curl -X GET \ http://10.12.7.38:10001/a1-p/policytypes/20500 \ -H 'Accept: application/json' \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ | +---x getPolicyType | +---w input | | +---w near-rt-ric-id? string | | +---w policy-type-id? uint32 | +--ro output | +--ro response-code? string | +--ro response-message? string | +--ro description? string | +--ro name? string | +--ro policy-type? String |
deletePolicyType | { "input" : { "near-rt-ric-id" : "10.12.7.38:10001", “policy-type-id": “20001" } } | \"Payload\":\"Working On it\" | Check using CURL if policy type has been deleted curl -X GET \ http://10.12.7.38:10001/a1-p/policytypes \ -H 'Accept: application/json' \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ | +---x deletePolicyType | +---w input | | +---w near-rt-ric-id? string | | +---w policy-type-id? uint32 | +--ro output | +--ro response-code? string | +--ro response-message? String |
createPolicyType | { "input": { "near-rt-ric-id": "10.12.7.38:10001", "policy-type-id": "20010", "description": "various parameters for control policy-19999", "name": "control policy-19999", "properties": [{ "property-name": "enforce", "policy-statements": [{ "policy-statement": "type", "policy-statement-value": "boolean" }, { "policy-statement": "default", "policy-statement-value": "true" } ] }, { "property-name": "window_length", "policy-statements": [{ "policy-statement": "type", "policy-statement-value": "integer" }, { "policy-statement": "default", "policy-statement-value": "1" }, { "policy-statement": "minimum", "policy-statement-value": "1" }, { "policy-statement": "maximum", "policy-statement-value": "60" }, { "policy-statement": "description", "policy-statement-value": "Sliding window length in minutes" } ] } ] } } | \"Payload\":\"None\ | Check using CURL if policy type has been created curl -X GET \ http://10.12.7.38:10001/a1-p/policytypes \ -H 'Accept: application/json' \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ | +---x createPolicyType | +---w input | | +---w near-rt-ric-id? string | | +---w policy-type-id? uint32 | | +---w description? string | | +---w name? string | | +---w policy-type? string | | +---w properties* [property-name] | | +---w property-name string | | +---w policy-statements* [policy-statement] | | +---w policy-statement string | | +---w policy-statement-value? string | +--ro output | +--ro response-code? string | +--ro response-message? string | +--ro status? string | +--ro code? String |
getPolicyInstances | { "input" : { "near-rt-ric-id" : "10.12.7.38:10001", “policy-type-id": “20505" } } | \"Payload\":\"[97a955e0-1965-11ea-836a-2e728ce8bb899, 97a955e0-1965-55ea-836a-2e728ce8bb899 ]\\n\" | Check using CURL against A1 Mediator curl -X GET \ http://10.12.7.38:10001/a1-p/policytypes/20505/policies \ -H 'Accept: application/json' \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' | +---x getPolicyInstances | +---w input | | +---w near-rt-ric-id? string | | +---w policy-type-id? uint32 | +--ro output | +--ro response-code? string | +--ro response-message? string | +--ro policy-instance-id-list* string |
getPolicyInstance | { "input": { "near-rt-ric-id": "10.12.7.38:10001", "policy-type-id": "20505", "policy-instance-id": "97a955e0-1999-55ea-836a-2e728ce8bb899" } } | \"Payload\":\"{ \\\"blocking_rate\\\": 20, \\\"enforce\\\": true, \\\"trigger_threshold\\\": 10, \\\"window_length\\\": 10}\" | curl -X GET \ http://10.12.7.38:10001/a1-p/policytypes/20505/policies/97a955e0-1999-55ea-836a-2e728ce8bb899 \ -H 'Accept: application/json' \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ | +---x getPolicyInstance | +---w input | | +---w near-rt-ric-id? string | | +---w policy-type-id? uint32 | | +---w policy-instance-id? string | +--ro output | +--ro response-code? string | +--ro response-message? string | +--ro policy-instance? String |
deletePolicyInstance | { "input": { "near-rt-ric-id": "10.12.7.38:10001", "policy-type-id": "20505", "policy-instance-id": "97a955e0-1965-55ea-836a-2e728ce8bb899" } } | \"Payload\":\"Working On it\" | curl -X DELETE \ http://10.12.7.38:10001/a1-p/policytypes/20505/policies/97a955e0-1965-11ea-836a-2e728ce8bb899 \ -H 'Accept: application/json' \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ | +---x deletePolicyInstance | +---w input | | +---w near-rt-ric-id? string | | +---w policy-type-id? uint32 | | +---w policy-instance-id? string | +--ro output | +--ro response-code? string | +--ro response-message? String |
createPolicyInstance | { "input": { "near-rt-ric-id": "10.12.7.38:10001", "policy-type-id": "20505", "policy-instance-id": "97a955e0-1965-55ea-999a-2e728ce8bb899", "properties": [{ "property-name": "enforce", "property-value": "true" }, { "property-name": "enforce", "property-value": "true" }, { "property-name": "enforce", "property-value": "true" }, { "property-name": "enforce", "property-value": "true" } ] } } | \"Payload\":\"Working On it\" | Confirm using CURL that policy instance was created curl -X GET \ http://10.12.7.38:10001/a1-p/policytypes/20505/policies \ -H 'Accept: application/json' \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json'' | +---x createPolicyInstance | +---w input | | +---w near-rt-ric-id? string | | +---w policy-type-id? uint32 | | +---w policy-instance-id? string | | +---w policy-instance? string | | +---w properties* [property-name] | | +---w property-name string | | +---w property-value? string | +--ro output | +--ro response-code? string | +--ro response-message? String |
getStatus | { "input": { "near-rt-ric-id": "10.12.7.38:10001", "policy-type-id": "20505", "policy-instance-id": "97a955e0-1965-55ea-836a-2e728ce8bb899" } } | \"Payload\":\"Working On it\" | curl -X GET \ http://10.12.7.38:10001/a1-p/policytypes/20505/policies/97a955e0-1999-55ea-836a-2e728ce8bb899 \ -H 'Accept: application/json' \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ | +---x getStatus | +---w input | | +---w near-rt-ric-id? string | | +---w policy-type-id? uint32 | | +---w policy-instance-id? string | +--ro output | +--ro response-code? string | +--ro response-message? string | +--ro status? String |
notifyPolicyEnforcementUpdate | { "input" : { "near-rt-ric-id" : "10.12.7.38:10001", “policy-type-id": “20001", “policy-instance-id": “" } } | \"Payload\":\"Policy Enforcement Update - Policies Applied\" | +---x notifyPolicyEnforcementUpdate +---w input | +---w near-rt-ric-id? string | +---w policy-type-id? uint32 | +---w policy-instance-id? string | +---w policy_enforcement_status? string | +---w policy_enforcement_reason? string +--ro output +--ro response-code? string +--ro response-message? String |