[vdsm] Introducing a validation test package to vdsm

2012-04-26 Thread wenchao xia
Hello,
  vdsm now have UT suits for developer, but sometimes building and
installation machine is not the same one, and additional check is need
which is ignored at building time, so I think some test cases should be
also run on target machine to check potential errors, Then I want to
introduce a sub package as VT suits.
Purpose:
  UT: for developers, more likely a white box, running on building
environment.
  VT: for user and deployment, more likely a black box, running on
 product or testing environment, all known issue should be covered.

Supposed approach:
  1 modify building system to generate package: vdsm-VT.rpm.
  2 install as an option, after install, user type "vdsm-VT" would make
the test begin.

Planned details:
  1 Going to place cases in vdsm project in ./tests/VT.
  2 On installation will move some useful UT cases into VT.
  3 use same framework UT used.
  4 two sub dir in test/VT: user_case_test;general_test.

  It is just a scratch from my mind, so I'd like hear your opinions.


Best Regargs:

Wenchao Xia

___
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel


Re: [vdsm] Introducing a validation test package to vdsm

2012-04-26 Thread Adam Litke
On Thu, Apr 26, 2012 at 05:24:29PM +0800, wenchao xia wrote:
> Hello,
>   vdsm now have UT suits for developer, but sometimes building and
> installation machine is not the same one, and additional check is need
> which is ignored at building time, so I think some test cases should be
> also run on target machine to check potential errors, Then I want to
> introduce a sub package as VT suits.
> Purpose:
>   UT: for developers, more likely a white box, running on building
> environment.
>   VT: for user and deployment, more likely a black box, running on
>  product or testing environment, all known issue should be covered.
> 
> Supposed approach:
>   1 modify building system to generate package: vdsm-VT.rpm.

I would prefer the package name 'vdsm-test.rpm' and this package should include
unit tests and verification tests.

>   2 install as an option, after install, user type "vdsm-VT" would make
> the test begin.

The test runner should be able to run the full suite of unit tests and
verification tests (with an option to run only unit tests or only verification
tests).  This can be the same program that we use in the build environment
except that it will set the PYTHONPATH differently to target the installed
files.

> Planned details:
>   1 Going to place cases in vdsm project in ./tests/VT.
>   2 On installation will move some useful UT cases into VT.

If you follow my approach above, you would simply package the whole tests/
directory and no copying would be necessary.

>   3 use same framework UT used.
>   4 two sub dir in test/VT: user_case_test;general_test.

What is the difference between these two types of tests?

>   It is just a scratch from my mind, so I'd like hear your opinions.

Thanks for the idea!  Do you have a sample test for the verification test suite?
Will it be your pipe deadlock test?

-- 
Adam Litke 
IBM Linux Technology Center

___
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel


Re: [vdsm] Introducing a validation test package to vdsm

2012-04-26 Thread Ewoud Kohl van Wijngaarden
On Thu, Apr 26, 2012 at 08:57:55AM -0500, Adam Litke wrote:
> On Thu, Apr 26, 2012 at 05:24:29PM +0800, wenchao xia wrote:
> >   It is just a scratch from my mind, so I'd like hear your opinions.
>
> Thanks for the idea!  Do you have a sample test for the verification test 
> suite?
> Will it be your pipe deadlock test?

Reminds me of Ganeti burnin. From the manpage[1]:

This tool is used to exercise either the hardware of machines or alternatively
the Ganeti software. It is safe to run on an existing cluster as long as you
don’t pass it existing instance names.

The command will, by default, execute a comprehensive set of operations against
a list of instances, these being:

creation
disk replacement (for redundant instances)
failover and migration (for redundant instances)
move (for non-redundant instances)
disk growth
add disks, remove disk
add NICs, remove NICs
export and then import
rename
reboot
shutdown/startup
and finally removal of the test instances

Executing all these operations will test that the hardware performs well: the
creation, disk replace, disk add and disk growth will exercise the storage and
network; the migrate command will test the memory of the systems. Depending on
the passed options, it can also test that the instance OS definitions are
executing properly the rename, import and export operations.

[1]: http://docs.ganeti.org/ganeti/2.5/html/admin.html#burnin
___
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel


Re: [vdsm] Introducing a validation test package to vdsm

2012-04-26 Thread Shu Ming
One more comment about the test package version.  Most likely, the 
package version will be the same version as the VDSM package version.  
The rule we need to consider is: Should we keep the back compatibility 
with the VDSM files? Say allow newer version test package running on 
older VDSM files? Or just allow run the same version of test package and 
VDSM package.One more comment about the test package version.  Most 
likely, the package version will be the same version as the VDSM package 
version.  The rule we need to consider is: Should we keep the back 
compatibility with the VDSM files? Say allow newer version test package 
running on older VDSM files? Or just allow run the same version of test 
package and VDSM package.


On 2012-4-26 21:57, Adam Litke wrote:

On Thu, Apr 26, 2012 at 05:24:29PM +0800, wenchao xia wrote:

