<br><tt><font size=2>libvirt-cim-bounces@redhat.com wrote on 2009-05-18
17:27:04:<br>
<br>
> <br>
> This tc fails for routed and isolated mode because that the forward
<br>
> mode is "nat" always when we dumpxml in verify_pool() function.
<br>
> Although the networkpool is created with routed/isolated <br>
> ForwardMode, the forward mode of dump netxml is "nat". <br>
> <br>
> Is there any error in mode setting on cimtest? <br>
> Thanks! <br>
> </font></tt>
<br><tt><font size=2> I'm not sure if this failure because of the
test_mode = ["None", "nat", "route eth1"]
setting in tc.</font></tt>
<br><tt><font size=2> Below are the part code of libvirt-cim provider.
I tried to define the test_mode as [0, 1, 2], but it</font></tt>
<br><tt><font size=2> fails yet. How to set the test_mode in cimtest
for different types?</font></tt>
<br>
<br>
<br><tt><font size=2> if (cu_get_u16_prop(inst,
"ForwardMode", &type) != CMPI_RC_OK) {</font></tt>
<br><tt><font size=2>
pool->pool_info.net.forward_mode = strdup("nat");</font></tt>
<br><tt><font size=2> } else {</font></tt>
<br><tt><font size=2>
free(pool->pool_info.net.forward_mode);</font></tt>
<br>
<br><tt><font size=2>
switch (type) {</font></tt>
<br><tt><font size=2>
case NETPOOL_FORWARD_NONE:</font></tt>
<br><tt><font size=2>
pool->pool_info.net.forward_mode = NULL;</font></tt>
<br><tt><font size=2>
break;</font></tt>
<br><tt><font size=2>
case NETPOOL_FORWARD_NAT:</font></tt>
<br><tt><font size=2>
pool->pool_info.net.forward_mode = strdup("nat");</font></tt>
<br><tt><font size=2>
break;</font></tt>
<br><tt><font size=2>
case NETPOOL_FORWARD_ROUTED:</font></tt>
<br><tt><font size=2>
pool->pool_info.net.forward_mode = strdup("route");</font></tt>
<br><tt><font size=2>
break;</font></tt>
<br><tt><font size=2>
default:</font></tt>
<br><tt><font size=2>
return "Storage pool type not supported";</font></tt>
<br><tt><font size=2><br>
> <br>
> libvirt-cim-bounces@redhat.com wrote on 2009-05-18 17:28:43:<br>
> <br>
> > # HG changeset patch<br>
> > # User Yun Guo Lian <yunguol@cn.ibm.com><br>
> > # Date 1242638914 25200<br>
> > # Node ID eb0bbc2200a1b3c1649dcbe921f7e7103c2345a0<br>
> > # Parent 43fb40db432952d38509a76e92e61d7d3d3702f7<br>
> > [TEST] #2 Update RPCS/04 with the latest updatesof pool verification<br>
> > <br>
> > <br>
> > Tested for KVM with current sources<br>
> > Signed-off-by: Guolian Yun<yunguol@cn.ibm.com<br>
> > <br>
> > diff -r 43fb40db4329 -r eb0bbc2200a1 suites/libvirt-<br>
> > cim/cimtest/ResourcePoolConfigurationService/04_CreateChildResourcePool.py<br>
> > --- a/suites/libvirt-<br>
> > cim/cimtest/ResourcePoolConfigurationService/04_CreateChildResourcePool.<br>
> > py Fri May 15 14:03:39 2009 -0700<br>
> > +++ b/suites/libvirt-<br>
> > cim/cimtest/ResourcePoolConfigurationService/04_CreateChildResourcePool.<br>
> > py Mon May 18 02:28:34 2009 -0700<br>
> > @@ -39,45 +39,73 @@<br>
> > # OUT -- Error -- String -- Encoded error instance
if the operation <br>
> > #
failed and did not return a job<br>
> > #<br>
> > -# REVISIT : <br>
> > -# --------<br>
> > -# As of now the CreateChildResourcePool() simply throws an Exception.<br>
> > -# We must improve this tc once the service is implemented. <br>
> > -# <br>
> > -#
<br>
> > -Date: 20.02.2008<br>
> > -<br>
> > +# Exception details before Revision 837<br>
> > +# -----<br>
> > +# Error code: CIM_ERR_NOT_SUPPORTED <br>
> > +#<br>
> > +# After revision 837, the service is implemented<br>
> > +#<br>
> > +#
-Date: 20.02.2008<br>
> > <br>
> > import sys<br>
> > -import pywbem <br>
> > -from XenKvmLib import rpcs_service<br>
> > +import random<br>
> > from CimTest.Globals import logger<br>
> > from CimTest.ReturnCodes import FAIL, PASS<br>
> > from XenKvmLib.const import do_main, platform_sup<br>
> > from XenKvmLib.classes import get_typed_class<br>
> > +from XenKvmLib.common_util import destroy_netpool<br>
> > +from XenKvmLib.pool import create_netpool, verify_pool, undefine_netpool<br>
> > <br>
> > -cim_errno = pywbem.CIM_ERR_NOT_SUPPORTED<br>
> > -cim_mname = "CreateChildResourcePool"<br>
> > +test_pool = "testpool"<br>
> > +test_mode = ["None", "nat", "route
eth1"]<br>
> > <br>
> > @do_main(platform_sup)<br>
> > def main():<br>
> > + status = PASS<br>
> > options = main.options<br>
> > - rpcs_conn = eval("rpcs_service." + get_typed_class(options.virt,
\<br>
> > -
"ResourcePoolConfigurationService"))(options.ip)<br>
> > - try:<br>
> > - rpcs_conn.CreateChildResourcePool()<br>
> > - except pywbem.CIMError, (err_no, desc):<br>
> > - if err_no == cim_errno :<br>
> > - logger.info("Got
expected exception for '%s' <br>
> service", cim_mname)<br>
> > - logger.info("Errno
is '%s' ", err_no)<br>
> > - logger.info("Error
string is '%s'", desc)<br>
> > - return PASS<br>
> > - else:<br>
> > - logger.error("Unexpected
rc code %s and description %s\n",<br>
> > -
err_no, desc)<br>
> > +<br>
> > + np = get_typed_class(options.virt, 'NetworkPool')<br>
> > + np_id = "NetworkPool/%s" % test_pool<br>
> > +<br>
> > + subnet = '192.168.0.'<br>
> > + ip_base = random.randint(1, 100)<br>
> > + addr = subnet+'%d' % ip_base<br>
> > + range_addr_start = subnet+'%d' % (ip_base + 1)<br>
> > + range_addr_end = subnet+'%d' %(ip_base + 10)<br>
> > + pool_attr = {<br>
> > + "Address"
: addr,<br>
> > + "Netmask"
: "255.255.255.0",<br>
> > + "IPRangeStart"
: range_addr_start,<br>
> > + "IPRangeEnd"
: range_addr_end<br>
> > + }<br>
> > + for i in range(0, len(test_mode)):<br>
> > + pool_attr["ForwardMode"]
= test_mode[i]<br>
> > + <br>
> > + status = create_netpool(options.ip,
options.virt, <br>
> > +
test_pool, pool_attr)<br>
> > + if status != PASS:<br>
> > + logger.error("Error
in networkpool creation")<br>
> > return FAIL<br>
> > - <br>
> > - logger.error("The execution should not have
reached here!!")<br>
> > - return FAIL<br>
> > +<br>
> > + status = verify_pool(options.ip,
options.virt, np, <br>
> > +
test_pool, pool_attr)<br>
> > + if status != PASS:<br>
> > + logger.error("Error
in networkpool verification")<br>
> > + destroy_netpool(options.ip,
options.virt, test_pool)<br>
> > + undefine_netpool(options.ip,
options.virt, test_pool)<br>
> > + return FAIL<br>
> > +<br>
> > + status = destroy_netpool(options.ip,
options.virt, test_pool)<br>
> > + if status != PASS:<br>
> > + logger.error("Unable
to destroy networkpool %s", test_pool)<br>
> > + return FAIL<br>
> > +<br>
> > + status = undefine_netpool(options.ip,
options.virt, test_pool)<br>
> > + if status != PASS:<br>
> > + logger.error("Unable
to undefine networkpool %s", test_pool)<br>
> > + return FAIL<br>
> > +<br>
> > + return status<br>
> > +<br>
> > if __name__ == "__main__":<br>
> > sys.exit(main())<br>
> > - <br>
> > <br>
> > _______________________________________________<br>
> > Libvirt-cim mailing list<br>
> > Libvirt-cim@redhat.com<br>
> > https://www.redhat.com/mailman/listinfo/libvirt-cim<br>
> _______________________________________________<br>
> Libvirt-cim mailing list<br>
> Libvirt-cim@redhat.com<br>
> https://www.redhat.com/mailman/listinfo/libvirt-cim</font></tt>