Revision 1c31b263 src/Ganeti/Runtime.hs

b/src/Ganeti/Runtime.hs
30 30
  , RuntimeEnts
31 31
  , daemonName
32 32
  , daemonOnlyOnMaster
33
  , daemonLogBase
33 34
  , daemonUser
34 35
  , daemonGroup
35 36
  , ExtraLogReason(..)
36 37
  , daemonLogFile
38
  , daemonsExtraLogbase
37 39
  , daemonsExtraLogFile
38 40
  , daemonPidFile
39 41
  , getEnts
......
51 53
import System.Posix.User
52 54
import Text.Printf
53 55

  
54
import qualified Ganeti.Constants as C
56
import qualified Ganeti.ConstantUtils as ConstantUtils
55 57
import qualified Ganeti.Path as Path
56 58
import Ganeti.BasicTypes
57 59

  
60
import AutoConf
61

  
58 62
data GanetiDaemon = GanetiMasterd
59 63
                  | GanetiNoded
60 64
                  | GanetiRapi
......
75 79

  
76 80
-- | Returns the daemon name for a given daemon.
77 81
daemonName :: GanetiDaemon -> String
78
daemonName GanetiMasterd = C.masterd
79
daemonName GanetiNoded   = C.noded
80
daemonName GanetiRapi    = C.rapi
81
daemonName GanetiConfd   = C.confd
82
daemonName GanetiLuxid   = C.luxid
83
daemonName GanetiMond    = C.mond
82
daemonName GanetiMasterd = "ganeti-masterd"
83
daemonName GanetiNoded   = "ganeti-noded"
84
daemonName GanetiRapi    = "ganeti-rapi"
85
daemonName GanetiConfd   = "ganeti-confd"
86
daemonName GanetiLuxid   = "ganeti-luxid"
87
daemonName GanetiMond    = "ganeti-mond"
84 88

  
85 89
-- | Returns whether the daemon only runs on the master node.
86 90
daemonOnlyOnMaster :: GanetiDaemon -> Bool
......
93 97

  
94 98
-- | Returns the log file base for a daemon.
95 99
daemonLogBase :: GanetiDaemon -> String
96
daemonLogBase GanetiMasterd = C.daemonsLogbaseGanetiMasterd
97
daemonLogBase GanetiNoded   = C.daemonsLogbaseGanetiNoded
98
daemonLogBase GanetiRapi    = C.daemonsLogbaseGanetiRapi
99
daemonLogBase GanetiConfd   = C.daemonsLogbaseGanetiConfd
100
daemonLogBase GanetiLuxid   = C.daemonsLogbaseGanetiLuxid
101
daemonLogBase GanetiMond    = C.daemonsLogbaseGanetiMond
100
daemonLogBase GanetiMasterd = "master-daemon"
101
daemonLogBase GanetiNoded   = "node-daemon"
102
daemonLogBase GanetiRapi    = "rapi-daemon"
103
daemonLogBase GanetiConfd   = "conf-daemon"
104
daemonLogBase GanetiLuxid   = "luxi-daemon"
105
daemonLogBase GanetiMond    = "monitoring-daemon"
102 106

  
103 107
-- | Returns the configured user name for a daemon.
104 108
daemonUser :: GanetiDaemon -> String
105
daemonUser GanetiMasterd = C.masterdUser
106
daemonUser GanetiNoded   = C.nodedUser
107
daemonUser GanetiRapi    = C.rapiUser
108
daemonUser GanetiConfd   = C.confdUser
109
daemonUser GanetiLuxid   = C.luxidUser
110
daemonUser GanetiMond    = C.mondUser
109
daemonUser GanetiMasterd = AutoConf.masterdUser
110
daemonUser GanetiNoded   = AutoConf.nodedUser
111
daemonUser GanetiRapi    = AutoConf.rapiUser
112
daemonUser GanetiConfd   = AutoConf.confdUser
113
daemonUser GanetiLuxid   = AutoConf.luxidUser
114
daemonUser GanetiMond    = AutoConf.mondUser
111 115

  
112 116
-- | Returns the configured group for a daemon.
113 117
daemonGroup :: GanetiGroup -> String
114
daemonGroup (DaemonGroup GanetiMasterd) = C.masterdGroup
115
daemonGroup (DaemonGroup GanetiNoded)   = C.nodedGroup
116
daemonGroup (DaemonGroup GanetiRapi)    = C.rapiGroup
117
daemonGroup (DaemonGroup GanetiConfd)   = C.confdGroup
118
daemonGroup (DaemonGroup GanetiLuxid)   = C.luxidGroup
119
daemonGroup (DaemonGroup GanetiMond)    = C.mondGroup
120
daemonGroup (ExtraGroup  DaemonsGroup)  = C.daemonsGroup
121
daemonGroup (ExtraGroup  AdminGroup)    = C.adminGroup
118
daemonGroup (DaemonGroup GanetiMasterd) = AutoConf.masterdGroup
119
daemonGroup (DaemonGroup GanetiNoded)   = AutoConf.nodedGroup
120
daemonGroup (DaemonGroup GanetiRapi)    = AutoConf.rapiGroup
121
daemonGroup (DaemonGroup GanetiConfd)   = AutoConf.confdGroup
122
daemonGroup (DaemonGroup GanetiLuxid)   = AutoConf.luxidGroup
123
daemonGroup (DaemonGroup GanetiMond)    = AutoConf.mondGroup
124
daemonGroup (ExtraGroup  DaemonsGroup)  = AutoConf.daemonsGroup
125
daemonGroup (ExtraGroup  AdminGroup)    = AutoConf.adminGroup
122 126

  
123 127
data ExtraLogReason = AccessLog | ErrorLog
124 128

  
125
daemonsExtraLogbase :: GanetiDaemon -> ExtraLogReason -> Maybe String
126
daemonsExtraLogbase GanetiMond AccessLog =
127
  Just C.daemonsExtraLogbaseGanetiMondAccess
