On 03/27/2012 03:57 PM, Martin Kletzander wrote:
> It's better not to use libvirt API to check the
result of one
> another API.
> We should use native approach to do the checking. So I insist
> on the original checking.
>
There was no lookupByName function, but I agree it's better to use the
same approach, so I'll add this method to the connection API.
One more question, whilst on this subject, though. I still didn't get
why we encapsulate libvirt API into one more class where we don't make
use of any persistence, inheritance nor any other OOP approach. It would
help me to understand so I don't make future mistakes.
I think you don't need to add lookupByName() in connectAPI.py
The APIs is domain related, so we suggest to make use of it in
domainAPI.py
only. The ideas is that all of hypervisor related APIs go to
connectAPI.py.
The relationship between classes domain, network, storage,
nodedev is
loose. If we had a virtnetwork subclass, It would be better to make
virtnetwork inherite
network for better OOP.
The encapsulated API files in lib directory is easy to manage
and use. For example
If we want to write a domain testcases, we probably don't need to
import network
and storage module in lib.
>> def define(params):
>> """Define a domain from xml"""
>> @@ -169,41 +125,10 @@ def define(params):
>> logger = params['logger']
>> guestname = params['guestname']
>> guesttype = params['guesttype']
>> + uri = params['uri']
> If uri is not None, we need to get the IP or hostname of
> target machine from the uri
> Use that IP or hostname to perform ssh operation.
>
I dropped the part of the code that connected to the machine by ssh in
order to check for the domain to be created. It was very limited and in
case any other tests needs the IP of the target machine,
These are two way to get the IP of target machine for remote
testing.
1) The $defaulturi global setting in env.cfg(if patch 5/6, 6/6
got ACK ),
then extract the IP or hostname part.
2) pass in explicitly in case config file like the define.py
does right now
we can use either depending on testing requirement.
there are 2
ways it can get it:
1) have another parameter for the address (as the number of tests that
could make use of the target IP address will be minimal, I'd prefer this
option)
2) implement URI parsing the same way as it is done in libvirt code
(libxml2.xmlParseURI or something like that)
I think this is still better than having hardcoded '127.0.0.1' in the
tests =)