Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

Steps to set up simulators for VoLTE use case


Step 1. Run "demo.sh init" from Robot VM to populate A&AI

Step 2. Install MockServer docker in Robot VM

>sudo docker pull jamesdbloom/mockserver
>sudo docker run -d -p 1080:1080 jamesdbloom/mockserver

Step 3. Use Postman to register SDN WAN controller for underlay network (you can do this in Portal ESR app too)


Step 4. Use Postman to register DC1 and DC2 SDN controller


Step 5. Use Postman to create PE1 and PE2 in A&AI


Step 6. Use Postman to create data center network 1,2,3,4 for overlay


Step 7. Change huaweivnfmdriver MSB service url and point to MockServer. Assume you are running from MutliService VM


>curl -X DELETE http://127.0.0.1/api/microservices/v1/services/huaweivnfmdriver/v1
>curl -X GET http://127.0.0.1/api/microservices/v1/services/huaweivnfmdriver/v1
>curl -X POST -H "Content-Type:application/json" -d '{"serviceName":"huaweivnfmdriver","version":"v1","url":"/api/huaweivnfmdriver/v1","protocol":"REST","lb_policy":"round-robin","nodes":[{"ip":"10.0.10.1","port":"1080"}]}' http://127.0.0.1/api/microservices/v1/services


Step 8. Create VoLTE service with Huawei VNFs and set nf_type parameter to huaweivnfmdriver. Put a screenshot here


Step 9. Open /service//vfc/nfvo/lcm/lcm/pub/config/config.py and change AAI_BASE_URL = "http://10.0.14.1:80/aai/v11"


Step 10. Update file basemodel.py in vfc_catalog container

/service/vfc/nfvo/catalog/catalog/pub/utils/toscaparser/basemodel.py (See R1 Known Issues issue 1)


Step 11. Update config.py in vfc_catalog container

root@3511e71899bc:/service/vfc/nfvo/catalog/catalog/pub/config# diff config.py config.py.orig 
52,54c52,54
< SDC_BASE_URL = "http://10.0.14.1:80/api"
< SDC_USER = "aai"
< SDC_PASSWD = "Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U"
---
> SDC_BASE_URL = "https://127.0.0.1:8443/api"
> SDC_USER = "SDC"
> SDC_PASSWD = "SDC"

 

Step 12. Configure MockServer to simulate SDN controller and VNFM driver

Mock server script to simulate SDN controllers and huawei VNFM driver
curl -v -X PUT "http://localhost:1080/expectation" -d '{
    "httpRequest": {
        "method": "POST",
        "path": "/controller/v2/tokens"
    },
    "httpResponse": {
        "statusCode": 200,
        "headers": {
            "content-type": ["application/json"]
        },
	"body": {
	     "not": false,
     	     "type": "JSON",
     	     "json": "{\"errcode\":\"0\",\"errmsg\":\"get token successfully.\",\"data\":{\"expiredDate\":\"2018-11-10 10:03:33\",\"token_id\":\"7F06BFDDAC33A989:77DAD6058B1BB81EF1A557745E4D9C78399B31C4DB509704ED8A7DF05A362A59\"}}"
	}
    }
}'

curl -v -X PUT "http://localhost:1080/expectation" -d '{
    "httpRequest": {
        "method": "POST",
        "path": "/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/vpn-services"
    },
    "httpResponse": {
        "statusCode": 201
    },
    "times" : {
        "remainingTimes" : 2,
        "unlimited" : true
    },
    "timeToLive" : {
        "unlimited" : true
    }
}'

curl -v -X PUT "http://localhost:1080/expectation" -d '{
    "httpRequest": {
        "method": "PUT",
        "path": "/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/huawei-ac-net-l3vpn-svc-vfi:vrf-attributes"
    },
    "httpResponse": {
        "statusCode": 204
    },
    "times" : {
        "remainingTimes" : 2,
        "unlimited" : true
    },
    "timeToLive" : {
        "unlimited" : true
    }
}'

curl -v -X PUT "http://localhost:1080/expectation" -d '{
    "httpRequest": {
        "method": "POST",
        "path": "/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/sites"
    },
    "httpResponse": {
        "statusCode": 201
    },
    "times" : {
        "remainingTimes" : 2,
        "unlimited" : true
    },
    "timeToLive" : {
        "unlimited" : true
    }
}'

# ZTE DCI
curl -v -X PUT "http://localhost:1080/expectation" -d '{
    "httpRequest": {
        "method": "POST",
        "path": "/v2.0/l3-dci-connects"
    },
    "httpResponse": {
        "statusCode": 201
    },
    "times" : {
        "remainingTimes" : 2,
        "unlimited" : true
    },
    "timeToLive" : {
        "unlimited" : true
    }
}'

