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