Hello,
   vdsm now have UT suits for developer, but sometimes building and
installation machine is not the same one, and additional check is need
which is ignored at building time, so I think some test cases should be
also run on target machine to check potential errors, Then I want to
introduce a sub package as VT suits.
Purpose:
   UT: for developers, more likely a white box, running on building
environment.
   VT: for user and deployment, more likely a black box, running on
  product or testing environment, all known issue should be covered.

Supposed approach:
   1 modify building system to generate package: vdsm-VT.rpm.

I would prefer the package name 'vdsm-test.rpm' and this package should include
unit tests and verification tests.


   2 install as an option, after install, user type "vdsm-VT" would make
the test begin.

The test runner should be able to run the full suite of unit tests and
verification tests (with an option to run only unit tests or only verification
tests).  This can be the same program that we use in the build environment
except that it will set the PYTHONPATH differently to target the installed
files.


Planned details:
   1 Going to place cases in vdsm project in ./tests/VT.
   2 On installation will move some useful UT cases into VT.

If you follow my approach above, you would simply package the whole tests/
directory and no copying would be necessary.


   3 use same framework UT used.
   4 two sub dir in test/VT: user_case_test;general_test.

What is the difference between these two types of tests?


   It is just a scratch from my mind, so I'd like hear your opinions.

Thanks for the idea!  Do you have a sample test for the verification test suite?
Will it be your pipe deadlock test?




--
Shu Ming
IBM China Systems and Technology Laboratory


___
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel


Re: [vdsm] Introducing a validation test package to vdsm

2012-04-26 Thread Adam Litke
On Thu, Apr 26, 2012 at 11:12:06PM +0800, Shu Ming wrote:
> One more comment about the test package version.  Most likely, the
> package version will be the same version as the VDSM package
> version.  The rule we need to consider is: Should we keep the back
> compatibility with the VDSM files? Say allow newer version test
> package running on older VDSM files? Or just allow run the same
> version of test package and VDSM package.One more comment about the
> test package version.  Most likely, the package version will be the
> same version as the VDSM package version.  The rule we need to
> consider is: Should we keep the back compatibility with the VDSM
> files? Say allow newer version test package running on older VDSM
> files? Or just allow run the same version of test package and VDSM
> package.

Backwards-compatible tests is not a good idea in my opinion.  I would say that
the test rpm should require the exact same vdsm version.

> 
> On 2012-4-26 21:57, Adam Litke wrote:
> >On Thu, Apr 26, 2012 at 05:24:29PM +0800, wenchao xia wrote:
> >>Hello,
> >>   vdsm now have UT suits for developer, but sometimes building and
> >>installation machine is not the same one, and additional check is need
> >>which is ignored at building time, so I think some test cases should be
> >>also run on target machine to check potential errors, Then I want to
> >>introduce a sub package as VT suits.
> >>Purpose:
> >>   UT: for developers, more likely a white box, running on building
> >>environment.
> >>   VT: for user and deployment, more likely a black box, running on
> >>  product or testing environment, all known issue should be covered.
> >>
> >>Supposed approach:
> >>   1 modify building system to generate package: vdsm-VT.rpm.
> >I would prefer the package name 'vdsm-test.rpm' and this package should 
> >include
> >unit tests and verification tests.
> >
> >>   2 install as an option, after install, user type "vdsm-VT" would make
> >>the test begin.
> >The test runner should be able to run the full suite of unit tests and
> >verification tests (with an option to run only unit tests or only 
> >verification
> >tests).  This can be the same program that we use in the build environment
> >except that it will set the PYTHONPATH differently to target the installed
> >files.
> >
> >>Planned details:
> >>   1 Going to place cases in vdsm project in ./tests/VT.
> >>   2 On installation will move some useful UT cases into VT.
> >If you follow my approach above, you would simply package the whole tests/
> >directory and no copying would be necessary.
> >
> >>   3 use same framework UT used.
> >>   4 two sub dir in test/VT: user_case_test;general_test.
> >What is the difference between these two types of tests?
> >
> >>   It is just a scratch from my mind, so I'd like hear your opinions.
> >Thanks for the idea!  Do you have a sample test for the verification test 
> >suite?
> >Will it be your pipe deadlock test?
> >
> 
> 
> -- 
> Shu Ming
> IBM China Systems and Technology Laboratory
> 
> 
> ___
> vdsm-devel mailing list
> vdsm-devel@lists.fedorahosted.org
> https://fedorahosted.org/mailman/listinfo/vdsm-devel

-- 
Adam Litke 
IBM Linux Technology Center

___
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel


Re: [vdsm] Introducing a validation test package to vdsm

2012-04-26 Thread ShaoHe Feng

On 04/26/2012 10:35 PM, Ewoud Kohl van Wijngaarden wrote:

On Thu, Apr 26, 2012 at 08:57:55AM -0500, Adam Litke wrote:

On Thu, Apr 26, 2012 at 05:24:29PM +0800, wenchao xia wrote:

   It is just a scratch from my mind, so I'd like hear your opinions.

