Merge branch 'stable-2.16' into stable-2.17
[ganeti-github.git] / Makefile.am
index 58ec692..d71e145 100644 (file)
@@ -151,6 +151,7 @@ HS_DIRS = \
        src/Ganeti/JQueue \
        src/Ganeti/Locking \
        src/Ganeti/Logging \
+       src/Ganeti/MaintD \
        src/Ganeti/Monitoring \
        src/Ganeti/Metad \
        src/Ganeti/Objects \
@@ -302,6 +303,8 @@ CLEANFILES = \
        $(addsuffix /*.py[co],$(DIRS)) \
        $(addsuffix /*.hi,$(HS_DIRS)) \
        $(addsuffix /*.o,$(HS_DIRS)) \
+       $(addsuffix /*.dyn_hi,$(HS_DIRS)) \
+       $(addsuffix /*.dyn_o,$(HS_DIRS)) \
        $(addsuffix /*.$(HTEST_SUFFIX)_hi,$(HS_DIRS)) \
        $(addsuffix /*.$(HTEST_SUFFIX)_o,$(HS_DIRS)) \
        $(HASKELL_PACKAGE_VERSIONS_FILE) \
@@ -352,6 +355,7 @@ CLEANFILES = \
        src/ganeti-confd \
        src/ganeti-wconfd \
        src/ganeti-luxid \
+       src/ganeti-maintd \
        src/ganeti-metad \
        src/ganeti-mond \
        .hpc/*.mix src/*.tix test/hs/*.tix *.tix \
@@ -371,7 +375,7 @@ clean-local:
 HS_GENERATED_FILES = $(HS_PROGS) src/hluxid src/ganeti-luxid \
        src/hconfd src/ganeti-confd
 if ENABLE_MOND
-HS_GENERATED_FILES += src/ganeti-mond
+HS_GENERATED_FILES += src/ganeti-mond src/ganeti-maintd
 endif
 if ENABLE_METADATA
 HS_GENERATED_FILES += src/ganeti-metad
@@ -410,6 +414,7 @@ BUILT_EXAMPLES = \
        doc/examples/systemd/ganeti-kvmd.service \
        doc/examples/systemd/ganeti-luxid.service \
        doc/examples/systemd/ganeti-metad.service \
+       doc/examples/systemd/ganeti-maintd.service \
        doc/examples/systemd/ganeti-mond.service \
        doc/examples/systemd/ganeti-noded.service \
        doc/examples/systemd/ganeti-rapi.service \
@@ -660,6 +665,7 @@ docinput = \
        doc/design-2.14.rst \
        doc/design-2.15.rst \
        doc/design-2.16.rst \
+       doc/design-2.17.rst \
        doc/design-allocation-efficiency.rst \
        doc/design-autorepair.rst \
        doc/design-bulk-create.rst \
@@ -691,11 +697,15 @@ docinput = \
        doc/design-location.rst \
        doc/design-linuxha.rst \
        doc/design-lu-generated-jobs.rst \
+       doc/design-macvtap.rst \
+       doc/design-memory-over-commitment.rst \
+       doc/design-migration-speed-hbal.rst \
        doc/design-monitoring-agent.rst \
        doc/design-move-instance-improvements.rst \
        doc/design-multi-reloc.rst \
        doc/design-multi-storage-htools.rst \
        doc/design-multi-version-tests.rst \
+       doc/design-n-m-redundancy.rst \
        doc/design-network.rst \
        doc/design-network2.rst \
        doc/design-node-add.rst \
@@ -769,7 +779,7 @@ HS_COMPILE_PROGS = \
        src/hs2py \
        src/rpc-test
 if ENABLE_MOND
-HS_COMPILE_PROGS += src/ganeti-mond
+HS_COMPILE_PROGS += src/ganeti-mond src/ganeti-maintd
 endif
 if ENABLE_METADATA
 HS_COMPILE_PROGS += src/ganeti-metad
@@ -885,6 +895,7 @@ HPCEXCL = --exclude Main \
        $(patsubst src.%,--exclude Test.%,$(subst /,.,$(patsubst %.hs,%, $(HS_LIB_SRCS))))
 
 HS_LIB_SRCS = \
+       src/Ganeti/Prelude.hs \
        src/Ganeti/BasicTypes.hs \
        src/Ganeti/Codec.hs \
        src/Ganeti/Common.hs \
@@ -906,10 +917,12 @@ HS_LIB_SRCS = \
        src/Ganeti/DataCollectors.hs \
        src/Ganeti/DataCollectors/CLI.hs \
        src/Ganeti/DataCollectors/CPUload.hs \
+       src/Ganeti/DataCollectors/Diagnose.hs \
        src/Ganeti/DataCollectors/Diskstats.hs \
        src/Ganeti/DataCollectors/Drbd.hs \
        src/Ganeti/DataCollectors/InstStatus.hs \
        src/Ganeti/DataCollectors/InstStatusTypes.hs \
+       src/Ganeti/DataCollectors/KvmRSS.hs \
        src/Ganeti/DataCollectors/Lv.hs \
        src/Ganeti/DataCollectors/Program.hs \
        src/Ganeti/DataCollectors/Types.hs \
@@ -929,6 +942,8 @@ HS_LIB_SRCS = \
        src/Ganeti/HTools/Cluster/AllocationSolution.hs \
        src/Ganeti/HTools/Cluster/Evacuate.hs \
        src/Ganeti/HTools/Cluster/Metrics.hs \
+       src/Ganeti/HTools/Cluster/MetricsComponents.hs \
+       src/Ganeti/HTools/Cluster/MetricsTH.hs \
        src/Ganeti/HTools/Cluster/Moves.hs \
        src/Ganeti/HTools/Cluster/Utils.hs \
        src/Ganeti/HTools/Container.hs \
@@ -952,6 +967,8 @@ HS_LIB_SRCS = \
        src/Ganeti/HTools/Program/Hsqueeze.hs \
        src/Ganeti/HTools/Program/Hroller.hs \
        src/Ganeti/HTools/Program/Main.hs \
+       src/Ganeti/HTools/RedundancyLevel.hs \
+       src/Ganeti/HTools/Repair.hs \
        src/Ganeti/HTools/Tags.hs \
        src/Ganeti/HTools/Tags/Constants.hs \
        src/Ganeti/HTools/Types.hs \
@@ -981,12 +998,23 @@ HS_LIB_SRCS = \
        src/Ganeti/Logging/Lifted.hs \
        src/Ganeti/Logging/WriterLog.hs \
        src/Ganeti/Luxi.hs \
+       src/Ganeti/MaintD/Autorepairs.hs \
+       src/Ganeti/MaintD/Balance.hs \
+       src/Ganeti/MaintD/CleanupIncidents.hs \
+       src/Ganeti/MaintD/CollectIncidents.hs \
+       src/Ganeti/MaintD/FailIncident.hs \
+       src/Ganeti/MaintD/HandleIncidents.hs \
+        src/Ganeti/MaintD/MemoryState.hs \
+       src/Ganeti/MaintD/Server.hs \
+       src/Ganeti/MaintD/Utils.hs \
        src/Ganeti/Network.hs \
        src/Ganeti/Objects.hs \
        src/Ganeti/Objects/BitArray.hs \
        src/Ganeti/Objects/Disk.hs \
        src/Ganeti/Objects/Instance.hs \
+       src/Ganeti/Objects/HvState.hs \
        src/Ganeti/Objects/Lens.hs \
+       src/Ganeti/Objects/Maintenance.hs \
        src/Ganeti/Objects/Nic.hs \
        src/Ganeti/OpCodes.hs \
        src/Ganeti/OpCodes/Lens.hs \
@@ -1034,6 +1062,7 @@ HS_LIB_SRCS = \
        src/Ganeti/Utils.hs \
        src/Ganeti/Utils/Atomic.hs \
        src/Ganeti/Utils/AsyncWorker.hs \
+       src/Ganeti/Utils/Http.hs \
        src/Ganeti/Utils/IORef.hs \
        src/Ganeti/Utils/Livelock.hs \
        src/Ganeti/Utils/Monad.hs \
@@ -1503,7 +1532,7 @@ src/ganeti-confd: src/hconfd
        cp -f $< $@
 
 if ENABLE_MOND
-nodist_sbin_SCRIPTS += src/ganeti-mond
+nodist_sbin_SCRIPTS += src/ganeti-mond src/ganeti-maintd
 endif
 
 if ENABLE_METADATA
@@ -1614,6 +1643,7 @@ EXTRA_DIST += \
        daemons/ganeti-cleaner.in \
        $(pkglib_python_scripts) \
        devel/build_chroot \
+       devel/cert_digest.py \
        devel/upload \
        devel/webserver \
        tools/kvm-ifup.in \
@@ -1714,6 +1744,9 @@ TEST_FILES = \
        test/autotools/autotools-check-news.test \
        test/data/htools/clean-nonzero-score.data \
        test/data/htools/common-suffix.data \
+       test/data/htools/dyn1.json \
+       test/data/htools/dyn2.json \
+       test/data/htools/dyn3.json \
        test/data/htools/empty-cluster.data \
        test/data/htools/hail-alloc-dedicated-1.json \
        test/data/htools/hail-alloc-desired-location.json \
@@ -1728,23 +1761,28 @@ TEST_FILES = \
        test/data/htools/hail-alloc-secondary.json \
        test/data/htools/hail-alloc-spindles.json \
        test/data/htools/hail-alloc-twodisks.json \
+       test/data/htools/hail-alloc-memory-over-commitment.json \
        test/data/htools/hail-change-group.json \
        test/data/htools/hail-invalid-reloc.json \
        test/data/htools/hail-node-evac.json \
        test/data/htools/hail-reloc-drbd.json \
        test/data/htools/hail-reloc-drbd-crowded.json \
+       test/data/htools/hbal-avoid-disk-moves.data \
        test/data/htools/hbal-cpu-speed.data \
        test/data/htools/hbal-desiredlocation-1.data \
        test/data/htools/hbal-desiredlocation-2.data \
        test/data/htools/hbal-desiredlocation-3.data \
        test/data/htools/hbal-desiredlocation-4.data \
        test/data/htools/hbal-dyn.data \
+       test/data/htools/hbal-dyn2.data \
        test/data/htools/hbal-evac.data \
        test/data/htools/hbal-excl-tags.data \
        test/data/htools/hbal-forth.data \
        test/data/htools/hbal-location-1.data \
        test/data/htools/hbal-location-exclusion.data \
        test/data/htools/hbal-location-2.data \
+       test/data/htools/hbal-memory-over-commitment.data \
+       test/data/htools/hbal-memory-over-commitment-2.data \
        test/data/htools/hbal-migration-1.data \
        test/data/htools/hbal-migration-2.data \
        test/data/htools/hbal-migration-3.data \
@@ -1837,6 +1875,8 @@ TEST_FILES = \
        test/data/cluster_config_2.13.json \
        test/data/cluster_config_2.14.json \
        test/data/cluster_config_2.15.json \
+       test/data/cluster_config_2.16.json \
+       test/data/cluster_config_2.17.json \
        test/data/instance-minor-pairing.txt \
        test/data/instance-disks.txt \
        test/data/ip-addr-show-dummy0.txt \