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.
Code Block |
---|
docker pull dzhanghuawei/pncsimulator:1.0.6 |
Step 2. Start
...
the simulator container(s)
After compiling the pncsimulator pnc-simulator image locally or fetching the docker image from remote registry, executing execute the command below to start the container:
Code Block |
---|
docker run –p 18181:8181 –d –name pncsimu-18181 –t pncsimudzhanghuawei/pncsimulator:1.0.56 |
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:
Code Block |
---|
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 and reset purposes.
To initialize the simulator for each domain:
Code Block |
---|
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 is 18181for domain1 and 28181 for domain2.
Here, INITIAL_DATA_FILE is a JSON representation describing the status of operational datastore.
...
JSON Viewer |
---|
{ "ietf-te:te": {}, "ietf-network:networks": { "network": [] } } |
To reset the simulator to the most recent initialization point:
Code Block |
---|
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, A sample INITIAL_DATA file is attached., two domain controllers are required, both need to be properly launched and initialized. The initialization payloads are attached below.
Other Helper Tools
ACTN Viewer
ACTN viewer is a tool that can visualize the ACTN topologies provided by the PNC simulators. To use the tool, please download the attached file, and modify controllers.json to reflect the PNC simulators' IP addresses. NOTE: this tool is not mandatory for the PNC simulator. Since actn-viewer is an executable file, please do NOT use it if you have security concerns.
View file | ||||
---|---|---|---|---|
|
Topology Generator
Topology Generator is a tool to help generate ACTN topology JSON file which can be injectecd in the PNC simulator (i.e., step 3). The tool provides an graphical user interface which allows the user to design the topology intuitively. The tool is available in onap's github link below. However, one needs to install the draw.io attached below in order to use it. NOTE: this tool is not mandatory for the PNC simulator. Since draw.io is an executable file, please do NOT use it if you have security concerns.
https://github.com/onap/integration-ietf-actn-tools/tree/master/actn-topo-generator
View file | ||||
---|---|---|---|---|
|