Thanks for the idea!  Do you have a sample test for the verification test suite?
Will it be your pipe deadlock test?

Reminds me of Ganeti burnin. From the manpage[1]:

This tool is used to exercise either the hardware of machines or alternatively
the Ganeti software. It is safe to run on an existing cluster as long as you
don’t pass it existing instance names.

The command will, by default, execute a comprehensive set of operations against
a list of instances, these being:

 creation
 disk replacement (for redundant instances)
 failover and migration (for redundant instances)
 move (for non-redundant instances)
 disk growth
 add disks, remove disk
 add NICs, remove NICs
 export and then import
 rename
 reboot
 shutdown/startup
 and finally removal of the test instances

Executing all these operations will test that the hardware performs well: the
creation, disk replace, disk add and disk growth will exercise the storage and
network; the migrate command will test the memory of the systems. Depending on
the passed options, it can also test that the instance OS definitions are
executing properly the rename, import and export operations.

These operations are different with units test.
Should these operations be test on a really environnement, which include 
cluster and  storage server and the net-work ?

It is OK, that seems unit tests run on laptop.

So I think these test should not be in the vdsm packet,  should be a new 
packet.


[1]: http://docs.ganeti.org/ganeti/2.5/html/admin.html#burnin
___
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel


___
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel


Re: [vdsm] Introducing a validation test package to vdsm

2012-04-26 Thread Ewoud Kohl van Wijngaarden
On Thu, Apr 26, 2012 at 11:11:49AM -0500, Adam Litke wrote:
> On Thu, Apr 26, 2012 at 11:12:06PM +0800, Shu Ming wrote:
> > One more comment about the test package version.  Most likely, the
> > package version will be the same version as the VDSM package
> > version.  The rule we need to consider is: Should we keep the back
> > compatibility with the VDSM files? Say allow newer version test
> > package running on older VDSM files? Or just allow run the same
> > version of test package and VDSM package.One more comment about the
> > test package version.  Most likely, the package version will be the
> > same version as the VDSM package version.  The rule we need to
> > consider is: Should we keep the back compatibility with the VDSM
> > files? Say allow newer version test package running on older VDSM
> > files? Or just allow run the same version of test package and VDSM
> > package.
>
> Backwards-compatible tests is not a good idea in my opinion.  I would say that
> the test rpm should require the exact same vdsm version.
+1
___
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel


Re: [vdsm] Introducing a validation test package to vdsm

2012-04-26 Thread wenchao xia

于 2012-4-26 21:57, Adam Litke 写道:

On Thu, Apr 26, 2012 at 05:24:29PM +0800, wenchao xia wrote:

Hello,
   vdsm now have UT suits for developer, but sometimes building and
installation machine is not the same one, and additional check is need
which is ignored at building time, so I think some test cases should be
also run on target machine to check potential errors, Then I want to
introduce a sub package as VT suits.
Purpose:
   UT: for developers, more likely a white box, running on building
environment.
   VT: for user and deployment, more likely a black box, running on
  product or testing environment, all known issue should be covered.

Supposed approach:
   1 modify building system to generate package: vdsm-VT.rpm.


I would prefer the package name 'vdsm-test.rpm' and this package should include
unit tests and verification tests.


   2 install as an option, after install, user type "vdsm-VT" would make
the test begin.


The test runner should be able to run the full suite of unit tests and
verification tests (with an option to run only unit tests or only verification
tests).  This can be the same program that we use in the build environment
except that it will set the PYTHONPATH differently to target the installed
files.


  good idea, checking on the details of vdsm-hack in tests.


Planned details:
   1 Going to place cases in vdsm project in ./tests/VT.
   2 On installation will move some useful UT cases into VT.


If you follow my approach above, you would simply package the whole tests/
directory and no copying would be necessary.


   3 use same framework UT used.
   4 two sub dir in test/VT: user_case_test;general_test.


What is the difference between these two types of tests?


  user_cases would holds tests simulating the scenario user calling
vdsm, and it could be examples for user. xmlrpc(vdscli) and rest-api
cases would go here. I guess  xmlrpc testcases already exist in engine
side, and moving them here makes vdsm more independent and robust.
  general_test would holds test detecting target environment problem,
such as authority settings, and thread pipe tests, etc.
  The names of the two directories are not good, need to be justified.


   It is just a scratch from my mind, so I'd like hear your opinions.


Thanks for the idea!  Do you have a sample test for the verification test suite?
Will it be your pipe deadlock test?


  Yeah, plan to place the test in it.

  As summary, I guess a better structure of test would be as following:

vdsm
|--tests
   |test_runner.sh
   |--UT
   |--VT
  |--xmlrpc
  |--rest
  |--general


___
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel


Re: [vdsm] Introducing a validation test package to vdsm

2012-04-26 Thread wenchao xia

于 2012-4-27 5:13, Ewoud Kohl van Wijngaarden 写道:

On Thu, Apr 26, 2012 at 11:11:49AM -0500, Adam Litke wrote:

