added logging to bmminer and X19 models

This commit is contained in:
UpstreamData
2022-03-14 16:07:47 -06:00
parent c22be7ded8
commit 07a8b00a93
4 changed files with 24 additions and 6 deletions

View File

@@ -7,6 +7,8 @@ logger = logging.getLogger()
if DEBUG: if DEBUG:
logger.setLevel(logging.DEBUG) logger.setLevel(logging.DEBUG)
logging.getLogger("asyncssh").setLevel(logging.WARNING)
else: else:
logger.setLevel(logging.INFO) logger.setLevel(logging.INFO)
logging.getLogger("asyncssh").setLevel(logging.WARNING) logging.getLogger("asyncssh").setLevel(logging.WARNING)

View File

@@ -1,4 +1,5 @@
from miners.bmminer import BMMiner from miners.bmminer import BMMiner
import logging
class BMMinerX19(BMMiner): class BMMinerX19(BMMiner):
@@ -10,9 +11,12 @@ class BMMinerX19(BMMiner):
async def get_model(self): async def get_model(self):
if self.model: if self.model:
logging.debug(f"Found model for {self.ip}: {self.model}")
return self.model return self.model
version_data = await self.api.version() version_data = await self.api.version()
if version_data: if version_data:
self.model = version_data["VERSION"][0]["Type"].replace("Antminer ", "") self.model = version_data["VERSION"][0]["Type"].replace("Antminer ", "")
logging.debug(f"Found model for {self.ip}: {self.model}")
return self.model return self.model
logging.warning(f"Failed to get model for miner: {self}")
return None return None

View File

@@ -1,4 +1,5 @@
from miners.cgminer import CGMiner from miners.cgminer import CGMiner
import logging
class CGMinerX19(CGMiner): class CGMinerX19(CGMiner):
@@ -11,9 +12,12 @@ class CGMinerX19(CGMiner):
async def get_model(self): async def get_model(self):
if self.model: if self.model:
logging.debug(f"Found model for {self.ip}: {self.model}")
return self.model return self.model
version_data = await self.api.version() version_data = await self.api.version()
if version_data: if version_data:
self.model = version_data["VERSION"][0]["Type"].replace("Antminer ", "") self.model = version_data["VERSION"][0]["Type"].replace("Antminer ", "")
logging.debug(f"Found model for {self.ip}: {self.model}")
return self.model return self.model
logging.warning(f"Failed to get model for miner: {self}")
return None return None

View File

@@ -1,6 +1,7 @@
from API.bmminer import BMMinerAPI from API.bmminer import BMMinerAPI
from miners import BaseMiner from miners import BaseMiner
import asyncssh import asyncssh
import logging
class BMMiner(BaseMiner): class BMMiner(BaseMiner):
@@ -17,11 +18,14 @@ class BMMiner(BaseMiner):
async def get_model(self): async def get_model(self):
if self.model: if self.model:
logging.debug(f"Found model for {self.ip}: {self.model}")
return self.model return self.model
version_data = await self.api.devdetails() version_data = await self.api.devdetails()
if version_data: if version_data:
self.model = version_data["DEVDETAILS"][0]["Model"].replace("Antminer ", "") self.model = version_data["DEVDETAILS"][0]["Model"].replace("Antminer ", "")
logging.debug(f"Found model for {self.ip}: {self.model}")
return self.model return self.model
logging.warning(f"Failed to get model for miner: {self}")
return None return None
async def get_hostname(self) -> str: async def get_hostname(self) -> str:
@@ -29,10 +33,14 @@ class BMMiner(BaseMiner):
async with (await self._get_ssh_connection()) as conn: async with (await self._get_ssh_connection()) as conn:
if conn is not None: if conn is not None:
data = await conn.run('cat /proc/sys/kernel/hostname') data = await conn.run('cat /proc/sys/kernel/hostname')
return data.stdout.strip() host = data.stdout.strip()
logging.debug(f"Found hostname for {self.ip}: {host}")
return host
else: else:
logging.warning(f"Failed to get hostname for miner: {self}")
return "?" return "?"
except Exception: except Exception:
logging.warning(f"Failed to get hostname for miner: {self}")
return "?" return "?"
async def _get_ssh_connection(self) -> asyncssh.connect: async def _get_ssh_connection(self) -> asyncssh.connect:
@@ -52,16 +60,15 @@ class BMMiner(BaseMiner):
server_host_key_algs=['ssh-rsa']) server_host_key_algs=['ssh-rsa'])
return conn return conn
except Exception as e: except Exception as e:
print("Exception raised:", self.ip) logging.warning(f"{self} raised an exception: {e}")
raise e raise e
except OSError: except OSError:
print(str(self.ip) + ": Connection refused.") logging.warning(f"Connection refused: {self} ")
return None return None
except Exception as e: except Exception as e:
print("Exception raised:", self.ip) logging.warning(f"{self} raised an exception: {e}")
raise e raise e
async def send_ssh_command(self, cmd): async def send_ssh_command(self, cmd):
result = None result = None
async with (await self._get_ssh_connection()) as conn: async with (await self._get_ssh_connection()) as conn:
@@ -69,11 +76,12 @@ class BMMiner(BaseMiner):
try: try:
result = await conn.run(cmd) result = await conn.run(cmd)
except Exception as e: except Exception as e:
print(f"{cmd} error: {e}") logging.warning(f"{self} command {cmd} error: {e}")
if i == 3: if i == 3:
return return
continue continue
return result return result
async def reboot(self) -> None: async def reboot(self) -> None:
logging.debug(f"{self}: Sending reboot command.")
await self.send_ssh_command("reboot") await self.send_ssh_command("reboot")