[yocto] [yocto-autobuilder][PATCHv2 4/5] autobuilder/buildsteps: Add DAFTFlash buildstep
Aníbal Limón
anibal.limon at linux.intel.com
Tue Jun 6 08:48:13 PDT 2017
This v2 fixes an small issue on variable name, DAFT_WORKER_WORKSPACE_DIR
-> DAFT_WORKER_WORKSPACE.
Cheers,
Anibal
On 06/06/2017 10:46 AM, Aníbal Limón wrote:
> This will execute daft flash cycle without reboot and prepare the dut
> for sanity tests.
>
> [YOCTO #10604]
>
> Signed-off-by: Aníbal Limón <anibal.limon at linux.intel.com>
> Signed-off-by: Monserrat Sedeno <monserratx.sedeno.bustos.intel.com>
> Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho at linux.intel.com>
> ---
> config/autobuilder.conf.example | 1 +
> .../autobuilder/buildsteps/DaftFlash.py | 42 ++++++++++++++++++++++
> lib/python2.7/site-packages/autobuilder/config.py | 1 +
> 3 files changed, 44 insertions(+)
> create mode 100644 lib/python2.7/site-packages/autobuilder/buildsteps/DaftFlash.py
>
> diff --git a/config/autobuilder.conf.example b/config/autobuilder.conf.example
> index e5ec16b..2e992cf 100644
> --- a/config/autobuilder.conf.example
> +++ b/config/autobuilder.conf.example
> @@ -98,3 +98,4 @@ PERFORMANCE_MAIL_SIG = "Multiline\nSig\nLine"
>
> [Daft]
> DAFT_WORKER_DEVICES_CFG = "/etc/daft/devices.cfg"
> +DAFT_WORKER_WORKSPACE = "/home/ab/workspace"
> diff --git a/lib/python2.7/site-packages/autobuilder/buildsteps/DaftFlash.py b/lib/python2.7/site-packages/autobuilder/buildsteps/DaftFlash.py
> new file mode 100644
> index 0000000..d5f6de8
> --- /dev/null
> +++ b/lib/python2.7/site-packages/autobuilder/buildsteps/DaftFlash.py
> @@ -0,0 +1,42 @@
> +import os
> +
> +from autobuilder.config import DAFT_WORKER_WORKSPACE
> +from buildbot.steps.shell import ShellCommand
> +
> +class DaftFlash(ShellCommand):
> + haltOnFailure = True
> +
> + name = "DaftFlash"
> +
> + def __init__(self, factory, argdict=None, **kwargs):
> + self.tests = None
> + self.factory = factory
> + for k, v in argdict.iteritems():
> + setattr(self, k, v)
> + self.description = "DUT Flashing"
> + self.timeout = 100000
> + kwargs['timeout']=self.timeout
> + ShellCommand.__init__(self, **kwargs)
> +
> + def start(self):
> + workspace_dir = DAFT_WORKER_WORKSPACE
> +
> + dut_name = self.getProperty('dut_name')
> + workdir = self.getProperty('workdir')
> + image = self.getProperty('BUILDIMAGES')
> + machine = self.getProperty('MACHINE')
> +
> + image_path = os.path.join(workdir, 'build', 'build', 'tmp', 'deploy',
> + 'images', machine, '%s-%s.hddimg' % (image, machine))
> + image_name = os.path.basename(image_path)
> +
> + # XXX: DAFT needs to have the image in a shared workspace
> + self.command = "cp %s %s; " % (image_path, workspace_dir)
> +
> + self.command += "cd %s; " % (workspace_dir)
> +
> + # XXX: DAFT needs to be executed by root user
> + daft_cmd = "daft --setout %s %s" % (dut_name, image_name)
> + self.command += "sudo su -l -c 'cd {} && {}'; ".format(workspace_dir, daft_cmd)
> +
> + ShellCommand.start(self)
> diff --git a/lib/python2.7/site-packages/autobuilder/config.py b/lib/python2.7/site-packages/autobuilder/config.py
> index 5bcf6c6..fcc08f0 100644
> --- a/lib/python2.7/site-packages/autobuilder/config.py
> +++ b/lib/python2.7/site-packages/autobuilder/config.py
> @@ -24,3 +24,4 @@ IPK_PUBLISH_DIR = os.environ.get("IPK_PUBLISH_DIR")
> DEB_PUBLISH_DIR = os.environ.get("DEB_PUBLISH_DIR")
> PERFORMANCE_PUBLISH_DIR = os.environ.get("PERFORMANCE_PUBLISH_DIR")
> DAFT_WORKER_DEVICES_CFG = os.environ.get("DAFT_WORKER_DEVICES_CFG")
> +DAFT_WORKER_WORKSPACE = os.environ.get("DAFT_WORKER_WORKSPACE")
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20170606/37a55b64/attachment.pgp>
More information about the yocto
mailing list