Exemple #1
0
    def getRamdisk(self, size=0, mountpoint="", ramdiskType=""):
        """
        Getter for the ramdisk instance.
        
        @var: ramdisks - a list of ramdisks this factory has created
        
        @param: size - size of the ramdisk to create. If zero, it looks for 
        @author: Roy Nielsen
        """
        if not ramdiskType in self.validRamdiskTypes:
            raise BadRamdiskTypeException("Not a valid ramdisk type")

        if size and mountpoint and ramdiskType:
            #####
            # Determine OS and ramdisk type, create ramdisk accordingly
            if self.myosfamily == "darwin":
                #####
                # Found MacOS
                from macRamdisk import RamDisk
                self.activeRamdisk = RamDisk(size, mountpoint, self.logger)

            elif self.myosfamily == "linux" and ramdiskType == "loop":
                #####
                # Found Linux with a loopback ramdisk request
                from linuxLoopRamdisk import RamDisk
                self.activeRamdisk = RamDisk(mountpoint, self.logger)

            elif self.myosfamily == "linux" and ramdiskType == "tmpfs":
                #####
                # Found Linux with a tmpfs ramdisk request.
                from linuxTmpfsRamdisk import RamDisk
                self.activeRamdisk = RamDisk(size, mountpoint, self.logger)

            else:
                #####
                # Bad method input parameters...
                self.activeRamdisk = None

            #####
            # Append the newly assigned self.activeRamdisk to the self.ramdisks
            # list
            self.ramdisks.append(self.activeRamdisk)

        elif not size and mountpoint:
            #####
            # Look for the ramdisk with "mountpoint" and return that instance.
            for ramdisk in self.ramdisks:
                if re.match("^%s$" % mountpoint, ramdisk.getMountPoint()):
                    self.activeRamdisk = ramdisk
                    break

        return self.activeRamdisk
Exemple #2
0
    def setupRamdisk(self, size, mntpnt="", message_level="normal"):
        ramdisk = RamDisk(str(size), mntpnt, message_level)

        if not ramdisk.success:
            raise Exception("Ramdisk setup failed...")

        return ramdisk.getDevice()
    def setUpClass(self):
        """
        Initializer
        """
        # Start timer in miliseconds
        self.test_start_time = datetime.now()

        #self.message_level = "debug"
        self.message_level = "debug"

        self.libcPath = None  # initial initialization

        #####
        # If we don't have a supported platform, skip this test.
        if not sys.platform.startswith("darwin") and \
           not sys.platform.startswith("linux"):
            unittest.SkipTest("This is not valid on this OS")

        self.subdirs = ["two", "three" "one/four"]
        """
        Set up a ramdisk and use that random location as a root to test the
        filesystem functionality of what is being tested.
        """
        #Calculate size of ramdisk to make for this unit test.
        size_in_mb = 1800
        ramdisk_size = size = size_in_mb
        self.mnt_pnt_requested = ""

        self.logger = CyLogger()

        self.success = False
        self.mountPoint = False
        self.ramdiskDev = False
        self.mnt_pnt_requested = False

        # get a ramdisk of appropriate size, with a secure random mountpoint
        self.my_ramdisk = RamDisk(str(ramdisk_size), self.mnt_pnt_requested,
                                  self.message_level)
        (self.success, self.mountPoint,
         self.ramdiskDev) = self.my_ramdisk.getData()
        if self.success:
            self.logger.log(
                lp.INFO,
                "::::::::Ramdisk Mount Point: " + str(self.mountPoint))
            self.logger.log(
                lp.INFO,
                "::::::::Ramdisk Device     : " + str(self.ramdiskDev))

        else:
            raise IOError("Cannot get a ramdisk for some reason. . .")

        #####
        # Create a temp location on disk to run benchmark tests against
        self.fs_dir = tempfile.mkdtemp()
    def setUpClass(self):
        """
        """
        self.getLibc()
        self.subdirs = ["two", "three" "one/four"]
        self.logger = CyLogger()
        self.logger.log(lp.CRITICAL,
                        "Logger initialized............................")
        """
        Set up a ramdisk and use that random location as a root to test the
        filesystem functionality of what is being tested.
        """
        #Calculate size of ramdisk to make for this unit test.
        size_in_mb = 1800
        ramdisk_size = size = size_in_mb
        self.mnt_pnt_requested = "testmntpnt"

        self.success = False
        self.mountPoint = ""
        self.ramdiskDev = False
        self.mnt_pnt_requested = False

        # get a ramdisk of appropriate size, with a secure random mountpoint
        self.my_ramdisk = RamDisk(str(ramdisk_size),
                                  self.mnt_pnt_requested,
                                  logger=self.logger)
        (self.success, self.mountPoint,
         self.ramdiskDev) = self.my_ramdisk.getData()
        self.logger.log(
            lp.WARNING,
            str(self.success) + " : " + str(self.mountPoint) + " : " +
            str(self.ramdiskDev))
        self.mount = self.mountPoint

        self.logger.log(lp.INFO,
                        "::::::::Ramdisk Mount Point: " + str(self.mountPoint))
        self.logger.log(lp.INFO,
                        "::::::::Ramdisk Device     : " + str(self.ramdiskDev))

        if not self.success:
            raise IOError("Cannot get a ramdisk for some reason. . .")

        #####
        # Create a temp location on disk to run benchmark tests against
        self.fs_dir = tempfile.mkdtemp()

        # Start timer in miliseconds
        self.test_start_time = datetime.now()

        self.setUpInstanceSpecifics()
