From 85a80ca5e80d7e1537c4f42b2cbd44f4285acf52 Mon Sep 17 00:00:00 2001 From: hpcsys Date: Thu, 13 Jun 2024 16:22:27 +0100 Subject: [PATCH] first draf DNS setter --- set-DNS.py | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 set-DNS.py diff --git a/set-DNS.py b/set-DNS.py new file mode 100644 index 0000000..2e5900b --- /dev/null +++ b/set-DNS.py @@ -0,0 +1,48 @@ +import csv +import sys +import argparse +import paramiko +import getpass +import logging + +#Configure and commence logging + +logger = logging.getLogger(__name__) +logging.basicConfig(filename='python.log', level=logging.DEBUG) +logger.debug('logging start') + +#Set up argument parsing + +parser = argparse.ArgumentParser(prog="set-DNS.py", description="set DNS on iLO") + +parser.add_argument('-o', '--read', help="Read only mode. Does not make changes.", action='store_true') +parser.add_argument('-v', '--verbose') + +args = parser.parse_args() + +print(args) +print(args.read) + +with open('hosts-in.csv',encoding='utf8') as csvfile: + csvreader = csv.reader(csvfile, delimiter=',') + next(csvreader) + USER_NAME = input("Please enter BMC username:") + PASSWORD=getpass.getpass() + i = 1 + for row in csvreader: + print(i) + i += 1 + BMC_NAME = (row[1]) + print(BMC_NAME) + if i > 0: + client = paramiko.SSHClient() + client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) + client.connect(hostname=BMC_NAME, look_for_keys=False, port=22, username=USER_NAME, password=PASSWORD, disabled_algorithms={'pubkeys': ['rsa-sha2-256', 'rsa-sha2-512']}) + if args.read: + command = ("show map1/settings1/DNSSettings1") + else: + command = ("show map1/settings1/DNSSettings1") + stdin, stdout, stderr = client.exec_command(command) + print(stdout.read()) + +