VirtualBox

Changeset 62190 in vbox for trunk/src


Ignore:
Timestamp:
Jul 12, 2016 12:31:05 PM (9 years ago)
Author:
vboxsync
Message:

ValidationKit/storage: Fixes in general and add support for NVMe controllers

Location:
trunk/src/VBox/ValidationKit/tests/storage
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ValidationKit/tests/storage/remoteexecutor.py

    r62181 r62190  
    152152                oStdIn = StdInOutBuffer(sInput);
    153153            else:
    154                 oStdIn = '/dev/null';
     154                oStdIn = '/dev/null'; # pylint: disable=R0204
    155155            fRc = self.oTxsSession.syncExecEx(sExec, (sExec,) + asArgs,
    156156                                              oStdIn = oStdIn, oStdOut = oStdOut);
  • trunk/src/VBox/ValidationKit/tests/storage/storagecfg.py

    r62181 r62190  
    230230            fRc, _ = oExec.execBinary('sfdisk', ('--no-reread', '--wipe', 'always', '-q', '-f', sDiskPath), sFdiskScript);
    231231            if fRc:
    232                 sBlkDev = sDiskPath + '1';
     232                if sDiskPath.find('nvme') is not -1:
     233                    sBlkDev = sDiskPath + 'p1';
     234                else:
     235                    sBlkDev = sDiskPath + '1';
    233236        else:
    234237            if cbVol is None:
  • trunk/src/VBox/ValidationKit/tests/storage/tdStorageBenchmark1.py

    r62181 r62190  
    6464    elif eControllerType == vboxcon.StorageControllerType_LsiLogic or eControllerType == vboxcon.StorageControllerType_BusLogic:
    6565        sType = "SCSI Controller";
     66    elif eControllerType == vboxcon.StorageControllerType_NVMe:
     67        sType = "NVMe Controller";
    6668    else:
    6769        sType = "Storage Controller";
     
    250252        self.acCpusDef         = [1, 2,]
    251253        self.acCpus            = self.acCpusDef;
    252         self.asStorageCtrlsDef = ['AHCI', 'IDE', 'LsiLogicSAS', 'LsiLogic', 'BusLogic'];
     254        self.asStorageCtrlsDef = ['AHCI', 'IDE', 'LsiLogicSAS', 'LsiLogic', 'BusLogic', 'NVMe'];
    253255        self.asStorageCtrls    = self.asStorageCtrlsDef;
    254256        self.asDiskFormatsDef  = ['VDI', 'VMDK', 'VHD', 'QED', 'Parallels', 'QCOW', 'iSCSI'];
     
    484486            fRc = fRc and oSession.setStorageControllerType(eStorageController, _ControllerTypeToName(eStorageController));
    485487
     488            iDevice = 0;
     489            if eStorageController == vboxcon.StorageControllerType_PIIX3 or \
     490               eStorageController == vboxcon.StorageControllerType_PIIX4:
     491                iDevice = 1; # Master is for the OS.
     492
    486493            if sDiskFormat == "iSCSI":
    487494                listNames = [];
     
    505512                        if oSession.fpApiVer >= 4.0:
    506513                            oSession.o.machine.attachDevice(_ControllerTypeToName(eStorageController), \
    507                                                             1, 0, vboxcon.DeviceType_HardDisk, oHd);
     514                                                            0, iDevice, vboxcon.DeviceType_HardDisk, oHd);
    508515                        else:
    509516                            oSession.o.machine.attachDevice(_ControllerTypeToName(eStorageController), \
    510                                                             1, 0, vboxcon.DeviceType_HardDisk, oHd.id);
     517                                                            0, iDevice, vboxcon.DeviceType_HardDisk, oHd.id);
    511518                    except:
    512519                        reporter.errorXcpt('attachDevice("%s",%s,%s,HardDisk,"%s") failed on "%s"' \
     
    517524            else:
    518525                fRc = fRc and oSession.createAndAttachHd(sDiskPath, sDiskFormat, _ControllerTypeToName(eStorageController), \
    519                                                          cb = 300*1024*1024*1024, iPort = 1, fImmutable = False);
     526                                                         cb = 300*1024*1024*1024, iPort = 0, iDevice = iDevice, \
     527                                                         fImmutable = False);
    520528            fRc = fRc and oSession.enableVirtEx(fHwVirt);
    521529            fRc = fRc and oSession.enableNestedPaging(fNestedPaging);
     
    540548                lstBinaryPaths = ['/bin', '/sbin', '/usr/bin', '/usr/sbin' ];
    541549                oExecVm = remoteexecutor.RemoteExecutor(oTxsSession, lstBinaryPaths, '${SCRATCH}');
    542                 oStorCfgVm = storagecfg.StorageCfg(oExecVm, 'linux', [ '/dev/sdb' ]);
     550                lstDisks = [ '/dev/sdb' ];
     551                # The naming scheme for NVMe is different.
     552                if eStorageController == vboxcon.StorageControllerType_NVMe:
     553                    lstDisks = [ '/dev/nvme0n1' ];
     554                oStorCfgVm = storagecfg.StorageCfg(oExecVm, 'linux', lstDisks);
    543555
    544556                sMountPoint = self.prepareStorage(oStorCfgVm);
     
    557569                if oSession is not None:
    558570                    try:
    559                         oSession.o.machine.detachDevice(_ControllerTypeToName(eStorageController), 1, 0);
     571                        oSession.o.machine.detachDevice(_ControllerTypeToName(eStorageController), 0, iDevice);
    560572
    561573                        # Remove storage controller if it is not an IDE controller.
     
    596608            elif sStorageCtrl == 'BusLogic':
    597609                eStorageCtrl = vboxcon.StorageControllerType_BusLogic;
     610            elif sStorageCtrl == 'NVMe':
     611                eStorageCtrl = vboxcon.StorageControllerType_NVMe;
    598612            else:
    599613                eStorageCtrl = None;
     
    648662                        reporter.testDone();
    649663                    reporter.testDone();
     664
     665                # Cleanup storage area
     666                if sDiskFormat != 'iSCSI' and not self.fUseScratch:
     667                    self.cleanupStorage(self.oStorCfg);
     668
    650669                reporter.testDone();
    651670            reporter.testDone();
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette