Rename OpRenameInstance and LURenameInstance
[ganeti-local] / test / mocks.py
1 #
2 #
3
4 # Copyright (C) 2006, 2007, 2010 Google Inc.
5 #
6 # This program is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 2 of the License, or
9 # (at your option) any later version.
10 #
11 # This program is distributed in the hope that it will be useful, but
12 # WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 # General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, write to the Free Software
18 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
19 # 02110-1301, USA.
20
21
22 """Module implementing a fake ConfigWriter"""
23
24
25 import os
26
27 from ganeti import utils
28 from ganeti import netutils
29
30
31 FAKE_CLUSTER_KEY = ("AAAAB3NzaC1yc2EAAAABIwAAAQEAsuGLw70et3eApJ/ZEJkAVZogIrm"
32                     "EYPQJvb1ll52Ti0nr80Wztxibaa8bYGzY22rQIAloIlePeTGcJceAYK"
33                     "PZgm0I/Mp2EUGg2NVsQZIzasz6cW0vYuiUbF9GkVlROmvOAykT58RfM"
34                     "L8RhPrjrQxZc+NXgZtgDugYSZcXHDLUyWM1xKUoYy0MqYG6ZXCC/Zno"
35                     "RThhmjOJgEmvwrMcTWQjmzH3NeJAxaBsEHR8tiVZ/Y23C/ULWLyNT6R"
36                     "fB+DE7IovsMQaS+83AK1Teg7RWNyQczachatf/JT8VjUqFYjJepPjMb"
37                     "vYdB2nQds7/+Bf40C/OpbvnAxna1kVtgFHAo18cQ==")
38
39
40 class FakeConfig:
41     """Fake configuration object"""
42
43     def IsCluster(self):
44         return True
45
46     def GetNodeList(self):
47         return ["a", "b", "c"]
48
49     def GetHostKey(self):
50         return FAKE_CLUSTER_KEY
51
52     def GetClusterName(self):
53         return "test.cluster"
54
55     def GetMasterNode(self):
56         return netutils.Hostname.GetSysName()
57
58     def GetDefaultIAllocator(Self):
59         return "testallocator"
60
61
62 class FakeProc:
63     """Fake processor object"""
64
65     def Log(self, msg, *args, **kwargs):
66         pass
67
68     def LogWarning(self, msg, *args, **kwargs):
69         pass
70
71     def LogInfo(self, msg, *args, **kwargs):
72         pass
73
74     def LogStep(self, current, total, message):
75         pass
76
77
78 class FakeContext:
79     """Fake context object"""
80
81     def __init__(self):
82         self.cfg = FakeConfig()
83         # TODO: decide what features a mock Ganeti Lock Manager must have
84         self.GLM = None
85
86
87 class FakeGetentResolver:
88     """Fake runtime.GetentResolver"""
89
90     def __init__(self):
91         # As we nomally don't run under root we use our own uid/gid for all
92         # fields. This way we don't run into permission denied problems.
93         uid = os.getuid()
94         gid = os.getgid()
95
96         self.masterd_uid = uid
97         self.masterd_gid = gid
98         self.confd_uid = uid
99         self.confd_gid = gid
100         self.rapi_uid = uid
101         self.rapi_gid = gid
102         self.noded_uid = uid
103
104         self.daemons_gid = gid
105         self.admin_gid = gid