Ejemplo n.º 1
0
 def __init__(self, group_info):
     if (isinstance(group_info, dict)):
         d = dict_keys_dashed_to_underscored(group_info)
         for k, v in d.items():
             setattr(self, k, v)
     else:
         raise TypeError("[GroupInfo] wrong argument type '%s'"
                         " (dictionary is expected)" % type(group_info))
Ejemplo n.º 2
0
 def __init__(self, stats):
     if (isinstance(stats, dict)):
         d = dict_keys_dashed_to_underscored(stats)
         for k, v in d.items():
             setattr(self, k, v)
     else:
         raise TypeError("[GroupDescription] wrong argument type '%s'"
                         " (dictionary is expected)" % type(stats))
Ejemplo n.º 3
0
 def __init__(self, d):
     assert(isinstance(d, dict))
     p = 'odl-sal-netconf-connector-cfg:'
     js = json.dumps(d)
     obj = json.loads(js.replace(p, ''))
     d1 = dict_keys_dashed_to_underscored(obj)
     for k, v in d1.items():
         setattr(self, k, v)
Ejemplo n.º 4
0
 def __init__(self, d):
     assert(isinstance(d, dict))
     p = 'odl-sal-netconf-connector-cfg:'
     js = json.dumps(d)
     obj = json.loads(js.replace(p, ''))
     d1 = dict_keys_dashed_to_underscored(obj)
     for k, v in d1.items():
         setattr(self, k, v)
Ejemplo n.º 5
0
 def __init__(self, queue_id, stats):
     self.qid = queue_id
     if (isinstance(stats, dict)):
         d = dict_keys_dashed_to_underscored(stats)
         for k, v in d.items():
             setattr(self, k, v)
     else:
         raise TypeError("[QueueStats] wrong argument type '%s'"
                         " (dictionary is expected)" % type(stats))
Ejemplo n.º 6
0
 def __init_from_json__(self, s):
     assert (isinstance(s, basestring))
     obj = json.loads(s)
     d = dict_keys_dashed_to_underscored(obj)
     p1 = 'node_connector'
     for k, v in d.items():
         if p1 == k and isinstance(v, list):
             for p in v:
                 of_port = OpenFlowPort(p)
                 self.ports.append(of_port)
         else:
             setattr(self, k, v)
Ejemplo n.º 7
0
 def __init_from_json__(self, s):
     assert(isinstance(s, basestring))
     obj = json.loads(s)
     d = dict_keys_dashed_to_underscored(obj)
     p1 = 'node_connector'
     for k, v in d.items():
         if p1 == k and isinstance(v, list):
             for p in v:
                 of_port = OpenFlowPort(p)
                 self.ports.append(of_port)
         else:
             setattr(self, k, v)
Ejemplo n.º 8
0
 def __init_from_json__(self, s):
     if (isinstance(s, basestring)):
         l = json.loads(s)
         assert(isinstance(l, list))
         p1 = 'id'
         p2 = 'openflow'
         for item in l:
             if isinstance(item, dict):
                 d = dict_keys_dashed_to_underscored(item)
                 if p1 in d and isinstance(d[p1], basestring):
                     if (d[p1].startswith(p2)):
                         node = OpenFlowCapableNode(inv_dict=d)
                         self.add_openflow_node(node)
                     else:
                         node = NetconfCapableNode(inv_dict=d)
                         self.add_netconf_node(node)
     else:
         raise TypeError("[Inventory] wrong argument type '%s'"
                         " (JSON 'string' is expected)" % type(s))
Ejemplo n.º 9
0
 def __init_from_json__(self, s):
     if (isinstance(s, basestring)):
         l = json.loads(s)
         assert (isinstance(l, list))
         p1 = 'id'
         p2 = 'openflow'
         for item in l:
             if isinstance(item, dict):
                 d = dict_keys_dashed_to_underscored(item)
                 if p1 in d and isinstance(d[p1], basestring):
                     if (d[p1].startswith(p2)):
                         node = OpenFlowCapableNode(inv_dict=d)
                         self.add_openflow_node(node)
                     else:
                         node = NetconfCapableNode(inv_dict=d)
                         self.add_netconf_node(node)
     else:
         raise TypeError("[Inventory] wrong argument type '%s'"
                         " (JSON 'string' is expected)" % type(s))
Ejemplo n.º 10
0
 def __init_from_json__(self, s):
     assert(isinstance(s, basestring))
     obj = json.loads(s)
     d = dict_keys_dashed_to_underscored(obj)
     p1 = 'node_connector'
     p2 = 'opendaylight_group_statistics:group_features'
     p3 = 'flow_node_inventory:group'
     for k, v in d.items():
         if p1 == k and isinstance(v, list):
             for p in v:
                 of_port = OpenFlowPort(p)
                 self.ports.append(of_port)
         elif p2 == k:
             self.group_features = GroupFeatures(v)
         elif p3 == k and isinstance(v, list):
             for g in v:
                 of_group = GroupInfo(g)
                 self.groups.append(of_group)
         else:
             setattr(self, k, v)
Ejemplo n.º 11
0
 def __init_from_json__(self, s):
     assert(isinstance(s, basestring))
     obj = json.loads(s)
     d = dict_keys_dashed_to_underscored(obj)
     p1 = 'node_connector'
     p2 = 'opendaylight_group_statistics:group_features'
     p3 = 'flow_node_inventory:group'
     for k, v in d.items():
         if p1 == k and isinstance(v, list):
             for p in v:
                 of_port = OpenFlowPort(p)
                 self.ports.append(of_port)
         elif p2 == k:
             self.group_features = GroupFeatures(v)
         elif p3 == k and isinstance(v, list):
             for g in v:
                 of_group = GroupInfo(g)
                 self.groups.append(of_group)
         else:
             setattr(self, k, v)