# huaweivnfmdriver
curl -v -X PUT "http://localhost:1080/expectation" -d '{
    "httpRequest": {
        "method": "POST",
        "path": "/api/huaweivnfmdriver/v1/a0400010-11d7-4875-b4ae-5f42ed5d3a85/vnfs"
    },
    "httpResponse": {
        "statusCode": 200,
        "headers": {
            "content-type": ["application/json"]
        },
        "body": {
             "not": false,
             "type": "JSON",
             "json": "{\"vnfInstanceId\":\"fa3dca847b054f4eb9d3bc8bb9e5eec9\",\"jobId\":\"fa3dca847b054f4eb9d3bc8bb9e5eec9_post\"}"
        }
    },
    "times" : {
        "remainingTimes" : 2,
        "unlimited" : true
    },
    "timeToLive" : {
        "unlimited" : true
    }
}'

# huaweivnfmdriver
curl -v -X PUT "http://localhost:1080/expectation" -d '{
    "httpRequest": {
        "method": "GET",
        "path": "/api/huaweivnfmdriver/v1/a0400010-11d7-4875-b4ae-5f42ed5d3a85/jobs/fa3dca847b054f4eb9d3bc8bb9e5eec9_post",
	"queryStringParameters": {
	    "responseId": ["0"]
	}
    },
    "httpResponse": {
        "statusCode": 200,
        "headers": {
            "content-type": ["application/json"]
        },
        "body": {
             "not": false,
             "type": "JSON",
             "json": "{\"jobId\":\"fa3dca847b054f4eb9d3bc8bb9e5eec9\",\"responsedescriptor\":{\"progress\":\"50\",\"status\":\"processing\",\"errorCode\":null,\"responseId\":\"0\"}}"
        }
    },
    "times" : {
        "remainingTimes" : 20,
        "unlimited" : false
    },
    "timeToLive" : {
        "unlimited" : true
    }
}'

# huaweivnfmdriver
curl -v -X PUT "http://localhost:1080/expectation" -d '{
    "httpRequest": {
        "method": "GET",
        "path": "/api/huaweivnfmdriver/v1/a0400010-11d7-4875-b4ae-5f42ed5d3a85/jobs/fa3dca847b054f4eb9d3bc8bb9e5eec9_post",
	"queryStringParameters": {
	    "responseId": ["0"]
	}
    },
    "httpResponse": {
        "statusCode": 200,
        "headers": {
            "content-type": ["application/json"]
        },
        "body": {
             "not": false,
             "type": "JSON",
             "json": "{\"jobId\":\"fa3dca847b054f4eb9d3bc8bb9e5eec9\",\"responsedescriptor\":{\"progress\":\"100\",\"status\":\"processing\",\"errorCode\":null,\"responseId\":\"0\"}}"
        }
    },
    "times" : {
        "remainingTimes" : 2,
        "unlimited" : true
    },
    "timeToLive" : {
        "unlimited" : true
    }
}'

curl -v -X PUT "http://localhost:1080/expectation" -d '{
    "httpRequest": {
        "method": "GET",
        "path": "/api/huaweivnfmdriver/v1/a0400010-11d7-4875-b4ae-5f42ed5d3a85/jobs/fa3dca847b054f4eb9d3bc8bb9e5eec9_post",
	"queryStringParameters": {
	    "responseId": ["50"]
	}
    },
    "httpResponse": {
        "statusCode": 200,
        "headers": {
            "content-type": ["application/json"]
        },
        "body": {
             "not": false,
             "type": "JSON",
             "json": "{\"jobId\":\"fa3dca847b054f4eb9d3bc8bb9e5eec9\",\"responsedescriptor\":{\"progress\":\"100\",\"status\":\"processing\",\"errorCode\":null,\"responseId\":\"50\"}}"
        }
    },
    "times" : {
        "remainingTimes" : 2,
        "unlimited" : true
    },
    "timeToLive" : {
        "unlimited" : true
    }
}'


