OpenONU adapterο
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
Development make targetsο
The 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
Some highlights:
Itβs recommended that you run the
lint,sca, andtesttargets before submitting code changes.The
docker-*targets for building and pushing Docker images depend on the variablesDOCKER_REGISTRY,DOCKER_REPOSITORY, andDOCKER_TAGas described in the CORD documentationIf you make changes the dependencies in the
go.modfile, you will need to runmake mod-updateto update thego.sumandvendordirectory.
Building with a Local Copy of voltha-protos or voltha-lib-goο
If you want to build/test using a local copy of the voltha-protos or
voltha-lib-go libraries this can be accomplished by using the environment
variables LOCAL_PROTOS and 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
Then run make local-protos and/or make local-lib-go as is appropriate to
copy them into the vendor directory.
NOTE: That the files in the
vendordirectory are no longer what is in the most recent commit, and it will take manualgitintervention to put the original files back.