On Thu, Apr 26, 2012 at 11:12:06PM +0800, Shu Ming wrote:

One more comment about the test package version.  Most likely, the
package version will be the same version as the VDSM package
version.  The rule we need to consider is: Should we keep the back
compatibility with the VDSM files? Say allow newer version test
package running on older VDSM files? Or just allow run the same
version of test package and VDSM package.One more comment about the
test package version.  Most likely, the package version will be the
same version as the VDSM package version.  The rule we need to
consider is: Should we keep the back compatibility with the VDSM
files? Say allow newer version test package running on older VDSM
files? Or just allow run the same version of test package and VDSM
package.


Backwards-compatible tests is not a good idea in my opinion.  I would say that
the test rpm should require the exact same vdsm version.

+1

I guess it is the advantage to place test project inside vdsm project,
they have major version synchronized always. User could get an older
version with git reset.


___
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel



___
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel


Re: [vdsm] Introducing a validation test package to vdsm

2012-04-26 Thread wenchao xia

于 2012-4-26 22:35, Ewoud Kohl van Wijngaarden 写道:

On Thu, Apr 26, 2012 at 08:57:55AM -0500, Adam Litke wrote:

On Thu, Apr 26, 2012 at 05:24:29PM +0800, wenchao xia wrote:

   It is just a scratch from my mind, so I'd like hear your opinions.


Thanks for the idea!  Do you have a sample test for the verification test suite?
Will it be your pipe deadlock test?


Reminds me of Ganeti burnin. From the manpage[1]:

This tool is used to exercise either the hardware of machines or alternatively
the Ganeti software. It is safe to run on an existing cluster as long as you
don’t pass it existing instance names.

The command will, by default, execute a comprehensive set of operations against
a list of instances, these being:

 creation
 disk replacement (for redundant instances)
 failover and migration (for redundant instances)
 move (for non-redundant instances)
 disk growth
 add disks, remove disk
 add NICs, remove NICs
 export and then import
 rename
 reboot
 shutdown/startup
 and finally removal of the test instances

Executing all these operations will test that the hardware performs well: the
creation, disk replace, disk add and disk growth will exercise the storage and
network; the migrate command will test the memory of the systems. Depending on
the passed options, it can also test that the instance OS definitions are
executing properly the rename, import and export operations.


  This seems a stress test or cluster test tool, and I think vdsm cares
about the node's capability. My original idea is provide a tool to make
sure vdsm works as expect on a node, so I think it should be another
suits calling all nodes using the Ganeti burnin.


[1]: http://docs.ganeti.org/ganeti/2.5/html/admin.html#burnin
___
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel



___
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel


Re: [vdsm] Introducing a validation test package to vdsm

2012-04-27 Thread Ewoud Kohl van Wijngaarden
On Fri, Apr 27, 2012 at 11:23:49AM +0800, wenchao xia wrote:
> 于 2012-4-26 22:35, Ewoud Kohl van Wijngaarden 写道:
> >On Thu, Apr 26, 2012 at 08:57:55AM -0500, Adam Litke wrote:
> >>On Thu, Apr 26, 2012 at 05:24:29PM +0800, wenchao xia wrote:
> >>>   It is just a scratch from my mind, so I'd like hear your opinions.
> >>
> >>Thanks for the idea!  Do you have a sample test for the verification test 
> >>suite?
> >>Will it be your pipe deadlock test?
> >
> >Reminds me of Ganeti burnin. From the manpage[1]:
> >
> >This tool is used to exercise either the hardware of machines or 
> >alternatively
> >the Ganeti software. It is safe to run on an existing cluster as long as you
> >don’t pass it existing instance names.
> >
> >The command will, by default, execute a comprehensive set of operations 
> >against
> >a list of instances, these being:
> >
> > creation
> > disk replacement (for redundant instances)
> > failover and migration (for redundant instances)
> > move (for non-redundant instances)
> > disk growth
> > add disks, remove disk
> > add NICs, remove NICs
> > export and then import
> > rename
> > reboot
> > shutdown/startup
> > and finally removal of the test instances
> >
> >Executing all these operations will test that the hardware performs well: the
> >creation, disk replace, disk add and disk growth will exercise the storage 
> >and
> >network; the migrate command will test the memory of the systems. Depending 
> >on
> >the passed options, it can also test that the instance OS definitions are
> >executing properly the rename, import and export operations.
> >
>   This seems a stress test or cluster test tool, and I think vdsm cares
> about the node's capability. My original idea is provide a tool to make
> sure vdsm works as expect on a node, so I think it should be another
> suits calling all nodes using the Ganeti burnin.

True, burnin might be more of an engine test than vdsm.
___
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel


Re: [vdsm] Introducing a validation test package to vdsm

2012-04-30 Thread Ming M Shu

One more comment about the test package version.  Most likely, the package
version will be the same version as the VDSM package version.  The rule we
need to consider is: Should we keep the back compatibility with the VDSM
files? Say allow newer version test package running on older VDSM files? Or
just allow run the same version of test package and VDSM package.

