Revision 3924c9e0 lib/client/gnt_network.py
b/lib/client/gnt_network.py | ||
---|---|---|
80 | 80 |
add_reserved_ips=reserved_ips, |
81 | 81 |
conflicts_check=opts.conflicts_check, |
82 | 82 |
tags=tags) |
83 |
SubmitOpCode(op, opts=opts)
|
|
83 |
SubmitOrSend(op, opts)
|
|
84 | 84 |
|
85 | 85 |
|
86 | 86 |
def MapNetwork(opts, args): |
... | ... | |
93 | 93 |
@return: the desired exit code |
94 | 94 |
|
95 | 95 |
""" |
96 |
network = args[0] |
|
97 |
groups = args[1] |
|
98 |
mode = args[2] |
|
99 |
link = args[3] |
|
96 |
(network, groups, mode, link) = args |
|
97 |
|
|
98 |
cl = GetClient() |
|
100 | 99 |
|
101 |
# TODO: allow comma separated group names
|
|
100 |
# FIXME: This doesn't work with a group named "all"
|
|
102 | 101 |
if groups == "all": |
103 |
cl = GetClient() |
|
104 | 102 |
(groups, ) = cl.QueryGroups([], ["name"], False) |
105 | 103 |
else: |
106 | 104 |
groups = [groups] |
107 | 105 |
|
106 |
# TODO: Change logic to support "--submit" |
|
108 | 107 |
for group in groups: |
109 | 108 |
op = opcodes.OpNetworkConnect(group_name=group, |
110 | 109 |
network_name=network, |
111 | 110 |
network_mode=mode, |
112 | 111 |
network_link=link, |
113 | 112 |
conflicts_check=opts.conflicts_check) |
114 |
SubmitOpCode(op, opts=opts) |
|
113 |
SubmitOpCode(op, opts=opts, cl=cl)
|
|
115 | 114 |
|
116 | 115 |
|
117 | 116 |
def UnmapNetwork(opts, args): |
... | ... | |
119 | 118 |
|
120 | 119 |
@param opts: the command line options selected by the user |
121 | 120 |
@type args: list |
122 |
@param args: a list of length 3 with network, nodegorup
|
|
121 |
@param args: a list of length 3 with network, nodegroup
|
|
123 | 122 |
@rtype: int |
124 | 123 |
@return: the desired exit code |
125 | 124 |
|
126 | 125 |
""" |
127 |
network = args[0] |
|
128 |
groups = args[1] |
|
126 |
(network, groups) = args |
|
129 | 127 |
|
130 |
#TODO: allow comma separated group names |
|
128 |
cl = GetClient() |
|
129 |
|
|
130 |
# FIXME: This doesn't work with a group named "all" |
|
131 | 131 |
if groups == "all": |
132 |
cl = GetClient() |
|
133 | 132 |
(groups, ) = cl.QueryGroups([], ["name"], False) |
134 | 133 |
else: |
135 | 134 |
groups = [groups] |
136 | 135 |
|
136 |
# TODO: Change logic to support "--submit" |
|
137 | 137 |
for group in groups: |
138 | 138 |
op = opcodes.OpNetworkDisconnect(group_name=group, |
139 | 139 |
network_name=network, |
140 | 140 |
conflicts_check=opts.conflicts_check) |
141 |
SubmitOpCode(op, opts=opts) |
|
141 |
SubmitOpCode(op, opts=opts, cl=cl)
|
|
142 | 142 |
|
143 | 143 |
|
144 | 144 |
def ListNetworks(opts, args): |
... | ... | |
263 | 263 |
@return: the desired exit code |
264 | 264 |
|
265 | 265 |
""" |
266 |
|
|
267 | 266 |
# TODO: add "network": opts.network, |
268 | 267 |
all_changes = { |
269 | 268 |
"gateway": opts.gateway, |
... | ... | |
298 | 297 |
""" |
299 | 298 |
(network_name,) = args |
300 | 299 |
op = opcodes.OpNetworkRemove(network_name=network_name, force=opts.force) |
301 |
SubmitOpCode(op, opts=opts)
|
|
300 |
SubmitOrSend(op, opts)
|
|
302 | 301 |
|
303 | 302 |
|
304 | 303 |
commands = { |
... | ... | |
306 | 305 |
AddNetwork, ARGS_ONE_NETWORK, |
307 | 306 |
[DRY_RUN_OPT, NETWORK_OPT, GATEWAY_OPT, ADD_RESERVED_IPS_OPT, |
308 | 307 |
MAC_PREFIX_OPT, NETWORK_TYPE_OPT, NETWORK6_OPT, GATEWAY6_OPT, |
309 |
NOCONFLICTSCHECK_OPT, TAG_ADD_OPT], |
|
308 |
NOCONFLICTSCHECK_OPT, TAG_ADD_OPT, PRIORITY_OPT, SUBMIT_OPT],
|
|
310 | 309 |
"<network_name>", "Add a new IP network to the cluster"), |
311 | 310 |
"list": ( |
312 | 311 |
ListNetworks, ARGS_MANY_NETWORKS, |
... | ... | |
324 | 323 |
"modify": ( |
325 | 324 |
SetNetworkParams, ARGS_ONE_NETWORK, |
326 | 325 |
[DRY_RUN_OPT, SUBMIT_OPT, ADD_RESERVED_IPS_OPT, REMOVE_RESERVED_IPS_OPT, |
327 |
GATEWAY_OPT, MAC_PREFIX_OPT, NETWORK_TYPE_OPT, NETWORK6_OPT, GATEWAY6_OPT], |
|
326 |
GATEWAY_OPT, MAC_PREFIX_OPT, NETWORK_TYPE_OPT, NETWORK6_OPT, GATEWAY6_OPT, |
|
327 |
PRIORITY_OPT], |
|
328 | 328 |
"<network_name>", "Alters the parameters of a network"), |
329 | 329 |
"connect": ( |
330 | 330 |
MapNetwork, |
331 | 331 |
[ArgNetwork(min=1, max=1), ArgGroup(min=1, max=1), |
332 | 332 |
ArgChoice(min=1, max=1, choices=constants.NIC_VALID_MODES), |
333 | 333 |
ArgUnknown(min=1, max=1)], |
334 |
[NOCONFLICTSCHECK_OPT], |
|
334 |
[NOCONFLICTSCHECK_OPT, PRIORITY_OPT],
|
|
335 | 335 |
"<network_name> <node_group> <mode> <link>", |
336 | 336 |
"Map a given network to the specified node group" |
337 | 337 |
" with given mode and link (netparams)"), |
338 | 338 |
"disconnect": ( |
339 | 339 |
UnmapNetwork, |
340 | 340 |
[ArgNetwork(min=1, max=1), ArgGroup(min=1, max=1)], |
341 |
[NOCONFLICTSCHECK_OPT], |
|
341 |
[NOCONFLICTSCHECK_OPT, PRIORITY_OPT],
|
|
342 | 342 |
"<network_name> <node_group>", |
343 | 343 |
"Unmap a given network from a specified node group"), |
344 | 344 |
"remove": ( |
345 |
RemoveNetwork, ARGS_ONE_NETWORK, [FORCE_OPT, DRY_RUN_OPT], |
|
345 |
RemoveNetwork, ARGS_ONE_NETWORK, |
|
346 |
[FORCE_OPT, DRY_RUN_OPT, SUBMIT_OPT, PRIORITY_OPT], |
|
346 | 347 |
"[--dry-run] <network_id>", |
347 | 348 |
"Remove an (empty) network from the cluster"), |
348 | 349 |
"list-tags": ( |
Also available in: Unified diff