Include Mac serial number in OST Post
This commit is contained in:
parent
72259303b9
commit
4dc5c51beb
2 changed files with 13 additions and 0 deletions
|
|
@ -1291,6 +1291,8 @@ def ost_build_report(dev, dev_type):
|
||||||
report.append(dev.description)
|
report.append(dev.description)
|
||||||
if hasattr(dev, 'ram_total'):
|
if hasattr(dev, 'ram_total'):
|
||||||
report.append(f'{dev.ram_total} ({", ".join(dev.ram_dimms)})')
|
report.append(f'{dev.ram_total} ({", ".join(dev.ram_dimms)})')
|
||||||
|
if hasattr(dev, 'serial') and dev.serial:
|
||||||
|
report.append(f'Serial Number: {dev.serial}')
|
||||||
report.append('')
|
report.append('')
|
||||||
|
|
||||||
# Notes
|
# Notes
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,7 @@ NVME_WARNING_KEYS = (
|
||||||
'reliability_degraded',
|
'reliability_degraded',
|
||||||
'volatile_memory_backup_failed',
|
'volatile_memory_backup_failed',
|
||||||
)
|
)
|
||||||
|
MAC_SERIAL_REGEX = re.compile(r'Serial Number.*?:\s+(?P<serial>.*)\n')
|
||||||
WK_LABEL_REGEX = re.compile(
|
WK_LABEL_REGEX = re.compile(
|
||||||
fr'{KIT_NAME_SHORT}_(LINUX|UFD)',
|
fr'{KIT_NAME_SHORT}_(LINUX|UFD)',
|
||||||
re.IGNORECASE,
|
re.IGNORECASE,
|
||||||
|
|
@ -75,11 +76,13 @@ class CpuRam(BaseObj):
|
||||||
self.details = {}
|
self.details = {}
|
||||||
self.ram_total = 'Unknown'
|
self.ram_total = 'Unknown'
|
||||||
self.ram_dimms = []
|
self.ram_dimms = []
|
||||||
|
self.serial = ''
|
||||||
self.tests = OrderedDict()
|
self.tests = OrderedDict()
|
||||||
|
|
||||||
# Update details
|
# Update details
|
||||||
self.get_cpu_details()
|
self.get_cpu_details()
|
||||||
self.get_ram_details()
|
self.get_ram_details()
|
||||||
|
self.get_serial_number()
|
||||||
|
|
||||||
def generate_report(self):
|
def generate_report(self):
|
||||||
"""Generate CPU & RAM report, returns list."""
|
"""Generate CPU & RAM report, returns list."""
|
||||||
|
|
@ -146,6 +149,14 @@ class CpuRam(BaseObj):
|
||||||
f'{count}x {desc}' for desc, count in sorted(details.items())
|
f'{count}x {desc}' for desc, count in sorted(details.items())
|
||||||
]
|
]
|
||||||
|
|
||||||
|
def get_serial_number(self):
|
||||||
|
if PLATFORM == 'Darwin':
|
||||||
|
cmd = ['system_profiler', 'SPHardwareDataType']
|
||||||
|
proc = run_program(cmd, check=False)
|
||||||
|
match = MAC_SERIAL_REGEX.search(proc.stdout)
|
||||||
|
if match:
|
||||||
|
self.serial = match['serial'].strip()
|
||||||
|
|
||||||
|
|
||||||
class Disk(BaseObj):
|
class Disk(BaseObj):
|
||||||
"""Object for tracking disk specific data."""
|
"""Object for tracking disk specific data."""
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue