Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Install Docker CE, an example tutorial can be found here.
  2. Make local copies of the HAS and MUSIC repos

    Code Block
    languagebash
    titleHAS 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
  3. (Optional) Install Insomnia REST API client for handling REST requests. Some prepared requests and variables are available can be imported to Insomnia.
  4. (Optional) For advanced debugging of the inter-component communication use Wireshark

...

languagebash

Installation and Configuration

    1. Build and start A&AI simulator

      Code Block
      languagebash
      $ 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?

    2. Verify A&AI Simulator (Hint: in examples, 0.0.0.0 is IPAddress of A&AI container as per $ docker container ls)
      1. $ docker container ls
      2. expected result: image names should include: aaisim
      3. $ curl http://0.0.0.0:8081/healthcheck
      4. expected result: {"status": "success"}
      5. $ curl http://0.0.0.0:8081/aai/v13/cloud-infrastructure/cloud-regions/
      6. expected result: {"cloud-region": [{"group-assignments": ...much more...
    3. Build and start MUSIC
      1. Configure access to MUSIC:
      2. Edit music/distribution/dockermusic/music.sh to change user/password:

        Code Block
        languagebash
        ```text
        -CASS_USERNAME=cassandra1
        -CASS_PASSWORD=cassandra1
        +CASS_USERNAME=conductor
        +CASS_PASSWORD=c0nduct0r
        ```
      3. Edit music/distribution/dockermusic/properties/music.properties to change user/password:

        Code Block
        languagebash
        ```text
        -cassandra.user=cassandra1
        -cassandra.password=cassandra1
        +cassandra.user=conductor
        +cassandra.password=c0nduct0r
        ```
      4. Build and start MUSIC containers

        Code Block
        languagebash
        $ cd ~//music/distribution/dockermusic
        $ ./music.sh start
      5. Verify MUSIC components
        1. $ docker container ls
        2. expected result: image names should include: music-tomcat, music-zk, music-war, music-db
    4. Build and Start HAS
      1. Configure HAS
        1. Edit has/conductor.conf
        2. search for [music_api]


          Code Block
          languagebash
          ```text
          -server_url = http://localhost:8080/MUSIC/rest/v2
          +server_url = http://<<IP address of 'music-tomcat' container>>:8080/MUSIC/rest/v2
          ```
    *
        1. search for [aai]


          Code Block
          languagebash
          ```text
        1. 
          -server_url = https://aai.api.simpledemo.onap.org:8443/aai
        1. 
          +server_url = http://<<IP address of 'aaisim' container>>:8081/aai
        1. 
          ```
    -
        1. Hint: find IPAddress of containers via:
          1. $ docker container ls
    and
          1. look at first term in PORTS column
    2.
    1. Onboard the HAS "conductor" application into MUSIC, E.g.:
Code Block
languagebash

...

$ 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."}
  1. 3. Start the HAS containers
      -
      1. $ cd ~/has
      -
      1. $ ./run-dockers.sh
      3.
    1. Verify HAS components
        -
        1. $ docker container ls
        -
        1. expected result: image names should include: data, reservation, solver, api, controller

      Running

      1. Send vCPE homing template to HAS, E.g.

        1. $ curl -X POST --user admin1:plan.15 -H 'Content-Type:

      2. data
      3. reservation
      4. solver
      5. api
      6. controller
        1. application/json' \
          -d @homing.json localhost:8091/v1/plans

        2. Hint: homing.json may be created by conjoining 

        3. 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

        4. Hint: for username:password (--user above) see ~/conductor.conf, conductor_api section