Thanks
Ming


   
 "Adam Litke"  
   
To
 2012-04-26 21:57  wenchao xia 
cc
   Dan Kenigsberg ,
   Ayal Baron , 
   vdsm-devel@lists.fedorahosted.org,
   Ming M Shu/China/IBM@IBMCN  
   Subject
   Re: [vdsm]   Introducing a  
   validation test package to vdsm 
   
   
   
   
   
   




On Thu, Apr 26, 2012 at 05:24:29PM +0800, wenchao xia wrote:
> Hello,
>   vdsm now have UT suits for developer, but sometimes building and
> installation machine is not the same one, and additional check is need
> which is ignored at building time, so I think some test cases should be
> also run on target machine to check potential errors, Then I want to
> introduce a sub package as VT suits.
> Purpose:
>   UT: for developers, more likely a white box, running on building
> environment.
>   VT: for user and deployment, more likely a black box, running on
>  product or testing environment, all known issue should be covered.
>
> Supposed approach:
>   1 modify building system to generate package: vdsm-VT.rpm.

I would prefer the package name 'vdsm-test.rpm' and this package should
include
unit tests and verification tests.

>   2 install as an option, after install, user type "vdsm-VT" would make
> the test begin.

The test runner should be able to run the full suite of unit tests and
verification tests (with an option to run only unit tests or only
verification
tests).  This can be the same program that we use in the build environment
except that it will set the PYTHONPATH differently to target the installed
files.

> Planned details:
>   1 Going to place cases in vdsm project in ./tests/VT.
>   2 On installation will move some useful UT cases into VT.

If you follow my approach above, you would simply package the whole tests/
directory and no copying would be necessary.

>   3 use same framework UT used.
>   4 two sub dir in test/VT: user_case_test;general_test.

What is the difference between these two types of tests?

>   It is just a scratch from my mind, so I'd like hear your opinions.

Thanks for the idea!  Do you have a sample test for the verification test
suite?
Will it be your pipe deadlock test?

--
Adam Litke 
IBM Linux Technology Center
<><><>___
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel


Re: [vdsm] Introducing a validation test package to vdsm

2012-04-30 Thread Dan Kenigsberg
On Fri, Apr 27, 2012 at 11:22:20AM +0800, wenchao xia wrote:
> 于 2012-4-27 5:13, Ewoud Kohl van Wijngaarden 写道:
> >On Thu, Apr 26, 2012 at 11:11:49AM -0500, Adam Litke wrote:
> >>On Thu, Apr 26, 2012 at 11:12:06PM +0800, Shu Ming wrote:
> >>>One more comment about the test package version.  Most likely, the
> >>>package version will be the same version as the VDSM package
> >>>version.  The rule we need to consider is: Should we keep the back
> >>>compatibility with the VDSM files? Say allow newer version test
> >>>package running on older VDSM files? Or just allow run the same
> >>>version of test package and VDSM package.One more comment about the
> >>>test package version.  Most likely, the package version will be the
> >>>same version as the VDSM package version.  The rule we need to
> >>>consider is: Should we keep the back compatibility with the VDSM
> >>>files? Say allow newer version test package running on older VDSM
> >>>files? Or just allow run the same version of test package and VDSM
> >>>package.
> >>
> >>Backwards-compatible tests is not a good idea in my opinion.  I would say 
> >>that
> >>the test rpm should require the exact same vdsm version.
> >+1
> I guess it is the advantage to place test project inside vdsm project,
> they have major version synchronized always. User could get an older
> version with git reset.

That's obviously simpler, and probably a good start.

As the project matures, it might become useful to see if an old vdsm
satisfies newly-written tests, and someone may find it useful to test a
remote vdsm. We can reconsider after we have "verfication tests".
___
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel


Re: [vdsm] Introducing a validation test package to vdsm

