Ian Jackson
2013-Nov-28 18:19 UTC
[osstest PATCH] target_cmd_build: honour DistccHosts host property
Apropos of our suggestion to recommission army since marilith is having trouble. FYI I''ve just pushed this to pretest. It seems to WFM in an ad-hoc run of ts-xen-build worked well. The main build took 844 seconds (the timeout is 9000) and the whole script took about 20 mins before crashing. Unfortunately there is another problem which is that ts-xen-build has been made to require root access (which osstest doesn''t have on army). Ian. From: Ian Jackson <ian.jackson@eu.citrix.com> Date: Thu, 28 Nov 2013 18:05:56 +0000 Subject: [PATCH] target_cmd_build: honour DistccHosts host property If this property is set then the environment variable (a) DISTCC_HOSTS is set to the value of the host property (a) CCACHE_PREFIX is set to "distcc" which will result in distcc being used as configured. distcc had better be installed for such hosts. Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com> --- Osstest/TestSupport.pm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Osstest/TestSupport.pm b/Osstest/TestSupport.pm index 233d453..4954d84 100644 --- a/Osstest/TestSupport.pm +++ b/Osstest/TestSupport.pm @@ -501,10 +501,19 @@ sub target_editfile_root ($$$;$$) { sub target_cmd_build ($$$$) { my ($ho,$timeout,$builddir,$script) = @_; - target_cmd($ho, <<END.$script, $timeout); + + my $distcc_hosts = get_host_property($ho,''DistccHosts'',undef); + my $distcc = defined($distcc_hosts) ? <<END : ""; + CCACHE_PREFIX=distcc + DISTCC_HOSTS="$distcc_hosts" + export CCACHE_PREFIX DISTCC_HOSTS +END + + target_cmd($ho, <<END.$distcc.<<END.$script, $timeout); set -xe LC_ALL=C; export LC_ALL PATH=/usr/lib/ccache:\$PATH:/usr/lib/git-core +END exec </dev/null cd $builddir END -- 1.7.10.4
Ian Jackson
2013-Nov-28 18:25 UTC
Re: [osstest PATCH] target_cmd_build: honour DistccHosts host property
Ian Jackson writes ("[osstest PATCH] target_cmd_build: honour DistccHosts host property"):> Unfortunately there is another problem which is that ts-xen-build has > been made to require root access (which osstest doesn''t have on army).Here''s a fix to this. I have not pushed this to pretest yet because I want to be sure we get a pass to fix the freebsd hostflags problem and I''m not 100.000% sure that this change will pass. For now it''s in xenbits.xen.org:/home/iwj/ext/osstest.git#wip.distcc Ian. From: Ian Jackson <ian.jackson@eu.citrix.com> Date: Thu, 28 Nov 2013 18:20:04 +0000 Subject: [PATCH] target_file_exists: Use non-root access for this check The new call of this in built_stash_file makes ts-*-build require root access, which is not desirable. The only other caller of target_file_exists is in ts-xen-install where it is called on /etc/default/xencommons /etc/sysconfig/xencommons /etc/default/xend /etc/sysconfig/xend all of which should be accessible as a normal user in a default config. So change the access to use target_cmd_output rather than target_cmd_output_root. Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com> --- Osstest/TestSupport.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Osstest/TestSupport.pm b/Osstest/TestSupport.pm index 4954d84..3bad5ca 100644 --- a/Osstest/TestSupport.pm +++ b/Osstest/TestSupport.pm @@ -457,7 +457,7 @@ sub target_putfilecontents_root_stash ($$$$;$) { sub target_file_exists ($$) { my ($ho,$rfile) = @_; - my $out= target_cmd_output_root($ho, "if test -e $rfile; then echo y; fi"); + my $out= target_cmd_output($ho, "if test -e $rfile; then echo y; fi"); return 1 if $out =~ m/^y$/; return 0 if $out !~ m/\S/; die "$rfile $out ?"; -- 1.7.10.4
Ian Jackson
2013-Nov-28 18:45 UTC
Re: [osstest PATCH] target_cmd_build: honour DistccHosts host property
Ian Jackson writes ("Re: [osstest PATCH] target_cmd_build: honour DistccHosts host property"):> Here''s a fix to this. > > I have not pushed this to pretest yet because I want to be sure we get > a pass to fix the freebsd hostflags problem and I''m not 100.000% sure > that this change will pass. > > For now it''s in xenbits.xen.org:/home/iwj/ext/osstest.git#wip.distccIt passed my ad-hoc smoke test; ts-xen-build on army now passes for me with these two patches. Ian.
Ian Campbell
2013-Nov-29 08:28 UTC
Re: [osstest PATCH] target_cmd_build: honour DistccHosts host property
On Thu, 2013-11-28 at 18:45 +0000, Ian Jackson wrote:> Ian Jackson writes ("Re: [osstest PATCH] target_cmd_build: honour DistccHosts host property"): > > Here''s a fix to this. > > > > I have not pushed this to pretest yet because I want to be sure we get > > a pass to fix the freebsd hostflags problem and I''m not 100.000% sure > > that this change will pass. > > > > For now it''s in xenbits.xen.org:/home/iwj/ext/osstest.git#wip.distcc > > It passed my ad-hoc smoke test; ts-xen-build on army now passes for me > with these two patches.ts-kernel-build was the problematic one WRT timing out. I think, entirely anecdotally, it was worse overnight if it hit my nightly Xen build cronjob (at 0028). Now that we have the osstest stuff running that is a bit obsolete, I could kill it I suppose. Also, won''t you need to increase the -j flag setting ''shared max tasks'' for army for this stuff to make any difference? Ian.