(Difference between revisions)
Vdsm TODO
(→Cleanup) |
(→refactoring) |
||
| Line 35: | Line 35: | ||
* Define an API.VMState "enumeration" and use API.VMState.UP instead of the string 'Up'. | * Define an API.VMState "enumeration" and use API.VMState.UP instead of the string 'Up'. | ||
| − | * factor betterPopen and betterThreading out of vdsm. They deserve a pipy review under the names cPopen and pthreading respectively. | + | * factor betterPopen and betterThreading out of vdsm. They deserve a pipy review under the names cPopen and [http://pypi.python.org/pypi/pthreading pthreading] respectively. |
== Bugzilla == | == Bugzilla == | ||
Revision as of 13:28, 30 July 2012
Contents |
What Can You Do for Vdsm
Cleanup
- pylint -E `git ls-files | grep '.py$'` makes me cry. A lot of it is "only" about bad style, but we should clear it up and add it to our make check-local. We should grow up and pass pychecker too.
- Improve Vdsm portability. We are very much Fedora-centric at best. Do you want to have Vdsm on your pet distribution? Own that port!
- remove all usage of sudo, and replace with specific calls to superVdsm.
- have a logrotate-dependent logrotate.conf that works on Fedora and EL equally well.
- Configure vdsm to use syslog -- done by Mark Wu, but now we need to stop trashing the console.
- Simplify the SysV init script, split most of its code to a "vdsm-tool". vdsm-tool should assume responsibility on hairy stuff such as configuring multipath, which should not be the business of Vdsm proper.
- running vdsClient from the project root dir ends with tears. Some PYTHONPATH games should fix this.
Testing
- write an automatic script that runs on each and every new change to gerrit, and adds an insulting comment if pyflakes fails for the new change.
- extend the former script, so that it runs a complete `make distcheck && make install` in a confined environment (chroot, VM) and reports if there is an error.
- run unit and functional tests on reviewed patches (before submission).
Features
- Support striping for disk images.
- let Vdsm install and run on hosts with no iscsid (report that iscsi is missing to Engine?)
refactoring
- In vm.py, libvirtvm.py, clientIF.py there is a mess of prepare*Path functions (end their respective teardowns), which is too complex to fathom. We have to convert all drive specifications (PDIV,GUID,path) into Drive object at the API entry.
- lvm.PV.guid is devicemapper-owned piece of information; lvm has nothing to do with it, and jumps through hoops to produce it. Instead, it should be produced by devicemapper and consumed directly by blockSD.
- Define an API.VMState "enumeration" and use API.VMState.UP instead of the string 'Up'.
- factor betterPopen and betterThreading out of vdsm. They deserve a pipy review under the names cPopen and pthreading respectively.
