diff options
author | yuryalekseev <yuryalekseev@yandex-team.com> | 2023-02-25 15:38:23 +0300 |
---|---|---|
committer | yuryalekseev <yuryalekseev@yandex-team.com> | 2023-02-25 15:38:23 +0300 |
commit | e125aeee8224246e6b9cdb56873324dfd22d24c2 (patch) | |
tree | c5e0e3840bf7f030f6f1b01ffcc454ea723d9e17 | |
parent | 165c336f416685a8230821eb2348272179f0ec98 (diff) | |
download | ydb-e125aeee8224246e6b9cdb56873324dfd22d24c2.tar.gz |
Fix output of device list.
-rw-r--r-- | ydb/apps/dstool/lib/dstool_cmd_device_list.py | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/ydb/apps/dstool/lib/dstool_cmd_device_list.py b/ydb/apps/dstool/lib/dstool_cmd_device_list.py index 1ebebdc2c73..130ae4bacf2 100644 --- a/ydb/apps/dstool/lib/dstool_cmd_device_list.py +++ b/ydb/apps/dstool/lib/dstool_cmd_device_list.py @@ -37,10 +37,13 @@ def do(args): all_columns, default_visible_columns=visible_columns) + pdiskBySerialNumber = {} + for pdisk in base_config.PDisk: + if pdisk.ExpectedSerial: + pdiskBySerialNumber[pdisk.ExpectedSerial] = pdisk + rows = [] for device in base_config.Device: - usedByPDisk = True if device.PDiskId > 0 else False - row = {} row['SerialNumber'] = device.SerialNumber row['NodeId'] = device.NodeId @@ -50,17 +53,16 @@ def do(args): row['BoxId'] = device.BoxId row['Guid'] = device.Guid if device.Guid > 0 else 'NULL' - if usedByPDisk: - row['NodeId:PDiskId'] = '[%u:%u]' % (device.NodeId, device.PDiskId) - else: - row['NodeId:PDiskId'] = 'NULL' + if device.SerialNumber in pdiskBySerialNumber: + pdisk = pdiskBySerialNumber[device.SerialNumber] + row['NodeId:PDiskId'] = '[%u:%u]' % (pdisk.NodeId, pdisk.PDiskId) - if usedByPDisk: if device.LifeStage == kikimr_bsconfig.TDriveLifeStage.E.ADDED_BY_DSTOOL: - row['StorageStatus'] = 'Configured by ydb-dstool' + row['StorageStatus'] = 'PDISK_ADDED_BY_DSTOOL' else: - row['StorageStatus'] = 'Configured by DefineBox' + row['StorageStatus'] = 'PDISK_ADDED_BY_DEFINE_BOX' else: + row['NodeId:PDiskId'] = 'NULL' row['StorageStatus'] = 'FREE' rows.append(row) |