Added connet_to_db() function to hw-diags.py
* Uses new main.py variables * Only runs if non-quick drive test(s) are selected
This commit is contained in:
parent
73367d2cde
commit
555a661e92
3 changed files with 35 additions and 4 deletions
|
|
@ -2,9 +2,14 @@
|
||||||
|
|
||||||
import json
|
import json
|
||||||
import time
|
import time
|
||||||
|
import mysql.connector as mariadb
|
||||||
|
|
||||||
from functions.common import *
|
from functions.common import *
|
||||||
|
|
||||||
|
# osTicket Database
|
||||||
|
db_connection = None
|
||||||
|
db_cursor = None
|
||||||
|
|
||||||
# STATIC VARIABLES
|
# STATIC VARIABLES
|
||||||
ATTRIBUTES = {
|
ATTRIBUTES = {
|
||||||
'NVMe': {
|
'NVMe': {
|
||||||
|
|
@ -73,6 +78,17 @@ TESTS = {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def connect_to_db():
|
||||||
|
"""Connect to osTicket database."""
|
||||||
|
try:
|
||||||
|
db_connection = mariadb.connect(
|
||||||
|
user=DB_USER, password=DB_PASS, database=DB_NAME, host=DB_HOST)
|
||||||
|
db_cursor = db_connection.cursor()
|
||||||
|
except:
|
||||||
|
db_connection = None
|
||||||
|
db_cursor = None
|
||||||
|
raise
|
||||||
|
|
||||||
def generate_horizontal_graph(rates):
|
def generate_horizontal_graph(rates):
|
||||||
"""Generate two-line horizontal graph from rates, returns str."""
|
"""Generate two-line horizontal graph from rates, returns str."""
|
||||||
line_top = ''
|
line_top = ''
|
||||||
|
|
@ -640,8 +656,10 @@ def run_nvme_smart():
|
||||||
|
|
||||||
def run_tests(tests):
|
def run_tests(tests):
|
||||||
"""Run selected hardware test(s)."""
|
"""Run selected hardware test(s)."""
|
||||||
print_log('Starting Hardware Diagnostics')
|
clear_screen()
|
||||||
print_log('\nRunning tests: {}'.format(', '.join(tests)))
|
print_standard('Starting Hardware Diagnostics')
|
||||||
|
print_standard(' ')
|
||||||
|
print_standard('Running tests: {}'.format(', '.join(tests)))
|
||||||
# Enable selected tests
|
# Enable selected tests
|
||||||
for t in ['Prime95', 'NVMe/SMART', 'badblocks', 'iobenchmark']:
|
for t in ['Prime95', 'NVMe/SMART', 'badblocks', 'iobenchmark']:
|
||||||
TESTS[t]['Enabled'] = t in tests
|
TESTS[t]['Enabled'] = t in tests
|
||||||
|
|
@ -649,10 +667,17 @@ def run_tests(tests):
|
||||||
|
|
||||||
# Initialize
|
# Initialize
|
||||||
if TESTS['NVMe/SMART']['Enabled'] or TESTS['badblocks']['Enabled'] or TESTS['iobenchmark']['Enabled']:
|
if TESTS['NVMe/SMART']['Enabled'] or TESTS['badblocks']['Enabled'] or TESTS['iobenchmark']['Enabled']:
|
||||||
|
if not TESTS['NVMe/SMART']['Quick']:
|
||||||
|
print_standard(' ')
|
||||||
|
try_and_print(
|
||||||
|
message='Connecting to osTicket database...',
|
||||||
|
function=connect_to_db,
|
||||||
|
width=40)
|
||||||
print_standard(' ')
|
print_standard(' ')
|
||||||
print_standard('Scanning disks...')
|
|
||||||
scan_disks()
|
scan_disks()
|
||||||
update_progress()
|
update_progress()
|
||||||
|
pause()
|
||||||
|
exit_script()
|
||||||
|
|
||||||
# Run
|
# Run
|
||||||
mprime_aborted = False
|
mprime_aborted = False
|
||||||
|
|
@ -683,7 +708,6 @@ def run_tests(tests):
|
||||||
|
|
||||||
def scan_disks(full_paths=False, only_path=None):
|
def scan_disks(full_paths=False, only_path=None):
|
||||||
"""Scan for disks eligible for hardware testing."""
|
"""Scan for disks eligible for hardware testing."""
|
||||||
clear_screen()
|
|
||||||
|
|
||||||
# Get eligible disk list
|
# Get eligible disk list
|
||||||
cmd = ['lsblk', '-J', '-O']
|
cmd = ['lsblk', '-J', '-O']
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,11 @@ ARCHIVE_PASSWORD='Abracadabra'
|
||||||
KIT_NAME_FULL='Wizard Kit'
|
KIT_NAME_FULL='Wizard Kit'
|
||||||
KIT_NAME_SHORT='WK'
|
KIT_NAME_SHORT='WK'
|
||||||
SUPPORT_MESSAGE='Please let 2Shirt know by opening an issue on GitHub'
|
SUPPORT_MESSAGE='Please let 2Shirt know by opening an issue on GitHub'
|
||||||
|
# osTicket
|
||||||
|
DB_HOST='127.0.0.1'
|
||||||
|
DB_NAME='osticket'
|
||||||
|
DB_USER='wizardkit'
|
||||||
|
DB_PASS='Abracadabra'
|
||||||
# Live Linux
|
# Live Linux
|
||||||
MPRIME_LIMIT='7' # of minutes to run Prime95 during hw-diags
|
MPRIME_LIMIT='7' # of minutes to run Prime95 during hw-diags
|
||||||
ROOT_PASSWORD='Abracadabra'
|
ROOT_PASSWORD='Abracadabra'
|
||||||
|
|
|
||||||
|
|
@ -43,6 +43,7 @@ libinput
|
||||||
linux-firmware
|
linux-firmware
|
||||||
lm_sensors
|
lm_sensors
|
||||||
lzip
|
lzip
|
||||||
|
mariadb-clients
|
||||||
mdadm
|
mdadm
|
||||||
mediainfo
|
mediainfo
|
||||||
mesa-demos
|
mesa-demos
|
||||||
|
|
@ -62,6 +63,7 @@ p7zip
|
||||||
papirus-icon-theme
|
papirus-icon-theme
|
||||||
progsreiserfs
|
progsreiserfs
|
||||||
python
|
python
|
||||||
|
python-mysql-connector
|
||||||
python-psutil
|
python-psutil
|
||||||
python-requests
|
python-requests
|
||||||
qemu-guest-agent
|
qemu-guest-agent
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue