[OpenAFS-devel] call for windows buildbot contribution

Nathaniel Hatley nathaniel.hatley@gmail.com
Tue, 12 Jan 2016 20:28:33 -0500


--001a1136b2d69de6b205292d161c
Content-Type: text/plain; charset=UTF-8

Good Evening,

It has been a few years since I've configured a Windows system for building
OpenAFS, but I'm taking a shot at it on the same system I'm hosting the
Debian buildslaves on.  I have no guesses as to what the typical build
completion time would be like on my system (provided I can successfully
re-create the compilation environment needed).  I'll let y'all know how it
goes.

Assuming I can get everything working and the build time is reasonable, it
may be possible to get it added into the Gerrit-triggered builds.  However,
my system is hosted from my house over a consumer-grade internet
connection.  I cannot guarantee 99.99% uptime for this system.  What is the
maximum acceptable outage window for Gerrit-triggered builds?

Regards,
Nathan

On Thu, Dec 24, 2015 at 2:44 PM, Jason Edgecombe <jason@rampaginggeek.com>
wrote:

> Hi Kostas,
>
> Ideally, the new windows build slave needs to be online 24/7. If the
> proposed windows build slave is only online for 12 hours/day, then we could
> still have scheduled builds, but gerrit-triggered builds would likely be
> unworkable because gerrit commits might have to wait for 12+ hours to
> receive build status feedback.
>
> I have no experience with building OpenAFS on windows, so I can't speak to
> the software requirements in the build environment. I know that this sounds
> odd because I'm the 'buildbot owner', but each buildslave admin sets up the
> build environment, so that knowledge lies with each individual buildslave
> maintainer. I can provide advice on how to install/configure the buildbot
> software and how to compile on Linux platforms.
>
> Here is a quick explanation of our best build slave options (in my
> opinion) and the trade-offs for each:
>  * gerrit-triggered, always on  (24x7) - ideal case, builds trigger on
> every gerrit change, build status is pushed into the gerrit system and
> marks a commit as  'Verified'. The gerrit status isn't published until all
> slaves have reported back. builds are queued up if slaves are offline.
>  * scheduled - builds are triggered based on time, the build status only
> appears on the buildbot status page.
>
> gerrit-triggered builders have an added requirement of a maximum on the
> build time, but that maximum time is determined by the community of
> developers. How long do you want to wait for feedback?
>
> builbot can also support a 'latent' build slave where the buildbot
> software will start and stop a VM (libvirt) or a cloud VM (AWS) on-demand.
> I have no previous experience with this type of build slave and that would
> require some extra research and testing to pull off, along with the added
> complexity.
>
> The buildbot software is very flexible. Builds can be initiated by a
> variety of triggers (gerrit, scheduled, manual, web hook, git push). There
> are a variety of options for build status updates: email, IRC, gerrit, etc.
>
> You can read more about our version of the buildbot software at
> http://docs.buildbot.net/0.8.10/index.html
>
> Sincerely,
> Jason
>
>
> On 12/24/2015 04:02 AM, Kostas Liakakis wrote:
>
>> Ben, Jason
>>
>> Do you have an estimation of CPU resources required for a Windows
>> buildslave? Do they have to be available 24/7 or would a say, 12h window
>> suffice? Would a Pentium G3260 cut it or is an i-class CPU required to
>> complete the build jobs within a useful timeframe?
>>
>> How hard is the VS2005 or VS2008 requirement? In the build environment
>> instructions link Ben posted, VS2012 is mentioned as an option for
>> AFSVER_CL. VS2012 is the oldest I can easily get my hands on through our
>> Dreamspark subscription. I think if VS version can be tackled, the rest
>> of the build requirements are of a non-issue.
>>
>> How does one BUILD a buildslave for Windows after setting up the build
>> environment? Is there any rundown for this?
>>
>> Regards,
>>
>>
>> -K.
>>
>>
>> On 12/23/2015 11:47 PM, Benjamin Kaduk wrote:
>>
>>> Hi all,
>>>
>>> The automated buildbot builder for Windows that performs a test build of
>>> each code submission to gerrit before that code can be merged into the
>>> tree has been disabled; please see the forwarded message below.  That
>>> builder was previously donated by Jeffrey Altman and provided tremendous
>>> value to the OpenAFS project over the years; thank you Jeffrey for having
>>> donated these resources for so long.
>>>
>>> It is my opinion that in the absence of a gerrit-triggered windows
>>> builder, the OpenAFS code for windows will very quickly bitrot and become
>>> unusable.  The development environment for Windows imposes constraints
>>> not
>>> found on Unix systems, and most of our developers are unfamiliar with
>>> those constraints, so without a way to automatically enforce them before
>>> merging commits, the windows development constraints will quickly be
>>> violated.
>>>
>>> If you are interested in OpenAFS continuing to function on the Windows
>>> platforms, I urge you to contribute resources towards a functioning
>>> Windows buildbot builder.
>>>
>>> http://git.openafs.org/?p=openafs.git;a=blob;f=README-WINDOWS;h=4f9af252f51677dd49e32c4af4411bd96eed53c9;hb=HEAD
>>> has some (probably somewhat outdated) instructions for setting up a
>>> Windows build environment.  Do note that the specific (old) versions of
>>> various softwares are important: newer versions will not work in most
>>> cases.  I may be able to provide some assistance in setting up a build
>>> environment; please post questions encountered while setting up such a
>>> development environment to openafs-devel@openafs.org.
>>>
>>> Thank you,
>>>
>>> Ben Kaduk
>>>
>>>
>>>
>>> ---------- Forwarded message ----------
>>> Date: Wed, 23 Dec 2015 16:17:20 -0500
>>> From: Jason Edgecombe <jason@rampaginggeek.com>
>>> To: openafs-devel@openafs.org
>>> Subject: [OpenAFS-devel] Window build slaves are disabled and removed
>>>
>>> Hi everyone,
>>>
>>> The only windows build slave has been disabled and removed from the
>>> OpenAFS
>>> buildbot system. If anyone wants to stand up a replacement, please
>>> contact me.
>>>
>>> You may see the current buildbot status and variety of build slaves at
>>> http://buildbot.openafs.org/waterfall
>>>
>>> Sincerely,
>>> Jason
>>> _______________________________________________
>>> OpenAFS-devel mailing list
>>> OpenAFS-devel@openafs.org
>>> https://lists.openafs.org/mailman/listinfo/openafs-devel
>>> _______________________________________________
>>> OpenAFS-devel mailing list
>>> OpenAFS-devel@openafs.org
>>> https://lists.openafs.org/mailman/listinfo/openafs-devel
>>>
>>>
> _______________________________________________
> OpenAFS-devel mailing list
> OpenAFS-devel@openafs.org
> https://lists.openafs.org/mailman/listinfo/openafs-devel
>