curl -v -X PUT "http://localhost:1080/expectation" -d '{
    "httpRequest": {
        "method": "GET",
        "path": "/api/huaweivnfmdriver/v1/a0400010-11d7-4875-b4ae-5f42ed5d3a85/jobs/fa3dca847b054f4eb9d3bc8bb9e5eec9_post",
	"queryStringParameters": {
	    "responseId": ["2"]
	}
    },
    "httpResponse": {
        "statusCode": 200,
        "headers": {
            "content-type": ["application/json"]
        },
        "body": {
             "not": false,
             "type": "JSON",
             "json": "{\"jobId\":\"fa3dca847b054f4eb9d3bc8bb9e5eec9\",\"responsedescriptor\":{\"progress\":\"100\",\"status\":\"processing\",\"errorCode\":null,\"responseId\":\"2\"}}"
        }
    },
    "times" : {
        "remainingTimes" : 2,
        "unlimited" : true
    },
    "timeToLive" : {
        "unlimited" : true
    }
}'


Step 13. Distribute VoLTE service from SDC


Step 14. Distribute VoLTE service from UUI


Step 15. Simulate request from UUI to SO


Step 16. Simulate notification message from Huawei VNFM driver to nslcm

Notification message sent from vnfm driver to nslcm

VNFM Status Notification Message
curl -v -X POST "http://10.0.14.1:80/api/nslcm/v1/ns/a0400010-11d7-4875-b4ae-5f42ed5d3a85/vnfs/fa3dca847b054f4eb9d3bc8bb9e5eec9/Notify" -d '{
 	"status": "Building", "vnfInstanceId": "fa3dca847b054f4eb9d3bc8bb9e5eec9", "operation": "Instantiate", "affectedVnfc": []
}'

sleep 1

curl -v -X POST "http://10.0.14.1:80/api/nslcm/v1/ns/a0400010-11d7-4875-b4ae-5f42ed5d3a85/vnfs/fa3dca847b054f4eb9d3bc8bb9e5eec9/Notify" -d '{
"status":"Building","vnfInstanceId":"fa3dca847b054f4eb9d3bc8bb9e5eec9","operation":"Instantiate","affectedVnfc":[{"vnfcInstanceId":"5376027132be4ba184ad55257a031a60","changeType":"added","vimid":"core-dc_RegionOne","vmid":"5376027132be4ba184ad55257a031a60","vmname":"vnfab40e6ba-df1f-458c-94c5-a45_OMU_1","vduid":"5376027132be4ba184ad55257a031a60"},{"vnfcInstanceId":"a40772541d5d405a85cce0013cf2afbd","changeType":"added","vimid":"core-dc_RegionOne","vmid":"a40772541d5d405a85cce0013cf2afbd","vmname":"vnfab40e6ba-df1f-458c-94c5-a45_OMU_0","vduid":"a40772541d5d405a85cce0013cf2afbd"},{"vnfcInstanceId":"9b5080d645684ba0b16a8eb38d12d136","changeType":"added","vimid":"core-dc_RegionOne","vmid":"9b5080d645684ba0b16a8eb38d12d136","vmname":"vnfab40e6ba-df1f-458c-94c5-a45_SPU_C_0067","vduid":"9b5080d645684ba0b16a8eb38d12d136"},{"vnfcInstanceId":"c91a54f15e654fde97895efe21b1b032","changeType":"added","vimid":"core-dc_RegionOne","vmid":"c91a54f15e654fde97895efe21b1b032","vmname":"vnfab40e6ba-df1f-458c-94c5-a45_SPU_C_0066","vduid":"c91a54f15e654fde97895efe21b1b032"},{"vnfcInstanceId":"c800312379d04243a64d361142fe366d","changeType":"added","vimid":"core-dc_RegionOne","vmid":"c800312379d04243a64d361142fe366d","vmname":"vnfab40e6ba-df1f-458c-94c5-a45_IPU_A_0065","vduid":"c800312379d04243a64d361142fe366d"},{"vnfcInstanceId":"e52ee6658768476084c7a97af26e39cf","changeType":"added","vimid":"core-dc_RegionOne","vmid":"e52ee6658768476084c7a97af26e39cf","vmname":"vnfab40e6ba-df1f-458c-94c5-a45_IPU_A_0064","vduid":"e52ee6658768476084c7a97af26e39cf"},{"vnfcInstanceId":"30adc3ab8698479c9acd9e532c9f0d5a","changeType":"added","vimid":"core-dc_RegionOne","vmid":"30adc3ab8698479c9acd9e532c9f0d5a","vmname":"vnfab40e6ba-df1f-458c-94c5-a45_SDU_A_0068","vduid":"30adc3ab8698479c9acd9e532c9f0d5a"},{"vnfcInstanceId":"5622630bfe3f41a2bac4f69e4baec0a3","changeType":"added","vimid":"core-dc_RegionOne","vmid":"5622630bfe3f41a2bac4f69e4baec0a3","vmname":"vnfab40e6ba-df1f-458c-94c5-a45_SDU_A_0069","vduid":"5622630bfe3f41a2bac4f69e4baec0a3"},{"vnfcInstanceId":"a82f9c5a22e748139bd0569e52048cb9","changeType":"added","vimid":"core-dc_RegionOne","vmid":"a82f9c5a22e748139bd0569e52048cb9","vmname":"vnfab40e6ba-df1f-458c-94c5-a45_SDU_A_0070","vduid":"a82f9c5a22e748139bd0569e52048cb9"}]
}'

