Esempio n. 1
0
    def testCase2919(self):
        vm = self.connection.getVM('8dbf182f-0a1a-43b5-93ae-b4354252059c')
        devicelist = []
        devicelist.append(self.RAID_Device1)
        devicelist.append(self.RAID_Device2)
        deviceID = str(uuid.uuid4())

        # create raid device object
        dev = Device(self.connection)
        dev.name = 'testCase2919'
        dev.description = testlib.RandomString(
            string.ascii_uppercase + string.digits, 1025)
        dev.msUID = deviceID
        dev.raidLevel = 'RAID0'
        dev.fileSystem = self.filesystem
        dev.volume = Volume(self.connection)
        dev.volume.mountPoint = self.mountpoint

        for d in devicelist:
            new = Device(self.connection)
            new.msUID = d
            dev.subDevices.append(new)

        # call create RAID API
        ret = self.connection.get_status('vm/%s/device/raid/' % (vm.imageGUID),
                                         Device, data=dev.tostring(), method='POST')
        self.assertEqual(ret, None)
Esempio n. 2
0
    def encryptDevice(self, DeviceObj, filesystem, mountpoint, preserveData="no"):
        # ----------------------------------------------------------------------
        # encrypt devices in a VM/Computer
        # ----------------------------------------------------------------------

        # Create New Virtual Machine message for encrypt device object
        response = None

        if isinstance(DeviceObj, Device):
            vm = VirtualMachine(self.connection)
            vm.imageGUID = self.imageGUID
            device = Device(self.connection)
            device.msUID = DeviceObj.msUID
            device.preserveData = preserveData
            device.fileSystem = filesystem
            # Create inner volume object
            device.volume = Volume(self.connection)
            device.volume.mountPoint = mountpoint
            vm.devices.append(device)

            # Do Request
            action = "vm/%s/encrypt/" % (self.imageGUID)
            data = vm.tostring()
            response = self.connection.get_status(action, method="POST", data=data)

        return response
Esempio n. 3
0
    def createRAID(self, name, filesystem, mountpoint, device_id_list, deviceID=None):

        # create raid device object
        dev = Device(self.connection)
        dev.name = name
        if deviceID:
            dev.msUID = deviceID
        else:
            dev.msUID = str(uuid.uuid4())

        dev.raidLevel = "RAID0"
        dev.fileSystem = filesystem

        dev.volume = Volume(self.connection)
        dev.volume.mountPoint = mountpoint

        for d in device_id_list:
            new = Device(self.connection)
            new.msUID = d
            dev.subDevices.append(new)

        # call create RAID API
        action = "vm/%s/device/raid/" % (self.imageGUID)
        data = dev.tostring()
        return self.connection.get_status(action, Device, data=data, method="POST")
Esempio n. 4
0
    def createRAID(self, name, raid_level, filesystem, writeAccess, mountpoint, device_id_list, deviceID=None):

        # create raid device object
        dev = Device(self.connection)
        dev.name = name
        if deviceID:
            dev.msUID = deviceID
        else:
            dev.msUID = str(uuid.uuid4())
Esempio n. 5
0
 def __init__(self, connection, tag='runningVMDevice'):
     Device.__init__(self, connection, tag)
     self.deviceRequestID = None
     self.allowKeyAction = None
     self.KeyDeliveryStatus = None
     self.integrity = None
     self.deviceKeyRequestState = None
      # Device list
     self.device = None
Esempio n. 6
0
 def __init__(self, connection, tag='runningVMDevice'):
     Device.__init__(self, connection, tag)
     self.deviceRequestID = None
     self.allowKeyAction = None
     self.KeyDeliveryStatus = None
     self.integrity = None
     self.deviceKeyRequestState = None
     # Device list
     self.device = None
Esempio n. 7
0
    def startElement(self, name, attrs, connection):
        ret = Device.startElement(self, name, attrs, connection)
        if ret is not None:
            return ret

        if name == self.tag:
            for key, value in attrs.items():
                setattr(self, key, value)
        elif name == 'device':
            self.device = Device(connection)
            self.device.startElement(name, attrs, connection)
            return self.device
        else:
            return None
Esempio n. 8
0
    def startElement(self, name, attrs, connection):
        ret = Device.startElement(self, name, attrs, connection)
        if ret is not None:
            return ret

        if name == self.tag:
            for key, value in attrs.items():
                setattr(self, key, value)
        elif name == 'device':
            self.device = Device(connection)
            self.device.startElement(name, attrs, connection)
            return self.device
        else:
            return None
