def main(): if len(sys.argv) != 4: sys.stderr.write("usage: %s FSTYPE MOUNT_POINT DEVICE_NAME\n" % os.path.basename(sys.argv[0])) sys.exit(-1) fsType = sys.argv[1] mountPoint = sys.argv[2] device = DiskUtils.getDevice(sys.argv[3]) deviceFormatLockFile = Utils.getDeviceFormatLockFile(device) deviceFormatStatusFile = Utils.getDeviceFormatStatusFile(device) deviceFormatOutputFile = Utils.getDeviceFormatOutputFile(device) if os.path.exists(deviceFormatStatusFile): Utils.log("device format status file %s exists" % deviceFormatStatusFile) sys.exit(1) if os.path.exists(deviceFormatLockFile): Utils.log("device format lock file %s exists" % deviceFormatLockFile) sys.exit(2) try: fp = open(deviceFormatLockFile, "w") fp.close() except OSError, e: Utils.log("failed to create lock file %s: %s" % (deviceFormatLockFile, str(e))) writeStatus(deviceFormatStatusFile, "Lock file creation failed\n") sys.exit(-2)
def main(): if Utils.runCommand("wget -t 1 -T 1 -q -O /dev/null %s" % Globals.AWS_WEB_SERVICE_URL) == 0: sys.stderr.write("format device unsupported\n") sys.exit(1) if len(sys.argv) != 4: sys.stderr.write("usage: %s FSTYPE MOUNT_POINT DEVICE_NAME\n" % os.path.basename(sys.argv[0])) sys.exit(-1) fsType = sys.argv[1] mountPoint = sys.argv[2] device = DiskUtils.getDevice(sys.argv[3]) deviceName = DiskUtils.getDeviceName(sys.argv[3]) if not os.path.exists(device): sys.stderr.write("device %s not found\n" % sys.argv[3]) sys.exit(2) try: if not stat.S_ISBLK(os.stat(device).st_mode): sys.stderr.write("%s is not a block device\n" % sys.argv[3]) sys.exit(3) except OSError, e: Utils.log("unable to get device %s mode: %s" % (device, str(e))) sys.stderr.write("unable to get device %s mode\n" % sys.argv[3]) sys.exit(-2)
def main(): if len(sys.argv) != 2: sys.stderr.write("usage: %s DEVICE_NAME\n" % os.path.basename(sys.argv[0])) sys.exit(-1) device = DiskUtils.getDevice(sys.argv[1]) deviceFormatLockFile = Utils.getDeviceFormatLockFile(device) deviceFormatStatusFile = Utils.getDeviceFormatStatusFile(device) deviceFormatOutputFile = Utils.getDeviceFormatOutputFile(device) time.sleep(1) if not os.path.exists(deviceFormatLockFile): if not os.path.exists(deviceFormatStatusFile): sys.stderr.write("Device format not initiated\n") sys.exit(1) if os.path.exists(deviceFormatStatusFile): line = Utils.readFile(deviceFormatStatusFile) line = line.strip() Utils.removeFile(deviceFormatOutputFile) Utils.removeFile(deviceFormatStatusFile) responseDom = ResponseXml() responseDom.appendTagRoute("device", sys.argv[1]) responseDom.appendTagRoute("completedBlocks", "0") responseDom.appendTagRoute("totalBlocks", "0") responseDom.appendTagRoute("message", line) if line.upper() == "COMPLETED": responseDom.appendTagRoute("formatStatus", "COMPLETED") else: responseDom.appendTagRoute("formatStatus", "NOT_RUNNING") print responseDom.toxml() sys.exit(0) content = Utils.readFile(deviceFormatOutputFile, lines=True) if not content: responseDom = ResponseXml() responseDom.appendTagRoute("device", sys.argv[1]) responseDom.appendTagRoute("completedBlocks", "0") responseDom.appendTagRoute("totalBlocks", "0") responseDom.appendTagRoute("message", None) responseDom.appendTagRoute("formatStatus", "IN_PROGRESS") print responseDom.toxml() sys.exit(0) lines = [line for line in content if "Writing inode tables" in line] if not lines: responseDom = ResponseXml() responseDom.appendTagRoute("device", sys.argv[1]) responseDom.appendTagRoute("completedBlocks", "0") responseDom.appendTagRoute("totalBlocks", "0") responseDom.appendTagRoute("message", content[-1]) responseDom.appendTagRoute("formatStatus", "IN_PROGRESS") print responseDom.toxml() sys.exit(0) tokens = [token for token in lines[-1].split("\x08") if token] if "done" in tokens[-1]: values = tokens[-2].split(':')[-1].strip().split('/') else: values = tokens[-1].split(':')[-1].strip().split('/') responseDom.appendTagRoute("device", sys.argv[1]) responseDom.appendTagRoute("completedBlocks", values[0]) responseDom.appendTagRoute("totalBlocks", values[1]) responseDom.appendTagRoute("message", lines[-1]) responseDom.appendTagRoute("formatStatus", "IN_PROGRESS") print responseDom.toxml() sys.exit(0)