def install_driver(initiator, url, fname): """ Install the HBA driver on initiator a linux box """ rpms = list() temp_dir = '/tmp/%s' % int(time()) initiator.mkdir(temp_dir) with cd(initiator, temp_dir): initiator.run_and_check('wget --timeout=0 %s/%s -P %s' % (url, fname, temp_dir)) initiator.untar_package('%s/%s' % (temp_dir, fname), temp_dir) initiator.ls(temp_dir) for f in initiator.ls(temp_dir): if f.endswith(".rpm"): p = '%s/%s' % (temp_dir, f) rpms.append(p) if 1 > len(rpms) > 3: initiator.run_and_check('rm -rf %s' % temp_dir) return False args = ' '.join(rpms) ret = initiator.install_rpm('%s' % args, timeout=120) if not ret: return ret ret = initiator.load_module(initiator.coraid_module) if not ret: return ret return initiator.run_and_check('rm -rf %s' % temp_dir)
def install_driver(initiator, url, fname): """ Install the HBA driver a Solaris system """ temp_folder = "/tmp/%s" % int(time.time()) initiator.mkdir(temp_folder) try: with cd(initiator, temp_folder): initiator.run_and_check('wget --timeout=0 %s/%s' % (url, fname)) initiator.run_and_check('tar -zxvf %s' % fname) pkgadd(initiator, 'CORDethdrv') except InitiatorError as e: logger.warning('Something happened during module installation: %s' % e) except Exception as e: logger.error('Something happened during module installation: %s' % e) try: initiator.rmdir(temp_folder) except: initiator.run_and_check('rm -rf %s' % temp_folder)