2012-04-30 Thread Dan Kenigsberg
On Fri, Apr 27, 2012 at 11:19:21AM +0800, wenchao xia wrote:
> 于 2012-4-26 21:57, Adam Litke 写道:
> >On Thu, Apr 26, 2012 at 05:24:29PM +0800, wenchao xia wrote:
> >>Hello,
> >>   vdsm now have UT suits for developer, but sometimes building and
> >>installation machine is not the same one, and additional check is need
> >>which is ignored at building time, so I think some test cases should be
> >>also run on target machine to check potential errors, Then I want to
> >>introduce a sub package as VT suits.
> >>Purpose:
> >>   UT: for developers, more likely a white box, running on building
> >>environment.
> >>   VT: for user and deployment, more likely a black box, running on
> >>  product or testing environment, all known issue should be covered.
> >>
> >>Supposed approach:
> >>   1 modify building system to generate package: vdsm-VT.rpm.
> >
> >I would prefer the package name 'vdsm-test.rpm' and this package should 
> >include
> >unit tests and verification tests.
> >
> >>   2 install as an option, after install, user type "vdsm-VT" would make
> >>the test begin.
> >
> >The test runner should be able to run the full suite of unit tests and
> >verification tests (with an option to run only unit tests or only 
> >verification
> >tests).  This can be the same program that we use in the build environment
> >except that it will set the PYTHONPATH differently to target the installed
> >files.
> >
>   good idea, checking on the details of vdsm-hack in tests.
> 
> >>Planned details:
> >>   1 Going to place cases in vdsm project in ./tests/VT.
> >>   2 On installation will move some useful UT cases into VT.
> >
> >If you follow my approach above, you would simply package the whole tests/
> >directory and no copying would be necessary.
> >
> >>   3 use same framework UT used.
> >>   4 two sub dir in test/VT: user_case_test;general_test.
> >
> >What is the difference between these two types of tests?
> >
>   user_cases would holds tests simulating the scenario user calling
> vdsm, and it could be examples for user. xmlrpc(vdscli) and rest-api
> cases would go here. I guess  xmlrpc testcases already exist in engine
> side, and moving them here makes vdsm more independent and robust.
>   general_test would holds test detecting target environment problem,
> such as authority settings, and thread pipe tests, etc.
>   The names of the two directories are not good, need to be justified.
> 
> >>   It is just a scratch from my mind, so I'd like hear your opinions.
> >
> >Thanks for the idea!  Do you have a sample test for the verification test 
> >suite?
> >Will it be your pipe deadlock test?
> >
>   Yeah, plan to place the test in it.
> 
>   As summary, I guess a better structure of test would be as following:
> 
> vdsm
> |--tests
>|test_runner.sh
>|--UT
>|--VT
>   |--xmlrpc
>   |--rest
>   |--general

Sounds reasonable. But what's "general"? Isn't VT going to be using some
kind of binding in any case?
Oh, it might be a stupid comment, but I personally dislike upper case
directory names. I find /ut/ /vt/ more modest.

Dan.
___
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel


Re: [vdsm] Introducing a validation test package to vdsm

2012-05-01 Thread wenchao xia

于 2012-4-30 17:26, Dan Kenigsberg 写道:

On Fri, Apr 27, 2012 at 11:19:21AM +0800, wenchao xia wrote:

于 2012-4-26 21:57, Adam Litke 写道:

On Thu, Apr 26, 2012 at 05:24:29PM +0800, wenchao xia wrote:

Hello,
   vdsm now have UT suits for developer, but sometimes building and
installation machine is not the same one, and additional check is need
which is ignored at building time, so I think some test cases should be
also run on target machine to check potential errors, Then I want to
introduce a sub package as VT suits.
Purpose:
   UT: for developers, more likely a white box, running on building
environment.
   VT: for user and deployment, more likely a black box, running on
  product or testing environment, all known issue should be covered.

Supposed approach:
   1 modify building system to generate package: vdsm-VT.rpm.


I would prefer the package name 'vdsm-test.rpm' and this package should include
unit tests and verification tests.


   2 install as an option, after install, user type "vdsm-VT" would make
the test begin.


The test runner should be able to run the full suite of unit tests and
verification tests (with an option to run only unit tests or only verification
tests).  This can be the same program that we use in the build environment
except that it will set the PYTHONPATH differently to target the installed
files.


   good idea, checking on the details of vdsm-hack in tests.


Planned details:
   1 Going to place cases in vdsm project in ./tests/VT.
   2 On installation will move some useful UT cases into VT.


If you follow my approach above, you would simply package the whole tests/
directory and no copying would be necessary.


   3 use same framework UT used.
   4 two sub dir in test/VT: user_case_test;general_test.


What is the difference between these two types of tests?


   user_cases would holds tests simulating the scenario user calling
vdsm, and it could be examples for user. xmlrpc(vdscli) and rest-api
cases would go here. I guess  xmlrpc testcases already exist in engine
side, and moving them here makes vdsm more independent and robust.
   general_test would holds test detecting target environment problem,
such as authority settings, and thread pipe tests, etc.
   The names of the two directories are not good, need to be justified.


   It is just a scratch from my mind, so I'd like hear your opinions.


Thanks for the idea!  Do you have a sample test for the verification test suite?
Will it be your pipe deadlock test?


   Yeah, plan to place the test in it.

   As summary, I guess a better structure of test would be as following:

vdsm
|--tests
|test_runner.sh
|--UT
|--VT
   |--xmlrpc
   |--rest
   |--general


Sounds reasonable. But what's "general"? Isn't VT going to be using some
kind of binding in any case?

   planning to place some environment test case here, such as "thread
and pipe test".


Oh, it might be a stupid comment, but I personally dislike upper case
directory names. I find /ut/ /vt/ more modest.


OK, let's use lower case.


Dan.



___
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel


Re: [vdsm] Introducing a validation test package to vdsm

