Yes, it's possible to make ganeti pylint clean (completely clean). It
takes:
- fixing a few bugs
- refactoring some code
- cleaning up old cruft
- adding lots of disables

So compared to the 2.0 cleanups, this is not just disables, but lots of
actual code changes. It still passes a full burnin, but I didn't do a QA
test (yet), so RAPI/command line scripts are not tested (and things that
don't have any tests are in the air). make check and make distcheck are
happy.

I have found a number of ganeti bugs, a pylint bug, but in general we
had many weird things. Now that the code is pylint clean, people can
easily test their new patches before sending and fix as appropriate.

Note: this is intended to be used together with the latest pylint (0.19)
and associated libs (logilab-astng+common).

Note 2: I found very scary places in the code. The “Here be dragons”
kind.

Happy holidays everyone!

Iustin Pop (31):
  Fix use of the logging functions
  Remove many 'Unused variable' warnings
  Fix an error message
  KVM: Split out the pidfile computation
  KVM: Abstract/rework instance up checks
  Fix two bugs in ConfigWriter._EnsureUUID
  Fix indentation issues
  Add some stubs to bdev.FileStorage
  Disable TODO warnings in pylint
  Update the _autoconf.py make rule for pylint
  Complete implementation of hv_chroot/hv_fake
  Introduce a makefile lint rule
  Rename an ConfdInotifyEventHandler init argument
  burnin: move decorators out of classes
  Add targeted pylint disables
  Remove more unused variables
  Convert to static methods (where appropriate)
  pylint cleanups: dangerous initializers
  backend._OSOndiskAPIVersion: remove obsolete arg
  Optparse extenders have to obey a given API
  jqueue/_CheckRpcResult: log the whole operation
  hv_xen/_GetConfigFileDiskData: remove unused arg
  daemons: handle arguments correctly and uniformly
  LUDiagnoseOS._DiagnoseByOS: remove unused arg
  pylint: disable the similarities checker
  Further pylint disables, mostly for Unused args
  Disable R0922 in pylint
  pylint: Temporarily disable W0201
  confd: add a TODO and a pylint disable
  bdev: Add a TODO and a pylint silence
  Fix unused imports or add silences where needed

 Makefile.am                 |    8 +++
 daemons/ganeti-confd        |   40 +++++++++++------
 daemons/ganeti-masterd      |   27 +++++++++---
 daemons/ganeti-noded        |   31 ++++++++++---
 daemons/ganeti-rapi         |   23 +++++-----
 daemons/ganeti-watcher      |   19 ++++++---
 lib/asyncnotifier.py        |    7 ++-
 lib/backend.py              |   21 +++++----
 lib/bdev.py                 |   22 +++++++++-
 lib/build/__init__.py       |    1 +
 lib/cli.py                  |    9 ++--
 lib/cmdlib.py               |   50 +++++++++++++---------
 lib/confd/client.py         |    3 +-
 lib/confd/querylib.py       |   18 ++++----
 lib/confd/server.py         |    8 ++--
 lib/config.py               |    8 ++--
 lib/daemon.py               |    4 +-
 lib/http/__init__.py        |   12 +++--
 lib/http/auth.py            |    3 +
 lib/http/client.py          |    2 +-
 lib/http/server.py          |    6 +-
 lib/hypervisor/hv_base.py   |    6 +-
 lib/hypervisor/hv_chroot.py |   25 +++++++++-
 lib/hypervisor/hv_fake.py   |  100 +++++++++++++++++++++++++++++++++++++-----
 lib/hypervisor/hv_kvm.py    |   53 +++++++++++++----------
 lib/hypervisor/hv_xen.py    |   14 ++----
 lib/jqueue.py               |   20 ++++++---
 lib/locking.py              |    6 +-
 lib/luxi.py                 |    2 +-
 lib/mcpu.py                 |    3 +-
 lib/objects.py              |   18 ++++---
 lib/rapi/__init__.py        |    1 +
 lib/rapi/baserlib.py        |    4 +-
 lib/rapi/connector.py       |   10 +++-
 lib/rapi/rlib2.py           |   18 ++++++--
 lib/rpc.py                  |    2 +-
 lib/storage.py              |   18 ++++++--
 lib/utils.py                |   13 ++++--
 lib/workerpool.py           |    5 +-
 pylintrc                    |   23 ++++++++++
 scripts/gnt-backup          |    9 ++--
 scripts/gnt-cluster         |    7 ++-
 scripts/gnt-debug           |    6 ++-
 scripts/gnt-instance        |   11 +++--
 scripts/gnt-job             |    7 ++-
 scripts/gnt-node            |    8 ++--
 scripts/gnt-os              |    8 ++-
 tools/burnin                |   88 ++++++++++++++++++++-----------------
 tools/cfgshell              |   24 ++++++----
 tools/cfgupgrade            |    5 +-
 tools/lvmstrap              |   14 +++---
 51 files changed, 563 insertions(+), 287 deletions(-)

Reply via email to