[libvirt] [PATCH v3 2/6] virnetdaemon: Add post exec restart support for multiple servers

Erik Skultety eskultet at redhat.com
Thu Jan 21 14:24:03 UTC 2016


On 10/01/16 16:27, Martin Kletzander wrote:
> On Mon, Nov 30, 2015 at 04:03:01PM +0100, Erik Skultety wrote:
>> Since the daemon can manage and add (at fresh start) multiple servers,
>> we also should be able to add them from a JSON state file in case of a
>> daemon restart. This patch introduces virNetDaemonAddServersPostExec
>> method which harvests the data about servers from a JSON file supporting
>> both old format with a single server and a new one storing an array of
>> servers. The method makes use of the original
>> virNetDaemonAddServerPostExec,
>> declaring the latter as static.
>> Patch also updates virnetdaemontest accordingly.
> 
> There's only one thing wrong with this patch: In virnetdaemontest you
> remove the ability for testing something that should've failed.  You
> also effectively remove one such test.  Was it because you forgot about
> it or did you remove it intentionally?  I would prefer it to stay there.
> The removal is the only thing keeping me from acking this patch.
> 

Hmm, I can't think of any reasons why I did that, but you're definitely
right about including such a test in there. However, I did a small
investigation and found out, that the current solution doesn't work as
expected, see the following scenarios:

SCENARIO 1} Include a test, that should pass, but fails unexpectedly
OUT:
TEST: virnetdaemontest
 1) ExecRestart initial            ... OK
 2) ExecRestart initial-nomdns     ... OK
 3) ExecRestart anon-clients       ... OK

 4) ExecRestart anon-clients       ... libvirt: XML-RPC error : internal
error: Cannot add more servers post-exec than there were pre-exec

libvirt: XML-RPC error : internal error: Cannot add more servers
post-exec than there were pre-exec
FAILED

 5) ExecRestart admin-nomdns      ... OK

I separated test case 4 so it is clear that there are 2 identical error
messages caused by multiple calls to virDispatchError, first being in
virnetdaemontest and the other one in virtTestRun routine.

SCENARIO 2} Include a test which should fail, but would actually pass
TEST: virnetdaemontest
 1) ExecRestart initial          ... OK
 2) ExecRestart initial-nomdns   ... OK
 3) ExecRestart anon-clients     ... OK
 4) ExecRestart anon-clients     ... libvirt: XML-RPC error : internal
error: Cannot add more servers post-exec than there were pre-exec
OK
 5) ExecRestart admin-nomdns     ... libvirt: XML-RPC error : internal
error: Test should've failed
OK

Testcase 5 failed with error stating that the test should have failed
the execution but it didn't. Yet, the testcase returns success.
I'll include all necessary changes in this patch once I adjust all the
remaining ones in this v3 series and post them all.

Erik




More information about the libvir-list mailing list