def store(self,hostname,storename):
     self.UpdateFromModel()
     hostDetails = diskFacade()
     hostDetails.disk = self.cfgModel.vmbyName[hostname].CfgDiskType.get()
     hostDetails.path = self.cfgModel.vmbyName[hostname].CfgDiskImage.get()
     hostDetails.target = self.cfgModel.vmbyName[hostname].CfgMountPoint.get()
     hostDetails.partitionNo = self.cfgModel.vmbyName[hostname].CfgDiskImagePartition.get()
     self.Storage.imageStore(hostDetails,storename)
 def mount(self,hostname):
     if not hostname in self.cfgModel.vmbyName.keys():
         self.log.warning("No configuration for '%s'" % (hostname))
         return
     hostDetails = diskFacade()
     hostDetails.disk = self.cfgModel.vmbyName[hostname].CfgDiskType.get()
     hostDetails.path = self.cfgModel.vmbyName[hostname].CfgDiskImage.get()
     hostDetails.target = self.cfgModel.vmbyName[hostname].CfgMountPoint.get()
     hostDetails.partitionNo = self.cfgModel.vmbyName[hostname].CfgDiskImagePartition.get()
     hostDetails.mount()
 def restore(self,hostname,storename,imageformat):
     if not hostname in self.cfgModel.vmbyName.keys():
         self.log.warning("No configuration for '%s'" % (hostname))
         return
     self.UpdateFromModel()
     hostDetails = diskFacade()
     self.Storage.storeFormat = imageformat
     hostDetails.disk = self.cfgModel.vmbyName[hostname].CfgDiskType.get()
     hostDetails.path = self.cfgModel.vmbyName[hostname].CfgDiskImage.get()
     hostDetails.target = self.cfgModel.vmbyName[hostname].CfgMountPoint.get()
     hostDetails.partitionNo = self.cfgModel.vmbyName[hostname].CfgDiskImagePartition.get()
     self.Storage.imageRestore(hostDetails,storename)    
 def extract(self,hostname,storename,directory,storeformat):
     if not hostname in self.cfgModel.vmbyName.keys():
         self.log.warning("No configuration for '%s'" % (hostname))
         return
     self.UpdateFromModel()
     foundHost = self.findByHostName(hostname)
     #print (hostname,storename,storeformat,self.cfgModel.vmbyName[hostname].CfgPathInserts.get())
     hostDetails = diskFacade()
     hostDetails.disk = self.cfgModel.vmbyName[hostname].CfgDiskType.get()
     hostDetails.path = self.cfgModel.vmbyName[hostname].CfgDiskImage.get()
     hostDetails.target = self.cfgModel.vmbyName[hostname].CfgMountPoint.get()
     hostDetails.partitionNo = self.cfgModel.vmbyName[hostname].CfgDiskImagePartition.get()
     self.Storage.storeFormat = storeformat
     self.Storage.storePath = self.cfgModel.vmbyName[hostname].CfgPathInserts.get()
     self.Storage.insertStore(hostDetails,storename,directory)
 def UpdateFromModel(self):
     self.Storage.storePath = self.cfgModel.defaultPathImages.get()
     itemsByName = self.cfgModel.vmbyName.keys()
     for item in itemsByName:
         if not item in self.diskFacardDict.keys():
             self.diskFacardDict[item] = diskFacade()
        if hasattr(self, '_uploaderImp'):        
            return self._uploaderImp.insertStore(diskFacade,storeName,directory)
        else:
            return None       
    def imageList(self):
        if hasattr(self, '_uploaderImp'):
            return self._uploaderImp.imageList()
    
    
if __name__ == "__main__" :
    import time
    import sys
    from vmDisk import diskFacade
    logging.basicConfig(level=logging.DEBUG)
    
    df = diskFacade()
    
    
    df.disk = 'kpartx'
    df.path = '/var/lib/libvirt/images/lenny.img'
    
    df.target = "/tmp/foo"
    df.partitionNo = 1
    df.readMtab()
    
    sf = vmStoreFacade()
    
    sf.storeFormat = 'cpio.bz2'
    sf.storePath = '/server/store'
    sf.imageStore(df,'fred.cpio.bz2')
    df.readMtab()