--001a1136b2d69de6b205292d161c
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>Good Evening,</div><div><br></div><div>It has been a =
few years since I&#39;ve configured a Windows system for building OpenAFS, =
but I&#39;m taking a shot at it on the same system I&#39;m hosting the Debi=
an buildslaves on.=C2=A0 I have no guesses as to what the typical build com=
pletion time would be like on my system (provided I can successfully re-cre=
ate the compilation environment needed).=C2=A0 I&#39;ll let y&#39;all know =
how it goes.</div><div><br></div><div>Assuming I can get everything working=
 and the build time is reasonable, it may be possible to get=C2=A0it added =
into the Gerrit-triggered builds.=C2=A0 However, my system is hosted from m=
y house over a consumer-grade internet connection.=C2=A0 I cannot guarantee=
=C2=A099.99% uptime=C2=A0for this system.=C2=A0 What is the maximum accepta=
ble outage window for Gerrit-triggered builds?</div><div><br></div><div>Reg=
ards,</div><div>Nathan</div></div><div class=3D"gmail_extra"><br><div class=
=3D"gmail_quote">On Thu, Dec 24, 2015 at 2:44 PM, Jason Edgecombe <span dir=
=3D"ltr">&lt;<a href=3D"mailto:jason@rampaginggeek.com" target=3D"_blank">j=
ason@rampaginggeek.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_=
quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1=
ex">Hi Kostas,<br>
<br>
Ideally, the new windows build slave needs to be online 24/7. If the propos=
ed windows build slave is only online for 12 hours/day, then we could still=
 have scheduled builds, but gerrit-triggered builds would likely be unworka=
