|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 6/8] osstest: introduce a script to set the hostflags for FreeBSD jobs
On Fri, Jun 23, 2017 at 04:10:47PM +0100, Ian Jackson wrote:
> Roger Pau Monne writes ("[PATCH v3 6/8] osstest: introduce a script to set
> the hostflags for FreeBSD jobs"):
> > Due to the nature of the FreeBSD install media, which is
> > self-generated from the ts-freebsd-build script, the hostflags set to
> > FreeBSD jobs are related to the current version under test.
> >
> > The following hostflags might need to be fetched from the runvars of a
> > previous build-$arch-freebsd job:
>
> I think it is wrong to have a script set the normally baked-in runvar
> host_hostflags.
Note that host_hostflags is not set before this script runs.
> In fact, I don't know how this script can have worked for you.
> Currently many build jobs have the runvar "host_hostflags" including
> many flags including "arch-i386" say, which I assume your FreeBSD
> build jobs will have from make-flight too. (It is forbidden, and
> prevented, for a ts-* script to use store_runvar to modify a runvar
> provided as part of the job definition.)
In this case host_hostflags is not part of the job definition.
> I think you should probably invent something like
> runtime_IDENT_hostflags
> and teach ts-hosts-allocate-Executive about it.
What should I store in this runvar?
The problem here is that I need to set two host_hostflags properties:
freebsd-<version>
share-build-freebsd-<arch>-<hash>
arch is not a problem because it's available at job creation, but both
<version> and <hash> are more difficult to get, because they might
come from a previous flight, and get_runvar must be executed from a
job context, or else it fails. That's the reason I needed to set
host_hostflags from a ts script, so that I could use get_runvar.
> > +sub get_freebsd_image_hash() {
> > + my $distpath = $r{"freebsd_distpath"} ||
> > + get_stashed("path_freebsddist", $r{"freebsdbuildjob"});
> > +
> > + return `sha256sum $distpath/install.img|head -c 16`;
>
> This pattern again. I commented on it before, but now that you are
> repeating it, it should become a helper function.
It's done :).
> > +store_runvar("host_hostflags", $r{"extra_hostflags"} .
> > + ",share-build-freebsd-$arch-$hash,freebsd-$version");
>
> "extra_hostflags" would be the host flags for the host ident extra.
Just so that this is clear to me. When creating the job the
host_hostflags variable should not be set (when calling
job_create_build), and ts-hosts-allocate-Executive should set the
host_hostflags itself?
I don't really see how that's much different from what I was doing
here, the only difference being that I was introducing a new script
instead of modifying ts-hosts-allocate-Executive.
Thanks, Roger.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |