69 |
69 |
|
70 |
70 |
displayname = options['displayname']
|
71 |
71 |
|
72 |
|
sep = '-' * 80 + '\n'
|
73 |
72 |
userid = network.userid
|
74 |
73 |
db_network = OrderedDict([
|
75 |
74 |
("name", network.name),
|
... | ... | |
89 |
88 |
("tags", "), ".join(network.backend_tag)),
|
90 |
89 |
("action", network.action)])
|
91 |
90 |
|
92 |
|
write(sep)
|
93 |
|
write('State of Network in DB\n')
|
94 |
|
write(sep)
|
95 |
|
pprint_table(self.stdout, db_network.items(), None, separator=" | ")
|
|
91 |
pprint_table(self.stdout, db_network.items(), None, separator=" | ",
|
|
92 |
title="State of Network in DB")
|
96 |
93 |
|
97 |
94 |
subnets = list(network.subnets.values_list("id", "name", "ipversion",
|
98 |
95 |
"cidr", "gateway", "dhcp",
|
99 |
96 |
"deleted"))
|
100 |
97 |
headers = ["ID", "Name", "Version", "CIDR", "Gateway", "DHCP",
|
101 |
98 |
"Deleted"]
|
102 |
|
write("\nSubnets\n")
|
103 |
|
write(sep)
|
104 |
|
pprint_table(self.stdout, subnets, headers, separator=" | ")
|
|
99 |
write("\n\n")
|
|
100 |
pprint_table(self.stdout, subnets, headers, separator=" | ",
|
|
101 |
title="Subnets")
|
105 |
102 |
|
106 |
103 |
bnets = list(network.backend_networks.values_list(
|
107 |
104 |
"backend__clustername",
|
... | ... | |
109 |
106 |
"backendopcode", "backendjobstatus"))
|
110 |
107 |
headers = ["Backend", "State", "Deleted", "JobID", "Opcode",
|
111 |
108 |
"JobStatus"]
|
112 |
|
write("\nBackend Networks\n")
|
113 |
|
write(sep)
|
114 |
|
pprint_table(self.stdout, bnets, headers, separator=" | ")
|
|
109 |
write("\n\n")
|
|
110 |
pprint_table(self.stdout, bnets, headers, separator=" | ",
|
|
111 |
title="Backend Networks")
|
115 |
112 |
|
116 |
113 |
write("\n\n")
|
117 |
|
write(sep)
|
118 |
|
write('State of Network in Ganeti\n')
|
119 |
|
write(sep)
|
120 |
114 |
|
121 |
115 |
for backend in Backend.objects.exclude(offline=True):
|
122 |
116 |
with pooled_rapi_client(backend) as client:
|
123 |
117 |
try:
|
124 |
118 |
g_net = client.GetNetwork(network.backend_id)
|
125 |
|
write("\n")
|
126 |
|
write(sep)
|
127 |
|
write("Backend: %s\n" % backend.clustername)
|
128 |
|
write(sep)
|
129 |
119 |
ip_map = g_net.pop("map")
|
130 |
|
pprint_table(self.stdout, g_net.items(), None)
|
131 |
|
write(splitPoolMap(ip_map, 80))
|
132 |
|
write("\n")
|
|
120 |
pprint_table(self.stdout, g_net.items(), None,
|
|
121 |
title="State of network in backend: %s" %
|
|
122 |
backend.clustername)
|
|
123 |
write(splitPoolMap(ip_map, 80) + "\n\n")
|
133 |
124 |
except GanetiApiError as e:
|
134 |
125 |
if e.code == 404:
|
135 |
126 |
write('Network does not exist in backend %s\n' %
|