sleep 1


curl -v -X POST "http://10.0.14.1:80/api/nslcm/v1/ns/a0400010-11d7-4875-b4ae-5f42ed5d3a85/vnfs/fa3dca847b054f4eb9d3bc8bb9e5eec9/Notify" -d '{
"status":"Active","vnfInstanceId":"fa3dca847b054f4eb9d3bc8bb9e5eec9","operation":"Instantiate","affectedVnfc":[{"vnfcInstanceId":"5376027132be4ba184ad55257a031a60","changeType":"added","vimid":"core-dc_RegionOne","vmid":"5376027132be4ba184ad55257a031a60","vmname":"vnfab40e6ba-df1f-458c-94c5-a45_OMU_1","vduid":"5376027132be4ba184ad55257a031a60"},{"vnfcInstanceId":"a40772541d5d405a85cce0013cf2afbd","changeType":"added","vimid":"core-dc_RegionOne","vmid":"a40772541d5d405a85cce0013cf2afbd","vmname":"vnfab40e6ba-df1f-458c-94c5-a45_OMU_0","vduid":"a40772541d5d405a85cce0013cf2afbd"},{"vnfcInstanceId":"9b5080d645684ba0b16a8eb38d12d136","changeType":"added","vimid":"core-dc_RegionOne","vmid":"9b5080d645684ba0b16a8eb38d12d136","vmname":"vnfab40e6ba-df1f-458c-94c5-a45_SPU_C_0067","vduid":"9b5080d645684ba0b16a8eb38d12d136"},{"vnfcInstanceId":"c91a54f15e654fde97895efe21b1b032","changeType":"added","vimid":"core-dc_RegionOne","vmid":"c91a54f15e654fde97895efe21b1b032","vmname":"vnfab40e6ba-df1f-458c-94c5-a45_SPU_C_0066","vduid":"c91a54f15e654fde97895efe21b1b032"},{"vnfcInstanceId":"c800312379d04243a64d361142fe366d","changeType":"added","vimid":"core-dc_RegionOne","vmid":"c800312379d04243a64d361142fe366d","vmname":"vnfab40e6ba-df1f-458c-94c5-a45_IPU_A_0065","vduid":"c800312379d04243a64d361142fe366d"},{"vnfcInstanceId":"e52ee6658768476084c7a97af26e39cf","changeType":"added","vimid":"core-dc_RegionOne","vmid":"e52ee6658768476084c7a97af26e39cf","vmname":"vnfab40e6ba-df1f-458c-94c5-a45_IPU_A_0064","vduid":"e52ee6658768476084c7a97af26e39cf"},{"vnfcInstanceId":"30adc3ab8698479c9acd9e532c9f0d5a","changeType":"added","vimid":"core-dc_RegionOne","vmid":"30adc3ab8698479c9acd9e532c9f0d5a","vmname":"vnfab40e6ba-df1f-458c-94c5-a45_SDU_A_0068","vduid":"30adc3ab8698479c9acd9e532c9f0d5a"},{"vnfcInstanceId":"5622630bfe3f41a2bac4f69e4baec0a3","changeType":"added","vimid":"core-dc_RegionOne","vmid":"5622630bfe3f41a2bac4f69e4baec0a3","vmname":"vnfab40e6ba-df1f-458c-94c5-a45_SDU_A_0069","vduid":"5622630bfe3f41a2bac4f69e4baec0a3"},{"vnfcInstanceId":"8a6c8c808f6549be824375c33639a7bb","changeType":"added","vimid":"core-dc_RegionOne","vmid":"8a6c8c808f6549be824375c33639a7bb","vmname":"vnfab40e6ba-df1f-458c-94c5-a45_SDU_A_0071","vduid":"8a6c8c808f6549be824375c33639a7bb"},{"vnfcInstanceId":"a82f9c5a22e748139bd0569e52048cb9","changeType":"added","vimid":"core-dc_RegionOne","vmid":"a82f9c5a22e748139bd0569e52048cb9","vmname":"vnfab40e6ba-df1f-458c-94c5-a45_SDU_A_0070","vduid":"a82f9c5a22e748139bd0569e52048cb9"}]
}'
  • No labels