Revision 4b700ca7

b/lib/cmdlib/instance.py
2408 2408
  def _PrepareNicModification(self, params, private, old_ip, old_net_uuid,
2409 2409
                              old_params, cluster, pnode):
2410 2410

  
2411
    ec_id = self.proc.GetECId()
2411 2412
    update_params_dict = dict([(key, params[key])
2412 2413
                               for key in constants.NICS_PARAMETERS
2413 2414
                               if key in params])
......
2421 2422
      new_net_uuid = self.cfg.LookupNetwork(new_net_uuid_or_name)
2422 2423
      new_net_obj = self.cfg.GetNetwork(new_net_uuid)
2423 2424

  
2424
    if old_net_uuid:
2425
      old_net_obj = self.cfg.GetNetwork(old_net_uuid)
2426

  
2427 2425
    if new_net_uuid:
2428 2426
      netparams = self.cfg.GetGroupNetParams(new_net_uuid, pnode)
2429 2427
      if not netparams:
b/lib/cmdlib/network.py
174 174
      for ip in self.op.add_reserved_ips:
175 175
        try:
176 176
          self.pool.Reserve(ip, external=True)
177
        except errors.AddressPoolError, err:
177
        except errors.NetworkError, err:
178 178
          raise errors.OpExecError("Cannot reserve IP address '%s': %s" %
179 179
                                   (ip, err))
180 180

  
......
272 272

  
273 273
    """
274 274
    self.nobj = self.cfg.GetNetwork(self.network_uuid)
275
    self.gateway = self.network.gateway
276
    self.mac_prefix = self.network.mac_prefix
277
    self.network6 = self.network.network6
278
    self.gateway6 = self.network.gateway6
279
    self.tags = self.network.tags
275
    self.network = self.nobj.network
276
    self.gateway = self.nobj.gateway
277
    self.mac_prefix = self.nobj.mac_prefix
278
    self.network6 = self.nobj.network6
279
    self.gateway6 = self.nobj.gateway6
280
    self.tags = self.nobj.tags
280 281

  
281 282
    self.pool = network.Network(self.nobj)
282 283

  
......
307 308
      else:
308 309
        self.network6 = self.op.network6
309 310

  
310
    network.Network.Check(self.gateway, self.network)
311
    network.Network.Check(self.gateway6, self.network6)
311 312

  
312 313
  def BuildHooksEnv(self):
313 314
    """Build hooks env.
......
315 316
    """
316 317
    args = {
317 318
      "name": self.op.network_name,
318
      "subnet": self.network.network,
319
      "subnet": self.network,
319 320
      "gateway": self.gateway,
320 321
      "network6": self.network6,
321 322
      "gateway6": self.gateway6,
......
339 340
    #      extend cfg.ReserveIp/ReleaseIp with the external flag
340 341
    ec_id = self.proc.GetECId()
341 342
    if self.op.gateway:
342
      if self.gateway == self.network.gateway:
343
      if self.gateway == self.nobj.gateway:
343 344
        self.LogWarning("Gateway is already %s", self.gateway)
344 345
      else:
345 346
        if self.gateway:
346 347
          self.cfg.ReserveIp(self.network_uuid, self.gateway, True, ec_id)
347
        if self.network.gateway:
348
        if self.nobj.gateway:
348 349
          self.cfg.ReleaseIp(self.network_uuid,
349
                             self.network.gateway, True, ec_id)
350
        self.network.gateway = self.gateway
350
                             self.nobj.gateway, True, ec_id)
351
        self.nobj.gateway = self.gateway
351 352

  
352 353
    if self.op.add_reserved_ips:
353 354
      for ip in self.op.add_reserved_ips:
......
355 356

  
356 357
    if self.op.remove_reserved_ips:
357 358
      for ip in self.op.remove_reserved_ips:
358
        if ip == self.network.gateway:
359
        if ip == self.nobj.gateway:
359 360
          self.LogWarning("Cannot unreserve Gateway's IP")
360 361
          continue
361 362
        self.cfg.ReleaseIp(self.network_uuid, ip, True, ec_id)
362 363

  
363 364
    if self.op.mac_prefix:
364
      self.network.mac_prefix = self.mac_prefix
365
      self.nobj.mac_prefix = self.mac_prefix
365 366

  
366 367
    if self.op.network6:
367
      self.network.network6 = self.network6
368
      self.nobj.network6 = self.network6
368 369

  
369 370
    if self.op.gateway6:
370
      self.network.gateway6 = self.gateway6
371

  
372
    self.pool.Validate()
371
      self.nobj.gateway6 = self.gateway6
373 372

  
374
    self.cfg.Update(self.network, feedback_fn)
373
    self.cfg.Update(self.nobj, feedback_fn)
375 374

  
376 375

  
377 376
class NetworkQuery(QueryBase):

Also available in: Unified diff