mirror of
https://github.com/ceph/ceph
synced 2025-01-04 02:02:36 +00:00
qa: fix test_rbd_wnbd.py, properly retrieving the drive letter
Instead of trying to use the first partiton which may be reserved by Windows, we'll fetch the first non-empty drive letter from the disk that we've just mounted. While at it, we're ensuring that the drive letter is actually a letter and not a null character, which the Powershell command returns in case of empty drive letters. Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
This commit is contained in:
parent
8b4db5d51c
commit
540a089995
@ -360,11 +360,14 @@ class RbdImage(object):
|
||||
# Retrieve the drive letter.
|
||||
cmd = (
|
||||
"powershell.exe", "-command",
|
||||
f"(Get-Partition -DiskNumber {self.disk_number})[0].DriveLetter")
|
||||
f"(Get-Partition -DiskNumber {self.disk_number}"
|
||||
" | ? { $_.DriveLetter }).DriveLetter")
|
||||
result = execute(*cmd)
|
||||
|
||||
# The PowerShell command will place a null character if no drive letter
|
||||
# is available. For example, we can receive "\x00\r\n".
|
||||
self.drive_letter = result.stdout.decode().strip()
|
||||
if len(self.drive_letter) != 1:
|
||||
if not self.drive_letter.isalpha() or len(self.drive_letter) != 1:
|
||||
raise CephTestException(
|
||||
"Invalid drive letter received: %s" % self.drive_letter)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user