diff --git a/.gitignore b/.gitignore index e575749f0bf0bf9a131b93b16e56b374f9434914..ccde486a00889ff7bad6b45359a03c952ea5209c 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 fb8758212937c15ab510a2a6c685de9e03e41096..f572d56f2acad2abaf4e2fe02f90b8175e4c5db1 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 0000000000000000000000000000000000000000..ea24a61d9519af8b44451a92de5e87bd2e242acd --- /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)