4 import interface_service_bindings
8 import network_topology
11 import odl_interface_meta
13 import opendaylight_inventory
14 from model import Model
17 class Singleton(object):
18 def __new__(cls, *args, **kwds):
19 it = cls.__dict__.get("__it__")
22 cls.__it__ = it = object.__new__(cls)
23 it.init(*args, **kwds)
26 def init(self, *args, **kwds):
34 if cls not in instances:
35 instances[cls] = cls()
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
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
63 def get_all_models(self, 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)
85 def get_models(self, args, models):
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)