Example #1
0
 def do_groups(self, _):
     """Show flow group table for logical device"""
     logical_device = pb2dict(self.get_logical_device(-1))
     print_groups('Logical Device',
                  self.logical_device_id,
                  type='n/a',
                  groups=logical_device['flow_groups']['items'])
Example #2
0
 def do_flows(self, line):
     """Show flow table for device"""
     device = pb2dict(self.get_device(-1))
     print_flows('Device',
                 self.device_id,
                 type=device['type'],
                 flows=device['flows']['items'],
                 groups=device['flow_groups']['items'])
Example #3
0
 def do_meters(self, _):
     """Show flow meter table for logical device"""
     logical_device = pb2dict(self.get_logical_device(-1))
     print_meters(
         'Logical Device',
         self.logical_device_id,
         type='n/a',
         meters=logical_device['meters']['items']
     )
 def do_groups(self, _):
     """Show flow group table for logical device"""
     logical_device = pb2dict(self.get_logical_device(-1))
     print_groups(
         'Logical Device',
         self.logical_device_id,
         type='n/a',
         groups=logical_device['flow_groups']['items']
     )
Example #5
0
 def do_flows(self, line):
     """Show flow table for device"""
     device = pb2dict(self.get_device(-1))
     print_flows(
         'Device',
         self.device_id,
         type=device['type'],
         flows=device['flows']['items'],
         groups=device['flow_groups']['items']
     )
Example #6
0
 def add(_row, pb, prefix='', number=0):
     d = pb2dict(pb)
     if show_nulls:
         fields = pb.DESCRIPTOR.fields
         for field in fields:
             set_row(d, _row, field, getattr(pb, field.name), t, prefix,
                     fields_to_omit, number)
     else:
         fields = pb.ListFields()
         for (field, value) in fields:
             set_row(d, _row, field, value, t, prefix, fields_to_omit,
                     number)
Example #7
0
 def add(_row, pb, prefix='', number=0):
     d = pb2dict(pb)
     for field in pb._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))
Example #8
0
 def do_self_test(self, line):
     """
     Self Test a device. ID of the device needs to be provided
     """
     device_id = line or self.default_device_id
     self.poutput('Self Testing {}'.format(device_id))
     try:
         stub = self.get_stub()
         res = stub.SelfTest(voltha_pb2.ID(id=device_id))
         self.poutput('Self Tested {}'.format(device_id))
         self.poutput(dumps(pb2dict(res), indent=4))
     except Exception as e:
         self.poutput('Error in self test {}.  Error:{}'.format(device_id, e))
Example #9
0
 def do_self_test(self, line):
     """
     Self Test a device. ID of the device needs to be provided
     """
     device_id = line or self.default_device_id
     self.poutput('Self Testing {}'.format(device_id))
     try:
         stub = self.get_stub()
         res = stub.SelfTest(voltha_pb2.ID(id=device_id))
         self.poutput('Self Tested {}'.format(device_id))
         self.poutput(dumps(pb2dict(res), indent=4))
     except Exception, e:
         self.poutput('Error in self test {}.  Error:{}'.format(device_id, e))
Example #10
0
    def set_cell(pb, field, value, t, prefix, fields_to_omit):
        d = pb2dict(pb)
        fname = prefix + field.name

        if fname in fields_to_omit:
            return
        if isinstance(value, Message):
            pr(value, fname + '.')
        elif is_repeated_item(value):  # handles any list
            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', value)
Example #11
0
 def pr(_pb, prefix=''):
     d = pb2dict(_pb)
     for field in sorted(_pb._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))
Example #12
0
 def do_health(self, line):
     """Show connectivity status to Voltha status"""
     stub = voltha_pb2.HealthServiceStub(self.get_channel())
     res = stub.GetHealthStatus(Empty())
     self.poutput(dumps(pb2dict(res), indent=4))
Example #13
0
 def do_health(self, line):
     """Show connectivity status to Voltha status"""
     stub = voltha_pb2.HealthServiceStub(self.get_channel())
     res = stub.GetHealthStatus(Empty())
     self.poutput(dumps(pb2dict(res), indent=4))