On 06/23/17 09:31 AM, Brad Fitzpatrick wrote:
> On Fri, Jun 23, 2017 at 9:26 AM, <
shawn....@oracle.com
> <mailto:
shawn....@oracle.com>> wrote:
>
> Hi,
>
> I was hoping to better understand what exactly the technical
> requirements for builders are and how they're supposed to work.
>
> In particular:
>
> * What's required for an "old-style" builder (aka buildlet?)
> (Is a simple unprivileged user account on a box sufficient for
> these?)
>
>
> A simple unprivileged user account would work for either old or new
> style, actually.
>
> The main requirement difference used to be network requirements (we
> assumed a much faster network with the new-style builders), but there's
> an option to disable post-make.bash snapshotting for the new style
> builders these days, so the network difference between the two is pretty
> minimal.
>
>
> * What's required for a "new-style" builder?
> (I assume a plugin for the coordinator to orchestrate starting
> and stopping VMs, etc.)
>
>
> That is nice, but not required.
>
> Basically we give you a key and then just run the x/build/cmd/buildlet
> binary under some process supervisor, and run it with the right flags:
>
> buildlet --reverse-type=host-solaris-shawnwalker --reboot=false
> --coordinator=
farmer.golang.org <
http://farmer.golang.org>
> (
farmer.golang.org <
http://farmer.golang.org>).
>
> And that's it. Ideally you run more than 1, but 1 works.
>
> The old-style builder should really be deleted, but that requires
> coordinating with everybody who still uses it. But it shouldn't be used
> more. It has known problems we don't intend to fix.
I'm aware the old-style builders are deprecated, but hoping to get
something simple going in the immediate future and then work on getting
a new-style builder going. Unless the requirements between the two are
really no different.
Is the example command you gave above for an "old-style" or "new-style"
builder?
For running this on a new platform, is there anything special required?
Do I just build the Go binary, run it, and that's it?
What sort of things might I need to modify or update?
Is there any way to try this out locally for testing purposes so I can
first stage this environment, and then validate the configuration before
offering a builder?
Just trying to figure out how this all ties together; for example, I see
env/solaris-amd64 that jtsylve added, but I'm not sure where else I
might need to make changes.
Thanks,
-Shawn