private void startupCleanup(String parent) { s_logger.info("Cleanup mounted NFS mount points used in previous session"); long mshostId = ManagementServerNode.getManagementServerId(); // cleanup left-over NFS mounts from previous session String[] mounts = _storage.listFiles(parent + File.separator + String.valueOf(mshostId) + ".*"); if (mounts != null && mounts.length > 0) { for (String mountPoint : mounts) { s_logger.info("umount NFS mount from previous session: " + mountPoint); String result = null; Script command = new Script(true, "umount", _timeout, s_logger); command.add(mountPoint); result = command.execute(); if (result != null) { s_logger.warn("Unable to umount " + mountPoint + " due to " + result); } File file = new File(mountPoint); if (file.exists()) { file.delete(); } } } }
@Override public boolean configure(String name, Map<String, Object> params) throws ConfigurationException { _executor = Executors.newScheduledThreadPool(1, new NamedThreadFactory("Upload-Monitor")); _monitoringInterval = UploadMonitoringInterval.value(); _uploadOperationTimeout = UploadOperationTimeout.value() * 60 * 1000; _nodeId = ManagementServerNode.getManagementServerId(); return true; }
private String setupMountPoint(String parent) { String mountPoint = null; long mshostId = ManagementServerNode.getManagementServerId(); for (int i = 0; i < 10; i++) { String mntPt = parent + File.separator + String.valueOf(mshostId) + "." + Integer.toHexString(_rand.nextInt(Integer.MAX_VALUE)); File file = new File(mntPt); if (!file.exists()) { if (_storage.mkdir(mntPt)) { mountPoint = mntPt; break; } } s_logger.error("Unable to create mount: " + mntPt); } return mountPoint; }