Revision c300f9c9

b/lib/cmdlib.py
6508 6508
  return results
6509 6509

  
6510 6510

  
6511
def _GenerateDRBD8Branch(lu, primary, secondary, size, names, iv_name,
6511
def _GenerateDRBD8Branch(lu, primary, secondary, size, vgname, names, iv_name,
6512 6512
                         p_minor, s_minor):
6513 6513
  """Generate a drbd8 device complete with its children.
6514 6514

  
6515 6515
  """
6516 6516
  port = lu.cfg.AllocatePort()
6517
  vgname = lu.cfg.GetVGName()
6518 6517
  shared_secret = lu.cfg.GenerateDRBDSecret(lu.proc.GetECId())
6519 6518
  dev_data = objects.Disk(dev_type=constants.LD_LV, size=size,
6520 6519
                          logical_id=(vgname, names[0]))
......
6533 6532
                          instance_name, primary_node,
6534 6533
                          secondary_nodes, disk_info,
6535 6534
                          file_storage_dir, file_driver,
6536
                          base_index):
6535
                          base_index, feedback_fn):
6537 6536
  """Generate the entire disk layout for a given template type.
6538 6537

  
6539 6538
  """
......
6552 6551
                                      for i in range(disk_count)])
6553 6552
    for idx, disk in enumerate(disk_info):
6554 6553
      disk_index = idx + base_index
6554
      vg = disk.get("vg", vgname)
6555
      feedback_fn("* disk %i, vg %s, name %s" % (idx, vg, names[idx]))
6555 6556
      disk_dev = objects.Disk(dev_type=constants.LD_LV, size=disk["size"],
6556
                              logical_id=(vgname, names[idx]),
6557
                              logical_id=(vg, names[idx]),
6557 6558
                              iv_name="disk/%d" % disk_index,
6558 6559
                              mode=disk["mode"])
6559 6560
      disks.append(disk_dev)
......
6571 6572
      names.append(lv_prefix + "_meta")
6572 6573
    for idx, disk in enumerate(disk_info):
6573 6574
      disk_index = idx + base_index
6575
      vg = disk.get("vg", vgname)
6574 6576
      disk_dev = _GenerateDRBD8Branch(lu, primary_node, remote_node,
6575
                                      disk["size"], names[idx*2:idx*2+2],
6577
                                      disk["size"], vg, names[idx*2:idx*2+2],
6576 6578
                                      "disk/%d" % disk_index,
6577 6579
                                      minors[idx*2], minors[idx*2+1])
6578 6580
      disk_dev.mode = disk["mode"]
......
7408 7410
      except (TypeError, ValueError):
7409 7411
        raise errors.OpPrereqError("Invalid disk size '%s'" % size,
7410 7412
                                   errors.ECODE_INVAL)
7411
      new_disk = {"size": size, "mode": mode}
7413
      vg = disk.get("vg", self.cfg.GetVGName())
7414
      new_disk = {"size": size, "mode": mode, "vg": vg}
7412 7415
      if "adopt" in disk:
7413 7416
        new_disk["adopt"] = disk["adopt"]
7414 7417
      self.disks.append(new_disk)
......
7593 7596
                                  self.disks,
7594 7597
                                  file_storage_dir,
7595 7598
                                  self.op.file_driver,
7596
                                  0)
7599
                                  0,
7600
                                  feedback_fn)
7597 7601

  
7598 7602
    iobj = objects.Instance(name=instance, os=self.op.os_type,
7599 7603
                            primary_node=pnode_name,
......
9389 9393
    disk_info = [{"size": d.size, "mode": d.mode} for d in instance.disks]
9390 9394
    new_disks = _GenerateDiskTemplate(self, self.op.disk_template,
9391 9395
                                      instance.name, pnode, [snode],
9392
                                      disk_info, None, None, 0)
9396
                                      disk_info, None, None, 0, feedback_fn)
9393 9397
    info = _GetInstanceInfoText(instance)
9394 9398
    feedback_fn("Creating aditional volumes...")
9395 9399
    # first, create the missing data and meta devices
......
9507 9511
                                         [disk_dict],
9508 9512
                                         file_path,
9509 9513
                                         file_driver,
9510
                                         disk_idx_base)[0]
9514
                                         disk_idx_base, feedback_fn)[0]
9511 9515
        instance.disks.append(new_disk)
9512 9516
        info = _GetInstanceInfoText(instance)
9513 9517

  

Also available in: Unified diff