ble because gerrit commits might have to wait for 12+ hours to receive buil=
d status feedback.<br>
<br>
I have no experience with building OpenAFS on windows, so I can&#39;t speak=
 to the software requirements in the build environment. I know that this so=
unds odd because I&#39;m the &#39;buildbot owner&#39;, but each buildslave =
admin sets up the build environment, so that knowledge lies with each indiv=
idual buildslave maintainer. I can provide advice on how to install/configu=
re the buildbot software and how to compile on Linux platforms.<br>
<br>
Here is a quick explanation of our best build slave options (in my opinion)=
 and the trade-offs for each:<br>
=C2=A0* gerrit-triggered, always on=C2=A0 (24x7) - ideal case, builds trigg=
er on every gerrit change, build status is pushed into the gerrit system an=
d marks a commit as=C2=A0 &#39;Verified&#39;. The gerrit status isn&#39;t p=
ublished until all slaves have reported back. builds are queued up if slave=
s are offline.<br>
=C2=A0* scheduled - builds are triggered based on time, the build status on=
ly appears on the buildbot status page.<br>
<br>
gerrit-triggered builders have an added requirement of a maximum on the bui=
ld time, but that maximum time is determined by the community of developers=
. How long do you want to wait for feedback?<br>
<br>
builbot can also support a &#39;latent&#39; build slave where the buildbot =
software will start and stop a VM (libvirt) or a cloud VM (AWS) on-demand. =
I have no previous experience with this type of build slave and that would =
require some extra research and testing to pull off, along with the added c=
omplexity.<br>
<br>
The buildbot software is very flexible. Builds can be initiated by a variet=
y of triggers (gerrit, scheduled, manual, web hook, git push). There are a =
variety of options for build status updates: email, IRC, gerrit, etc.<br>
<br>
You can read more about our version of the buildbot software at <a href=3D"=
http://docs.buildbot.net/0.8.10/index.html" target=3D"_blank" rel=3D"norefe=
rrer">http://docs.buildbot.net/0.8.10/index.html</a><br>
<br>
Sincerely,<br>
Jason<div class=3D"HOEnZb"><div class=3D"h5"><br>
<br>
On 12/24/2015 04:02 AM, Kostas Liakakis wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;padding=
-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-l=
eft-style:solid">
Ben, Jason<br>
<br>
Do you have an estimation of CPU resources required for a Windows<br>
buildslave? Do they have to be available 24/7 or would a say, 12h window<br=
>
suffice? Would a Pentium G3260 cut it or is an i-class CPU required to<br>
complete the build jobs within a useful timeframe?<br>
<br>
How hard is the VS2005 or VS2008 requirement? In the build environment<br>
instructions link Ben posted, VS2012 is mentioned as an option for<br>
AFSVER_CL. VS2012 is the oldest I can easily get my hands on through our<br=
>
Dreamspark subscription. I think if VS version can be tackled, the rest<br>
of the build requirements are of a non-issue.<br>
<br>
How does one BUILD a buildslave for Windows after setting up the build<br>
environment? Is there any rundown for this?<br>
<br>
Regards,<br>
<br>
<br>
-K.<br>
<br>
<br>
On 12/23/2015 11:47 PM, Benjamin Kaduk wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;padding=
-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-l=
eft-style:solid">
Hi all,<br>
<br>
The automated buildbot builder for Windows that performs a test build of<br=
>
each code submission to gerrit before that code can be merged into the<br>
tree has been disabled; please see the forwarded message below.=C2=A0 That<=
br>
builder was previously donated by Jeffrey Altman and provided tremendous<br=
>
value to the OpenAFS project over the years; thank you Jeffrey for having<b=
r>
donated these resources for so long.<br>
<br>
It is my opinion that in the absence of a gerrit-triggered windows<br>
builder, the OpenAFS code for windows will very quickly bitrot and become<b=
r>
unusable.=C2=A0 The development environment for Windows imposes constraints=
 not<br>
