Add new lock level for node resource modifications
[ganeti-local] / Makefile.am
index 3d855aa..f9ebfeb 100644 (file)
@@ -21,6 +21,7 @@ ACLOCAL_AMFLAGS = -I autotools
 BUILD_BASH_COMPLETION = $(top_srcdir)/autotools/build-bash-completion
 RUN_IN_TEMPDIR = $(top_srcdir)/autotools/run-in-tempdir
 CHECK_PYTHON_CODE = $(top_srcdir)/autotools/check-python-code
+CHECK_HEADER = $(top_srcdir)/autotools/check-header
 CHECK_MAN = $(top_srcdir)/autotools/check-man
 CHECK_VERSION = $(top_srcdir)/autotools/check-version
 CHECK_NEWS = $(top_srcdir)/autotools/check-news
@@ -28,6 +29,7 @@ CHECK_IMPORTS = $(top_srcdir)/autotools/check-imports
 DOCPP = $(top_srcdir)/autotools/docpp
 REPLACE_VARS_SED = autotools/replace_vars.sed
 CONVERT_CONSTANTS = $(top_srcdir)/autotools/convert-constants
+BUILD_RPC = $(top_srcdir)/autotools/build-rpc
 
 # Note: these are automake-specific variables, and must be named after
 # the directory + 'dir' suffix
@@ -144,6 +146,7 @@ CLEANFILES = \
        doc/examples/ganeti.cron \
        doc/examples/gnt-config-backup \
        doc/examples/hooks/ipsec \
+       lib/_generated_rpc.py \
        $(man_MANS) \
        $(manhtml) \
        tools/kvm-ifup \
@@ -164,7 +167,8 @@ BUILT_SOURCES = \
 
 BUILT_PYTHON_SOURCES = \
        lib/_autoconf.py \
-       lib/_vcsversion.py
+       lib/_vcsversion.py \
+       lib/_generated_rpc.py
 
 nodist_pkgpython_PYTHON = \
        $(BUILT_PYTHON_SOURCES)
@@ -199,6 +203,7 @@ pkgpython_PYTHON = \
        lib/qlang.py \
        lib/query.py \
        lib/rpc.py \
+       lib/rpc_defs.py \
        lib/runtime.py \
        lib/serializer.py \
        lib/ssconf.py \
@@ -306,9 +311,11 @@ docrst = \
        doc/design-network.rst \
        doc/design-chained-jobs.rst \
        doc/design-ovf-support.rst \
+       doc/design-resource-model.rst \
        doc/cluster-merge.rst \
        doc/design-shared-storage.rst \
        doc/design-node-state-cache.rst \
+       doc/design-virtual-clusters.rst \
        doc/devnotes.rst \
        doc/glossary.rst \
        doc/hooks.rst \
@@ -498,9 +505,10 @@ $(HS_ALL_PROGS): %: %.hs $(HS_LIB_SRCS) $(HS_BUILT_SRCS) Makefile
          exit 1; \
        fi
        BINARY=$(@:htools/%=%); $(GHC) --make \
-         $(HFLAGS) $(HEXTRA) \
+         $(HFLAGS) \
          $(HTOOLS_NOCURL) $(HTOOLS_PARALLEL3) \
-         -osuf $$BINARY.o -hisuf $$BINARY.hi $@
+         -osuf $$BINARY.o -hisuf $$BINARY.hi \
+         $(HEXTRA) $@
 
 # for the htools/test binary, we need to enable profiling/coverage
 htools/test: HEXTRA=-fhpc -Wwarn -fno-warn-missing-signatures \
@@ -552,6 +560,8 @@ EXTRA_DIST = \
        epydoc.conf.in \
        pylintrc \
        autotools/build-bash-completion \
+       autotools/build-rpc \
+       autotools/check-header \
        autotools/check-python-code \
        autotools/check-imports \
        autotools/check-man \
@@ -736,6 +746,7 @@ python_tests = \
        test/ganeti.workerpool_unittest.py \
        test/cfgupgrade_unittest.py \
        test/docs_unittest.py \
+       test/pycurl_reset_unittest.py \
        test/tempfile_fork_unittest.py
 
 haskell_tests = htools/test
@@ -795,6 +806,7 @@ srclink_files = \
 check_python_code = \
        $(BUILD_BASH_COMPLETION) \
        $(CHECK_IMPORTS) \
+       $(CHECK_HEADER) \
        $(DOCPP) \
        $(all_python_code)
 
@@ -806,6 +818,7 @@ lint_python_code = \
        $(pkglib_python_scripts) \
        $(BUILD_BASH_COMPLETION) \
        $(CHECK_IMPORTS) \
+       $(CHECK_HEADER) \
        $(DOCPP) \
        $(PYTHON_BOOTSTRAP)
 
@@ -820,6 +833,7 @@ pep8_python_code = \
        $(dist_tools_PYTHON) \
        $(pkglib_python_scripts) \
        $(BUILD_BASH_COMPLETION) \
+       $(CHECK_HEADER) \
        $(DOCPP) \
        $(PYTHON_BOOTSTRAP) \
        qa
@@ -919,7 +933,8 @@ htools/Ganeti/HTools/Version.hs: htools/Ganeti/HTools/Version.hs.in vcs-version
        sed -e "s/%ver%/$$VCSVER/" < $< > $@
 
 htools/Ganeti/Constants.hs: htools/Ganeti/Constants.hs.in \
-       lib/constants.py lib/_autoconf.py $(CONVERT_CONSTANTS)
+       lib/constants.py lib/_autoconf.py $(CONVERT_CONSTANTS) \
+       | lib/_vcsversion.py
        set -e; \
        { cat $< ; PYTHONPATH=. $(CONVERT_CONSTANTS); } > $@
 
@@ -981,6 +996,7 @@ lib/_autoconf.py: Makefile | lib/.dir
          echo "NODED_USER = '$(NODED_USER)'"; \
          echo "NODED_GROUP = '$(NODED_GROUP)'"; \
          echo "DISK_SEPARATOR = '$(DISK_SEPARATOR)'"; \
+         echo "QEMUIMG_PATH = '$(QEMUIMG_PATH)'"; \
          if [ "$(HTOOLS)" ]; then \
            echo "HTOOLS = True"; \
          else \
@@ -1009,6 +1025,9 @@ lib/_vcsversion.py: Makefile vcs-version | lib/.dir
          echo "VCS_VERSION = '$$VCSVER'"; \
        } > $@
 
+lib/_generated_rpc.py: lib/rpc_defs.py $(BUILD_RPC) | lib/.dir
+       PYTHONPATH=. $(RUN_IN_TEMPDIR) $(CURDIR)/$(BUILD_RPC) $< > $@
+
 $(REPLACE_VARS_SED): Makefile
        set -e; \
        { echo 's#@PREFIX@#$(prefix)#g'; \
@@ -1110,6 +1129,7 @@ check-dirs: $(BUILT_SOURCES)
 .PHONY: check-local
 check-local: check-dirs $(BUILT_SOURCES)
        $(CHECK_PYTHON_CODE) $(check_python_code)
+       PYTHONPATH=. $(CHECK_HEADER) $(check_python_code)
        $(CHECK_VERSION) $(VERSION) $(top_srcdir)/NEWS
        $(CHECK_NEWS) < $(top_srcdir)/NEWS
        PYTHONPATH=. $(RUN_IN_TEMPDIR) $(CURDIR)/$(CHECK_IMPORTS) . $(standalone_python_modules)