After the move of cmdlib.py to cmdlib/__init__.py it's now time to split
the cmdlib code into smaller pieces. This patch series extracts in turn
sets of logical units and related functions into individual files.
Functions common to multiple sets of logical units are extracted to
cmdlib/common.py. Functions which are only used by instance-related
logical units are extracted to instance_utils.py.
__init__.py ultimately only contains imports of classes which should be
used by clients of cmdlib.
The last patch of this series cleans up all private functions such that
function, which are used from outside of their defining module (except
for test usages) don't have a leading underscore.
The dependencies between the newly created modules are as follows (use
dot if you prefer a diagram):
digraph G {
subgraph cluster_0 {
node [style=filled];
label = "cmdlib";
color = blue;
init -> base;
init -> cluster;
init -> group;
init -> _node;
init -> instance;
init -> instance_storage;
init -> instance_migration;
init -> instance_operation;
init -> instance_query;
init -> backup;
init -> query;
init -> operating_system;
init -> misc;
init -> test;
{rank=same; cluster _node instance instance_storage instance_migration
instance_operation instance_query backup operating_system misc test; }
{rank=same; query init; }
backup -> base;
backup -> common;
backup -> instance_storage;
backup -> instance_utils;
base -> common;
cluster -> base;
cluster -> common;
group -> base;
group -> common;
instance -> base;
instance -> common;
instance -> instance_storage;
instance -> instance_utils;
instance_migration -> base;
instance_migration -> instance_storage;
instance_migration -> instance_utils;
instance_operation -> base;
instance_operation -> common;
instance_operation -> instance_storage;
instance_operation -> instance_utils;
instance_query -> base;
instance_query -> common;
instance_query -> instance_operation;
instance_query -> instance_utils;
instance_storage -> base;
instance_storage -> common;
instance_storage -> instance_utils;
instance_utils -> common;
misc -> base;
misc -> common;
network -> base;
network -> common;
_node -> base;
_node -> common;
operating_system -> base;
query -> base;
query -> cluster;
query -> group;
query -> _node;
query -> instance_query;
query -> backup;
query -> operating_system;
query -> network;
query -> misc;
tags -> base;
tags -> common;
test -> base;
test -> common;
_node [label="node"];
init [label="__init__"];
}
clients -> init;
clients [shape=Mdiamond];
}
Thomas Thrainer (18):
Extract base classes from cmdlib
Extract tags related logical units from cmdlib
Extract network related logical units from cmdlib
Extract test logical units from cmdlib
Extract cluster related logical units from cmdlib
Extract group related logial units from cmdlib
Extract node related logical units from cmdlib
Extract instance related logical units from cmdlib
Extract backup related logical units from cmdlib
Extract query related logical units from cmdlib
Extract os related logical units from cmdlib
Extract miscellaneous logical units from cmdlib
Don't ignore C0302 (Too many lines in module)
Extract storage related functionality
Extract migration related functionality
Extract operations related functionality
Extract instance query related functionality
Cleanup public/private functions
Makefile.am | 20 +-
lib/cmdlib/__init__.py | 17200 +-----------------------------------
lib/cmdlib/backup.py | 534 ++
lib/cmdlib/base.py | 536 ++
lib/cmdlib/cluster.py | 2874 ++++++
lib/cmdlib/common.py | 1029 +++
lib/cmdlib/group.py | 942 ++
lib/cmdlib/instance.py | 3446 ++++++++
lib/cmdlib/instance_migration.py | 928 ++
lib/cmdlib/instance_operation.py | 497 ++
lib/cmdlib/instance_query.py | 433 +
lib/cmdlib/instance_storage.py | 2462 ++++++
lib/cmdlib/instance_utils.py | 557 ++
lib/cmdlib/misc.py | 421 +
lib/cmdlib/network.py | 718 ++
lib/cmdlib/node.py | 1569 ++++
lib/cmdlib/operating_system.py | 189 +
lib/cmdlib/query.py | 102 +
lib/cmdlib/tags.py | 209 +
lib/cmdlib/test.py | 334 +
test/py/ganeti.cmdlib_unittest.py | 317 +-
test/py/ganeti.config_unittest.py | 10 +-
22 files changed, 18074 insertions(+), 17253 deletions(-)
create mode 100644 lib/cmdlib/backup.py
create mode 100644 lib/cmdlib/base.py
create mode 100644 lib/cmdlib/cluster.py
create mode 100644 lib/cmdlib/common.py
create mode 100644 lib/cmdlib/group.py
create mode 100644 lib/cmdlib/instance.py
create mode 100644 lib/cmdlib/instance_migration.py
create mode 100644 lib/cmdlib/instance_operation.py
create mode 100644 lib/cmdlib/instance_query.py
create mode 100644 lib/cmdlib/instance_storage.py
create mode 100644 lib/cmdlib/instance_utils.py
create mode 100644 lib/cmdlib/misc.py
create mode 100644 lib/cmdlib/network.py
create mode 100644 lib/cmdlib/node.py
create mode 100644 lib/cmdlib/operating_system.py
create mode 100644 lib/cmdlib/query.py
create mode 100644 lib/cmdlib/tags.py
create mode 100644 lib/cmdlib/test.py
--
1.8.2.1