diff --git a/lib/constants.py b/lib/constants.py index 9cbb4fef7bc82d769987b2bd5d33f1d58bf534f1..e3be62efd77f05074984e7b99b7089bb35756b4d 100644 --- a/lib/constants.py +++ b/lib/constants.py @@ -157,12 +157,14 @@ NODED = "ganeti-noded" CONFD = "ganeti-confd" RAPI = "ganeti-rapi" MASTERD = "ganeti-masterd" +MOND = "ganeti-mond" DAEMONS = compat.UniqueFrozenset([ NODED, CONFD, RAPI, MASTERD, + MOND, ]) DAEMONS_PORTS = { @@ -172,6 +174,7 @@ DAEMONS_PORTS = { RAPI: ("tcp", 5080), SSH: ("tcp", 22), } + DEFAULT_NODED_PORT = DAEMONS_PORTS[NODED][1] DEFAULT_CONFD_PORT = DAEMONS_PORTS[CONFD][1] DEFAULT_RAPI_PORT = DAEMONS_PORTS[RAPI][1] @@ -184,6 +187,7 @@ DAEMONS_LOGBASE = { CONFD: "conf-daemon", RAPI: "rapi-daemon", MASTERD: "master-daemon", + MOND: "monitoring-daemon", } DAEMONS_LOGFILES = \ @@ -191,6 +195,8 @@ DAEMONS_LOGFILES = \ for daemon in DAEMONS_LOGBASE) # Some daemons might require more than one logfile. +# Specifically, right now only the Haskell http library "snap", used by the +# monitoring daemon, requires multiple log files. # These are the only valid reasons for having an extra logfile EXTRA_LOGREASON_ACCESS = "access" @@ -202,7 +208,12 @@ VALID_EXTRA_LOGREASONS = compat.UniqueFrozenset([ ]) # These are the extra logfiles, grouped by daemon -DAEMONS_EXTRA_LOGBASE = {} +DAEMONS_EXTRA_LOGBASE = { + MOND: { + EXTRA_LOGREASON_ACCESS: "monitoring-daemon-access", + EXTRA_LOGREASON_ERROR: "monitoring-daemon-error", + } + } DAEMONS_EXTRA_LOGFILES = \ dict((daemon, dict((extra, diff --git a/src/Ganeti/Runtime.hs b/src/Ganeti/Runtime.hs index 33f114cdb5901e4b65cb67c9f51dfec39d47068d..effa41f82633034d68f74586fa41cc3162e9b977 100644 --- a/src/Ganeti/Runtime.hs +++ b/src/Ganeti/Runtime.hs @@ -56,6 +56,7 @@ data GanetiDaemon = GanetiMasterd | GanetiNoded | GanetiRapi | GanetiConfd + | GanetiMond deriving (Show, Enum, Bounded, Eq, Ord) data MiscGroup = DaemonsGroup @@ -74,6 +75,7 @@ daemonName GanetiMasterd = C.masterd daemonName GanetiNoded = C.noded daemonName GanetiRapi = C.rapi daemonName GanetiConfd = C.confd +daemonName GanetiMond = C.mond -- | Returns the log file base for a daemon. daemonLogBase :: GanetiDaemon -> String @@ -81,6 +83,7 @@ daemonLogBase GanetiMasterd = C.daemonsLogbaseGanetiMasterd daemonLogBase GanetiNoded = C.daemonsLogbaseGanetiNoded daemonLogBase GanetiRapi = C.daemonsLogbaseGanetiRapi daemonLogBase GanetiConfd = C.daemonsLogbaseGanetiConfd +daemonLogBase GanetiMond = C.daemonsLogbaseGanetiMond -- | Returns the configured user name for a daemon. daemonUser :: GanetiDaemon -> String @@ -88,6 +91,7 @@ daemonUser GanetiMasterd = C.masterdUser daemonUser GanetiNoded = C.nodedUser daemonUser GanetiRapi = C.rapiUser daemonUser GanetiConfd = C.confdUser +daemonUser GanetiMond = C.mondUser -- | Returns the configured group for a daemon. daemonGroup :: GanetiGroup -> String @@ -95,6 +99,7 @@ daemonGroup (DaemonGroup GanetiMasterd) = C.masterdGroup daemonGroup (DaemonGroup GanetiNoded) = C.nodedGroup daemonGroup (DaemonGroup GanetiRapi) = C.rapiGroup daemonGroup (DaemonGroup GanetiConfd) = C.confdGroup +daemonGroup (DaemonGroup GanetiMond) = C.mondGroup daemonGroup (ExtraGroup DaemonsGroup) = C.daemonsGroup daemonGroup (ExtraGroup AdminGroup) = C.adminGroup diff --git a/test/hs/Test/Ganeti/Runtime.hs b/test/hs/Test/Ganeti/Runtime.hs index 310efcd8f03409587f9384951b66a21982a6a370..bf49c4b6b587b16f735cb4456e5a389cc136042d 100644 --- a/test/hs/Test/Ganeti/Runtime.hs +++ b/test/hs/Test/Ganeti/Runtime.hs @@ -83,13 +83,16 @@ case_UsersGroups = do \ constants.NODED_USER,\n\ \ constants.RAPI_USER,\n\ \ constants.CONFD_USER,\n\ + \ constants.MOND_USER,\n\ \ ]\n\ \groups = [constants.MASTERD_GROUP,\n\ \ constants.NODED_GROUP,\n\ \ constants.RAPI_GROUP,\n\ \ constants.CONFD_GROUP,\n\ + \ constants.MOND_GROUP,\n\ \ constants.DAEMONS_GROUP,\n\ - \ constants.ADMIN_GROUP]\n\ + \ constants.ADMIN_GROUP,\n\ + \ ]\n\ \encoded = (users, groups)\n\ \print serializer.Dump(encoded)" "" >>= checkPythonResult