The OpenONU adapter provides communication capabilities via OMCI to the ONU devices to be managed by the voltha system.
Additional documentation can be found in docs
Makefile contains many commands that are useful in development:
build : Alias for 'docker build' clean : Removes any local filesystem artifacts generated by a build distclean : Removes any local filesystem artifacts generated by a build or test run docker-build : Build openonu adapter docker image (set BUILD_PROFILED=true to also build the profiled image) docker-kind-load : Load docker images into a KinD cluster docker-push : Push the docker images to an external repository help : Print help for each Makefile target lint-dockerfile : Perform static analysis on Dockerfile lint : Run all lint targets lint-mod : Verify the Go dependencies lint-sanity : Perform basic code checks on source lint-style : Perform lint style checks on source code local-lib-go : Copies a local version of the voltha-lib-go dependency into the vendor directory local-protos : Copies a local version of the voltha-protos dependency into the vendor directory mod-update : Update go mod files sca : Runs static code analysis with the golangci-lint tool test : Run unit tests
It’s recommended that you run the
testtargets before submitting code changes.
docker-*targets for building and pushing Docker images depend on the variables
DOCKER_TAGas described in the CORD documentation
If you make changes the dependencies in the
go.modfile, you will need to run
make mod-updateto update the
Building with a Local Copy of
If you want to build/test using a local copy of the
voltha-lib-go libraries this can be accomplished by using the environment
LOCAL_LIB_GO. These environment variables should
be set to the filesystem path where the local source is located, e.g.:
export LOCAL_PROTOS=/path/to/voltha-protos export LOCAL_LIB_GO=/path/to/voltha-lib-go
make local-protos and/or
make local-lib-go as is appropriate to
copy them into the
NOTE: That the files in the
vendordirectory are no longer what is in the most recent commit, and it will take manual
gitintervention to put the original files back.