Mailinglist Archive: opensuse-buildservice (126 mails)

< Previous Next >
Re: [opensuse-buildservice] The details for scheduling option "rebuild" in meta configuration
Hi,

Some comments inline, but I will say the automatic rebuilds triggered
in OBS are definitely a feature and not a defect :)

On Thu, 26 Feb 2015 16:26:38 +0800
Ji Xiang <jixiang@xxxxxxxxxxx> wrote:

On Thursday, February 26, 2015 08:26:09 AM Adrian Schröter wrote:
On Donnerstag, 26. Februar 2015, 14:59:21 wrote Ji Xiang:
Hello everyone,
I have been confused for long time in terms of the rebuild (or I
can say 'scheduling') mechanism of OBS.
The most confused point is why a full rebuild is needed for
software release on OBS.

Well if it is "needed" can always be discussed. But it is needed
_IF_ you want to be sure that you are able to rebuild it after
releasing it (eg. the newer gcc may just crash or header files
suddenly provide conflicting definitions). Also some changes could
apply which are not expressed in the dependencies of packages.

Many thanks for your kind of answer, do you mind give me a example
what kind of the change which are not included in the dependency?
The major reason I asked this question is we are using OBS, however
we found that it takes quite long time to do a full build(some
packages are built many times due to the dependency), and if there
are some changes happened at low layer(like glibc , qt etc), all the
packages will be built, we have to wait for long time. It can not met
the requirement of fast release process.


If glibc or Qt are rebuilt for some reason, you *defintely* want
packages which depend on them rebuilt. This the magic of OBS which
guarantees all packages publish in a coherent state. If you do not you
may have symbol mismatches or location errors among other nastiness.

Changes might include a patch which changes something with loading a
library or other functional issue which is not simply expressed a by a
version update.

So I am trying to understand how the scheduling mechanism of OBS
working, and how to optimize the build time to make OBS well support
the fast release process.


You very well need more build power in your workers, faster machines,
more memory, fast disks or all of the above.

You did not state how much time is "slow" nor how you are running the
OBS systems. I strongly advise everyone running a private OBS be running
on bare metal.

If you gave a description of your hardware layout and what machines are
running which components, we can gladly give some advise to optimize
the hardware.

I've implemented a few private OBS instances and you would be suprised
how much stress OBS puts on hardware.

This is why I tried the 'rebuild' and 'block' options, but it is said
in the document set both to the non-default value will cause some
build and dependency problem.
If both option are not 'security', then I can not use it to optimize
the build speed.


It is said in the document which describes the scheduling
strategies that if we don't use the default value of "rebuild"
and "block" option for scheduling, there will be some build or
dependency problem occurred.

block option is mostly only an optimization of build power => do not
build something if you know you will need to rebuild it soon (at
least in default (transitive) rebuild strategy).

I can not imagine what kind of the scenario will cause the
problem.

I will be appreciate if someone can describe the reason or can
provide some material for that.

It is a little bit documented here:

http://openbuildservice.org/help/manuals/obs-reference-guide/cha.obs.build_s
cheduling_and_dispatching.htm
Thanks
Jidiablo




Hope that helps,
Peter
--
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-buildservice+owner@xxxxxxxxxxxx

< Previous Next >
Follow Ups