commit | d10fe3c0309789ad299abefbc12622cad88400b8 | [log] [tgz] |
---|---|---|
author | Girish Gowdra <girish@opennetworking.org> | Fri May 06 11:22:12 2022 -0700 |
committer | Girish Gowdra <girish@opennetworking.org> | Fri May 06 11:30:42 2022 -0700 |
tree | 6e8bfd4db68a415a0b1453272ab08e9b523abd4a | |
parent | 589addb03ddb2f7aa5741474b8af186dfe94794b [diff] |
1. Fix Dockerfile.builder file for an updated version of Git. 2. Update documentation with some notes on getting netopeer2-cli docker to work correctly on MacOS. Change-Id: I3406af2130a74f6dead9dde074dbf29968f5cff2
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 deploy.md in the docs folder.
The default credentials used to authenticate to the netopeer2 server in the BBF adapter's container are voltha:onf
.
An image with custom credentials can be built by running the following command:
NETCONF_USER=<username> NETCONF_PASSWORD=<password> make build
Further documentation for the adapter's development can be found in 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-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
vendor
directory are no longer what is in the most recent commit, and it will take manualgit
intervention to put the original files back.