<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Hi Pierre,<br>
<br>
Now you understand my pain :) (except that I had to also come up to
speed on how everything worked).<br>
<br>
My single run against the unit tests produced a lot of failures, but
I haven't gotten back to it to figure out if the tests were just
old, or if there was something else going on.<br>
<br>
Your method sounds like less work. I'll look into it for the
schedulers.<br>
<br>
In the meantime, I'll probably just have to hack reconfiguration for
now, and replace it when there's a replacement. It is biting us that
much. Our master.cfg changes nearly every day, sometimes more, and
we far too often run into situations where the changes land a
builder onto an existing scheduler.<br>
<br>
Neil Gilmore<br>
grammatech.com<br>
<br>
<div class="moz-cite-prefix">On 1/16/2017 9:58 AM, Pierre Tardy
wrote:<br>
</div>
<blockquote
cite="mid:CAJ+soVeMnL1PaXWv_fDQhsKY_tqah5fz0AdfxXgBKt0b1qQbVQ@mail.gmail.com"
type="cite">
<div dir="ltr">Hi Neil,
<div><br>
</div>
<div>Today I have looked at the problem of fixing
PollingChangeSource so that it is reconfigurable.</div>
<div>This has been a very unpleasant experience. It happens that
the unit tests are very old and it will be a lot of work to
update them all at once.</div>
<div><br>
</div>
<div>It is probably very similar to the task you are working on
about updating the Schedulers.</div>
<div><br>
</div>
<div>I think we should revise our strategy on that matter as the
work is too important and reward is too low. There is a lot of
old code that works, and high risk of breaking it.</div>
<div><br>
</div>
<div>So I will be working on a way to support reconfigure for
legacy schedulers and change sources, which will just stop the
old scheduler, and replace it by the new one.</div>
<div>This way we will have minimal code change to have the
buildbot reconfig work, and this will make less pressure on
updating old code.</div>
<div><br>
</div>
<div>Regards,</div>
<div>Pierre</div>
<div><br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr">Le mer. 4 janv. 2017 à 16:54, Neil Gilmore <<a
moz-do-not-send="true" href="mailto:ngilmore@grammatech.com">ngilmore@grammatech.com</a>>
a écrit :<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000" class="gmail_msg"> Hi
Pierre,</div>
<div bgcolor="#FFFFFF" text="#000000" class="gmail_msg"><br
class="gmail_msg">
<br class="gmail_msg">
<div class="m_5430230203771337489moz-cite-prefix gmail_msg">On
1/4/2017 6:41 AM, Pierre Tardy wrote:<br class="gmail_msg">
</div>
<blockquote type="cite" class="gmail_msg">
<div dir="ltr" class="gmail_msg">
<div dir="ltr" class="gmail_msg">
<div class="gmail_quote gmail_msg">
<div dir="ltr" class="gmail_msg">Le mar. 3 janv.
2017 à 16:57, Neil Gilmore <<a
moz-do-not-send="true"
href="mailto:ngilmore@grammatech.com"
class="gmail_msg" target="_blank">ngilmore@grammatech.com</a>>
a écrit :<br class="gmail_msg">
</div>
<blockquote class="gmail_quote gmail_msg"
style="margin:0 0 0 .8ex;border-left:1px #ccc
solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"
class="gmail_msg"> Hi Pierre,<br
class="gmail_msg">
<br class="gmail_msg">
Thanks for the reply.<br class="gmail_msg">
<br class="gmail_msg">
The current status of my code is that all the
schedulers now support checkConfig and
reconfigService. I can also (after some
wrangling) start buildbot using any of the
schedulers. I have yet to test reconfiguration,
and I have not run any of the current buildbot
unit tests. Nor have I done any of the github
stuff. I did subscribe to the dev list (it was
really just a matter of time).<br
class="gmail_msg">
</div>
</blockquote>
<div class="gmail_msg"><br class="gmail_msg">
</div>
</div>
</div>
<div dir="ltr" class="gmail_msg">
<div class="gmail_quote gmail_msg">
<div class="gmail_msg">I highly suggest to start
with the unit tests, as once it is understood help
you to be much more productive than typing
buildbot reconfigure all the time.</div>
<div class="gmail_msg"> Also, obviously creating an
account of github and pushing your code will help
me to help you.</div>
</div>
</div>
<div dir="ltr" class="gmail_msg">
<div class="gmail_quote gmail_msg">
<div class="gmail_msg"><br class="gmail_msg">
</div>
</div>
</div>
</div>
</blockquote>
<br class="gmail_msg">
</div>
<div bgcolor="#FFFFFF" text="#000000" class="gmail_msg"> Well,
I have the account. Now I have to learn how to use it. :)</div>
<div bgcolor="#FFFFFF" text="#000000" class="gmail_msg"><br
class="gmail_msg">
<br class="gmail_msg">
<div class="gmail_quote gmail_msg">
<blockquote class="gmail_quote gmail_msg" style="margin:0
0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000" class="gmail_msg">1.
Regularize compare_attrs for schedulers. In 0.9.2,
several schedulers appear to have a problem where they
do not include their base classes' compare_attrs. This
wasn't as important when there was no effective
reconfiguration. <br class="gmail_msg">
</div>
</blockquote>
</div>
<blockquote type="cite" class="gmail_msg">
<div dir="ltr" class="gmail_msg">
<div dir="ltr" class="gmail_msg">
<div class="gmail_quote gmail_msg">
<div class="gmail_msg">There is indeed a need for
cleanup, but not the way you might think of it.</div>
<div class="gmail_msg">compare_attr uses <span style="background-color:rgb(248,238,199);color:rgb(51,51,51);font-family:consolas,"liberation mono",menlo,courier,monospace;font-size:12px;white-space:pre-wrap" class="gmail_msg">reflect.accumulateClassList</span>,
which does take in account all compare_attr of all
the subclasses.</div>
<div class="gmail_msg"><a moz-do-not-send="true"
href="https://github.com/buildbot/buildbot/blob/master/master/buildbot/util/__init__.py#L136"
class="gmail_msg" target="_blank">https://github.com/buildbot/buildbot/blob/master/master/buildbot/util/__init__.py#L136</a><br
class="gmail_msg">
</div>
<div class="gmail_msg">Some classes are explicitly
adding their parents compare_attr but this is
either a mistake or a legacy (I am not sure, this
precedes my involvment in this project)</div>
<div class="gmail_msg"><br class="gmail_msg">
</div>
</div>
</div>
</div>
</blockquote>
<br class="gmail_msg">
</div>
<div bgcolor="#FFFFFF" text="#000000" class="gmail_msg"> I
hadn't seen that, being focussed elsewhere. I can certainly
change my code to remove the references to the parent in
compare_attrs.</div>
<div bgcolor="#FFFFFF" text="#000000" class="gmail_msg"><br
class="gmail_msg">
<br class="gmail_msg">
<blockquote type="cite" class="gmail_msg">
<div dir="ltr" class="gmail_msg">
<div dir="ltr" class="gmail_msg">
<div class="gmail_quote gmail_msg">
<blockquote class="gmail_quote gmail_msg"
style="margin:0 0 0 .8ex;border-left:1px #ccc
solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"
class="gmail_msg"> <br class="gmail_msg">
2. Add the checkConfig and reconfigService
functions, but leave them empty. This will at
least ensure that I have those setup up
properly.<br class="gmail_msg">
</div>
</blockquote>
<div class="gmail_msg">+ remove the __init__. We
should always use the BuildbotService class
__init__ for correct use of
checkConfig/reconfigService</div>
<blockquote class="gmail_quote gmail_msg"
style="margin:0 0 0 .8ex;border-left:1px #ccc
solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"
class="gmail_msg"> <br class="gmail_msg">
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
<br class="gmail_msg">
</div>
<div bgcolor="#FFFFFF" text="#000000" class="gmail_msg"> Yes,
I should have been more precise. My current code leaves them
in, but all they do is print that they've been called, and
with what arguments. It made following through things
easier. It's essentially just stuff for my debugging.</div>
<div bgcolor="#FFFFFF" text="#000000" class="gmail_msg"><br
class="gmail_msg">
<br class="gmail_msg">
<blockquote type="cite" class="gmail_msg">
<div dir="ltr" class="gmail_msg">
<div dir="ltr" class="gmail_msg">
<div class="gmail_quote gmail_msg">Some useful links
for that:
<div class="gmail_msg"><a moz-do-not-send="true"
href="http://docs.buildbot.net/latest/developer/tests.html"
class="gmail_msg" target="_blank">http://docs.buildbot.net/latest/developer/tests.html</a></div>
<div class="gmail_msg">The basic step to run the
tests is the command:</div>
<div class="gmail_msg">trial buildbot</div>
<div class="gmail_msg"><br class="gmail_msg">
</div>
</div>
</div>
</div>
</blockquote>
<br class="gmail_msg">
</div>
<div bgcolor="#FFFFFF" text="#000000" class="gmail_msg"> I did
find that link, but it doesn't appear to mention how to run
them. Just knowing what the command line is helps immensely.
There's only one mention of trial on that page, and it's in
an import statement.<br class="gmail_msg">
<br class="gmail_msg">
Thanks!</div>
<div bgcolor="#FFFFFF" text="#000000" class="gmail_msg"><br
class="gmail_msg">
<br class="gmail_msg">
Neil Gilmore<br class="gmail_msg">
<a moz-do-not-send="true" href="http://grammatech.com"
class="gmail_msg" target="_blank">grammatech.com</a><br
class="gmail_msg">
</div>
_______________________________________________<br
class="gmail_msg">
devel mailing list<br class="gmail_msg">
<a moz-do-not-send="true" href="mailto:devel@buildbot.net"
class="gmail_msg" target="_blank">devel@buildbot.net</a><br
class="gmail_msg">
<a moz-do-not-send="true"
href="https://lists.buildbot.net/mailman/listinfo/devel"
rel="noreferrer" class="gmail_msg" target="_blank">https://lists.buildbot.net/mailman/listinfo/devel</a></blockquote>
</div>
</blockquote>
<br>
</body>
</html>