2012-05-02 Thread Dan Kenigsberg
On Wed, May 02, 2012 at 08:36:18AM +0800, wenchao xia wrote:
> 于 2012-4-30 17:26, Dan Kenigsberg 写道:
> >On Fri, Apr 27, 2012 at 11:19:21AM +0800, wenchao xia wrote:
> >>于 2012-4-26 21:57, Adam Litke 写道:
> >>>On Thu, Apr 26, 2012 at 05:24:29PM +0800, wenchao xia wrote:
> Hello,
>    vdsm now have UT suits for developer, but sometimes building and
> installation machine is not the same one, and additional check is need
> which is ignored at building time, so I think some test cases should be
> also run on target machine to check potential errors, Then I want to
> introduce a sub package as VT suits.
> Purpose:
>    UT: for developers, more likely a white box, running on building
> environment.
>    VT: for user and deployment, more likely a black box, running on
>   product or testing environment, all known issue should be covered.
> 
> Supposed approach:
>    1 modify building system to generate package: vdsm-VT.rpm.
> >>>
> >>>I would prefer the package name 'vdsm-test.rpm' and this package should 
> >>>include
> >>>unit tests and verification tests.
> >>>
>    2 install as an option, after install, user type "vdsm-VT" would make
> the test begin.
> >>>
> >>>The test runner should be able to run the full suite of unit tests and
> >>>verification tests (with an option to run only unit tests or only 
> >>>verification
> >>>tests).  This can be the same program that we use in the build environment
> >>>except that it will set the PYTHONPATH differently to target the installed
> >>>files.
> >>>
> >>   good idea, checking on the details of vdsm-hack in tests.
> >>
> Planned details:
>    1 Going to place cases in vdsm project in ./tests/VT.
>    2 On installation will move some useful UT cases into VT.
> >>>
> >>>If you follow my approach above, you would simply package the whole tests/
> >>>directory and no copying would be necessary.
> >>>
>    3 use same framework UT used.
>    4 two sub dir in test/VT: user_case_test;general_test.
> >>>
> >>>What is the difference between these two types of tests?
> >>>
> >>   user_cases would holds tests simulating the scenario user calling
> >>vdsm, and it could be examples for user. xmlrpc(vdscli) and rest-api
> >>cases would go here. I guess  xmlrpc testcases already exist in engine
> >>side, and moving them here makes vdsm more independent and robust.
> >>   general_test would holds test detecting target environment problem,
> >>such as authority settings, and thread pipe tests, etc.
> >>   The names of the two directories are not good, need to be justified.
> >>
>    It is just a scratch from my mind, so I'd like hear your opinions.
> >>>
> >>>Thanks for the idea!  Do you have a sample test for the verification test 
> >>>suite?
> >>>Will it be your pipe deadlock test?
> >>>
> >>   Yeah, plan to place the test in it.
> >>
> >>   As summary, I guess a better structure of test would be as following:
> >>
> >>vdsm
> >>|--tests
> >>|test_runner.sh
> >>|--UT
> >>|--VT
> >>   |--xmlrpc
> >>   |--rest
> >>   |--general
> >
> >Sounds reasonable. But what's "general"? Isn't VT going to be using some
> >kind of binding in any case?
>planning to place some environment test case here, such as "thread
> and pipe test".

Why would you need a running Vdsm instance for such a test?

Dan.
___
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel


Re: [vdsm] Introducing a validation test package to vdsm

2012-05-02 Thread wenchao xia

于 2012-5-2 19:53, Dan Kenigsberg 写道:

On Wed, May 02, 2012 at 08:36:18AM +0800, wenchao xia wrote:

于 2012-4-30 17:26, Dan Kenigsberg 写道:

On Fri, Apr 27, 2012 at 11:19:21AM +0800, wenchao xia wrote:

于 2012-4-26 21:57, Adam Litke 写道:

On Thu, Apr 26, 2012 at 05:24:29PM +0800, wenchao xia wrote:

Hello,
   vdsm now have UT suits for developer, but sometimes building and
installation machine is not the same one, and additional check is need
which is ignored at building time, so I think some test cases should be
also run on target machine to check potential errors, Then I want to
introduce a sub package as VT suits.
Purpose:
   UT: for developers, more likely a white box, running on building
environment.
   VT: for user and deployment, more likely a black box, running on
  product or testing environment, all known issue should be covered.

Supposed approach:
   1 modify building system to generate package: vdsm-VT.rpm.


I would prefer the package name 'vdsm-test.rpm' and this package should include
unit tests and verification tests.


   2 install as an option, after install, user type "vdsm-VT" would make
the test begin.


The test runner should be able to run the full suite of unit tests and
verification tests (with an option to run only unit tests or only verification
tests).  This can be the same program that we use in the build environment
except that it will set the PYTHONPATH differently to target the installed
files.


   good idea, checking on the details of vdsm-hack in tests.


Planned details:
   1 Going to place cases in vdsm project in ./tests/VT.
   2 On installation will move some useful UT cases into VT.


If you follow my approach above, you would simply package the whole tests/
directory and no copying would be necessary.


   3 use same framework UT used.
   4 two sub dir in test/VT: user_case_test;general_test.