found on Unix systems, and most of our developers are unfamiliar with<br>
those constraints, so without a way to automatically enforce them before<br=
>
merging commits, the windows development constraints will quickly be<br>
violated.<br>
<br>
If you are interested in OpenAFS continuing to function on the Windows<br>
platforms, I urge you to contribute resources towards a functioning<br>
Windows buildbot builder.<br>
<a href=3D"http://git.openafs.org/?p=3Dopenafs.git;a=3Dblob;f=3DREADME-WIND=
OWS;h=3D4f9af252f51677dd49e32c4af4411bd96eed53c9;hb=3DHEAD" target=3D"_blan=
k" rel=3D"noreferrer">http://git.openafs.org/?p=3Dopenafs.git;a=3Dblob;f=3D=
README-WINDOWS;h=3D4f9af252f51677dd49e32c4af4411bd96eed53c9;hb=3DHEAD</a><b=
r>
has some (probably somewhat outdated) instructions for setting up a<br>
Windows build environment.=C2=A0 Do note that the specific (old) versions o=
f<br>
various softwares are important: newer versions will not work in most<br>
cases.=C2=A0 I may be able to provide some assistance in setting up a build=
<br>
environment; please post questions encountered while setting up such a<br>
development environment to <a href=3D"mailto:openafs-devel@openafs.org" tar=
get=3D"_blank">openafs-devel@openafs.org</a>.<br>
<br>
Thank you,<br>
<br>
Ben Kaduk<br>
<br>
<br>
<br>
---------- Forwarded message ----------<br>
Date: Wed, 23 Dec 2015 16:17:20 -0500<br>
From: Jason Edgecombe &lt;<a href=3D"mailto:jason@rampaginggeek.com" target=
=3D"_blank">jason@rampaginggeek.com</a>&gt;<br>
To: <a href=3D"mailto:openafs-devel@openafs.org" target=3D"_blank">openafs-=
devel@openafs.org</a><br>
Subject: [OpenAFS-devel] Window build slaves are disabled and removed<br>
<br>
Hi everyone,<br>
<br>
The only windows build slave has been disabled and removed from the OpenAFS=
<br>
buildbot system. If anyone wants to stand up a replacement, please contact =
me.<br>
<br>
You may see the current buildbot status and variety of build slaves at<br>
<a href=3D"http://buildbot.openafs.org/waterfall" target=3D"_blank" rel=3D"=
noreferrer">http://buildbot.openafs.org/waterfall</a><br>
<br>
Sincerely,<br>
Jason<br>
_______________________________________________<br>
OpenAFS-devel mailing list<br>
<a href=3D"mailto:OpenAFS-devel@openafs.org" target=3D"_blank">OpenAFS-deve=
l@openafs.org</a><br>
<a href=3D"https://lists.openafs.org/mailman/listinfo/openafs-devel" target=
=3D"_blank" rel=3D"noreferrer">https://lists.openafs.org/mailman/listinfo/o=
penafs-devel</a><br>
_______________________________________________<br>
OpenAFS-devel mailing list<br>
<a href=3D"mailto:OpenAFS-devel@openafs.org" target=3D"_blank">OpenAFS-deve=
l@openafs.org</a><br>
<a href=3D"https://lists.openafs.org/mailman/listinfo/openafs-devel" target=
=3D"_blank" rel=3D"noreferrer">https://lists.openafs.org/mailman/listinfo/o=
penafs-devel</a><br>
<br>
</blockquote></blockquote>
<br>
_______________________________________________<br>
OpenAFS-devel mailing list<br>
<a href=3D"mailto:OpenAFS-devel@openafs.org" target=3D"_blank">OpenAFS-deve=
l@openafs.org</a><br>
<a href=3D"https://lists.openafs.org/mailman/listinfo/openafs-devel" target=
=3D"_blank" rel=3D"noreferrer">https://lists.openafs.org/mailman/listinfo/o=
penafs-devel</a><br>
</div></div></blockquote></div><br></div>

--001a1136b2d69de6b205292d161c--