Add flake8 support and fix issues
[netvirt.git] / resources / tools / odltools / odltools / mdsal / models / models.py
1 import elan
2 import id_manager
3 import ietf_interfaces
4 import interface_service_bindings
5 import itm_state
6 import l3vpn
7 import mip
8 import network_topology
9 import neutron
10 import odl_fib
11 import odl_interface_meta
12 import odl_l3vpn
13 import opendaylight_inventory
14 from model import Model
15
16
17 class Singleton(object):
18     def __new__(cls, *args, **kwds):
19         it = cls.__dict__.get("__it__")
20         if it is not None:
21             return it
22         cls.__it__ = it = object.__new__(cls)
23         it.init(*args, **kwds)
24         return it
25
26     def init(self, *args, **kwds):
27         pass
28
29
30 def singleton(cls):
31     instances = {}
32
33     def getinstance():
34         if cls not in instances:
35             instances[cls] = cls()
36         return instances[cls]
37     return getinstance
38
39
40 @singleton
41 class Models:
42
43     def __init__(self):
44         self.args = None
45         self.elan_elan_instances = None
46         self.elan_elan_interfaces = None
47         self.id_manager_id_pools = None
48         self.ietf_interfaces_interfaces = None
49         self.ietf_interfaces_interfaces_state = None
50         self.interface_service_bindings_service_bindings = None
51         self.itm_state_tunnels_state = None
52         self.l3vpn_vpn_interfaces = None
53         self.mip_mac = None
54         self.network_topology_network_topology_config = None
55         self.network_topology_network_topology_operational = None
56         self.neutron_neutron = None
57         self.odl_fib_fib_entries = None
58         self.odl_interface_meta_if_index_interface_map = None
59         self.odl_inventory_nodes_config = None
60         self.odl_inventory_nodes_operational = None
61         self.odl_l3vpn_vpn_instance_to_vpn_id = None
62
63     def get_all_models(self, args):
64         self.args = args
65         self.elan_elan_instances = elan.elan_instances(Model.CONFIG, args)
66         self.elan_elan_interfaces = elan.elan_interfaces(Model.CONFIG, args)
67         self.id_manager_id_pools = id_manager.id_pools(Model.CONFIG, args)
68         self.ietf_interfaces_interfaces = ietf_interfaces.interfaces(Model.CONFIG, args)
69         self.ietf_interfaces_interfaces_state = ietf_interfaces.interfaces_state(Model.OPERATIONAL, args)
70         self.interface_service_bindings_service_bindings = \
71             interface_service_bindings.service_bindings(Model.CONFIG, args)
72         self.itm_state_tunnels_state = itm_state.tunnels_state(Model.OPERATIONAL, args)
73         self.l3vpn_vpn_interfaces = l3vpn.vpn_instance_to_vpn_id(Model.CONFIG, args)
74         self.mip_mac = mip.mac(Model.CONFIG, args)
75         self.network_topology_network_topology_config = network_topology.network_topology(Model.CONFIG, args)
76         self.network_topology_network_topology_operational = network_topology.network_topology(Model.CONFIG, args)
77         self.neutron_neutron = neutron.neutron(Model.CONFIG, args)
78         self.odl_fib_fib_entries = odl_fib.fib_entries(Model.CONFIG, args)
79         self.odl_interface_meta_if_index_interface_map = \
80             odl_interface_meta.if_indexes_interface_map(Model.OPERATIONAL, args)
81         self.odl_inventory_nodes_config = opendaylight_inventory.nodes(Model.CONFIG, args)
82         self.odl_inventory_nodes_operational = opendaylight_inventory.nodes(Model.OPERATIONAL, args)
83         self.odl_l3vpn_vpn_instance_to_vpn_id = odl_l3vpn.vpn_instance_to_vpn_id(Model.CONFIG, args)
84
85     def get_models(self, args, models):
86         self.args = args
87
88         if "elan_elan_instances" in models:
89             self.elan_elan_instances = elan.elan_instances(Model.CONFIG, args)
90         if "elan_elan_interfaces" in models:
91             self.elan_elan_interfaces = elan.elan_interfaces(Model.CONFIG, args)
92         if "id_manager_id_pools" in models:
93             self.id_manager_id_pools = id_manager.id_pools(Model.CONFIG, args)
94         if "ietf_interfaces_interfaces" in models:
95             self.ietf_interfaces_interfaces = ietf_interfaces.interfaces(Model.CONFIG, args)
96         if "ietf_interfaces_interfaces_state" in models:
97             self.ietf_interfaces_interfaces_state = ietf_interfaces.interfaces_state(Model.OPERATIONAL, args)
98         if "interface_service_bindings_service_bindings" in models:
99             self.interface_service_bindings_service_bindings = \
100                 interface_service_bindings.service_bindings(Model.CONFIG, args)
101         if "itm_state_tunnels_state" in models:
102             self.itm_state_tunnels_state = itm_state.tunnels_state(Model.OPERATIONAL, args)
103         if "l3vpn_vpn_interfaces" in models:
104             self.l3vpn_vpn_interfaces = l3vpn.vpn_instance_to_vpn_id(Model.CONFIG, args)
105         if "mip_mac" in models:
106             self.mip_mac = mip.mac(Model.CONFIG, args)
107         if "network_topology_network_topology_config" in models:
108             self.neutron_neutron = neutron.neutron(Model.CONFIG, args)
109         if "network_topology_network_topology_config" in models:
110             self.network_topology_network_topology_config = network_topology.network_topology(Model.CONFIG, args)
111         if "network_topology_network_topology_operational" in models:
112             self.network_topology_network_topology_operational = network_topology.network_topology(Model.CONFIG, args)
113         if "neutron_neutron" in models:
114             self.neutron_neutron = neutron.neutron(Model.CONFIG, args)
115         if "odl_fib_fib_entries" in models:
116             self.odl_fib_fib_entries = odl_fib.fib_entries(Model.CONFIG, args)
117         if "odl_interface_meta_if_index_interface_map" in models:
118             self.odl_interface_meta_if_index_interface_map = \
119                 odl_interface_meta.if_indexes_interface_map(Model.OPERATIONAL, args)
120         if "odl_inventory_nodes_config" in models:
121             self.odl_inventory_nodes_config = opendaylight_inventory.nodes(Model.CONFIG, args)
122         if "odl_inventory_nodes_operational" in models:
123             self.odl_inventory_nodes_operational = opendaylight_inventory.nodes(Model.OPERATIONAL, args)
124         if "odl_l3vpn_vpn_instance_to_vpn_id" in models:
125             self.odl_l3vpn_vpn_instance_to_vpn_id = odl_l3vpn.vpn_instance_to_vpn_id(Model.CONFIG, args)