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=5d4fe3bf63bfee60e1ed1bf88a8f51e097eaf53a;hb=3b665c4c4524f586c291935265a8613c8fe9c982;hpb=d5e8e4cb537ff07a58f774a16f764b137315ea32 diff --git a/src/remoteinstaller/installer/catfile.py b/src/remoteinstaller/installer/catfile.py index 5d4fe3b..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): @@ -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__":