clientdir = $(pkgpythondir)/client
cmdlibdir = $(pkgpythondir)/cmdlib
hypervisordir = $(pkgpythondir)/hypervisor
+storagedir = $(pkgpythondir)/storage
httpdir = $(pkgpythondir)/http
masterddir = $(pkgpythondir)/masterd
confddir = $(pkgpythondir)/confd
HS_DIRS = \
src \
src/Ganeti \
- src/Ganeti/Block \
- src/Ganeti/Block/Drbd \
src/Ganeti/Confd \
src/Ganeti/Curl \
src/Ganeti/DataCollectors \
src/Ganeti/Hypervisor/Xen \
src/Ganeti/Monitoring \
src/Ganeti/Query \
+ src/Ganeti/Storage \
+ src/Ganeti/Storage/Diskstats \
+ src/Ganeti/Storage/Drbd \
test/hs \
test/hs/Test \
test/hs/Test/Ganeti \
- test/hs/Test/Ganeti/Block \
- test/hs/Test/Ganeti/Block/Drbd \
+ test/hs/Test/Ganeti/Storage \
+ test/hs/Test/Ganeti/Storage/Diskstats \
+ test/hs/Test/Ganeti/Storage/Drbd \
test/hs/Test/Ganeti/Confd \
test/hs/Test/Ganeti/HTools \
test/hs/Test/Ganeti/HTools/Backend \
lib/masterd \
lib/rapi \
lib/server \
+ lib/storage \
lib/tools \
lib/utils \
lib/watcher \
lib/__init__.py \
lib/asyncnotifier.py \
lib/backend.py \
- lib/bdev.py \
lib/bootstrap.py \
lib/cli.py \
lib/compat.py \
lib/serializer.py \
lib/ssconf.py \
lib/ssh.py \
- lib/storage.py \
lib/uidpool.py \
lib/vcluster.py \
lib/network.py \
lib/hypervisor/hv_lxc.py \
lib/hypervisor/hv_xen.py
+storage_PYTHON = \
+ lib/storage/__init__.py \
+ lib/storage/bdev.py \
+ lib/storage/base.py \
+ lib/storage/container.py \
+ lib/storage/drbd.py \
+ lib/storage/drbd_info.py \
+ lib/storage/drbd_cmdgen.py \
+ lib/storage/filestorage.py
+
rapi_PYTHON = \
lib/rapi/__init__.py \
lib/rapi/baserlib.py \
lib/utils/nodesetup.py \
lib/utils/process.py \
lib/utils/retry.py \
+ lib/utils/storage.py \
lib/utils/text.py \
lib/utils/wrapper.py \
lib/utils/x509.py
doc/design-htools-2.3.rst \
doc/design-http-server.rst \
doc/design-impexp2.rst \
+ doc/design-internal-shutdown.rst \
doc/design-lu-generated-jobs.rst \
doc/design-linuxha.rst \
doc/design-multi-reloc.rst \
$(patsubst src.%,--exclude Test.%,$(subst /,.,$(patsubst %.hs,%, $(HS_LIB_SRCS))))
HS_LIB_SRCS = \
- src/Ganeti/Block/Drbd/Types.hs \
- src/Ganeti/Block/Drbd/Parser.hs \
src/Ganeti/BasicTypes.hs \
src/Ganeti/Common.hs \
src/Ganeti/Compat.hs \
src/Ganeti/Curl/Multi.hs \
src/Ganeti/Daemon.hs \
src/Ganeti/DataCollectors/CLI.hs \
+ src/Ganeti/DataCollectors/Diskstats.hs \
src/Ganeti/DataCollectors/Drbd.hs \
+ src/Ganeti/DataCollectors/InstStatus.hs \
+ src/Ganeti/DataCollectors/InstStatusTypes.hs \
src/Ganeti/DataCollectors/Program.hs \
src/Ganeti/DataCollectors/Types.hs \
src/Ganeti/Errors.hs \
src/Ganeti/HTools/Program/Hroller.hs \
src/Ganeti/HTools/Program/Main.hs \
src/Ganeti/HTools/Types.hs \
+ src/Ganeti/Hypervisor/Xen.hs \
src/Ganeti/Hypervisor/Xen/XmParser.hs \
src/Ganeti/Hypervisor/Xen/Types.hs \
src/Ganeti/Hash.hs \
src/Ganeti/OpCodes.hs \
src/Ganeti/OpParams.hs \
src/Ganeti/Path.hs \
+ src/Ganeti/Query/Cluster.hs \
src/Ganeti/Query/Common.hs \
src/Ganeti/Query/Export.hs \
src/Ganeti/Query/Filter.hs \
src/Ganeti/Rpc.hs \
src/Ganeti/Runtime.hs \
src/Ganeti/Ssconf.hs \
+ src/Ganeti/Storage/Diskstats/Parser.hs \
+ src/Ganeti/Storage/Diskstats/Types.hs \
+ src/Ganeti/Storage/Drbd/Parser.hs \
+ src/Ganeti/Storage/Drbd/Types.hs \
src/Ganeti/THH.hs \
src/Ganeti/Types.hs \
src/Ganeti/Utils.hs
HS_TEST_SRCS = \
test/hs/Test/Ganeti/Attoparsec.hs \
test/hs/Test/Ganeti/BasicTypes.hs \
- test/hs/Test/Ganeti/Block/Drbd/Parser.hs \
- test/hs/Test/Ganeti/Block/Drbd/Types.hs \
test/hs/Test/Ganeti/Common.hs \
test/hs/Test/Ganeti/Confd/Types.hs \
test/hs/Test/Ganeti/Confd/Utils.hs \
test/hs/Test/Ganeti/Rpc.hs \
test/hs/Test/Ganeti/Runtime.hs \
test/hs/Test/Ganeti/Ssconf.hs \
+ test/hs/Test/Ganeti/Storage/Diskstats/Parser.hs \
+ test/hs/Test/Ganeti/Storage/Drbd/Parser.hs \
+ test/hs/Test/Ganeti/Storage/Drbd/Types.hs \
test/hs/Test/Ganeti/THH.hs \
test/hs/Test/Ganeti/TestCommon.hs \
test/hs/Test/Ganeti/TestHTools.hs \
qa/qa_error.py \
qa/qa_group.py \
qa/qa_instance.py \
+ qa/qa_instance_utils.py \
qa/qa_job.py \
+ qa/qa_monitoring.py \
qa/qa_node.py \
qa/qa_os.py \
qa/qa_rapi.py \
test/data/htools/hail-alloc-invalid-network.json \
test/data/htools/hail-alloc-invalid-twodisks.json \
test/data/htools/hail-alloc-restricted-network.json \
+ test/data/htools/hail-alloc-spindles.json \
test/data/htools/hail-alloc-twodisks.json \
test/data/htools/hail-change-group.json \
test/data/htools/hail-invalid-reloc.json \
test/data/htools/hail-reloc-drbd.json \
test/data/htools/hbal-excl-tags.data \
test/data/htools/hbal-split-insts.data \
+ test/data/htools/hspace-tiered-dualspec-exclusive.data \
test/data/htools/hspace-tiered-dualspec.data \
+ test/data/htools/hspace-tiered-exclusive.data \
test/data/htools/hspace-tiered-ipolicy.data \
+ test/data/htools/hspace-tiered-mixed.data \
test/data/htools/hspace-tiered-resourcetypes.data \
test/data/htools/hspace-tiered.data \
test/data/htools/invalid-node.data \
test/data/htools/missing-resources.data \
test/data/htools/multiple-master.data \
+ test/data/htools/multiple-tags.data \
test/data/htools/n1-failure.data \
test/data/htools/rapi/groups.json \
test/data/htools/rapi/info.json \
test/data/htools/rapi/instances.json \
test/data/htools/rapi/nodes.json \
+ test/data/htools/hroller-nodegroups.data \
+ test/data/htools/hroller-nonredundant.data \
+ test/data/htools/hroller-online.data \
test/data/htools/unique-reboot-order.data \
test/hs/shelltests/htools-balancing.test \
test/hs/shelltests/htools-basic.test \
test/hs/shelltests/htools-mon-collector.test \
test/data/bdev-drbd-8.0.txt \
test/data/bdev-drbd-8.3.txt \
+ test/data/bdev-drbd-8.4.txt \
test/data/bdev-drbd-disk.txt \
test/data/bdev-drbd-net-ip4.txt \
test/data/bdev-drbd-net-ip6.txt \
test/data/cert1.pem \
test/data/cert2.pem \
test/data/cluster_config_2.7.json \
- test/data/cluster_config_downgraded_2.7.json \
+ test/data/cluster_config_2.8.json \
test/data/instance-minor-pairing.txt \
test/data/ip-addr-show-dummy0.txt \
test/data/ip-addr-show-lo-ipv4.txt \
test/data/ovfdata/wrong_manifest.ovf \
test/data/ovfdata/wrong_ova.ova \
test/data/ovfdata/wrong_xml.ovf \
+ test/data/proc_diskstats.txt \
test/data/proc_drbd8.txt \
test/data/proc_drbd80-emptyline.txt \
+ test/data/proc_drbd80-emptyversion.txt \
test/data/proc_drbd83.txt \
test/data/proc_drbd83_sync.txt \
test/data/proc_drbd83_sync_want.txt \
test/data/proc_drbd83_sync_krnl2.6.39.txt \
+ test/data/proc_drbd84.txt \
+ test/data/proc_drbd84_sync.txt \
test/data/qa-minimal-nodes-instances-only.json \
test/data/sys_drbd_usermode_helper.txt \
test/data/vgreduce-removemissing-2.02.02.txt \
test/py/ganeti.asyncnotifier_unittest.py \
test/py/ganeti.backend_unittest-runasroot.py \
test/py/ganeti.backend_unittest.py \
- test/py/ganeti.bdev_unittest.py \
test/py/ganeti.cli_unittest.py \
test/py/ganeti.client.gnt_cluster_unittest.py \
test/py/ganeti.client.gnt_instance_unittest.py \
test/py/ganeti.server.rapi_unittest.py \
test/py/ganeti.ssconf_unittest.py \
test/py/ganeti.ssh_unittest.py \
- test/py/ganeti.storage_unittest.py \
+ test/py/ganeti.storage.bdev_unittest.py \
+ test/py/ganeti.storage.container_unittest.py \
+ test/py/ganeti.storage.drbd_unittest.py \
+ test/py/ganeti.storage.filestorage_unittest.py \
test/py/ganeti.tools.burnin_unittest.py \
test/py/ganeti.tools.ensure_dirs_unittest.py \
test/py/ganeti.tools.node_daemon_setup_unittest.py \
test/py/ganeti.utils.nodesetup_unittest.py \
test/py/ganeti.utils.process_unittest.py \
test/py/ganeti.utils.retry_unittest.py \
+ test/py/ganeti.utils.storage_unittest.py \
test/py/ganeti.utils.text_unittest.py \
test/py/ganeti.utils.wrapper_unittest.py \
test/py/ganeti.utils.x509_unittest.py \
$(client_PYTHON) \
$(cmdlib_PYTHON) \
$(hypervisor_PYTHON) \
+ $(storage_PYTHON) \
$(rapi_PYTHON) \
$(server_PYTHON) \
$(pytools_PYTHON) \