-#!/usr/bin/python
+#
#
-# Copyright (C) 2006, 2007 Google Inc.
+# Copyright (C) 2006, 2007, 2010 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
"""Module implementing a fake ConfigWriter"""
-import socket
+
+import os
+
+from ganeti import utils
+from ganeti import netutils
+
+
+FAKE_CLUSTER_KEY = ("AAAAB3NzaC1yc2EAAAABIwAAAQEAsuGLw70et3eApJ/ZEJkAVZogIrm"
+ "EYPQJvb1ll52Ti0nr80Wztxibaa8bYGzY22rQIAloIlePeTGcJceAYK"
+ "PZgm0I/Mp2EUGg2NVsQZIzasz6cW0vYuiUbF9GkVlROmvOAykT58RfM"
+ "L8RhPrjrQxZc+NXgZtgDugYSZcXHDLUyWM1xKUoYy0MqYG6ZXCC/Zno"
+ "RThhmjOJgEmvwrMcTWQjmzH3NeJAxaBsEHR8tiVZ/Y23C/ULWLyNT6R"
+ "fB+DE7IovsMQaS+83AK1Teg7RWNyQczachatf/JT8VjUqFYjJepPjMb"
+ "vYdB2nQds7/+Bf40C/OpbvnAxna1kVtgFHAo18cQ==")
+
class FakeConfig:
"""Fake configuration object"""
def GetNodeList(self):
return ["a", "b", "c"]
- def GetMaster(self):
- return socket.gethostname()
-
-
-class FakeSStore:
- """Fake simplestore object"""
+ def GetHostKey(self):
+ return FAKE_CLUSTER_KEY
def GetClusterName(self):
return "test.cluster"
def GetMasterNode(self):
- return socket.gethostname()
+ return netutils.Hostname.GetSysName()
+
+ def GetDefaultIAllocator(Self):
+ return "testallocator"
+
+
+class FakeProc:
+ """Fake processor object"""
+
+ def Log(self, msg, *args, **kwargs):
+ pass
+
+ def LogWarning(self, msg, *args, **kwargs):
+ pass
+
+ def LogInfo(self, msg, *args, **kwargs):
+ pass
+
+ def LogStep(self, current, total, message):
+ pass
+
+
+class FakeContext:
+ """Fake context object"""
+
+ def __init__(self):
+ self.cfg = FakeConfig()
+ # TODO: decide what features a mock Ganeti Lock Manager must have
+ self.GLM = None
+
+
+class FakeGetentResolver:
+ """Fake runtime.GetentResolver"""
+
+ def __init__(self):
+ # As we nomally don't run under root we use our own uid/gid for all
+ # fields. This way we don't run into permission denied problems.
+ uid = os.getuid()
+ gid = os.getgid()
+
+ self.masterd_uid = uid
+ self.masterd_gid = gid
+ self.confd_uid = uid
+ self.confd_gid = gid
+ self.rapi_uid = uid
+ self.rapi_gid = gid
+ self.noded_uid = uid
+
+ self.daemons_gid = gid
+ self.admin_gid = gid