Revision cc92b70f snf-cyclades-app/synnefo/logic/management/commands/reconcile-pools.py
b/snf-cyclades-app/synnefo/logic/management/commands/reconcile-pools.py | ||
---|---|---|
34 | 34 |
from synnefo.db.pools import EmptyPool |
35 | 35 |
|
36 | 36 |
|
37 |
|
|
38 | 37 |
class Command(BaseCommand): |
39 | 38 |
help = 'Check consistency of unique resources.' |
40 | 39 |
|
... | ... | |
58 | 57 |
bridges = [] |
59 | 58 |
for i in xrange(0, bridge_pool.size()): |
60 | 59 |
if not bridge_pool.is_available(i, index=True) and \ |
61 |
not bridge_pool.is_reserved(i, index=True): |
|
62 |
bridges.append(bridge_pool.index_to_value(i)) |
|
60 |
not bridge_pool.is_reserved(i, index=True):
|
|
61 |
bridges.append(bridge_pool.index_to_value(i))
|
|
63 | 62 |
|
64 | 63 |
write("Used bridges from Pool: %d\n" % len(bridges)) |
65 | 64 |
|
66 | 65 |
network_bridges = Network.objects.filter(flavor='PHYSICAL_VLAN', |
67 |
deleted=False)\ |
|
66 |
deleted=False)\
|
|
68 | 67 |
.values_list('link', flat=True) |
69 | 68 |
|
70 |
write("Used bridges from Networks: %d\n" % |
|
71 |
len(network_bridges)) |
|
69 |
write("Used bridges from Networks: %d\n" % len(network_bridges)) |
|
72 | 70 |
|
73 | 71 |
set_network_bridges = set(network_bridges) |
74 | 72 |
if len(network_bridges) > len(set_network_bridges): |
... | ... | |
80 | 78 |
write("Duplicated bridge: %s. " % bridge) |
81 | 79 |
write("Used by the following Networks:\n") |
82 | 80 |
nets = Network.objects.filter(deleted=False, link=bridge) |
83 |
write(" " + "\n ".join([str(net.id) for net in nets])\ |
|
84 |
+ "\n") |
|
81 |
write(" " + "\n ".join([str(net.id) for net in nets]) + "\n") |
|
85 | 82 |
|
86 | 83 |
def detect_mac_prefixes(self): |
87 | 84 |
write = self.stdout.write |
... | ... | |
107 | 104 |
|
108 | 105 |
network_mac_prefixes = \ |
109 | 106 |
Network.objects.filter(deleted=False, flavor='MAC_FILTERED')\ |
110 |
.values_list('mac_prefix', flat=True)
|
|
107 |
.values_list('mac_prefix', flat=True) |
|
111 | 108 |
write("Used MAC prefixes from Networks: %d\n" % |
112 |
len(network_mac_prefixes))
|
|
109 |
len(network_mac_prefixes)) |
|
113 | 110 |
|
114 | 111 |
set_network_mac_prefixes = set(network_mac_prefixes) |
115 | 112 |
if len(network_mac_prefixes) > len(set_network_mac_prefixes): |
... | ... | |
122 | 119 |
write("Used by the following Networks:\n") |
123 | 120 |
nets = Network.objects.filter(deleted=False, |
124 | 121 |
mac_prefix=mac_prefix) |
125 |
write(" " + "\n ".join([str(net.id) for net in nets])\ |
|
126 |
+ "\n") |
|
122 |
write(" " + "\n ".join([str(net.id) for net in nets]) + "\n") |
|
127 | 123 |
|
128 | 124 |
def detect_unique_mac_prefixes(self): |
129 | 125 |
write = self.stdout.write |
... | ... | |
132 | 128 |
write("Checking uniqueness of BackendNetwork prefixes.\n") |
133 | 129 |
write("---------------------------------------\n") |
134 | 130 |
|
135 |
mac_prefixes = BackendNetwork.objects.filter(deleted=False, network__flavor='MAC_FILTERED')\ |
|
136 |
.values_list('mac_prefix', flat=True) |
|
131 |
back_networks = BackendNetwork.objects |
|
132 |
mac_prefixes = back_networks.filter(deleted=False, |
|
133 |
network__flavor='MAC_FILTERED')\ |
|
134 |
.values_list('mac_prefix', flat=True) |
|
137 | 135 |
set_mac_prefixes = set(mac_prefixes) |
138 | 136 |
if len(mac_prefixes) > len(set_mac_prefixes): |
139 | 137 |
write("Found duplicated mac_prefixes:\n") |
... | ... | |
145 | 143 |
write("Used by the following BackendNetworks:\n") |
146 | 144 |
nets = BackendNetwork.objects.filter(deleted=False, |
147 | 145 |
mac_prefix=mac_prefix) |
148 |
write(" " + "\n ".join([str(net.id) for net in nets])\ |
|
149 |
+ "\n") |
|
146 |
write(" " + "\n ".join([str(net.id) for net in nets]) + "\n") |
Also available in: Unified diff