<commit_before>---
title: Vdsm TODO
category: vdsm
authors: aglitke, amuller, apuimedo, danken, ekohl, gvallarelli, ibarkan, phoracek
wiki_category: Vdsm
wiki_title: Vdsm TODO
wiki_revision_count: 131
wiki_last_updated: 2015-11-18
---

# Vdsm TODO

## What Can You Do for Vdsm

We intend to move this TODO into this [Trello board](https://trello.com/b/U3lsbVRU/maintenance), please check for tasks in it.

### Cleanup

#### infra

*   `` 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.

<!-- -->

*   Add git submodules for pyflakes and pep8 to vdsm. Control the specific version of each tool to use from within the vdsm build itself. This way we can make sure everyone is using the same version of the tools regardless of where vdsm is being built.
    -   See <https://github.com/jcrocholl/pep8> and <https://github.com/pyflakes/pyflakes/>

<!-- -->

*   BindingXML's wrapApiMethod is incredibly fragile when deciding what not to log. Logging should be done as a decorator per called function, after password entries are converted to ProtectedPassword.

### Testing

*   Add `` `make distcheck` `` to Jenkins's jobs.

<!-- -->

*   Wrap all tests and fail a test that leaves an open file descriptor behind.

<!-- -->

*   add a unit test for qemuimg.rebase.

<!-- -->

*   make @permutations nestable

<!-- -->

*   test fileSD.scanDomains()

<!-- -->

*   add migration tests

<!-- -->

*   test cannonizeHostPort

### Features

*   Support striping for disk images.

<!-- -->

*   let Vdsm install and run on hosts with no iscsid (report that iscsi is missing to Engine?)

<!-- -->

*   start Vdsm only when it receives a request (integrate with systemd)

<!-- -->

*   replace time.time() with monotonic_time() whenever possible.

#### Infra

*   verify input/output args for their type. issue a log ERROR on mismatch.

<!-- -->

*   move caps.py (and possibly EVERYTHING) under lib/vdsm. Avoid the current directory mess.

#### Networking<commit_msg>Features<commit_after>---
title: Vdsm TODO
category: vdsm
authors: aglitke, amuller, apuimedo, danken, ekohl, gvallarelli, ibarkan, phoracek
wiki_category: Vdsm
wiki_title: Vdsm TODO
wiki_revision_count: 131
wiki_last_updated: 2015-11-18
---

# Vdsm TODO

## What Can You Do for Vdsm

We intend to move this TODO into this [Trello board](https://trello.com/b/U3lsbVRU/maintenance), please check for tasks in it.

### Cleanup

#### infra

*   `` 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.

<!-- -->

*   Add git submodules for pyflakes and pep8 to vdsm. Control the specific version of each tool to use from within the vdsm build itself. This way we can make sure everyone is using the same version of the tools regardless of where vdsm is being built.
    -   See <https://github.com/jcrocholl/pep8> and <https://github.com/pyflakes/pyflakes/>

<!-- -->

*   BindingXML's wrapApiMethod is incredibly fragile when deciding what not to log. Logging should be done as a decorator per called function, after password entries are converted to ProtectedPassword.

### Testing

*   Add `` `make distcheck` `` to Jenkins's jobs.

<!-- -->

*   Wrap all tests and fail a test that leaves an open file descriptor behind.

<!-- -->

*   add a unit test for qemuimg.rebase.

<!-- -->

*   make @permutations nestable

<!-- -->

*   test fileSD.scanDomains()

<!-- -->

*   add migration tests

<!-- -->

*   test cannonizeHostPort

### Features

*   Support striping for disk images.

<!-- -->

*   let Vdsm install and run on hosts with no iscsid (report that iscsi is missing to Engine?)

<!-- -->

*   start Vdsm only when it receives a request (integrate with systemd)

#### Infra

*   verify input/output args for their type. issue a log ERROR on mismatch.

<!-- -->

*   move caps.py (and possibly EVERYTHING) under lib/vdsm. Avoid the current directory mess.

#### Networking
{'fraction_non_alphanumeric': 0.11591403042743299, 'fraction_numerical': 0.006761651774933591, 'mean_word_length': 3.209349593495935, 'pattern_counts': {'":': 0, '<': 30, '<?xml version=': 0, '>': 30, 'https://': 6, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5004989', 'n_tokens_mistral': 1356, 'n_tokens_neox': 1303, 'n_words': 533}