Exemple #5
0
                  help="Size of ramdisk you want to create in 512byte blocks")
parser.add_option("-m", "--mount-point", dest="mntpnt",
                  default="", 
                  help="Name of the mountpoint you want to mount to")
parser.add_option("-d", "--debug", action="store_true", dest="debug", 
                  default=0, help="Print debug messages")
parser.add_option("-v", "--verbose", action="store_true", 
                  dest="verbose", default=0, 
                  help="Print status messages")

(opts, args) = parser.parse_args()

if opts.verbose != 0:
    message_level = "verbose"
elif opts.debug != 0:
    message_level = "debug"
else:
    message_level="normal"

if opts.size:
    size = int(opts.size) * 2 * 1024
mntpnt = opts.mntpnt

ramdisk = RamDisk(str(size), mntpnt, message_level)

if not ramdisk.success:
    raise Exception("Ramdisk setup failed..")

print ramdisk.getDevice()

Exemple #6
0
                  default=0, help="Print debug messages")
parser.add_option("-v", "--verbose", action="store_true",
                  dest="verbose", default=0,
                  help="Print status messages")

(opts, args) = parser.parse_args()

if opts.verbose != 0:
    level = Logger(level=lp.INFO)
elif opts.debug != 0:
    level = Logger(level=lp.DEBUG)
else:
    level=lp.WARNING

if opts.size:
    size = int(opts.size)  # in Megabytes
mntpnt = opts.mntpnt

logger = CyLogger()
logger.initializeLogs()

ramdisk = RamDisk(str(size), mntpnt, logger)
ramdisk.logData()
ramdisk.printData()

if not ramdisk.success:
    raise Exception("Ramdisk setup failed..")

print((ramdisk.getDevice()))

    size = int(opts.size)  # in Megabytes
else:
    size = str(512)

if opts.mntpnt:
    mntpnt = opts.mntpnt
else:
    mntpnt = "uniontest"

if not os.path.exists(mntpnt):
    os.makedirs(mntpnt)

logger = CyLogger(level=level)
logger.initializeLogs()

ramdisk = RamDisk(size=size, logger=logger)
ramdisk.logData()
ramdisk.printData()

ramdisk.unionOver(mntpnt)

ramdisk.printData()

if not ramdisk.success:
    raise Exception("Ramdisk setup failed..")

print((ramdisk.getDevice()))

# print "\n\n"
# print ramdisk.get_data()