From d6769989c2a0d811a6b3fbaac86534ea3063b33b Mon Sep 17 00:00:00 2001 From: "Jose A. Lopes" Date: Tue, 3 Dec 2013 16:08:38 +0100 Subject: [PATCH] Add KVM daemon daemonize Add KVM daemon entry point, command-line options, backgrounding, etc Signed-off-by: Jose A. Lopes Reviewed-by: Michele Tartara --- .gitignore | 1 + Makefile.am | 2 ++ src/ganeti-kvmd.hs | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 49 insertions(+) create mode 100644 src/ganeti-kvmd.hs diff --git a/.gitignore b/.gitignore index e575749f0..ccde486a0 100644 --- a/.gitignore +++ b/.gitignore @@ -138,6 +138,7 @@ /src/hs2py /src/hs2py-constants /src/ganeti-confd +/src/ganeti-kvmd /src/ganeti-luxid /src/ganeti-mond /src/rpc-test diff --git a/Makefile.am b/Makefile.am index fb8758212..f572d56f2 100644 --- a/Makefile.am +++ b/Makefile.am @@ -591,6 +591,7 @@ endif # Haskell programs to be compiled by "make really-all" HS_COMPILE_PROGS= \ + src/ganeti-kvmd \ src/ganeti-mond \ src/hconfd \ src/hluxid \ @@ -1064,6 +1065,7 @@ src/ganeti-luxid: src/hluxid nodist_sbin_SCRIPTS += src/ganeti-confd nodist_sbin_SCRIPTS += src/ganeti-luxid +nodist_sbin_SCRIPTS += src/ganeti-kvmd endif if ENABLE_MOND diff --git a/src/ganeti-kvmd.hs b/src/ganeti-kvmd.hs new file mode 100644 index 000000000..ea24a61d9 --- /dev/null +++ b/src/ganeti-kvmd.hs @@ -0,0 +1,46 @@ +{-| KVM daemon main + +-} + +{- + +Copyright (C) 2013 Google Inc. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301, USA. + +-} + +import Ganeti.Daemon (OptType) +import qualified Ganeti.Daemon as Daemon +import qualified Ganeti.Kvmd as Kvmd (start) +import Ganeti.Runtime (GanetiDaemon(..)) + +-- | Options list and functions. +options :: [OptType] +options = + [ Daemon.oNoDaemonize + , Daemon.oNoUserChecks + , Daemon.oDebug + , Daemon.oSyslogUsage + ] + +-- | Main function. +main :: IO () +main = + Daemon.genericMain GanetiKvmd options + (\_ -> return . Right $ ()) + (\_ _ -> return ()) + (\_ _ _ -> Kvmd.start) -- GitLab