# Configure script for Ganeti
m4_define([gnt_version_major], [2])
-m4_define([gnt_version_minor], [7])
-m4_define([gnt_version_revision], [0])
-m4_define([gnt_version_suffix], [~beta1])
+m4_define([gnt_version_minor], [9])
+m4_define([gnt_version_revision], [1])
+m4_define([gnt_version_suffix], [])
m4_define([gnt_version_full],
m4_format([%d.%d.%d%s],
gnt_version_major, gnt_version_minor,
[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],
[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],
- [directory to store files for shared file-based backend]
- [ (default is /srv/ganeti/shared-file-storage)]
- )],
- [[shared_file_storage_dir="$withval";
- if test "$withval" != no; then
- enable_shared_file_storage=True
- else
- enable_shared_file_storage=False
- fi
- ]],
- [[shared_file_storage_dir="/srv/ganeti/shared-file-storage";
- enable_shared_file_storage=True]])
-AC_SUBST(SHARED_FILE_STORAGE_DIR, $shared_file_storage_dir)
-AC_SUBST(ENABLE_SHARED_FILE_STORAGE, $enable_shared_file_storage)
-
# --with-kvm-path=...
AC_ARG_WITH([kvm-path],
[AS_HELP_STRING([--with-kvm-path=PATH],
[user_masterd="${withval}masterd";
user_rapi="${withval}rapi";
user_confd="${withval}confd";
+ user_luxid="${withval}luxid";
user_noded="$user_default";
- user_mond="${withval}mond"],
+ user_mond="$user_default"],
[user_masterd="$user_default";
user_rapi="$user_default";
user_confd="$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)
[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_mond="${withval}mond"],
+ 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";
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_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])
AC_MSG_ERROR([Sphinx 1.0 or higher is required])
fi
fi
+AM_CONDITIONAL([HAS_SPHINX], [test -n "$SPHINX"])
AC_ARG_ENABLE([manpages-in-doc],
[AS_HELP_STRING([--enable-manpages-in-doc],
AC_GHC_PKG_REQUIRE(mtl)
AC_GHC_PKG_REQUIRE(bytestring)
AC_GHC_PKG_REQUIRE(utf8-string)
+AC_GHC_PKG_REQUIRE(hslogger)
# extra modules for confd functionality
HS_REGEX_PCRE=-DNO_REGEX_PCRE
CONFD_PKG=
AC_GHC_PKG_CHECK([regex-pcre], [HS_REGEX_PCRE=],
[CONFD_PKG="$CONFD_PKG regex-pcre"])
- AC_GHC_PKG_CHECK([hslogger], [], [CONFD_PKG="$CONFD_PKG hslogger"])
AC_GHC_PKG_CHECK([Crypto], [], [CONFD_PKG="$CONFD_PKG Crypto"])
AC_GHC_PKG_CHECK([text], [], [CONFD_PKG="$CONFD_PKG text"])
AC_GHC_PKG_CHECK([hinotify], [], [CONFD_PKG="$CONFD_PKG hinotify"])
[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"
+ fi
+ has_monitoring_pkg=False
if test -z "$MONITORING_PKG"; then
- has_monitoring=True
+ has_monitoring_pkg=True
elif test "$enable_monitoring" = check; then
AC_MSG_WARN(m4_normalize([The required extra libraries for the monitoring
daemon were not found ($MONITORING_PKG),
required libraries were not found:
$MONITORING_PKG]))
fi
+ has_monitoring_dep=False
+ if test -z "$MONITORING_DEP"; then
+ has_monitoring_dep=True
+ elif test "$enable_monitoring" = check; then
+ AC_MSG_WARN(m4_normalize([The optional Ganeti components required for the
+ monitoring agent were not enabled
+ ($MONITORING_DEP), monitoring disabled]))
+ else
+ AC_MSG_FAILURE(m4_normalize([The monitoring functionality was requested, but
+ required optional Ganeti components were not
+ found: $MONITORING_DEP]))
+ fi
+
fi
-if test "$has_monitoring" = True; then
- AC_MSG_NOTICE([Enabling the monitoring daemon usage])
+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_MOND, $has_monitoring)
AM_CONDITIONAL([ENABLE_MOND], [test "$has_monitoring" = True])
# of the checks.
AC_GHC_PKG_CHECK([attoparsec], [], [HS_NODEV=1])
AC_GHC_PKG_CHECK([vector], [], [HS_NODEV=1])
+AC_GHC_PKG_CHECK([process], [], [HS_NODEV=1])
+AC_GHC_PKG_CHECK([snap-server], [], [HS_NODEV=1])
+AC_GHC_PKG_CHECK([regex-pcre], [], [HS_NODEV=1])
+AC_GHC_PKG_CHECK([Crypto], [], [HS_NODEV=1])
+AC_GHC_PKG_CHECK([text], [], [HS_NODEV=1])
+AC_GHC_PKG_CHECK([hinotify], [], [HS_NODEV=1])
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]))
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