...
- Install Docker CE, an example tutorial can be found here.
Make local copies of the HAS and MUSIC repos
Code Block language bash title HAS and MUSIC install $ cd "your workspace" $ git clone https://gerrit.onap.org/r/music $ cd music $ git checkout 2.0.0-ONAP $ cd ../ $ git clone https://gerrit.onap.org/r/optf/has $ cd has $ git checkout 2.0.0-ONAP
- (Optional) Install Insomnia REST API client for handling REST requests. Some prepared requests and variables are available can be imported to Insomnia.
- (Optional) For advanced debugging of the inter-component communication use Wireshark
...
language | bash |
---|
Installation and Configuration
Build and start A&AI simulator
Code Block language bash $ cd ~/has/conductor/conductor/tests/functional/simulators $ ./build_aaisim.sh $ ./run_aaisim.sh
Note: DNS name resolution issue may arise during building the simulator, because it needs the **web** Python package. TBD: Provide more detailed instructions. How does one there is an issues? what can one do about it?
- Verify A&AI Simulator (Hint: in examples, 0.0.0.0 is IPAddress of A&AI container as per $ docker container ls)
- $ docker container ls
- expected result: image names should include: aaisim
- $ curl http://0.0.0.0:8081/healthcheck
- expected result: {"status": "success"}
- $ curl http://0.0.0.0:8081/aai/v13/cloud-infrastructure/cloud-regions/
- expected result: {"cloud-region": [{"group-assignments": ...much more...
- Build and start MUSIC
- Configure access to MUSIC:
Edit music/distribution/dockermusic/music.sh to change user/password:
Code Block language bash ```text -CASS_USERNAME=cassandra1 -CASS_PASSWORD=cassandra1 +CASS_USERNAME=conductor +CASS_PASSWORD=c0nduct0r ```
Edit music/distribution/dockermusic/properties/music.properties to change user/password:
Code Block language bash ```text -cassandra.user=cassandra1 -cassandra.password=cassandra1 +cassandra.user=conductor +cassandra.password=c0nduct0r ```
Build and start MUSIC containers
Code Block language bash $ cd ~//music/distribution/dockermusic $ ./music.sh start
- Verify MUSIC components
- $ docker container ls
- expected result: image names should include: music-tomcat, music-zk, music-war, music-db
- Build and Start HAS
- Configure HAS
- Edit has/conductor.conf
search for [music_api]
Code Block language bash ```text -server_url = http://localhost:8080/MUSIC/rest/v2 +server_url = http://<<IP address of 'music-tomcat' container>>:8080/MUSIC/rest/v2 ```
- Configure HAS
- search for [aai]
Code Block language bash ```text
- search for [aai]
-server_url = https://aai.api.simpledemo.onap.org:8443/aai
+server_url = http://<<IP address of 'aaisim' container>>:8081/aai
```
- Hint: find IPAddress of containers via:
- $ docker container ls
- Hint: find IPAddress of containers via:
- look at first term in PORTS column
- Onboard the HAS "conductor" application into MUSIC, E.g.:
Code Block | ||
---|---|---|
|
...
$ curl -X POST -H 'Content-Type: application/json' \ |
...
-d '{"appname" : "conductor","userId": "conductor","password": "c0nduct0r","isAAF": false}' \ |
...
0.0.0.0:8080/MUSIC/rest/v2/admin/onboardAppWithMusic |
- - expected result: {"Generated AID":"2895db7e-2746-426a-822f-80c367161c65","Success":"Your application conductor has been onboarded with MUSIC."}
- 3. Start the HAS containers
- $ cd ~/has
- $ ./run-dockers.sh
- Verify HAS components
- $ docker container ls
- expected result: image names should include: data, reservation, solver, api, controller
Running
Send vCPE homing template to HAS, E.g.
$ curl -X POST --user admin1:plan.15 -H 'Content-Type:
- data
- reservation
- solver
- api
- controller
application/json' \
-d @homing.json localhost:8091/v1/plansHint: homing.json may be created by conjoining
Code Block { "name": "vCPE homing Beijing 2.0.0-ONAP", "template": <<HAS Homing Specification (R')>> }
where HAS Homing Specification (R') = https://wiki.onap.org/display/DW/vCPE+Homing+Use+Case
Hint: for username:password (--user above) see ~/conductor.conf, conductor_api section