Adding customized user/group as configure flags
authorRené Nussbaumer <rn@google.com>
Tue, 18 May 2010 13:03:17 +0000 (15:03 +0200)
committerRené Nussbaumer <rn@google.com>
Fri, 4 Jun 2010 14:22:39 +0000 (16:22 +0200)
Signed-off-by: René Nussbaumer <rn@google.com>
Reviewed-by: Michael Hanselmann <hansmi@google.com>

Makefile.am
configure.ac

index 1eaba4b..20c6e58 100644 (file)
@@ -530,6 +530,14 @@ $(REPLACE_VARS_SED): Makefile
          echo 's#@RPL_FILE_STORAGE_DIR@#$(FILE_STORAGE_DIR)#g'; \
          echo 's#@RPL_SSH_INITD_SCRIPT@#$(SSH_INITD_SCRIPT)#g'; \
          echo 's#@PKGLIBDIR@#$(pkglibdir)#g'; \
+         echo 's#@GNTMASTERUSER@#$(MASTERD_USER)#g'; \
+         echo 's#@GNTRAPIUSER@#$(RAPI_USER)#g'; \
+         echo 's#@GNTCONFDUSER@#$(CONFD_USER)#g'; \
+         echo 's#@GNTNODEDUSER@#$(NODED_USER)#g'; \
+         echo 's#@GNTRAPIGROUP@#$(RAPI_GROUP)#g'; \
+         echo 's#@GNTADMINGROUP@#$(ADMIN_GROUP)#g'; \
+         echo 's#@GNTCONFDGROUP@#$(CONFD_GROUP)#g'; \
+         echo 's#@GNTMASTERDGROUP@#$(MASTERD_GROUP)#g'; \
        } > $@
 
 # We need to create symlinks because "make distcheck" will not install Python
index f7eb78b..e75ed21 100644 (file)
@@ -135,6 +135,54 @@ 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="root";
+   user_rapi="${withval}rapi";
+   user_confd="root";
+   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="root";
+   group_admin="root";
+   group_confd="root";
+   group_masterd="root";
+   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],