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 -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, "profile-idunit": "cdad9f49-4201-4e3a-aac1-b0f27902c299", "ms" } ] "latency": 5, } "max-number-of-UEs": 0, } } EOF cat <<EOF >subscriber_policy_URLLC_1.json { "coverage-area-TA-listOSDF_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-levelproperties": "stationary",{ "scope": [ "resource-sharing-level": "sharedOSDF_FRANKFURT", "$1" "exp-data-rate-UL": 100], "services": [ "exp-data-rate-DL": 100,$1" ], "activity-factoridentity": 0"subscriber_URLLC_1", "properties": { "e2e-latencysubscriberName": 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 "survival-time": 0, "exp-data-rate": 0, "payload-size": 0, -n onap <path to the test folder> <osdf-pod 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 { "trafficthirdparty-sdnc-densityid": 0"", "location": "", "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.
...
} |
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> |