Package com.vmware.vim25

Examples of com.vmware.vim25.VirtualDiskFlatVer2BackingInfo


    if(devices != null && devices.size() > 0) {
      for(VirtualDevice device : devices) {
        if(device instanceof VirtualDisk) {
          VirtualDeviceBackingInfo backingInfo = ((VirtualDisk)device).getBacking();
          if(backingInfo instanceof VirtualDiskFlatVer2BackingInfo) {
            VirtualDiskFlatVer2BackingInfo diskBackingInfo = (VirtualDiskFlatVer2BackingInfo)backingInfo;
           
            while(diskBackingInfo != null) {
              String deviceBusName = getDeviceBusName(devices, device);
              builder.addDisk(deviceBusName, diskBackingInfo.getFileName());
              diskBackingInfo = diskBackingInfo.getParent();
            }
          }
        }
      }
    }
View Full Code Here


    if(!(backingInfo instanceof VirtualDiskFlatVer2BackingInfo)) {
            throw new Exception("Unsupported VirtualDeviceBackingInfo");
        }

    List<Pair<String, ManagedObjectReference>> pathList = new ArrayList<Pair<String, ManagedObjectReference>>();
    VirtualDiskFlatVer2BackingInfo diskBackingInfo = (VirtualDiskFlatVer2BackingInfo)backingInfo;

    if(!followChain) {
      pathList.add(new Pair<String, ManagedObjectReference>(diskBackingInfo.getFileName(), diskBackingInfo.getDatastore()));
      return pathList;
    }

    Pair<DatacenterMO, String> dcPair = getOwnerDatacenter();
    VirtualMachineFileInfo vmFilesInfo = getFileInfo();
    DatastoreFile snapshotDirFile = new DatastoreFile(vmFilesInfo.getSnapshotDirectory());
    DatastoreFile vmxDirFile = new DatastoreFile(vmFilesInfo.getVmPathName());

    do {
      if(diskBackingInfo.getParent() != null) {
        pathList.add(new Pair<String, ManagedObjectReference>(diskBackingInfo.getFileName(), diskBackingInfo.getDatastore()));
        diskBackingInfo = diskBackingInfo.getParent();
      } else {
        // try getting parent info from VMDK file itself
        byte[] content = null;
        try {
          String url = getContext().composeDatastoreBrowseUrl(dcPair.second(), diskBackingInfo.getFileName());
          content = getContext().getResourceContent(url);
          if(content == null || content.length == 0) {
                        break;
                    }

          pathList.add(new Pair<String, ManagedObjectReference>(diskBackingInfo.getFileName(), diskBackingInfo.getDatastore()));
        } catch(Exception e) {
          // if snapshot directory has been changed to place other than default. VMware has a bug
          // that its corresponding disk backing info is not updated correctly. therefore, we will try search
          // in snapshot directory one more time
          DatastoreFile currentFile = new DatastoreFile(diskBackingInfo.getFileName());
          String vmdkFullDsPath = snapshotDirFile.getCompanionPath(currentFile.getFileName());

          String url = getContext().composeDatastoreBrowseUrl(dcPair.second(), vmdkFullDsPath);
          content = getContext().getResourceContent(url);
          if(content == null || content.length == 0) {
                        break;
                    }

          pathList.add(new Pair<String, ManagedObjectReference>(vmdkFullDsPath, diskBackingInfo.getDatastore()));
        }

        VmdkFileDescriptor descriptor = new VmdkFileDescriptor();
        descriptor.parse(content);
        if(descriptor.getParentFileName() != null && !descriptor.getParentFileName().isEmpty()) {
          // create a fake one
          VirtualDiskFlatVer2BackingInfo parentDiskBackingInfo = new VirtualDiskFlatVer2BackingInfo();
          parentDiskBackingInfo.setDatastore(diskBackingInfo.getDatastore());

          String parentFileName = descriptor.getParentFileName();
          if(parentFileName.startsWith("/")) {
            int fileNameStartPos = parentFileName.lastIndexOf("/");
            parentFileName = parentFileName.substring(fileNameStartPos + 1);
            parentDiskBackingInfo.setFileName(vmxDirFile.getCompanionPath(parentFileName));
          } else {
            parentDiskBackingInfo.setFileName(snapshotDirFile.getCompanionPath(parentFileName));
          }
          diskBackingInfo = parentDiskBackingInfo;
        } else {
          break;
        }
View Full Code Here

     
      for(VirtualDevice device : devices) {
        if(device instanceof VirtualDisk) {
          VirtualDeviceConfigSpec deviceConfigSpec = new VirtualDeviceConfigSpec();
   
        VirtualDiskFlatVer2BackingInfo diskBackingInfo = (VirtualDiskFlatVer2BackingInfo)device.getBacking();
 
        DatastoreFile dsBackingFile = new DatastoreFile(diskBackingInfo.getFileName());
        String backingBaseName = dsBackingFile.getFileBaseName();
        String deviceNumbering = getDeviceBusName(devices, device);
        if(backingBaseName.equalsIgnoreCase(vmdkBaseName) || (deviceBusName != null && deviceBusName.equals(deviceNumbering))) {
          continue;
        } else {
          s_logger.info("Detach " + diskBackingInfo.getFileName() + " from " + getName());
         
          detachedDiskFiles.add(diskBackingInfo.getFileName());
         
            deviceConfigSpec.setDevice(device);
            deviceConfigSpec.setOperation(VirtualDeviceConfigSpecOperation.REMOVE);
     
            reConfigSpec.getDeviceChange().add(deviceConfigSpec);
View Full Code Here

        List<String> managedIqns = new ArrayList<String>();

        if (virtualDisks != null) {
            for (VirtualDisk virtualDisk : virtualDisks) {
                if (virtualDisk.getBacking() instanceof VirtualDiskFlatVer2BackingInfo) {
                    VirtualDiskFlatVer2BackingInfo backingInfo = (VirtualDiskFlatVer2BackingInfo)virtualDisk.getBacking();
                    String path = backingInfo.getFileName();

                    path = new DatastoreFile(path).getFileBaseName();

                    String search = "-";
                    int index = path.indexOf(search);
View Full Code Here

  public void createHardDisk(int diskSizeMB, VirtualDiskType type, VirtualDiskMode mode) throws Exception
  {
    VirtualMachineConfigSpec vmConfigSpec = new VirtualMachineConfigSpec();
    VirtualDeviceConfigSpec diskSpec = new VirtualDeviceConfigSpec();     
   
    VirtualDiskFlatVer2BackingInfo diskfileBacking = new VirtualDiskFlatVer2BackingInfo();
    diskfileBacking.setFileName("");
    diskfileBacking.setDiskMode(mode.toString());
    diskfileBacking.setThinProvisioned(type==VirtualDiskType.thin);

    VirtualSCSIController scsiController = getFirstAvailableController(VirtualSCSIController.class);
    int unitNumber = getFirstFreeUnitNumberForController(scsiController);
    VirtualDisk disk = new VirtualDisk();
    disk.setControllerKey(scsiController.key);
View Full Code Here

    VirtualDeviceConfigSpec diskSpec = new VirtualDeviceConfigSpec();
    VirtualDeviceConfigSpec[] vdiskSpecArray = {diskSpec};
    vmConfigSpec.setDeviceChange(vdiskSpecArray);
   
    VirtualDiskFlatVer2BackingInfo diskfileBacking = new VirtualDiskFlatVer2BackingInfo();
    diskfileBacking.setFileName(diskFilePath);
    diskfileBacking.setDiskMode(diskMode.toString());

   
    VirtualSCSIController scsiController = getFirstAvailableController(VirtualSCSIController.class);
    int unitNumber = getFirstFreeUnitNumberForController(scsiController);
View Full Code Here

    diskSpec.setDevice(vd);
    vd.setKey(0);
    vd.setUnitNumber(unitNumber);
    vd.setControllerKey(cKey);

    VirtualDiskFlatVer2BackingInfo diskfileBacking =
      new VirtualDiskFlatVer2BackingInfo();
    String fileName = "["+ dsName +"]";
    diskfileBacking.setFileName(fileName);
    diskfileBacking.setDiskMode(diskMode);
    diskfileBacking.setThinProvisioned(true);
    vd.setBacking(diskfileBacking);
    return diskSpec;
  }
View Full Code Here

    {
        VirtualDeviceConfigSpec nicSpec =
            new VirtualDeviceConfigSpec();
        nicSpec.setOperation(VirtualDeviceConfigSpecOperation.add);

        VirtualEthernetCard nic =  new VirtualE1000();
        VirtualEthernetCardNetworkBackingInfo nicBacking =
            new VirtualEthernetCardNetworkBackingInfo();
        nicBacking.setDeviceName(netName);

        Description info = new Description();
        info.setLabel(nicName);
        info.setSummary(netName);
        nic.setDeviceInfo(info);
   
        // type: "generated", "manual", "assigned" by VC
        nic.setAddressType("generated");
        nic.setBacking(nicBacking);
        nic.setKey(0);
  
        nicSpec.setDevice(nic);
        return nicSpec;
    }
View Full Code Here

    {
        VirtualDeviceConfigSpec nicSpec =
            new VirtualDeviceConfigSpec();
        nicSpec.setOperation(VirtualDeviceConfigSpecOperation.add);

        VirtualEthernetCard nic =  new VirtualE1000();
        VirtualEthernetCardNetworkBackingInfo nicBacking =
            new VirtualEthernetCardNetworkBackingInfo();
        nicBacking.setDeviceName(netName);

        Description info = new Description();
        info.setLabel(nicName);
        info.setSummary(netName);
        nic.setDeviceInfo(info);
   
        // type: "generated", "manual", "assigned" by VC
        nic.setAddressType("generated");
        nic.setBacking(nicBacking);
        nic.setKey(0);
  
        nicSpec.setDevice(nic);
        return nicSpec;
    }
View Full Code Here

        VirtualDeviceConfigSpec nicSpec =
            new VirtualDeviceConfigSpec();
        nicSpec.setOperation(VirtualDeviceConfigSpecOperation.add);

        VirtualEthernetCard nic =  new VirtualE1000();
        VirtualEthernetCardNetworkBackingInfo nicBacking =
            new VirtualEthernetCardNetworkBackingInfo();
        nicBacking.setDeviceName(netName);

        Description info = new Description();
        info.setLabel(nicName);
        info.setSummary(netName);
        nic.setDeviceInfo(info);
View Full Code Here

TOP

Related Classes of com.vmware.vim25.VirtualDiskFlatVer2BackingInfo

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.