/* * Should do some input checking of ss and base * storage_plugin_getFileSystemInfo, * <class 'agent.api.storageplugin.StoragePlugin'> argument: impl_name - * default: None requires a minumum of uuid, access_host, storage_type * ss_uuid, access_path, uuid (the ss */ public StorageDetails storagePluginGetFileSystemInfo( String propUuid, String mntUuid, String nfsHost, String nfsRemotePath) throws Ovm3ResourceException { /* clean the props */ StorageServer ss = new StorageServer(); StorageDetails sd = new StorageDetails(); new FileProperties(); ss.setUuid(propUuid); sd.setDetailsRelationalUuid(propUuid); sd.setUuid(mntUuid); ss.setAccessHost(nfsHost); if (nfsRemotePath.contains(nfsHost + ":")) { sd.setAccessPath(nfsRemotePath); } else { sd.setAccessPath(nfsHost + ":" + nfsRemotePath); } ss.setStorageType(FILESYS); sd.setDetails( (HashMap<String, Object>) callWrapper( "storage_plugin_getFileSystemInfo", getPluginType, ss.getDetails(), sd.getDetails())); return sd; }
/** * . storage_plugin_mount, <class 'agent.api.storageplugin.StoragePlugin'> argument: impl_name - * default: None */ public final StorageDetails storagePluginMountNFS( String nfsHost, String nfsRemotePath, String mntUuid, String mountPoint) throws Ovm3ResourceException { String propUuid = deDash(mntUuid); StorageServer ss = new StorageServer(); StorageDetails sd = new StorageDetails(); ss.setUuid(propUuid); ss.setName(propUuid); ss.setAccessHost(nfsHost); sd.setDetailsRelationalUuid(propUuid); sd.setUuid(mntUuid); sd.setAccessPath(nfsHost + ":" + nfsRemotePath); if (!mountPoint.contains(mntUuid)) { mountPoint += "/" + mntUuid; } sd.setDetails( (HashMap<String, Object>) callWrapper( "storage_plugin_mount", getPluginType, ss.getDetails(), sd.getDetails(), mountPoint, EMPTY_STRING, ACTIVE, someList)); /* this magically means it's already mounted.... * double check */ if (sd.getDetails() == null) { sd = storagePluginGetFileSystemInfo(propUuid, mntUuid, nfsHost, nfsRemotePath); } if (EMPTY_STRING.contains(ss.getUuid())) { throw new Ovm3ResourceException("Unable to mount NFS FileSystem"); } return sd; }