[6683] Removing unnecessary files and update gitignore
VOL-507, VOL-463: Protobuf upgrade to 3.3 and Chameleon Removal
Update the Protobuf version from 3.1 to 3.3 to alleviate
a protobuf issue when loading protobuf extensions. The following
tests have been performed:
- Create a local Vagrant VM
- Voltha ensemble startup and check for errors/exceptions
- Manual compilations of the protos in voltha, ofagent, netconf and
chameleon directory
- Manual tests with ONOS/Voltha/Ponsim using Netconf, Curl and CLI
- Run the integration tests (known issues have Jiras already raised
against them.
- Run the make jenkins-test and make utest-with-coverage
Chameleon has been removed entirely from Voltha projects. Basic tests
have run to verify chameleon dependency has been removed. Some
documents (like README) will need to be changed under a separate Jiras
as they are referenced in different adapters. Some integration tests
will also need to be updated as well.
Change-Id: I2b266719a6825fb07ece3a79f7f81881ab3b9761
diff --git a/cli/table.py b/cli/table.py
index c3cf94d..9053594 100644
--- a/cli/table.py
+++ b/cli/table.py
@@ -97,24 +97,42 @@
for row, obj in enumerate(items):
assert isinstance(obj, Message)
+ def set_row(_row, field, field_name, value, t, prefix,
+ fields_to_omit, number):
+ fname = prefix + field.name
+ if fname in fields_to_omit:
+ return
+ if isinstance(value, Message):
+ add(_row, value, fname + '.',
+ 100 * (number + field.number))
+ else:
+ t.add_cell(_row, number + field.number, fname,
+ field_name)
+
def add(_row, pb, prefix='', number=0):
d = pb2dict(pb)
if show_nulls:
fields = pb.DESCRIPTOR.fields
+ for field in fields:
+ set_row(_row,
+ field,
+ d.get(field.name),
+ getattr(pb, field.name),
+ t,
+ prefix,
+ fields_to_omit,
+ number)
else:
- fields = pb._fields
- for field in fields:
- fname = prefix + field.name
- if fname in fields_to_omit:
- continue
- value = getattr(pb, field.name)
- if isinstance(value, Message):
- add(_row, value, fname + '.',
- 100 * (number + field.number))
- else:
- t.add_cell(_row, number + field.number, fname,
- d.get(field.name))
-
+ fields = pb.ListFields()
+ for (field, value) in fields:
+ set_row(_row,
+ field,
+ d.get(field.name),
+ value,
+ t,
+ prefix,
+ fields_to_omit,
+ number)
add(row, obj)
t.print_table(header, printfn, dividers)
@@ -124,37 +142,52 @@
show_nulls=False):
from cli.utils import pb2dict
+ def set_cell(pb, field, value, t, prefix, fields_to_omit):
+ fname = prefix + field.name
+ if fname in fields_to_omit:
+ return
+ if isinstance(value, Message):
+ pr(value, fname + '.')
+ elif isinstance(value, RepeatedCompositeFieldContainer):
+ row = t.number_of_rows()
+ t.add_cell(row, 0, 'field', fname)
+ t.add_cell(row, 1, 'value', '{} item(s)'.format((field.name)))
+ else:
+ row = t.number_of_rows()
+ t.add_cell(row, 0, 'field', fname)
+ t.add_cell(row, 1, 'value', field.name)
+
t = TablePrinter()
def pr(_pb, prefix=''):
d = pb2dict(_pb)
if show_nulls:
fields = _pb.DESCRIPTOR.fields
+ for field in sorted(fields, key=lambda f: f.number):
+ set_cell(_pb,
+ field,
+ getattr(_pb, field.name),
+ t,
+ prefix,
+ fields_to_omit)
else:
- fields = _pb._fields
- for field in sorted(fields, key=lambda f: f.number):
- fname = prefix + field.name
- if fname in fields_to_omit:
- continue
- value = getattr(_pb, field.name)
- if isinstance(value, Message):
- pr(value, fname + '.')
- elif isinstance(value, RepeatedCompositeFieldContainer):
- row = t.number_of_rows()
- t.add_cell(row, 0, 'field', fname)
- t.add_cell(row, 1, 'value', '{} item(s)'.format(
- len(d.get(field.name))))
- else:
- row = t.number_of_rows()
- t.add_cell(row, 0, 'field', fname)
- t.add_cell(row, 1, 'value', d.get(field.name))
+ fields = _pb.ListFields()
+ for (field, value) in sorted(fields, key=lambda (f, v): f.number):
+ set_cell(_pb,
+ field,
+ value,
+ t,
+ prefix,
+ fields_to_omit)
pr(pb)
t.print_table(header, printfn)
+
if __name__ == '__main__':
import random
+
t = TablePrinter()
for row in range(10):
t.add_cell(row, 0, 'id', row + 100)