Mailinglist Archive: opensuse-buildservice (170 mails)

< Previous Next >
Re: [opensuse-buildservice] OBS supports constraints now
  • From: Adrian Schröter <adrian@xxxxxxx>
  • Date: Thu, 08 Nov 2012 17:27 +0100
  • Message-id: <1716487.mPnAaIrAC9@scherben>
Am Donnerstag, 8. November 2012, 17:16:27 schrieb Sascha Peilicke:
On 11/08/2012 03:56 PM, Adrian Schröter wrote:

After updating build.opensuse.org to current OBS code we have
now support for build job constraints now.

This means you can tell OBS to build a certain package, repository
or project to build only on build hosts which grant a certain hardware or
software feature.

Just to name two examples, you can require a certain amount of
memory or storage space. Or you can build on a special kind of
build host which guarantees you that benchmark result can be
compared between the build jobs.

Please note that you limit your package to be dispatched to a subset
of hosts. So it may dispatched way later or in worst case not at all
when we do not have such a build host. This means it stays in "scheduled"
state.

We do _NOT_ have a "dispatchstatus" yet which would tell if a job is
dispatchable
at all or not.

Please find details about this feature in our book chapter:


http://openbuildservice.org/help/manuals/obs-reference-guide/cha.obs.build_job_constraints.html

Just as an example, you may want to require a VM memory size of 2GB.
You need add a "_constraints" file into your package source with
this syntax:

<constraints>
<hardware>
<memory unit=G>2</memory>
</hardware>
</constraints>

Or you want to run on a specific new host, which we have to
have comparable benchmarks. There is only running one build
job on this hardware and it will always have the same
hardware configuration. You need to use the hostlabel "benchmark"
in our build.opensuse.org instance:

<constraints>
<hostlabel>benchmark</hostlabel>
</constraints>

Wouldn't it make sense how much resources a build job for
$prj/$pkg/$arch/... took the last time and use this as a constraint for
the next schedule instead of specifying this manually everywhere?

That support is also half implemented, but not active yet.

This is in first place atm for packages like the webkit packages which
just fail always if they do not have the amount of memory.

Just as an example, people may get the idea that using

<constraints>
<hardware>
<processors>4</processors>
</hardware>
</constraints>

may speed up _their_ build jobs by over-using the more powerful workers ;-)

Yes, but it will also lead to way longer times in scheduling state. So in total
you will not really steal time, in worst case you will even free one, because
your package never starts to build ;)

--
Adrian Schroeter
SUSE Linux Products GmbH
email: adrian@xxxxxxx

--
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-buildservice+owner@xxxxxxxxxxxx

< Previous Next >