def setup_nfs(self): """ Copy the vmlinuz and initrd.img from nfs. """ error.context("copying the vmlinuz and initrd.img from NFS share") m_cmd = ("mount %s:%s %s -o ro" % (self.nfs_server, self.nfs_dir, self.nfs_mount)) utils.run(m_cmd, verbose=DEBUG) try: kernel_fetch_cmd = ( "cp %s/%s/%s %s" % (self.nfs_mount, self.boot_path, os.path.basename( self.kernel), self.image_path)) utils.run(kernel_fetch_cmd, verbose=DEBUG) initrd_fetch_cmd = ( "cp %s/%s/%s %s" % (self.nfs_mount, self.boot_path, os.path.basename( self.initrd), self.image_path)) utils.run(initrd_fetch_cmd, verbose=DEBUG) finally: utils_disk.cleanup(self.nfs_mount) if 'autoyast=' in self.kernel_params: # SUSE self.kernel_params = (self.kernel_params + " ip=dhcp " "install=nfs://" + self.nfs_server + ":" + self.nfs_dir)
def setup_nfs(self): """ Copy the vmlinuz and initrd.img from nfs. """ error.context("copying the vmlinuz and initrd.img from NFS share") m_cmd = ("mount %s:%s %s -o ro" % (self.nfs_server, self.nfs_dir, self.nfs_mount)) utils.run(m_cmd, verbose=DEBUG) try: kernel_fetch_cmd = ("cp %s/%s/%s %s" % (self.nfs_mount, self.boot_path, os.path.basename(self.kernel), self.image_path)) utils.run(kernel_fetch_cmd, verbose=DEBUG) initrd_fetch_cmd = ("cp %s/%s/%s %s" % (self.nfs_mount, self.boot_path, os.path.basename(self.initrd), self.image_path)) utils.run(initrd_fetch_cmd, verbose=DEBUG) finally: utils_disk.cleanup(self.nfs_mount) if 'autoyast=' in self.kernel_params: # SUSE self.kernel_params = (self.kernel_params + " ip=dhcp " "install=nfs://" + self.nfs_server + ":" + self.nfs_dir)
def setup_nfs(self): """ Copy the vmlinuz and initrd.img from nfs. """ error.context("copying the vmlinuz and initrd.img from NFS share") m_cmd = "mount %s:%s %s -o ro" % (self.nfs_server, self.nfs_dir, self.nfs_mount) utils.run(m_cmd, verbose=DEBUG) try: kernel_fetch_cmd = "cp %s/%s/%s %s" % ( self.nfs_mount, self.boot_path, os.path.basename(self.kernel), self.image_path, ) utils.run(kernel_fetch_cmd, verbose=DEBUG) initrd_fetch_cmd = "cp %s/%s/%s %s" % ( self.nfs_mount, self.boot_path, os.path.basename(self.initrd), self.image_path, ) utils.run(initrd_fetch_cmd, verbose=DEBUG) finally: utils_disk.cleanup(self.nfs_mount)
def __init__(self, path, ip, port, filename): self.path = path utils_disk.cleanup(self.path) os.makedirs(self.path) self.ip = ip self.port = port self.filename = filename start_unattended_server_thread(self.port, self.path)
def setup_cdrom(self): """ Mount cdrom and copy vmlinuz and initrd.img. """ error.context("Copying vmlinuz and initrd.img from install cdrom %s" % self.cdrom_cd1) if not os.path.isdir(self.image_path): os.makedirs(self.image_path) if self.params.get("unattended_delivery_method") in ["integrated", "url"]: i = iso9660.Iso9660Mount(self.cdrom_cd1) self.cdrom_cd1_mount = i.mnt_dir else: i = iso9660.iso9660(self.cdrom_cd1) if i is None: raise error.TestFail("Could not instantiate an iso9660 class") i.copy(os.path.join(self.boot_path, os.path.basename(self.kernel)), self.kernel) assert os.path.getsize(self.kernel) > 0 i.copy(os.path.join(self.boot_path, os.path.basename(self.initrd)), self.initrd) assert os.path.getsize(self.initrd) > 0 if self.unattended_file.endswith(".preseed"): self.preseed_initrd() if self.params.get("vm_type") == "libvirt": if self.vm.driver_type == "qemu": # Virtinstall command needs files "vmlinuz" and "initrd.img" os.chdir(self.image_path) base_kernel = os.path.basename(self.kernel) base_initrd = os.path.basename(self.initrd) if base_kernel != "vmlinuz": utils.run("mv %s vmlinuz" % base_kernel, verbose=DEBUG) if base_initrd != "initrd.img": utils.run("mv %s initrd.img" % base_initrd, verbose=DEBUG) if self.params.get("unattended_delivery_method") != "integrated": i.close() utils_disk.cleanup(self.cdrom_cd1_mount) elif (self.vm.driver_type == "xen") and (self.params.get("hvm_or_pv") == "pv"): logging.debug("starting unattended content web server") self.url_auto_content_port = utils_misc.find_free_port(8100, 8199, self.url_auto_content_ip) start_auto_content_server_thread(self.url_auto_content_port, self.cdrom_cd1_mount) self.medium = "url" self.url = "http://%s:%s" % (self.url_auto_content_ip, self.url_auto_content_port) pxe_path = os.path.join(os.path.dirname(self.image_path), "xen") if not os.path.isdir(pxe_path): os.makedirs(pxe_path) pxe_kernel = os.path.join(pxe_path, os.path.basename(self.kernel)) pxe_initrd = os.path.join(pxe_path, os.path.basename(self.initrd)) utils.run("cp %s %s" % (self.kernel, pxe_kernel)) utils.run("cp %s %s" % (self.initrd, pxe_initrd))
def setup_cdrom(self): """ Mount cdrom and copy vmlinuz and initrd.img. """ error.context("Copying vmlinuz and initrd.img from install cdrom %s" % self.cdrom_cd1) if not os.path.isdir(self.image_path): os.makedirs(self.image_path) if (self.params.get('unattended_delivery_method') in ['integrated', 'url']): i = iso9660.Iso9660Mount(self.cdrom_cd1) self.cdrom_cd1_mount = i.mnt_dir else: i = iso9660.iso9660(self.cdrom_cd1) if i is None: raise error.TestFail("Could not instantiate an iso9660 class") i.copy(os.path.join(self.boot_path, os.path.basename(self.kernel)), self.kernel) assert(os.path.getsize(self.kernel) > 0) i.copy(os.path.join(self.boot_path, os.path.basename(self.initrd)), self.initrd) assert(os.path.getsize(self.initrd) > 0) if self.unattended_file.endswith('.preseed'): self.preseed_initrd() if self.params.get("vm_type") == "libvirt": if self.vm.driver_type == 'qemu': # Virtinstall command needs files "vmlinuz" and "initrd.img" os.chdir(self.image_path) base_kernel = os.path.basename(self.kernel) base_initrd = os.path.basename(self.initrd) if base_kernel != 'vmlinuz': utils.run("mv %s vmlinuz" % base_kernel, verbose=DEBUG) if base_initrd != 'initrd.img': utils.run("mv %s initrd.img" % base_initrd, verbose=DEBUG) if (self.params.get('unattended_delivery_method') != 'integrated'): i.close() utils_disk.cleanup(self.cdrom_cd1_mount) elif ((self.vm.driver_type == 'xen') and (self.params.get('hvm_or_pv') == 'pv')): logging.debug("starting unattended content web server") self.url_auto_content_port = utils_misc.find_free_port(8100, 8199, self.url_auto_content_ip) start_auto_content_server_thread(self.url_auto_content_port, self.cdrom_cd1_mount) self.medium = 'url' self.url = ('http://%s:%s' % (self.url_auto_content_ip, self.url_auto_content_port)) pxe_path = os.path.join( os.path.dirname(self.image_path), 'xen') if not os.path.isdir(pxe_path): os.makedirs(pxe_path) pxe_kernel = os.path.join(pxe_path, os.path.basename(self.kernel)) pxe_initrd = os.path.join(pxe_path, os.path.basename(self.initrd)) utils.run("cp %s %s" % (self.kernel, pxe_kernel)) utils.run("cp %s %s" % (self.initrd, pxe_initrd)) if 'repo=cdrom' in self.kernel_params: # Red Hat self.kernel_params = re.sub('repo\=[\:\w\d\/]*', 'repo=http://%s:%s' % (self.url_auto_content_ip, self.url_auto_content_port), self.kernel_params)
else: time.sleep(1) else: logging.warn("Timeout elapsed while waiting for install to finish ") copy_images() raise error.TestFail("Timeout elapsed while waiting for install to " "finish") logging.debug('cleaning up threads and mounts that may be active') global _url_auto_content_server_thread global _url_auto_content_server_thread_event if _url_auto_content_server_thread is not None: _url_auto_content_server_thread_event.set() _url_auto_content_server_thread.join(3) _url_auto_content_server_thread = None utils_disk.cleanup(unattended_install_config.cdrom_cd1_mount) global _unattended_server_thread global _unattended_server_thread_event if _unattended_server_thread is not None: _unattended_server_thread_event.set() _unattended_server_thread.join(3) _unattended_server_thread = None global _syslog_server_thread global _syslog_server_thread_event if _syslog_server_thread is not None: _syslog_server_thread_event.set() _syslog_server_thread.join(3) _syslog_server_thread = None
def setup_cdrom(self): """ Mount cdrom and copy vmlinuz and initrd.img. """ error.context("Copying vmlinuz and initrd.img from install cdrom %s" % self.cdrom_cd1) if not os.path.isdir(self.image_path): os.makedirs(self.image_path) if (self.params.get('unattended_delivery_method') in ['integrated', 'url']): i = iso9660.Iso9660Mount(self.cdrom_cd1) self.cdrom_cd1_mount = i.mnt_dir else: i = iso9660.iso9660(self.cdrom_cd1) if i is None: raise error.TestFail("Could not instantiate an iso9660 class") i.copy(os.path.join(self.boot_path, os.path.basename(self.kernel)), self.kernel) assert (os.path.getsize(self.kernel) > 0) i.copy(os.path.join(self.boot_path, os.path.basename(self.initrd)), self.initrd) assert (os.path.getsize(self.initrd) > 0) if self.unattended_file.endswith('.preseed'): self.preseed_initrd() if self.params.get("vm_type") == "libvirt": if self.vm.driver_type == 'qemu': # Virtinstall command needs files "vmlinuz" and "initrd.img" os.chdir(self.image_path) base_kernel = os.path.basename(self.kernel) base_initrd = os.path.basename(self.initrd) if base_kernel != 'vmlinuz': utils.run("mv %s vmlinuz" % base_kernel, verbose=DEBUG) if base_initrd != 'initrd.img': utils.run("mv %s initrd.img" % base_initrd, verbose=DEBUG) if (self.params.get('unattended_delivery_method') != 'integrated'): i.close() utils_disk.cleanup(self.cdrom_cd1_mount) elif ((self.vm.driver_type == 'xen') and (self.params.get('hvm_or_pv') == 'pv')): logging.debug("starting unattended content web server") self.url_auto_content_port = utils_misc.find_free_port( 8100, 8199, self.url_auto_content_ip) start_auto_content_server_thread(self.url_auto_content_port, self.cdrom_cd1_mount) self.medium = 'url' self.url = ( 'http://%s:%s' % (self.url_auto_content_ip, self.url_auto_content_port)) pxe_path = os.path.join(os.path.dirname(self.image_path), 'xen') if not os.path.isdir(pxe_path): os.makedirs(pxe_path) pxe_kernel = os.path.join(pxe_path, os.path.basename(self.kernel)) pxe_initrd = os.path.join(pxe_path, os.path.basename(self.initrd)) utils.run("cp %s %s" % (self.kernel, pxe_kernel)) utils.run("cp %s %s" % (self.initrd, pxe_initrd)) if 'repo=cdrom' in self.kernel_params: # Red Hat self.kernel_params = re.sub( 'repo\=[\:\w\d\/]*', 'repo=http://%s:%s' % (self.url_auto_content_ip, self.url_auto_content_port), self.kernel_params)