The OpenOLT adapter connects the VOLTHA core to an OLT device running the OpenOLT agent.
Makefile contains many commands that are useful in development:
% make help 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-profile : Build openolt adapter docker image with profiling enabled docker-build : Build openolt adapter docker 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-mod : Verify the Go dependencies lint : Run all lint targets 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
test targets before submitting code changes.
docker-* targets for building and pushing Docker images depend on the variables
DOCKER_TAG as described in the CORD documentation
If you make changes the dependencies in the
go.mod file, you will need to run
make mod-update to update the
If you want to build/test using a local copy of the
voltha-lib-go libraries this can be accomplished by using the environment variables
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.