What is the difference between these two types of tests?


   user_cases would holds tests simulating the scenario user calling
vdsm, and it could be examples for user. xmlrpc(vdscli) and rest-api
cases would go here. I guess  xmlrpc testcases already exist in engine
side, and moving them here makes vdsm more independent and robust.
   general_test would holds test detecting target environment problem,
such as authority settings, and thread pipe tests, etc.
   The names of the two directories are not good, need to be justified.


   It is just a scratch from my mind, so I'd like hear your opinions.


Thanks for the idea!  Do you have a sample test for the verification test suite?
Will it be your pipe deadlock test?


   Yeah, plan to place the test in it.

   As summary, I guess a better structure of test would be as following:

vdsm
|--tests
|test_runner.sh
|--UT
|--VT
   |--xmlrpc
   |--rest
   |--general


Sounds reasonable. But what's "general"? Isn't VT going to be using some
kind of binding in any case?

planning to place some environment test case here, such as "thread
and pipe test".


Why would you need a running Vdsm instance for such a test?


  no need indeed, just want to find a place to holds test for generic
issue. Maybe more check about the environment settings such as user 
vdsm/kvm authority check could also set here.(just an example, for now 
this test is not needed).



Dan.



___
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel


Re: [vdsm] Introducing a validation test package to vdsm

2012-05-03 Thread Dan Kenigsberg
On Wed, May 02, 2012 at 08:08:07PM +0800, wenchao xia wrote:
> 于 2012-5-2 19:53, Dan Kenigsberg 写道:
> >On Wed, May 02, 2012 at 08:36:18AM +0800, wenchao xia wrote:
> >>于 2012-4-30 17:26, Dan Kenigsberg 写道:
> >>>On Fri, Apr 27, 2012 at 11:19:21AM +0800, wenchao xia wrote:
> 于 2012-4-26 21:57, Adam Litke 写道:
> >On Thu, Apr 26, 2012 at 05:24:29PM +0800, wenchao xia wrote:
> >>Hello,
> >>   vdsm now have UT suits for developer, but sometimes building and
> >>installation machine is not the same one, and additional check is need
> >>which is ignored at building time, so I think some test cases should be
> >>also run on target machine to check potential errors, Then I want to
> >>introduce a sub package as VT suits.
> >>Purpose:
> >>   UT: for developers, more likely a white box, running on building
> >>environment.
> >>   VT: for user and deployment, more likely a black box, running on
> >>  product or testing environment, all known issue should be covered.
> >>
> >>Supposed approach:
> >>   1 modify building system to generate package: vdsm-VT.rpm.
> >
> >I would prefer the package name 'vdsm-test.rpm' and this package should 
> >include
> >unit tests and verification tests.
> >
> >>   2 install as an option, after install, user type "vdsm-VT" would make
> >>the test begin.
> >
> >The test runner should be able to run the full suite of unit tests and
> >verification tests (with an option to run only unit tests or only 
> >verification
> >tests).  This can be the same program that we use in the build 
> >environment
> >except that it will set the PYTHONPATH differently to target the 
> >installed
> >files.
> >
>    good idea, checking on the details of vdsm-hack in tests.
> 
> >>Planned details:
> >>   1 Going to place cases in vdsm project in ./tests/VT.
> >>   2 On installation will move some useful UT cases into VT.
> >
> >If you follow my approach above, you would simply package the whole 
> >tests/
> >directory and no copying would be necessary.
> >
> >>   3 use same framework UT used.
> >>   4 two sub dir in test/VT: user_case_test;general_test.
> >
> >What is the difference between these two types of tests?
> >
>    user_cases would holds tests simulating the scenario user calling
> vdsm, and it could be examples for user. xmlrpc(vdscli) and rest-api
> cases would go here. I guess  xmlrpc testcases already exist in engine
> side, and moving them here makes vdsm more independent and robust.
>    general_test would holds test detecting target environment problem,
> such as authority settings, and thread pipe tests, etc.
>    The names of the two directories are not good, need to be justified.
> 
> >>   It is just a scratch from my mind, so I'd like hear your opinions.
> >
> >Thanks for the idea!  Do you have a sample test for the verification 
> >test suite?
> >Will it be your pipe deadlock test?
> >
>    Yeah, plan to place the test in it.
> 
>    As summary, I guess a better structure of test would be as following:
> 
> vdsm
> |--tests
> |test_runner.sh
> |--UT
> |--VT
>    |--xmlrpc
>    |--rest
>    |--general
> >>>
> >>>Sounds reasonable. But what's "general"? Isn't VT going to be using some
> >>>kind of binding in any case?
> >>planning to place some environment test case here, such as "thread
> >>and pipe test".
> >
> >Why would you need a running Vdsm instance for such a test?
> >
>   no need indeed, just want to find a place to holds test for generic
> issue. Maybe more check about the environment settings such as user
> vdsm/kvm authority check could also set here.(just an example, for
> now this test is not needed).

Well, when the need rise, we can add more directories. Luckily git does
not have empty dirs ;-)
___
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel