added logging to bmminer and X19 models
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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")
|
||||||
|
|||||||
Reference in New Issue
Block a user