Hey Nick, It's freaking cool that we already had this working! :-) Follows my comments. I know you have a separate branch where you are trying to abstract the parts in common with master.py, but I am making some comments about that here anyway. review needs-fixing > === modified file 'lava_dispatcher/client/base.py' > --- lava_dispatcher/client/base.py 2013-03-27 11:22:07 +0000 > +++ lava_dispatcher/client/base.py 2013-04-08 13:59:23 +0000 > @@ -154,7 +154,7 @@ > lava_server_ip = self._client.context.config.lava_server_ip > self.run( > "LC_ALL=C ping -W4 -c1 %s" % lava_server_ip, > - ["1 received", "0 received", "Network is unreachable"], > + ["1 received|1 packets* received", "0 received|0 packets received", "Network is unreachable"], > timeout=5, failok=True) > if self.match_id == 0: > return True > Do you really need this? Did ping had a different output on the rootfs you tested with? > === modified file 'lava_dispatcher/client/lmc_utils.py' > --- lava_dispatcher/client/lmc_utils.py 2013-02-18 03:19:14 +0000 > +++ lava_dispatcher/client/lmc_utils.py 2013-04-08 13:59:23 +0000 > @@ -15,7 +15,8 @@ > ) > > > -def generate_image(client, hwpack_url, rootfs_url, outdir, bootloader='u_boot', rootfstype=None): > +def generate_image(client, hwpack_url, rootfs_url, outdir, bootloader='u_boot', rootfstype=None, > + extra_boot_args=None, image_size=None): > """Generate image from a hwpack and rootfs url > > :param hwpack_url: url of the Linaro hwpack to download > @@ -32,7 +33,7 @@ > rootfs_path = download_image(rootfs_url, client.context, outdir, decompress=False) > > logging.info("linaro-media-create version information") > - cmd = "sudo linaro-media-create -v" > + cmd = "linaro-media-create -v" > rc, output = getstatusoutput(cmd) > metadata = client.context.test_data.get_metadata() > metadata['target.linaro-media-create-version'] = output I'm not sure we want to drop the sudo there. Even though the dispatcher currently requires being run as root, I think in the long run we should be able to drop that requirement. Also, if we are root already, the sudo does no harm. Additionally, it's a good idea to keep the merge proposal focused and avoid lateral changes. > @@ -42,11 +43,15 @@ > > logging.info("client.device_type = %s" %client.config.device_type) > > - cmd = ("sudo flock /var/lock/lava-lmc.lck linaro-media-create --hwpack-force-yes --dev %s " > + cmd = ("flock /var/lock/lava-lmc.lck linaro-media-create --hwpack-force-yes --dev %s " > "--image-file %s --binary %s --hwpack %s --image-size 3G --bootloader %s" % > (client.config.lmc_dev_arg, image_file, rootfs_path, hwpack_path, bootloader)) Ditto. > if rootfstype is not None: > cmd += ' --rootfs ' + rootfstype > + if image_size is not None: > + cmd += ' --image-size ' + image_size > + if extra_boot_args is not None: > + cmd += ' --extra-boot-args "%s"' % extra_boot_args > logging.info("Executing the linaro-media-create command") > logging.info(cmd) > > @@ -85,7 +90,7 @@ > mntdir = mkdtemp() > image = image_file > offset = get_partition_offset(image, partno) > - mount_cmd = "sudo mount -o loop,offset=%s %s %s" % (offset, image, mntdir) > + mount_cmd = "mount -o loop,offset=%s %s %s" % (offset, image, mntdir) > rc = logging_system(mount_cmd) > if rc != 0: > os.rmdir(mntdir) Ditto. > @@ -94,7 +99,7 @@ > try: > yield mntdir > finally: > - logging_system('sudo umount ' + mntdir) > + logging_system('umount ' + mntdir) > logging_system('rm -rf ' + mntdir) Ditto. > === modified file 'lava_dispatcher/config.py' > --- lava_dispatcher/config.py 2013-04-05 17:19:57 +0000 > +++ lava_dispatcher/config.py 2013-04-08 13:59:23 +0000 > @@ -104,6 +104,8 @@ > default='Press Enter to stop auto boot...') > vexpress_usb_mass_storage_device = schema.StringOption(default=None) > > + ecmeip = schema.StringOption() > + ... > === added file 'lava_dispatcher/default-config/lava-dispatcher/device-types/highbank.conf' > --- lava_dispatcher/default-config/lava-dispatcher/device-types/highbank.conf 1970-01-01 00:00:00 +0000 > +++ lava_dispatcher/default-config/lava-dispatcher/device-types/highbank.conf 2013-04-08 13:59:23 +0000 > @@ -0,0 +1,2 @@ > +client_type = highbank > +connection_command = ipmitool -I lanplus -U admin -P admin -H %(ecmeip)s sol activate > > === added file 'lava_dispatcher/device/highbank.py' > --- lava_dispatcher/device/highbank.py 1970-01-01 00:00:00 +0000 > +++ lava_dispatcher/device/highbank.py 2013-04-08 13:59:23 +0000 > @@ -0,0 +1,322 @@ > +# Copyright (C) 2012 Linaro Limited > +# > +# Author: Michael Hudson-Doyle