| commit | ac8d23f13b736f6c28fc9a62d4739cba821d24aa | [log] [tgz] |
|---|---|---|
| author | Elia Battiston <elia@opennetworking.org> | Mon Mar 14 17:54:56 2022 +0100 |
| committer | Elia Battiston <elia@opennetworking.org> | Wed Mar 16 11:08:00 2022 +0100 |
| tree | e46184400b3f4a39d9e8fb79cb5b555b475256cb | |
| parent | be9edc1d13f08f41d1746ab81125f2a6b60d7bb5 [diff] |
[VOL-4648] Add connection to sysrepo and subscribe to NETCONF 'get' requests with dummy callback Change-Id: I9124d9b9430ee1358885bdb5c65dedfb3c5d3978
The Northbound BBF Adapter is a translation layer between the VOLTHA Northbound APIs and the BBF yang model, enabling VOLTHA to be integrated into a full fledged BBF Cloud CO deployment.
The Northbound BBF Adapter is implemented as a plugin for the sysrepo data store. Using libsysrepo, the adapter is able to act upon requests coming from NETCONF clients through the netopeer2 NETCONF server. A deployment of the adapter's container includes an instance of netopeer2 and the bbf-adapter process itself.
For information on how to deploy the BBF Adapter, please refer to the docs folder.
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 : Build the BBF Adapter docker container 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 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, 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.
voltha-protos or voltha-lib-goIf 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.