Esempio n. 9
0
class RunningDevice(Device):

    ValidAttributes = [
        'deviceRequestID', 'allowKeyAction', 'KeyDeliveryStatus', 'integrity',
        'deviceKeyRequestState'
    ]

    def __init__(self, connection, tag='runningVMDevice'):
        Device.__init__(self, connection, tag)
        self.deviceRequestID = None
        self.allowKeyAction = None
        self.KeyDeliveryStatus = None
        self.integrity = None
        self.deviceKeyRequestState = None
        # Device list
        self.device = None

    def startElement(self, name, attrs, connection):
        ret = Device.startElement(self, name, attrs, connection)
        if ret is not None:
            return ret

        if name == self.tag:
            for key, value in attrs.items():
                setattr(self, key, value)
        elif name == 'device':
            self.device = Device(connection)
            self.device.startElement(name, attrs, connection)
            return self.device
        else:
            return None

    def endElement(self, name, value, connection):
        setattr(self, name, value)

    def buildElements(self):
        runningVMDevice = ElementTree.Element('runningVMDevice')

        # Set all valid attributes
        for attr in self.ValidAttributes:
            if getattr(self, attr):
                runningVMDevice.attrib[attr] = getattr(self, attr)

                # append inner objects
        if getattr(self, 'device'):
            runningVMDevice.append(self.device.buildElements())

        return runningVMDevice
Esempio n. 10
0
class RunningDevice(Device):

    ValidAttributes = ['deviceRequestID', 'allowKeyAction', 'KeyDeliveryStatus',
                       'integrity', 'deviceKeyRequestState']

    def __init__(self, connection, tag='runningVMDevice'):
        Device.__init__(self, connection, tag)
        self.deviceRequestID = None
        self.allowKeyAction = None
        self.KeyDeliveryStatus = None
        self.integrity = None
        self.deviceKeyRequestState = None
         # Device list
        self.device = None

    def startElement(self, name, attrs, connection):
        ret = Device.startElement(self, name, attrs, connection)
        if ret is not None:
            return ret

        if name == self.tag:
            for key, value in attrs.items():
                setattr(self, key, value)
        elif name == 'device':
            self.device = Device(connection)
            self.device.startElement(name, attrs, connection)
            return self.device
        else:
            return None

    def endElement(self, name, value, connection):
        setattr(self, name, value)

    def buildElements(self):
        runningVMDevice = ElementTree.Element('runningVMDevice')

        # Set all valid attributes
        for attr in self.ValidAttributes:
            if getattr(self, attr):
                runningVMDevice.attrib[attr] = getattr(self, attr)

                # append inner objects
        if getattr(self, 'device'):
            runningVMDevice.append(self.device.buildElements())

        return runningVMDevice
Esempio n. 11
0
    def encryptDevice(self, DeviceObj, filesystem, mountpoint, preserveData="no"):
        #----------------------------------------------------------------------
        # encrypt devices in a VM/Computer
        #----------------------------------------------------------------------

        # Create New Virtual Machine message for encrypt device object
        response = None

        if isinstance(DeviceObj, Device):
            vm = VirtualMachine(self.connection)
            vm.imageGUID = self.imageGUID
            device = Device(self.connection)
            device.msUID = DeviceObj.msUID
            device.preserveData = preserveData
            device.fileSystem = filesystem
            # Create inner volume object
            device.volume = Volume(self.connection)
            device.volume.mountPoint = mountpoint
            vm.devices.append(device)

            # Do Request
            action = 'vm/%s/encrypt/' % (self.imageGUID)
            data = vm.tostring()
            response = self.connection.get_status(
                action, method='POST', data=data)

        return response
Esempio n. 12
0
    def encrypt(self):
        # -----------------------------------------------------------------------
        # encrypt a VM/Computer
        # -----------------------------------------------------------------------

        action = "vm/%s/encrypt/" % (self.imageGUID)

        vm = VirtualMachine(self.connection)
        vm.imageGUID = self.imageGUID

        for objDevice in self.devices:
            device = Device(self.connection)
            device.msUID = objDevice.msUID
            device.preserveData = "yes"
            device.fileSystem = objDevice.fileSystem
            # Create inner volume object
            device.volume = Volume(self.connection)
            device.volume.mountPoint = objDevice.volume.mountPoint
            vm.devices.append(device)

        data = vm.tostring()

        return self.connection.get_status(action, data=data, method="POST")
