VOL-1489: Message and type needed for interadapter tech profile push

New InterAdapter message type and message needed to share
configured pon specifics between the olt and the onu

This includes work done with this commit:
https://gerrit.opencord.org/#/c/13561/

*Also* adjust Makefile to force the regenaration of voltha.pb
everytime in the event of proto or stub change.

Change-Id: Ic3fb129c8f04630fa0b10c7891f72285a72ea668
4 files changed
tree: 620247b3de16a12b7634108055feb0e5f075c465
  1. .gitignore
  2. .gitreview
  3. MANIFEST.in
  4. Makefile
  5. README.md
  6. VERSION
  7. go/
  8. protos/
  9. python/
  10. setup.py
  11. test/
  12. tox.ini
README.md

voltha-protos

Protobuf files used by VOLTHA.

Currently this is used to generate both Golang and Python protobufs and gRPC stubs.

Protobuf definition files are located in protos/voltha_protos directory. This directory hierarchy and import scheme is required to allow the python code generated by the gRPC compiler to have the correct import paths.

NOTE: The protos/google/api directory has files copied from the Google APIs, and is only included for initial compilation of the VOLTHA protobuf files - these API's should be installed independently via either the python googleapis-common-protos package or the golang go-genproto repo.

Go Environment

Get the voltha-protos repository:

mkdir -p ~/source
cd ~/source
git clone https://gerrit.opencord.org/voltha-protos
cd voltha-protos

Setting up the Go environment

After installing Go on a Mac or Linux environment, the GOPATH environment variable needs be set. These instructions assume it's ~/go.

Create a symbolic link in the $GOPATH/src tree to the voltha-go repository:

mkdir -p $GOPATH/src/github.com/opencord
ln -s ~/source/voltha-protos $GOPATH/src/github.com/opencord/voltha-protos

Go Dependencies

Install Dependencies

Checkout and go install correct version of protoc-gen-go:

cd $GOPATH/src/github.com/opencord/voltha-protos
go get -d github.com/golang/protobuf/
cd $GOPATH/src/github.com/golang/protobuf
git checkout v1.3.1
make install

Building locally

Install libprotoc 3.7.0 manually or use the Makefile target install it. Then build the python and golang stubs:

cd $GOPATH/src/github.com/opencord/voltha-protos
make install-protoc
make build

use dist/*.tar.gz for local python imports use go/ for local go imports

Using voltha-protos in your project

Python

Installation from Pypi:

pip install voltha-protos

or from a local build:

pip install ~/source/voltha-protos/dist/*.tar.gz

To use it within your code (for example)

from voltha_protos import voltha_pb2

Go

go get github.com/opencord/voltha-protos
cd $GOPATH/github.com/opencord/voltha-protos
make build

Protos are importable from github.com/opencord/voltha-protos/go/<packagename>

To use the libraries, import protos with the root path github.com/opencord/voltha-protos/go/

Testing

make test will run tests for all languages.