[+] after-reboot

[!] fix enum
This commit is contained in:
Maxim Khomutov 2024-07-24 11:16:02 +03:00
parent 2a9655efbb
commit 3dce569012

View File

@ -315,23 +315,32 @@ class VMKer:
logger.exception(e) logger.exception(e)
def _execute_yml(self, name, ssh, _pre=True): def _execute_yml(self, name, ssh, _pre=True):
for p, f in self.cmds.items(): for f, y in self.cmds.items():
try: try:
if _pre: if _pre:
y = f.get('before-reboot') y = y.get('before-reboot')
logger.info(f"[{name}] [YML] Executing {f.name}..") logger.info(f"[{name}] [YML] Executing {f.name}..")
if not y: if not y:
return logger.debug(f"[{name}] [YML] Block 'before-reboot' not found. Skipping..") return logger.debug(f"[{name}] [YML] Block 'before-reboot' not found. Skipping..")
for n, c in y.items(): for n, c in y.items():
logger.info(f"[{name}] [YML] {n}. Steps: {len(c)}.") logger.info(f"[{name}] [YML] {n}. Steps: {len(c)}.")
for cmd, i in enumerate(c, 1): for i, cmd in enumerate(c, 1):
logger.debug(f"executing: {cmd}") logger.debug(f"executing: {cmd}")
logger.debug(ssh.send_command(cmd)) logger.debug(ssh.send_command(cmd))
logger.info(f"[{name}] [YML] {n}: {i}/{len(c)}") logger.info(f"[{name}] [YML] {n}: {i}/{len(c)}")
else: else:
y = f.get('after-reboot') y = y.get('after-reboot')
if not y: if not y:
return logger.debug(f"[{name}] [YML] Block 'after-reboot' not found. Skipping..") return logger.debug(f"[{name}] [YML] Block 'after-reboot' not found. Skipping..")
for n, c in y.items():
logger.info(f"[{name}] [YML] {n}. Steps: {len(c)}.")
for i, cmd in enumerate(c, 1):
logger.debug(f"executing: {cmd}")
logger.info(f"[{name}] < {cmd}")
_ssh_output = ssh.send_command(cmd)
logger.debug(_ssh_output)
logger.info(f"[{name}] > {_ssh_output}")
# logger.info(f"[{name}] [YML] {n}: {i}/{len(c)}")
except Exception as e: except Exception as e:
logger.exception(e) logger.exception(e)
@ -383,7 +392,7 @@ class VMKer:
logger.info(f"[{_name}] Password for root: {_pwd}") logger.info(f"[{_name}] Password for root: {_pwd}")
ssh.send_command(f'echo {_name} > /etc/hostname') ssh.send_command(f'echo {_name} > /etc/hostname')
logger.info(f"[{_name}] [YML] After-Reboot.") logger.info(f"[{_name}] [YML] Before-Reboot.")
self._execute_yml(_name, ssh) self._execute_yml(_name, ssh)
ssh.disconnect() ssh.disconnect()
@ -403,7 +412,7 @@ class VMKer:
logger.success(f"[{_name}] [SSH] Connected to {ipv4[0]} as {user}") logger.success(f"[{_name}] [SSH] Connected to {ipv4[0]} as {user}")
logger.debug(f'[{_name}] uname {ssh.send_command("uname -a")}') logger.debug(f'[{_name}] uname {ssh.send_command("uname -a")}')
logger.info(f"[{_name}] [YML] Before-Reboot.") logger.info(f"[{_name}] [YML] After-Reboot.")
self._execute_yml(_name, ssh, False) self._execute_yml(_name, ssh, False)
except NetmikoAuthenticationException as e: except NetmikoAuthenticationException as e: