/** LVM Resize and DRBD Resize. */ private boolean resize(final String size) { final boolean ret = LVM.resize(blockDevInfo.getHost(), blockDevInfo.getBlockDevice().getName(), size, false); if (ret) { answerPaneSetText( "Lodical volume was successfully resized on " + blockDevInfo.getHost() + "."); /* resize lvm volume on the other node. */ final String lvm = blockDevInfo.getBlockDevice().getName(); final BlockDevInfo oBDI = blockDevInfo.getOtherBlockDevInfo(); boolean resizingFailed = false; for (final Host h : hostCheckBoxes.keySet()) { if (h == blockDevInfo.getHost() || !hostCheckBoxes.get(h).isSelected()) { continue; } for (final BlockDevice b : h.getBlockDevices()) { if (lvm.equals(b.getName()) || (oBDI != null && oBDI.getBlockDevice() == b)) { /* drbd or selected other host */ final boolean oRet = LVM.resize(h, b.getName(), size, false); if (oRet) { answerPaneAddText( "Lodical volume was successfully" + " resized on " + h.getName() + "."); } else { answerPaneAddTextError( "Resizing of " + b.getName() + " on host " + h.getName() + " failed."); resizingFailed = true; } break; } if (resizingFailed) { break; } } } if (oBDI != null && !resizingFailed) { final boolean dRet = blockDevInfo.resizeDrbd(false); if (dRet) { answerPaneAddText( "DRBD resource " + blockDevInfo.getDrbdVolumeInfo().getName() + " was successfully resized."); } else { answerPaneAddTextError( "DRBD resource " + blockDevInfo.getDrbdVolumeInfo().getName() + " resizing failed."); } } } else { answerPaneAddTextError( "Resizing of " + blockDevInfo.getName() + " on host " + blockDevInfo.getHost() + " failed."); } return ret; }
/** Create VG. */ private boolean vgCreate(final Host host, final String vgName, final List<String> pvNames) { for (final String pv : pvNames) { final BlockDevInfo bdi = host.getBrowser().getDrbdGraph().findBlockDevInfo(host.getName(), pv); if (bdi != null) { bdi.getBlockDevice().setVolumeGroupOnPhysicalVolume(vgName); bdi.getBrowser().getDrbdGraph().startAnimation(bdi); } } final boolean ret = LVM.vgCreate(host, vgName, pvNames, false); if (ret) { answerPaneAddText( "Volume group " + vgName + " was successfully created " + " on " + host.getName() + "."); } else { answerPaneAddTextError("Creating of volume group " + vgName + " failed."); } return ret; }