X-Git-Url: https://gerrit.akraino.org/r/gitweb?p=ta%2Fremote-installer.git;a=blobdiff_plain;f=src%2Fremoteinstaller%2Finstaller%2Fcatfile.py;h=e5d2147372e8e5a6cd2636eba1c3560a6729d01f;hp=a6537214eed447d2522f66e54c627fea43e33a54;hb=3b665c4c4524f586c291935265a8613c8fe9c982;hpb=f9adb9143ef94b16ae16941652e75deccad506ef diff --git a/src/remoteinstaller/installer/catfile.py b/src/remoteinstaller/installer/catfile.py index a653721..e5d2147 100644 --- a/src/remoteinstaller/installer/catfile.py +++ b/src/remoteinstaller/installer/catfile.py @@ -21,10 +21,11 @@ class CatFileException(Exception): pass class CatFile(object): - def __init__(self, bmc_host, bmc_user, bmc_password, login_user, login_password): + def __init__(self, bmc_host, bmc_user, bmc_password, bmc_priv_level='ADMINISTRATOR', login_user, login_password): self._host = bmc_host self._user = bmc_user self._password = bmc_password + self._priv_level = bmc_priv_level self._sol = None self._login_user = login_user @@ -34,11 +35,11 @@ class CatFile(object): logging.info('Open SOL console') logging.debug('deactivate sol') - expect_session = pexpect.spawn('ipmitool -I lanplus -H {} -U {} -P {} sol deactivate'.format(self._host, self._user, self._password)) + expect_session = pexpect.spawn('ipmitool -I lanplus -H {} -U {} -P {} -L {} sol deactivate'.format(self._host, self._user, self._password, self._priv_level)) expect_session.expect(pexpect.EOF) logging.debug('activate sol, output will go to %s', log) - self._sol = pexpect.spawn('ipmitool -I lanplus -H {} -U {} -P {} sol activate'.format(self._host, self._user, self._password), timeout=None) + self._sol = pexpect.spawn('ipmitool -I lanplus -H {} -U {} -P {} -L {} sol activate'.format(self._host, self._user, self._password, self._priv_level), timeout=None) logfile = open(log, 'wb') self._sol.logfile_read = logfile @@ -53,7 +54,7 @@ class CatFile(object): self._sol.terminate() logging.debug('deactivate sol') - session = pexpect.spawn('ipmitool -I lanplus -H {} -U {} -P {} sol deactivate'.format(self._host, self._user, self._password)) + session = pexpect.spawn('ipmitool -I lanplus -H {} -U {} -P {} -L {} sol deactivate'.format(self._host, self._user, self._password, self._priv_level)) session.expect(pexpect.EOF) def _expect_cmd_prompt(self): @@ -69,7 +70,7 @@ class CatFile(object): logging.debug('Command prompt found') return - except pexpect.exceptions.TIMEOUT as e: + except pexpect.TIMEOUT as e: pass try: @@ -88,7 +89,7 @@ class CatFile(object): self._sol.sendline() self._expect_cmd_prompt() logging.debug('Command prompt found') - except pexpect.exceptions.TIMEOUT as e: + except pexpect.TIMEOUT as e: logging.debug(e) raise @@ -116,6 +117,7 @@ def main(): parser.add_argument('-H', '--bmc_host', required=True, help='BMC host') parser.add_argument('-U', '--bmc_user', required=True, help='BMC user') parser.add_argument('-P', '--bmc_password', required=True, help='BMC user password') + parser.add_argument('-L', '--bmc_priv_level', required=False, default='ADMINISTRATOR', help='BMC user privilege level') parser.add_argument('-u', '--user', required=True, help='Login user') parser.add_argument('-p', '--password', required=True, help='Login user password') parser.add_argument('-f', '--file', required=True, help='File path to cat') @@ -126,7 +128,7 @@ def main(): logging.basicConfig(level=logging.DEBUG) - cat_file = CatFile(args.bmc_host, args.bmc_user, args.bmc_password, args.user, args.password) + cat_file = CatFile(args.bmc_host, args.bmc_user, args.bmc_password, args.user, bmc_priv_level, args.password) cat_file.cat(args.file, args.output_file, args.password) if __name__ == "__main__":