Esempio n. 13
0
    def encrypt(self):
        #-----------------------------------------------------------------------
        # encrypt a VM/Computer
        #-----------------------------------------------------------------------

        action = 'vm/%s/encrypt/' % (self.imageGUID)

        vm = VirtualMachine(self.connection)
        vm.imageGUID = self.imageGUID

        for objDevice in self.devices:
            device = Device(self.connection)
            device.msUID = objDevice.msUID
            device.preserveData = 'yes'
            device.fileSystem = objDevice.fileSystem
            # Create inner volume object
            device.volume = Volume(self.connection)
            device.volume.mountPoint = objDevice.volume.mountPoint
            vm.devices.append(device)

        data = vm.tostring()

        return self.connection.get_status(action, data=data, method='POST')
Esempio n. 14
0
        #dev.raidLevel = 'RAID0'
        dev.raidLevel = raid_level
        dev.fileSystem = filesystem

        if writeAccess != None:
            dev.writeaccess = writeAccess
=======
        dev.raidLevel = 'RAID0'
        dev.fileSystem = filesystem
>>>>>>> master
            
        dev.volume = Volume(self.connection)
        dev.volume.mountPoint = mountpoint

        for d in device_id_list:
            new = Device(self.connection)
            new.msUID = d
            dev.subDevices.append(new)

        # call create RAID API
        action = 'vm/%s/device/raid/' % (self.imageGUID)
        data = dev.tostring()
        return self.connection.get_status(action, Device, data=data, method='POST')


class SCAgent(SCObject):

    # Present valid vm object attributes, not inner objects
    ValidAttributes = ['agentStatus', 'agentVersion']

    def __init__(self, connection):
Esempio n. 15
0
    def createRAID(self,
                   name,
                   filesystem,
                   mountpoint,
                   device_id_list,
                   deviceID=None):

        # create raid device object
        dev = Device(self.connection)
        dev.name = name
        if deviceID:
            dev.msUID = deviceID
        else:
            dev.msUID = str(uuid.uuid4())
        dev.raidLevel = 'RAID0'
        dev.fileSystem = filesystem
        dev.volume = Volume(self.connection)
        dev.volume.mountPoint = mountpoint

        for d in device_id_list:
            new = Device(self.connection)
            new.msUID = d
            dev.subDevices.append(new)

        # call create RAID API
        action = 'vm/%s/device/raid/' % (self.imageGUID)
        data = dev.tostring()
        return self.connection.get_status(action,
                                          Device,
                                          data=data,
                                          method='POST')
Esempio n. 16
0
    def testCase2919(self):
        vm = self.connection.getVM('8dbf182f-0a1a-43b5-93ae-b4354252059c')
        devicelist = []
        devicelist.append(self.RAID_Device1)
        devicelist.append(self.RAID_Device2)
        deviceID = str(uuid.uuid4())

        # create raid device object
        dev = Device(self.connection)
        dev.name = 'testCase2919'
        dev.description = testlib.RandomString(
            string.ascii_uppercase + string.digits, 1025)
        dev.msUID = deviceID
        dev.raidLevel = 'RAID0'
        dev.fileSystem = self.filesystem
        dev.volume = Volume(self.connection)
        dev.volume.mountPoint = self.mountpoint

        for d in devicelist:
            new = Device(self.connection)
            new.msUID = d
            dev.subDevices.append(new)

        # call create RAID API
        ret = self.connection.get_status('vm/%s/device/raid/' % (vm.imageGUID),
                                         Device,
                                         data=dev.tostring(),
                                         method='POST')
        self.assertEqual(ret, None)
Esempio n. 17
0
    def testCase2922(self):
        vm = self.connection.getVM('8dbf182f-0a1a-43b5-93ae-b4354252059c')
        devicelist = []
        devicelist.append(self.RAID_Device1)
        devicelist.append(self.RAID_Device2)
        deviceID = str(uuid.uuid4())

        # create raid device object
        dev = Device(self.connection)
        dev.name = 'testCase2921'
        dev.msUID = deviceID
        dev.raidLevel = 'RAID0'
        dev.fileSystem = self.filesystem
        dev.volume = Volume(self.connection)
        dev.volume.mountPoint = ''.join(
            random.choice('~!@#$%^&*()_+=-][}{;?><,./)') for x in range(256))

        for d in devicelist:
            new = Device(self.connection)
            new.msUID = d
            dev.subDevices.append(new)

        # call create RAID API
        ret = self.connection.get_status('vm/%s/device/raid/' % (vm.imageGUID),
                                         Device,
                                         data=dev.tostring(),
                                         method='POST')
        self.assertEqual(ret, None)