On Mon, Feb 11, 2013 at 12:17:39PM -0500, Federico Simoncelli wrote:
It is some time now that we are discussing an eventual repository
reorganization for vdsm. In fact I'm sure that we all experienced
at least once the discomfort of having several modules scattered
around the tree.
The main goal of the reorganization would be to place the modules
in their proper location so that they can be used (imported) without
any special change (or hack) even when the code is executed inside
the development repository (e.g. tests).
Recently there has been an initial proposal about moving some of
these modules:
http://gerrit.ovirt.org/#/c/11858/
That spawned an interesting discussion that must involve the entire
community; in fact before starting any work we should try to converge
on a decision for the final repository structure in order to minimize
the discomfort for the contributors that will be forced to rebase
their pending gerrit patches. Even if the full reorganization won't
happen in a short time I think we should plan the entire structure
now and then eventually move only few relevant modules to their final
location.
To start the discussion I'm attaching here a sketch of the vdsm
repository structure that I envision:
.
|-- client
| |-- [...]
| `-- vdsClient.py
|-- common
| |-- [...]
| |-- betterPopen
| | `-- [...]
| `-- vdsm
| |-- [...]
| `-- config.py
|-- contrib
| |-- [...]
| |-- nfs-check.py
| `-- sos
|-- daemon
| |-- [...]
| |-- supervdsm.py
| `-- vdsmd
`-- tool
|-- [...]
`-- vdsm-tool
The schema file vdsmapi-schema.json (as well as the python module to parse it)
are needed by the server and clients. Initially I'd think it should be
installed in 'common', but a client does not need things like betterPopen. Any
recommendation on where the schema/API definition should live?
--
Adam Litke <agl(a)us.ibm.com>
IBM Linux Technology Center