This user guide explains how to launch the pnc-simulator/ACTN simulator and initialize it with administrative APIs. "pnc-simulator" is our internal project name for ACTN simulator. Throughout this guide, terms "pnc-simulator", "ACTN simulator" and "the simulator" are used interchangeably.

Step 1. Fetch the simulator docker image

First, pull down the simulator image from public docker hub.

docker pull dzhanghuawei/pncsimulator:latest

Step 2. Start the simulator container(s)

After compiling the pnc-simulator image locally or fetching the docker image from remote registry, execute the command below to start the container:

docker run –p 18181:8181 –d –name pncsimu-18181 –t dzhanghuawei/pncsimulator:latest

It should be noted that, we redirect the request from host:18181 to container:8181. You can configure whatever port, mapping to container:8181 at your discretion. Be careful, if setting up multiple domain controllers, make sure to assign different external ports for them.

After starting the container, you should be able to verify the running container by:

docker container ps –a | grep pncsimu

Step 3. Initialize the simulator(s)

The simulator offers a set of administrative APIs which are designed for initialization and management purposes.

To initialize the simulator for each domain:
curl –X POST –H "content-type:application/json" http://${SERVER_IP:SERVER_PORT}/pncsimu/v1/reload-data -d @INITIAL_DATA_FILE

In our case, we use 18181 as SERVER_PORT for domain1 and 28181 for domain2.

Here, INITIAL_DATA_FILE is a JSON representation describing the status of operational datastore.

The file is formatted as follows.

To reset the simulator to the most recent initialization point:
curl –X POST –H "content-type:application/json" http://${SERVER_IP:SERVER_PORT}/pncsimu/v1/reload-data -d'{}'


Please be noted that, in the perspective of ONAP eco-system, ACTN simulators act like local domain controllers. Therefore, to demonstrate ONAP/SDNC's cross-domain managing capabilities, two or more domain controllers are expected from ONAP/SDNC.

For demonstration purposes, two domain controllers are required, both need to be properly launched and initialized. The initialization payloads are attached below.

pnc-init-payload-1-r9.jsonpnc-init-payload-2-r9.json


Q&A:

  1. What is the difference between ACTN simulator docker image v1.0.5 and vlatest? Why v1.0.5 was recommended on R8 ACTN Simulator Wiki? Is ACTN simulator backward compatible, and still support transport slicing usecase?                                                  Ans:A little background here, our team started the ACTN simulator project for "transport slice" usecase in ONAP R8/Guilin release. the ACTN simulator was designed to simulate the underlay physical network controller (L1) and serves the ONAP SDNC controller through IETF-ACTN-defined northbound interface. Later on, we added support to "cloud-lease-line" usecase as well. So, functionality-wise, it will keep supporting both "transport-slicing" and "cloud-lease-line" use cases as it advances. But, there is a problem. ACTN simulator is by nature a IETF ACTN standard advocator, and its API strictly follows the standard. In other words. whenever IETF ACTN updates the YANG model, ACTN simulator updates its own API to reflect these changes in due time. Unfortunately, this conflicts with ONAP development paradigm. Therefore, we recommend you stick with v1.0.5 and R8/Guilin ONAP if you want to test "transport-slicing", and using vlatest and R9/Istanbul for "cloud-lease-line". For those who're interested in testing "transport slicing" using latest ACTN simulator and latest ONAP. I suggest you look into SDNC DGs and update SDNC DG's RESTful calling, or contact our ONAP-SDNC expert hesam.rahimi@huawei.com.
  • No labels