On Fri, Jan 3, 2014 at 9:42 AM, Jose A. Lopes <[email protected]> wrote:
> * add user and group to 'configure.ac', 'Makefile.am' and
> 'AutoConf.hs.in'
> * extend 'Daemon' datatype with 'GanetiKvmd' and implement all related
> functions, such as, 'daemonName', etc.
> * export KVM daemon name as constant
>
> Signed-off-by: Jose A. Lopes <[email protected]>
> ---
> Makefile.am | 2 ++
> configure.ac | 6 ++++++
> src/AutoConf.hs.in | 6 ++++++
> src/Ganeti/Constants.hs | 9 +++++++++
> src/Ganeti/Runtime.hs | 6 ++++++
> test/hs/Test/Ganeti/Runtime.hs | 2 ++
> 6 files changed, 31 insertions(+)
>
> diff --git a/Makefile.am b/Makefile.am
> index 8075f0e..8611dfe 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -1821,6 +1821,8 @@ src/AutoConf.hs: Makefile src/AutoConf.hs.in
> $(PRINT_PY_CONSTANTS) \
> -DRAPI_GROUP="$(RAPI_GROUP)" \
> -DCONFD_USER="$(CONFD_USER)" \
> -DCONFD_GROUP="$(CONFD_GROUP)" \
> + -DKVMD_USER="$(KVMD_USER)" \
> + -DKVMD_GROUP="$(KVMD_GROUP)" \
> -DLUXID_USER="$(LUXID_USER)" \
> -DLUXID_GROUP="$(LUXID_GROUP)" \
> -DNODED_USER="$(NODED_USER)" \
> diff --git a/configure.ac b/configure.ac
> index 80bb790..e5823a3 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -223,18 +223,21 @@ AC_ARG_WITH([user-prefix],
> [user_masterd="${withval}masterd";
> user_rapi="${withval}rapi";
> user_confd="${withval}confd";
> + user_kvmd="$user_default";
In the future we might want to consider whether using user_default),
that is, root, is actually required or we can use less privileges. Ok
for now.
> 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_kvmd="$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(KVMD_USER, $user_kvmd)
> AC_SUBST(LUXID_USER, $user_luxid)
> AC_SUBST(NODED_USER, $user_noded)
> AC_SUBST(MOND_USER, $user_mond)
> @@ -249,6 +252,7 @@ AC_ARG_WITH([group-prefix],
> [group_rapi="${withval}rapi";
> group_admin="${withval}admin";
> group_confd="${withval}confd";
> + group_kvmd="$group_default";
> group_luxid="${withval}luxid";
> group_masterd="${withval}masterd";
> group_noded="$group_default";
> @@ -257,6 +261,7 @@ AC_ARG_WITH([group-prefix],
> [group_rapi="$group_default";
> group_admin="$group_default";
> group_confd="$group_default";
> + group_kvmd="$group_default";
> group_luxid="$group_default";
> group_masterd="$group_default";
> group_noded="$group_default";
> @@ -265,6 +270,7 @@ AC_ARG_WITH([group-prefix],
> AC_SUBST(RAPI_GROUP, $group_rapi)
> AC_SUBST(ADMIN_GROUP, $group_admin)
> AC_SUBST(CONFD_GROUP, $group_confd)
> +AC_SUBST(KVMD_GROUP, $group_kvmd)
> AC_SUBST(LUXID_GROUP, $group_luxid)
> AC_SUBST(MASTERD_GROUP, $group_masterd)
> AC_SUBST(NODED_GROUP, $group_noded)
> diff --git a/src/AutoConf.hs.in b/src/AutoConf.hs.in
> index 60aba04..44720aa 100644
> --- a/src/AutoConf.hs.in
> +++ b/src/AutoConf.hs.in
> @@ -169,6 +169,12 @@ confdUser = "CONFD_USER"
> confdGroup :: String
> confdGroup = "CONFD_GROUP"
>
> +kvmdUser :: String
> +kvmdUser = "KVMD_USER"
> +
> +kvmdGroup :: String
> +kvmdGroup = "KVMD_GROUP"
> +
> luxidUser :: String
> luxidUser = "LUXID_USER"
>
> diff --git a/src/Ganeti/Constants.hs b/src/Ganeti/Constants.hs
> index 6641be6..301b5fa 100644
> --- a/src/Ganeti/Constants.hs
> +++ b/src/Ganeti/Constants.hs
> @@ -212,6 +212,12 @@ confdUser = Runtime.daemonUser GanetiConfd
> confdGroup :: String
> confdGroup = Runtime.daemonGroup (DaemonGroup GanetiConfd)
>
> +kvmdUser :: String
> +kvmdUser = Runtime.daemonUser GanetiKvmd
> +
> +kvmdGroup :: String
> +kvmdGroup = Runtime.daemonGroup (DaemonGroup GanetiKvmd)
> +
> luxidUser :: String
> luxidUser = Runtime.daemonUser GanetiLuxid
>
> @@ -341,6 +347,9 @@ luxid = Runtime.daemonName GanetiLuxid
> rapi :: String
> rapi = Runtime.daemonName GanetiRapi
>
> +kvmd :: String
> +kvmd = Runtime.daemonName GanetiKvmd
> +
> daemons :: FrozenSet String
> daemons =
> ConstantUtils.mkSet [confd,
> diff --git a/src/Ganeti/Runtime.hs b/src/Ganeti/Runtime.hs
> index 33da35e..7a299a2 100644
> --- a/src/Ganeti/Runtime.hs
> +++ b/src/Ganeti/Runtime.hs
> @@ -63,6 +63,7 @@ data GanetiDaemon = GanetiMasterd
> | GanetiNoded
> | GanetiRapi
> | GanetiConfd
> + | GanetiKvmd
> | GanetiLuxid
> | GanetiMond
> deriving (Show, Enum, Bounded, Eq, Ord)
> @@ -83,6 +84,7 @@ daemonName GanetiMasterd = "ganeti-masterd"
> daemonName GanetiNoded = "ganeti-noded"
> daemonName GanetiRapi = "ganeti-rapi"
> daemonName GanetiConfd = "ganeti-confd"
> +daemonName GanetiKvmd = "ganeti-kvmd"
> daemonName GanetiLuxid = "ganeti-luxid"
> daemonName GanetiMond = "ganeti-mond"
>
> @@ -92,6 +94,7 @@ daemonOnlyOnMaster GanetiMasterd = True
> daemonOnlyOnMaster GanetiNoded = False
> daemonOnlyOnMaster GanetiRapi = False
> daemonOnlyOnMaster GanetiConfd = False
> +daemonOnlyOnMaster GanetiKvmd = False
> daemonOnlyOnMaster GanetiLuxid = True
> daemonOnlyOnMaster GanetiMond = False
>
> @@ -101,6 +104,7 @@ daemonLogBase GanetiMasterd = "master-daemon"
> daemonLogBase GanetiNoded = "node-daemon"
> daemonLogBase GanetiRapi = "rapi-daemon"
> daemonLogBase GanetiConfd = "conf-daemon"
> +daemonLogBase GanetiKvmd = "kvm-daemon"
> daemonLogBase GanetiLuxid = "luxi-daemon"
> daemonLogBase GanetiMond = "monitoring-daemon"
>
> @@ -110,6 +114,7 @@ daemonUser GanetiMasterd = AutoConf.masterdUser
> daemonUser GanetiNoded = AutoConf.nodedUser
> daemonUser GanetiRapi = AutoConf.rapiUser
> daemonUser GanetiConfd = AutoConf.confdUser
> +daemonUser GanetiKvmd = AutoConf.kvmdUser
> daemonUser GanetiLuxid = AutoConf.luxidUser
> daemonUser GanetiMond = AutoConf.mondUser
>
> @@ -120,6 +125,7 @@ daemonGroup (DaemonGroup GanetiNoded) =
> AutoConf.nodedGroup
> daemonGroup (DaemonGroup GanetiRapi) = AutoConf.rapiGroup
> daemonGroup (DaemonGroup GanetiConfd) = AutoConf.confdGroup
> daemonGroup (DaemonGroup GanetiLuxid) = AutoConf.luxidGroup
> +daemonGroup (DaemonGroup GanetiKvmd) = AutoConf.kvmdGroup
> daemonGroup (DaemonGroup GanetiMond) = AutoConf.mondGroup
> daemonGroup (ExtraGroup DaemonsGroup) = AutoConf.daemonsGroup
> daemonGroup (ExtraGroup AdminGroup) = AutoConf.adminGroup
> diff --git a/test/hs/Test/Ganeti/Runtime.hs b/test/hs/Test/Ganeti/Runtime.hs
> index 9c3679b..605859f 100644
> --- a/test/hs/Test/Ganeti/Runtime.hs
> +++ b/test/hs/Test/Ganeti/Runtime.hs
> @@ -83,6 +83,7 @@ case_UsersGroups = do
> \ constants.NODED_USER,\n\
> \ constants.RAPI_USER,\n\
> \ constants.CONFD_USER,\n\
> + \ constants.KVMD_USER,\n\
> \ constants.LUXID_USER,\n\
> \ constants.MOND_USER,\n\
> \ ]\n\
> @@ -90,6 +91,7 @@ case_UsersGroups = do
> \ constants.NODED_GROUP,\n\
> \ constants.RAPI_GROUP,\n\
> \ constants.CONFD_GROUP,\n\
> + \ constants.KVMD_GROUP,\n\
> \ constants.LUXID_GROUP,\n\
> \ constants.MOND_GROUP,\n\
> \ constants.DAEMONS_GROUP,\n\
> --
> 1.8.5.1
>
LGTM, thanks.
Michele
--
Google Germany GmbH
Dienerstr. 12
80331 München
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg
Geschäftsführer: Graham Law, Christine Elizabeth Flores