| commit | c1c21d6eab07a3c6a7e62ca37224cd34f2e868a2 | [log] [tgz] |
|---|---|---|
| author | Prince Pereira <prince.pereira@radisys.com> | Thu Apr 22 08:38:15 2021 +0000 |
| committer | Prince Pereira <prince.pereira@radisys.com> | Fri May 07 13:28:05 2021 +0000 |
| tree | 113755d9d6be1c003db86636b24de2ff555101ab | |
| parent | b94c6f6913077d173e7259fcead9d8f6ebf138d5 [diff] |
VOL-4019: Initial commit with grpc nbi, sbi, etcd, kafka and hw management rpcs. Change-Id: I78feaf7da284028fc61f42c5e0c5f56e72fe9e78
The Opendevice Manager runs as a microservice docker container and implements the below functionalities:
make targetsThe 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-profile : Build opendevice manager docker image with profiling enabled docker-build : Build opendevice manager 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 dmi-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, and test targets before submitting code changes.
The docker-* targets for building and pushing Docker images depend on the variables DOCKER_REGISTRY, DOCKER_REPOSITORY, and 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 go.sum and vendor directory.
dmi-protos or voltha-lib-goIf you want to build/test using a local copy of the dmi-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/device-management-interface 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.