128

  
129
daemonsExtraLogbase GanetiMond ErrorLog =
130
  Just C.daemonsExtraLogbaseGanetiMondError
131

  
132
daemonsExtraLogbase _ _ = Nothing
129
daemonsExtraLogbase :: GanetiDaemon -> ExtraLogReason -> String
130
daemonsExtraLogbase daemon AccessLog = daemonLogBase daemon ++ "-access"
131
daemonsExtraLogbase daemon ErrorLog = daemonLogBase daemon ++ "-error"
133 132

  
134 133
-- | Returns the log file for a daemon.
135 134
daemonLogFile :: GanetiDaemon -> IO FilePath
......
137 136
  logDir <- Path.logDir
138 137
  return $ logDir </> daemonLogBase daemon <.> "log"
139 138

  
140
daemonsExtraLogFile :: GanetiDaemon -> ExtraLogReason -> IO (Maybe FilePath)
139
-- | Returns the extra log files for a daemon.
140
daemonsExtraLogFile :: GanetiDaemon -> ExtraLogReason -> IO FilePath
141 141
daemonsExtraLogFile daemon logreason = do
142 142
  logDir <- Path.logDir
143
  case daemonsExtraLogbase daemon logreason of
144
    Nothing -> return Nothing
145
    Just logbase -> return . Just $ logDir </> logbase <.> "log"
143
  return $ logDir </> daemonsExtraLogbase daemon logreason <.> "log"
146 144

  
147 145
-- | Returns the pid file name for a daemon.
148 146
daemonPidFile :: GanetiDaemon -> IO FilePath
......
202 200
                   \expected %d\n" name
203 201
              (fromIntegral actual::Int)
204 202
              (fromIntegral expected::Int) :: IO ()
205
    exitWith $ ExitFailure C.exitFailure
203
    exitWith $ ExitFailure ConstantUtils.exitFailure

Also available in: Unified diff