X-Git-Url: https://code.grnet.gr/git/ganeti-local/blobdiff_plain/0e6b8229f52c5f44a091552c273cb2a507cb7fec..9d20b835bbff82436b1fd157da96b932578d242b:/configure.ac diff --git a/configure.ac b/configure.ac index 3418b66..6e0e7a1 100644 --- a/configure.ac +++ b/configure.ac @@ -1,8 +1,8 @@ # Configure script for Ganeti m4_define([gnt_version_major], [2]) -m4_define([gnt_version_minor], [7]) +m4_define([gnt_version_minor], [9]) m4_define([gnt_version_revision], [0]) -m4_define([gnt_version_suffix], [~rc3]) +m4_define([gnt_version_suffix], [~alpha1]) m4_define([gnt_version_full], m4_format([%d.%d.%d%s], gnt_version_major, gnt_version_minor, @@ -119,19 +119,6 @@ AC_ARG_WITH([xen-initrd], [xen_initrd="/boot/initrd-3-xenU"]) AC_SUBST(XEN_INITRD, $xen_initrd) -# --with-xen-cmd=... -AC_ARG_WITH([xen-cmd], - [AS_HELP_STRING([--with-xen-cmd=CMD], - [Sets the xen cli interface command (default is xm)] - )], - [xen_cmd="$withval"], - [xen_cmd=xm]) -AC_SUBST(XEN_CMD, $xen_cmd) - -if ! test "$XEN_CMD" = xl -o "$XEN_CMD" = xm; then - AC_MSG_ERROR([Unsupported xen command specified]) -fi - # --with-kvm-kernel=... AC_ARG_WITH([kvm-kernel], [AS_HELP_STRING([--with-kvm-kernel=PATH], @@ -141,24 +128,6 @@ AC_ARG_WITH([kvm-kernel], [kvm_kernel="/boot/vmlinuz-3-kvmU"]) AC_SUBST(KVM_KERNEL, $kvm_kernel) -# --with-file-storage-dir=... -AC_ARG_WITH([file-storage-dir], - [AS_HELP_STRING([--with-file-storage-dir=PATH], - [directory to store files for file-based backend] - [ (default is /srv/ganeti/file-storage)] - )], - [[file_storage_dir="$withval"; - if test "$withval" != no; then - enable_file_storage=True - else - enable_file_storage=False - fi - ]], - [[file_storage_dir="/srv/ganeti/file-storage"; - enable_file_storage=True]]) -AC_SUBST(FILE_STORAGE_DIR, $file_storage_dir) -AC_SUBST(ENABLE_FILE_STORAGE, $enable_file_storage) - # --with-shared-file-storage-dir=... AC_ARG_WITH([shared-file-storage-dir], [AS_HELP_STRING([--with-shared-file-storage-dir=PATH], @@ -243,15 +212,21 @@ AC_ARG_WITH([user-prefix], [user_masterd="${withval}masterd"; user_rapi="${withval}rapi"; user_confd="${withval}confd"; - user_noded="$user_default"], + user_luxid="${withval}luxid"; + user_noded="$user_default"; + user_mond="$user_default"], [user_masterd="$user_default"; user_rapi="$user_default"; user_confd="$user_default"; - user_noded="$user_default"]) + user_luxid="$user_default"; + user_noded="$user_default"; + user_mond="$user_default"]) AC_SUBST(MASTERD_USER, $user_masterd) AC_SUBST(RAPI_USER, $user_rapi) AC_SUBST(CONFD_USER, $user_confd) +AC_SUBST(LUXID_USER, $user_luxid) AC_SUBST(NODED_USER, $user_noded) +AC_SUBST(MOND_USER, $user_mond) # --with-group-prefix=... AC_ARG_WITH([group-prefix], @@ -263,26 +238,33 @@ AC_ARG_WITH([group-prefix], [group_rapi="${withval}rapi"; group_admin="${withval}admin"; group_confd="${withval}confd"; + group_luxid="${withval}luxid"; group_masterd="${withval}masterd"; group_noded="$group_default"; - group_daemons="${withval}daemons";], + group_daemons="${withval}daemons"; + group_mond="$group_default"], [group_rapi="$group_default"; group_admin="$group_default"; group_confd="$group_default"; + group_luxid="$group_default"; group_masterd="$group_default"; group_noded="$group_default"; - group_daemons="$group_default"]) + group_daemons="$group_default"; + group_mond="$group_default"]) AC_SUBST(RAPI_GROUP, $group_rapi) AC_SUBST(ADMIN_GROUP, $group_admin) AC_SUBST(CONFD_GROUP, $group_confd) +AC_SUBST(LUXID_GROUP, $group_luxid) AC_SUBST(MASTERD_GROUP, $group_masterd) AC_SUBST(NODED_GROUP, $group_noded) AC_SUBST(DAEMONS_GROUP, $group_daemons) +AC_SUBST(MOND_GROUP, $group_mond) # Print the config to the user AC_MSG_NOTICE([Running ganeti-masterd as $group_masterd:$group_masterd]) AC_MSG_NOTICE([Running ganeti-rapi as $user_rapi:$group_rapi]) AC_MSG_NOTICE([Running ganeti-confd as $user_confd:$group_confd]) +AC_MSG_NOTICE([Running ganeti-luxid as $user_luxid:$group_luxid]) AC_MSG_NOTICE([Group for daemons is $group_daemons]) AC_MSG_NOTICE([Group for clients is $group_admin]) @@ -467,14 +449,6 @@ then AC_MSG_WARN([qemu-img not found, using ovfconverter will not be possible]) fi -# --enable-htools-rapi -HTOOLS_RAPI= -AC_ARG_ENABLE([htools-rapi], - [AS_HELP_STRING([--enable-htools-rapi], - [enable use of curl in the Haskell code (default: check)])], - [], - [enable_htools_rapi=check]) - # --enable-confd ENABLE_CONFD= AC_ARG_ENABLE([confd], @@ -483,10 +457,10 @@ AC_ARG_ENABLE([confd], [], [enable_confd=check]) -ENABLE_MONITORING= +ENABLE_MOND= AC_ARG_ENABLE([monitoring], [AS_HELP_STRING([--enable-monitoring], - [enable the ganeti monitoring agent (default: check)])], + [enable the ganeti monitoring daemon (default: check)])], [], [enable_monitoring=check]) @@ -517,29 +491,13 @@ fi # check for modules, first custom/special checks AC_MSG_NOTICE([checking for required haskell modules]) -HS_NOCURL=-DNO_CURL -if test "$enable_htools_rapi" != no; then - AC_GHC_PKG_CHECK([curl], [HS_NOCURL=], []) - if test -n "$HS_NOCURL"; then - if test "$enable_htools_rapi" = check; then - AC_MSG_WARN(m4_normalize([The curl library was not found, Haskell - code will be compiled without RAPI support])) - else - AC_MSG_FAILURE(m4_normalize([The curl library was not found, but it has - been requested])) - fi - else - AC_MSG_NOTICE([Enabling curl/RAPI/RPC usage in Haskell code]) - fi -fi -AC_SUBST(HS_NOCURL) - HS_PARALLEL3= AC_GHC_PKG_CHECK([parallel-3.*], [HS_PARALLEL3=-DPARALLEL3], [AC_GHC_PKG_REQUIRE(parallel)], t) AC_SUBST(HS_PARALLEL3) # and now standard modules +AC_GHC_PKG_REQUIRE(curl) AC_GHC_PKG_REQUIRE(json) AC_GHC_PKG_REQUIRE(network) AC_GHC_PKG_REQUIRE(mtl) @@ -576,12 +534,16 @@ fi AC_SUBST(ENABLE_CONFD, $has_confd) AM_CONDITIONAL([ENABLE_CONFD], [test x$has_confd = xTrue]) -#extra modules for monitoring agent functionality +#extra modules for monitoring daemon functionality has_monitoring=False if test "$enable_monitoring" != no; then MONITORING_PKG= AC_GHC_PKG_CHECK([attoparsec], [], [MONITORING_PKG="$MONITORING_PKG attoparsec"]) + AC_GHC_PKG_CHECK([snap-server], [], + [MONITORING_PKG="$MONITORING_PKG snap-server"]) + AC_GHC_PKG_CHECK([process], [], + [MONITORING_PKG="$MONITORING_PKG process"]) MONITORING_DEP= if test "$has_confd" = False; then MONITORING_DEP="$MONITORING_DEP confd" @@ -591,7 +553,7 @@ if test "$enable_monitoring" != no; then has_monitoring_pkg=True elif test "$enable_monitoring" = check; then AC_MSG_WARN(m4_normalize([The required extra libraries for the monitoring - agent were not found ($MONITORING_PKG), + daemon were not found ($MONITORING_PKG), monitoring disabled])) else AC_MSG_FAILURE(m4_normalize([The monitoring functionality was requested, but @@ -616,8 +578,8 @@ if test "$has_monitoring_pkg" = True -a "$has_monitoring_dep" = True; then has_monitoring=True AC_MSG_NOTICE([Enabling the monitoring agent usage]) fi -AC_SUBST(ENABLE_MONITORING, $has_monitoring) -AM_CONDITIONAL([ENABLE_MONITORING], [test "$has_monitoring" = True]) +AC_SUBST(ENABLE_MOND, $has_monitoring) +AM_CONDITIONAL([ENABLE_MOND], [test "$has_monitoring" = True]) # development modules HS_NODEV= @@ -631,6 +593,8 @@ AC_GHC_PKG_CHECK([temporary], [], [HS_NODEV=1]) # of the checks. AC_GHC_PKG_CHECK([attoparsec], [], [HS_NODEV=1]) AC_GHC_PKG_CHECK([vector], [], [HS_NODEV=1]) +AC_GHC_PKG_CHECK([process], [], + [MONITORING_PKG="$MONITORING_PKG process"]) if test -n "$HS_NODEV"; then AC_MSG_WARN(m4_normalize([Required development modules were not found, you won't be able to run Haskell unittests])) @@ -660,8 +624,8 @@ AC_ARG_ENABLE([split-query], ;; esac ]], - [[case "x${has_confd}x${HS_NOCURL}x" in - xTruexx) + [[case "x${has_confd}x" in + xTruex) enable_split_query=True ;; *) @@ -674,10 +638,6 @@ if test x$enable_split_query = xTrue -a x$has_confd != xTrue; then AC_MSG_ERROR([Split queries require the confd daemon]) fi -if test x$enable_split_query = xTrue -a x$HS_NOCURL != x; then - AC_MSG_ERROR([Split queries require the htools-rapi feature (curl library)]) -fi - if test x$enable_split_query = xTrue; then AC_MSG_NOTICE([Split query functionality enabled]) fi @@ -787,7 +747,7 @@ fi AC_SUBST(MAN_HAS_WARNINGS) # Check for Python -AM_PATH_PYTHON(2.4) +AM_PATH_PYTHON(2.6) AC_PYTHON_MODULE(OpenSSL, t) AC_PYTHON_MODULE(simplejson, t) @@ -796,9 +756,26 @@ AC_PYTHON_MODULE(pyinotify, t) AC_PYTHON_MODULE(pycurl, t) AC_PYTHON_MODULE(bitarray, t) AC_PYTHON_MODULE(ipaddr, t) +AC_PYTHON_MODULE(mock) AC_PYTHON_MODULE(affinity) AC_PYTHON_MODULE(paramiko) +# Development-only Python modules +PY_NODEV= +AC_PYTHON_MODULE(yaml) +if test $HAVE_PYMOD_YAML == "no"; then + PY_NODEV="$PY_NODEV yaml" +fi + +if test -n "$PY_NODEV"; then + AC_MSG_WARN(m4_normalize([Required development modules ($PY_NODEV) were not + found, you won't be able to run Python unittests])) +else + AC_MSG_NOTICE([Python development modules found, unittests enabled]) +fi +AC_SUBST(PY_NODEV) +AM_CONDITIONAL([PY_UNIT], [test -n $PY_NODEV]) + AC_CONFIG_FILES([ Makefile ]) AC_OUTPUT