X-Git-Url: https://code.grnet.gr/git/ganeti-local/blobdiff_plain/0175fd8cb3a7fc2e1880831eaac414850c5b95fb..4412f2aeb2e7e89ea944756c3d88245c74195ba6:/configure.ac diff --git a/configure.ac b/configure.ac index f1d17a0..0cd5170 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], [1]) -m4_define([gnt_version_revision], [0]) -m4_define([gnt_version_suffix], [~rc3]) +m4_define([gnt_version_minor], [2]) +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, @@ -39,6 +39,16 @@ AC_ARG_WITH([export-dir], [export_dir="/srv/ganeti/export"]) AC_SUBST(EXPORT_DIR, $export_dir) +# --with-ssh-config-dir=... +AC_ARG_WITH([ssh-config-dir], + [AS_HELP_STRING([--with-ssh-config-dir=DIR], + [ directory with ssh host keys ] + [ (default is /etc/ssh)] + )], + [ssh_config_dir="$withval"], + [ssh_config_dir="/etc/ssh"]) +AC_SUBST(SSH_CONFIG_DIR, $ssh_config_dir) + # --with-os-search-path=... # do a bit of black sed magic to for quoting of the strings in the list AC_ARG_WITH([os-search-path], @@ -94,9 +104,16 @@ AC_ARG_WITH([file-storage-dir], [directory to store files for file-based backend] [ (default is /srv/ganeti/file-storage)] )], - [file_storage_dir="$withval"], - [file_storage_dir="/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-kvm-path=... AC_ARG_WITH([kvm-path], @@ -108,7 +125,7 @@ AC_ARG_WITH([kvm-path], [kvm_path="/usr/bin/kvm"]) AC_SUBST(KVM_PATH, $kvm_path) -# ---with-lvm-stripecount=... +# --with-lvm-stripecount=... AC_ARG_WITH([lvm-stripecount], [AS_HELP_STRING([--with-lvm-stripecount=NUM], [the number of stripes to use for LVM volumes] @@ -118,6 +135,94 @@ AC_ARG_WITH([lvm-stripecount], [lvm_stripecount="1"]) AC_SUBST(LVM_STRIPECOUNT, $lvm_stripecount) +# --with-user-prefix=... +AC_ARG_WITH([user-prefix], + [AS_HELP_STRING([--with-user-prefix=PREFIX], + [prefix for daemon users] + [ (default is to run all daemons as root)] + )], + [user_masterd="${withval}masterd"; + user_rapi="${withval}rapi"; + user_confd="${withval}confd"; + user_noded="root"], + [user_masterd="root"; + user_rapi="root"; + user_confd="root"; + user_noded="root"]) +AC_SUBST(MASTERD_USER, $user_masterd) +AC_SUBST(RAPI_USER, $user_rapi) +AC_SUBST(CONFD_USER, $user_confd) +AC_SUBST(NODED_USER, $user_noded) + +# --with-group-prefix=... +AC_ARG_WITH([group-prefix], + [AS_HELP_STRING([--with-group-prefix=PREFIX], + [prefix for daemon POSIX groups] + [ (default is to run all daemons under group root)] + )], + [group_rapi="${withval}rapi"; + group_admin="${withval}admin"; + group_confd="${withval}confd"; + group_masterd="${withval}masterd"; + group_daemons="${withval}daemons";], + [group_rapi="root"; + group_admin="root"; + group_confd="root"; + group_masterd="root"; + group_daemons="root"]) +AC_SUBST(RAPI_GROUP, $group_rapi) +AC_SUBST(ADMIN_GROUP, $group_admin) +AC_SUBST(CONFD_GROUP, $group_confd) +AC_SUBST(MASTERD_GROUP, $group_masterd) +AC_SUBST(DAEMONS_GROUP, $group_daemons) + +# 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([Group for daemons is $group_daemons]) +AC_MSG_NOTICE([Group for clients is $group_admin]) + +# --enable-drbd-barriers +AC_ARG_ENABLE([drbd-barriers], + [AS_HELP_STRING([--enable-drbd-barriers], + [enable the DRBD barrier functionality (>= 8.0.12) (default: enabled)])], + [[if test "$enableval" != no; then + DRBD_BARRIERS=True + else + DRBD_BARRIERS=False + fi + ]], + [DRBD_BARRIERS=True]) +AC_SUBST(DRBD_BARRIERS, $DRBD_BARRIERS) + +# --enable-syslog[=no/yes/only] +AC_ARG_ENABLE([syslog], + [AS_HELP_STRING([--enable-syslog], + [enable use of syslog (default: disabled), one of no/yes/only])], + [[case "$enableval" in + no) + SYSLOG=no + ;; + yes) + SYSLOG=yes + ;; + only) + SYSLOG=only + ;; + *) + SYSLOG= + ;; + esac + ]], + [SYSLOG=no]) + +if test -z "$SYSLOG" +then + AC_MSG_ERROR([invalid value for syslog, choose one of no/yes/only]) +fi +AC_SUBST(SYSLOG_USAGE, $SYSLOG) + # Check common programs AC_PROG_INSTALL AC_PROG_LN_S @@ -192,6 +297,17 @@ fi AC_SUBST(SOCAT_USE_ESCAPE) +if man --help | grep -q -e --warnings +then + MAN_HAS_WARNINGS=1 +else + MAN_HAS_WARNINGS= + AC_MSG_WARN([man doesn't support --warnings, man pages checks + will not be possible]) +fi + +AC_SUBST(MAN_HAS_WARNINGS) + # Check for Python AM_PATH_PYTHON(2.4) @@ -199,6 +315,14 @@ AC_PYTHON_MODULE(OpenSSL, t) AC_PYTHON_MODULE(simplejson, t) AC_PYTHON_MODULE(pyparsing, t) AC_PYTHON_MODULE(pyinotify, t) +AC_PYTHON_MODULE(pycurl, t) + +# This is optional but then we've limited functionality +AC_PYTHON_MODULE(paramiko) +if test "$HAVE_PYMOD_PARAMIKO" = "no"; then + AC_MSG_WARN([You do not have paramiko installed. While this is optional you + have to setup SSH and noded on the joining nodes yourself.]) +fi AC_CONFIG_FILES([ Makefile ])