Ejemplo n.º 12
0
    def __init_from_json__(self, s):
        if (isinstance(s, basestring)):
            l = json.loads(s)
            assert(isinstance(l, list))
            p1 = 'id'
            p2 = 'openflow'
            p3 = 'netconf_node_inventory:initial_capability'
            devices = [{'clazz': 'NOS', 'filter': 'brocade-interface?revision=2012-04-24'},
                       {'clazz': 'VRouter5600', 'filter': 'vyatta-interfaces?revision=2014-12-02'},
                       {'clazz': 'controller', 'filter': 'controller:netty:eventexecutor?revision=2013-11-12'}]
            for item in l:
                if isinstance(item, dict):
                    d = dict_keys_dashed_to_underscored(item)
                    if p1 in d and isinstance(d[p1], basestring):
                        if (d[p1].startswith(p2)):
                            node = OpenFlowCapableNode(inv_dict=d)
                            self.add_openflow_node(node)
                    if p3 in d:
                        # Netconf
                        capabilities = d.get(p3)
                        nodes = [[d, dev['clazz']] for c in capabilities for
                                 dev in devices if dev['filter'] in c]
                        for node in nodes:
                            if node is not None:
                                node = NetconfCapableNode(clazz=node[1],
                                                          inv_dict=node[0])
                                self.add_netconf_node(node)
                                break
                            else:
                                node = NetconfCapableNode(clazz='unknown',
                                                          inv_dict=d)
                                self.add_netconf_node(node)
                    else:
                        # TODO might be a badly connected node.. Need to compare with config:modules
                        node = NetconfCapableNode(clazz='unknown', inv_dict=d)
                        self.add_netconf_node(node)

        else:
            raise TypeError("[Inventory] wrong argument type '%s'"
                            " (JSON 'string' is expected)" % type(s))
Ejemplo n.º 13
0
 def __init_from_json__(self, s):
     if (isinstance(s, basestring)):
         obj = json.loads(s)
         d = dict_keys_dashed_to_underscored(obj)
         for k, v in d.items():
             if ('topology_id' == k):
                 self.topology_id = v
             elif ('node' == k):
                 if (isinstance(v, list)):
                     for i in v:
                         node = Node(i)
                         self.add_node(node)
             elif ('link' == k):
                 if (isinstance(v, list)):
                     for i in v:
                         link = Link(i)
                         self.add_link(link)
             else:
                 assert(False)
     else:
         raise TypeError("[Topology] wrong argument type '%s'"
                         " (JSON 'string' is expected)" % type(s))
Ejemplo n.º 14
0
 def __init_from_json__(self, s):
     if (isinstance(s, basestring)):
         obj = json.loads(s)
         d = dict_keys_dashed_to_underscored(obj)
         for k, v in d.items():
             if ('topology_id' == k):
                 self.topology_id = v
             elif ('node' == k):
                 if (isinstance(v, list)):
                     for i in v:
                         node = Node(i)
                         self.add_node(node)
             elif ('link' == k):
                 if (isinstance(v, list)):
                     for i in v:
                         link = Link(i)
                         self.add_link(link)
             else:
                 assert (False)
     else:
         raise TypeError("[Topology] wrong argument type '%s'"
                         " (JSON 'string' is expected)" % type(s))
Ejemplo n.º 15
0
 def __init_from_json__(self, s):
     if (isinstance(s, basestring)):
         l = json.loads(s)
         assert(isinstance(l, list))
         p1 = 'id'
         p2 = 'openflow'
         p3 = 'netconf_node_inventory:initial_capability'
         filter1 = 'brocade-interface-ext?revision=2014-04-01'
         filter2 = 'vyatta-interfaces?revision=2014-12-02'
         filter3 = 'controller:netty:eventexecutor?revision=2013-11-12'
         devices = [{'clazz': 'NOS', 'filter': filter1},
                    {'clazz': 'VRouter5600', 'filter': filter2},
                    {'clazz': 'controller', 'filter': filter3}]
         for item in l:
             if isinstance(item, dict):
                 d = dict_keys_dashed_to_underscored(item)
                 if p1 in d and isinstance(d[p1], basestring):
                     if (d[p1].startswith(p2)):
                         node = OpenFlowCapableNode(inv_dict=d)
                         self.add_openflow_node(node)
                 if p3 in d:
                     # Netconf
                     capabilities = d.get(p3)
                     nodes = [[d, dev['clazz']] for c in capabilities for
                              dev in devices if dev['filter'] in c]
                     for node in nodes:
                         if node is not None:
                             node = NetconfCapableNode(clazz=node[1],
                                                       inv_dict=node[0])
                             self.add_netconf_node(node)
                             break
                         else:
                             node = NetconfCapableNode(clazz='unknown',
                                                       inv_dict=d)
                             self.add_netconf_node(node)
     else:
         raise TypeError("[Inventory] wrong argument type '%s'"
                         " (JSON 'string' is expected)" % type(s))
Ejemplo n.º 16
0
 def __init_from_json__(self, s):
     assert(isinstance(s, basestring))
     obj = json.loads(s)
     d = dict_keys_dashed_to_underscored(obj)
     for k, v in d.items():
         setattr(self, k, v)
Ejemplo n.º 17
0
 def __init_from_json__(self, s):
     assert(isinstance(s, basestring))
     obj = json.loads(s)
     d = dict_keys_dashed_to_underscored(obj)
     for k, v in d.items():
         setattr(self, k, v)