Goal:Before running the 5G case, some manual configuration is required, part of which is a temporary way for this version.
Content:
Table of Contents
UUI Configuration
Configure CST template UUID and Invariant UUID in slicing.properties file of uui-server microservice
In uui-server microservice, modify the following configuration file, /home/UUI/configGoal:Before running the 5G case, some manual configuration is required, part of which is a temporary way for this version.
Content:
Table of Contents
UUI Configuration
Configure CST template UUID and Invariant UUID in slicing.properties file of uui-server microservice
In uui-server microservice, modify the following configuration file, /home/UUI/config/slicing.properties
Add or update the parameters slicing.serviceInvariantUuid and parameter slicing.serviceUuid.
...
Add 'ServiceProfile' and 'NSTAR' model to A&AI through postman.(ServiceProfile/NSTAR Model Id and Invariant Id can be find on SDC page.)
...
Elite soft json viewer | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{ "model-invariant-id": "73e7212d-a340-4626-a050-a9d07b96e146", "model-type": "resource", "model-vers": { "model-ver": [ { "model-version-id": "7d33bac2-7372-45d6-89a3-d8b2ecf16f87", "model-name": "NSTAR", "model-version": "1.0" } ] } } |
Create Customer and service-subscription
Create customer(5GCustomer) and service-subscription(5G) in AAI.
OOF Configuration
...
1) In OOF charts- oom/kubernetes/oof/resources/config/common-config.yaml, the following changes has to be made before deploying oof.
- oof/resources/config/common-config.yml has to be updated to use local policies instead of remote policies. change "global_disabled" from True to False
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#!/bin/bash echo "preloading AAI data"; result= resourceversion= result=$(curl --user AAI:AAI -X PUT -H "X-FromAppId:AAI" -H "X-TransactionId:get_aai_subscr" -H "Accept:application/json" -H "Content-Type:application/json" -k https://10.0.0.9:30233/aai/v14/business/customers/customer/5GCustomer/service-subscriptions/service-subscription/5G/service-instances/service-instance/4115d3c8-dd59-45d6-b09d-e756dee9b518 -d '{ "service-instance-id": "4115d3c8-dd59-45d6-b09d-e756dee9b518", "service-instance-name": "nsi_test_0211", "service-type": "embb", "service-role": "nsi", "model-invariant-id": "'"$1"'", "model-version-id": "'"$2"'", "orchestration-status": "active"}') echo $result result=$(curl --user AAI:AAI -X PUT -H "X-FromAppId:AAI" -H "X-TransactionId:get_aai_subscr" -H "Accept:application/json" -H "Content-Type:application/json" -k https://10.0.0.9:30233/aai/v14/business/customers/customer/5GCustomer/service-subscriptions/service-subscription/5G/service-instances/service-instance/1a636c4d-5e76-427e-bfd6-241a947224b0 -d '{ "service-instance-id": "1a636c4d-5e76-427e-bfd6-241a947224b0", "service-instance-name": "nssi_test_0211", "service-type": "embb", "service-role": "nssi", "environment-context": "cn", "model-invariant-id": "'"$3"'", "model-version-id": "'"$4"'", "orchestration-status": "active"}') echo $result resourceversion=$(curl --user AAI:AAI -X GET -H "X-FromAppId:AAI" -H "X-TransactionId:get_aai_subscr" -H "Accept:application/json" -H "Content-Type:application/json" -k https://10.0.0.9:30233/aai/v14/business/customers/customer/5GCustomer/service-subscriptions/service-subscription/5G/service-instances/service-instance/4115d3c8-dd59-45d6-b09d-e756dee9b518 | jq --raw-output '."resource-version"') result=$(curl --user AAI:AAI -X PUT -H "X-FromAppId:AAI" -H "X-TransactionId:get_aai_subscr" -H "Accept:application/json" -H "Content-Type:application/json" -k https://10.0.0.9:30233/aai/v14/business/customers/customer/5GCustomer/service-subscriptions/service-subscription/5G/service-instances/service-instance/4115d3c8-dd59-45d6-b09d-e756dee9b518 -d '{ "service-instance-id": "4115d3c8-dd59-45d6-b09d-e756dee9b518", "service-instance-name": "nsi_test_0211", "service-type": "embb", "service-role": "nsi", "orchestration-status": "active", "model-invariant-id": "'"$1"'", "model-version-id": "'"$2"'", "resource-version":"'"$resourceversion"'", "relationship-list": { "relationship": [ { "related-to": "service-instance", "relationship-label": "org.onap.relationships.inventory.ComposedOf", "related-link": "/aai/v16/business/customers/customer/5GCustomer/service-subscriptions/service-subscription/5G/service-instances/service-instance/1a636c4d-5e76-427e-bfd6-241a947224b0", "relationship-data": [ { "relationship-key": "customer.global-customer-id", "relationship-value": "5GCustomer" }, { "relationship-key": "service-subscription.service-type", "relationship-value": "5G" }, { "relationship-key": "service-instance.service-instance-id", "relationship-value": "1a636c4d-5e76-427e-bfd6-241a947224b0" } ], "related-to-property": [ { "property-key": "service-instance.service-instance-name", "property-value": "nssi_test_0211" } ] } ] } }') echo $result resourceversion=$(curl --user AAI:AAI -X GET -H "X-FromAppId:AAI" -H "X-TransactionId:get_aai_subscr" -H "Accept:application/json" -H "Content-Type:application/json" -k https://10.0.0.9:30233/aai/v19/business/customers/customer/5GCustomer/service-subscriptions/service-subscription/5G/service-instances/service-instance/1a636c4d-5e76-427e-bfd6-241a947224b0/slice-profiles/slice-profile/cdad9f49-4201-4e3a-aac1-b0f27902c299 | jq --raw-output '."resource-version"') echo $resourceversion result=$(curl --user AAI:AAI -X PUT -H "X-FromAppId:AAI" -H "X-TransactionId:get_aai_subscr" -H "Accept:application/json" -H "Content-Type:application/json" -k https://10.0.0.9:30233/aai/v19/business/customers/customer/5GCustomer/service-subscriptions/service-subscription/5G/service-instances/service-instance/1a636c4d-5e76-427e-bfd6-241a947224b0/slice-profiles/slice-profile/cdad9f49-4201-4e3a-aac1-b0f27902c299 -d '{-b0f27902c299 | jq --raw-output '."resource-version"') echo $resourceversion result=$(curl --user AAI:AAI -X PUT -H "X-FromAppId:AAI" -H "X-TransactionId:get_aai_subscr" -H "Accept:application/json" -H "Content-Type:application/json" -k https://10.0.0.9:30233/aai/v19/business/customers/customer/5GCustomer/service-subscriptions/service-subscription/5G/service-instances/service-instance/1a636c4d-5e76-427e-bfd6-241a947224b0/slice-profiles/slice-profile/cdad9f49-4201-4e3a-aac1-b0f27902c299 -d '{ "profile-id": "cdad9f49-4201-4e3a-aac1-b0f27902c299", "latency": 5, "max-number-of-UEs": 0, "coverage-area-TA-list": "[{\"province\":\"??\",\"city\":\"???\",\"county\":\"???\",\"street\":\"?????\"}]", "ue-mobility-level": "stationary", "resource-sharing-level": "shared", "exp-data-rate-UL": 100, "exp-data-rate-DL": 100, "activity-factor": 0, "e2e-latency": 0, "jitter": 0, "survival-time": 0, "exp-data-rate": 0, "payload-size": 0, "traffic-density": 0, "conn-density": 0, "reliability":99.999, "resource-version":"'"$resourceversion"'" }') echo $result exit |
3) Local policies (vnf, subscriber & threshold policy) should be copied to the osdf pod
(i) Execute the below script in the test environment by passing nst name, nsst name, model invariant id of NSST & model version id (aka) model uuid of NSST (in the same order as mentioned here)
./policy.sh <NST name> <NSST name> <model-invariant-id of NSST> <model-version-id of NSST>
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
#./policy.sh EmbbNst EmbbCn 5t636c4d-5e76-427e-bfd6-241a947224b0 1a636c4d-5e76-427e-bfd6-241a947224b0 |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
mkdir test cd test mkdir policy-local-files cd policy-local-files cat <<EOF >vnfPolicy_URLLC_Core_1.json { "OSDF_FRANKFURT.vnfPolicy_URLLC_Core_1": { "type": "onap.policies.optimization.resource.VnfPolicy", "version": "1.0.0", "type_version": "1.0.0", "metadata": { "policy-id": "OSDF_FRANKFURT.vnfPolicy_URLLC_Core_1", "policy-version": 1 }, "properties": { "scope": [ "OSDF_FRANKFURT", "$1", "$2" ], "resources": [ "$2" ], "services": [ "$1" ], "identity": "vnf_URLLC_Core_1", "applicableResources": "any", "vnfProperties": [ { "inventoryProvider": "aai", "inventoryType": "nssi", "region": "RegionOne", "attributes": { "orchestrationStatus": "active", "service-role": "nssi", "modelInvariantId":"$3", "modelVersionId":"$4" } } ] } } } EOF cat <<EOF >thresholdPolicy_URLLC_Core_1.json { "OSDF_FRANKFURT.Threshold_URLLC_Core_1":{ "type":"onap.policies.optimization.resource.ThresholdPolicy", "version":"1.0.0", "type_version":"1.0.0", "metadata":{ "policy-id":"OSDF_FRANKFURT.Threshold_URLLC_Core_1", "policy-version":1 }, "properties":{ "scope":[ "OSDF_FRANKFURT", "$1", "$2" ], "resources":[ "$2" ], "services":[ "$1" ], "geography": [], "identity":"Threshold_URLLC_Core_1", "thresholdProperties":[ { "attribute":"latency", "operator":"lte", "threshold":5, "unit":"ms" } "profile-id": "cdad9f49-4201-4e3a-aac1-b0f27902c299", ] "latency": 5, } "max-number-of-UEs": 0, } } EOF cat <<EOF >subscriber_policy_URLLC_1.json { "coverage-area-TA-list "OSDF_FRANKFURT.SubscriberPolicy_URLLC_1": "[{\"province\":\"??\",\"city\":\"???\",\"county\":\"???\",\"street\":\"?????\"}]{ "type": "onap.policies.optimization.service.SubscriberPolicy", "version": "1.0.0", "type_version": "1.0.0", "metadata": { "policy-id": "OSDF_FRANKFURT.SubscriberPolicy_URLLC_1", "policy-version": 1 }, "ue-mobility-level": "stationaryproperties",: { "scope": [ "resource-sharing-level": "sharedOSDF_FRANKFURT", "$1" "exp-data-rate-UL": 100], "services": [ "exp-data-rate-DL": 100, $1" ], "identity": "subscriber_URLLC_1", "activity-factor": 0,properties": { "subscriberName": [ "e2e-latency": 0, "$2" ] } "jitter": 0, } } } EOF |
(ii) after the script gets executed, directory named "test" gets created. Copy the test directory inside the Pod
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
# kubectl cp -n onap <path to the test folder> <osdf-pod "survival-time": 0, name>:/opt/osdf/ |
Example of these three policies can be found in this link https://lf-onap.atlassian.net/wiki/display/DW/Policy+Models+and+Sample+policies+-+NSI+selection
ESR Configuration
Configure Simulator by Esr
Code Block | ||
---|---|---|
| ||
PUT /external-system/esr-thirdparty-sdnc-list/esr-thirdparty-sdnc/{thirdparty-sdnc-id} application/json { "expthirdparty-datasdnc-rateid": 0, "payload-size": 0, "", "traffic-densitylocation": 0"", "product-name": "nssmf" "conn-density": 0, "reliability":99.999, "resource-version":"'"$resourceversion"'" }') echo $result exit |
3) Local policies (vnf, subscriber & threshold policy) should be copied to the osdf pod (/opt/osdf/test/policy-local-policies/ )
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
# kubectl cp -n onap <path to the test folder> <osdf-pod name>:/opt/osdf/ |
(For now, all the three policies has to be updated manually every time the model changes). For convenience test folder is kept in the test environment.
Example of these three policies can be found in this link https://wiki.onap.org/display/DW/Policy+Models+and+Sample+policies+-+NSI+selection
...
} |
Code Block | ||||
---|---|---|---|---|
| ||||
PUT /external-system/esr-thirdparty-sdnc-list/esr-thirdparty-sdnc/{thirdparty-sdnc-id}/esr-system-info-list/esr-system-info/{esr-system-info-id}
application/xml
<esr-system-info xmlns="http://org.onap.aai.inventory/v16">
<esr-system-info-id></esr-system-info-id>
<system-name></system-name>
<version></version>
<user-name></user-name>
<password></password>
<system-type></system-type>
<ip-address>simulator IP</ip-address>
<port>simulator Port</port>
</esr-system-info> |