[VOL-5272] - Fixed a problem with relative paths.

app-install.sh
Makefile
--------------
  o Add SPDX copyright tags.
    https://spdx.github.io/spdx-spec/v2.3/file-tags.
  o Create named test-* targets so 'make test' can be conditional.
  o No need to invoke tests/version-check for a non-release job.

app-install.sh
--------------
  o set -euo pipefail to detect shell problems.
  o Added ERR signal handler, display a stack trace for ($? != 0).
  o Added args --download and --install to begin weakening dependency
    on global variables.
  o Script now verbose when run.  Display banners, paths, artifacts, etc.
  o Replace cp with "rsync --checksum" everywhere for file copying.
  o Display contents of app.xml when unable to parse name=.
    Also display grep and sed output then fail hard.

test
test/bats/makefile
test/bats/display-help.sh
-------------------------
  o Add initial support for the bats testing harness (shell scripts).
  o Create a stub unit test directory to automate testing app-install.sh

Change-Id: I138fd2218a10121fbcce4fa8dbcf5776278d05ac
5 files changed
tree: e1c6aaef67f025f52fa7ef799037e3f55929451c
  1. .gitignore
  2. .gitreview
  3. CODE_OF_CONDUCT.md
  4. Dockerfile.voltha-onos
  5. Makefile
  6. README.md
  7. VERSION
  8. app-install.sh
  9. config.mk
  10. dependencies.xml
  11. etc/
  12. get-local-oars.sh
  13. makefiles/
  14. mvn_settings.sh
  15. mvn_settings.xml
  16. network-cfg-example.json
  17. network-cfg.json
  18. test/
  19. tests/
README.md

VOLTHA ONOS Development Build Environment

Docker build environment capable of producing a version of onos and needed apps that can run with voltha. Typically the onos restful api would be used to include apps after onos is started. This provides a build environment that includes current released and enabled oar files or optionally can import locally built oar files.

Build

By default the current set of onos apps is imported from a maven repository as read from dependencies.xml.

make build

Including locally built oar files

If you wish to include your own onos apps then export the LOCAL_ONOSAPPS environment variable to have locally built oar files copied from local_imports/oar into the docker build environment rather than pulling from maven. Any oar files in this directory will be included and set to start on onos startup.

Note! its assumed that the standard apps (olt-app, sadis, aaa, and dhcpl2relay) build environment is one up directory from this build environment. Modify get-local-oars.sh if this is not the case:

export LOCAL_ONOSAPPS=true
make build

Including custom config

The voltha-onos build also includes a mechanism to build in a default onos network-config.json file. You can simply edit network-cfg.json before building the docker image. Or if using docker-compose or k8s volume mount over the built in file within the container /root/onos/config/network-cfg.json with your own.

For example, in a docker-compose file:

  onos:
    image: "${DOCKER_REGISTRY}${DOCKER_REPOSITORY}voltha-onos:${DOCKER_TAG}"
    ports:
    - "8101:8101" # ssh
    - "6653:6653" # OF
    - "8181:8181" # UI
    environment:
      ONOS_APPS: 'drivers,openflow-base'
    volumes:
    - "/var/run/docker.sock:/tmp/docker.sock"
    - "./network-cfg.json:/root/onos/config/network-cfg.json"
    networks:
    - default
    restart: unless-stopped