Statistics
| Branch: | Tag: | Revision:

root / test / py / mocks.py @ a9542a4f

History | View | Annotate | Download (2.9 kB)

1
#
2
#
3

    
4
# Copyright (C) 2006, 2007, 2010, 2011 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 GetRsaHostKey(self):
50
    return FAKE_CLUSTER_KEY
51

    
52
  def GetDsaHostKey(self):
53
    return FAKE_CLUSTER_KEY
54

    
55
  def GetClusterName(self):
56
    return "test.cluster"
57

    
58
  def GetMasterNode(self):
59
    return netutils.Hostname.GetSysName()
60

    
61
  def GetDefaultIAllocator(Self):
62
    return "testallocator"
63

    
64

    
65
class FakeProc:
66
  """Fake processor object"""
67

    
68
  def Log(self, msg, *args, **kwargs):
69
    pass
70

    
71
  def LogWarning(self, msg, *args, **kwargs):
72
    pass
73

    
74
  def LogInfo(self, msg, *args, **kwargs):
75
    pass
76

    
77
  def LogStep(self, current, total, message):
78
    pass
79

    
80

    
81
class FakeGLM:
82
  """Fake global lock manager object"""
83

    
84
  def list_owned(self, level):
85
    return set()
86

    
87

    
88
class FakeContext:
89
  """Fake context object"""
90

    
91
  def __init__(self):
92
    self.cfg = FakeConfig()
93
    self.glm = FakeGLM()
94

    
95

    
96
class FakeGetentResolver:
97
  """Fake runtime.GetentResolver"""
98

    
99
  def __init__(self):
100
    # As we nomally don't run under root we use our own uid/gid for all
101
    # fields. This way we don't run into permission denied problems.
102
    uid = os.getuid()
103
    gid = os.getgid()
104

    
105
    self.masterd_uid = uid
106
    self.masterd_gid = gid
107
    self.confd_uid = uid
108
    self.confd_gid = gid
109
    self.rapi_uid = uid
110
    self.rapi_gid = gid
111
    self.noded_uid = uid
112
    self.noded_gid = gid
113

    
114
    self.daemons_gid = gid
115
    self.admin_gid = gid
116

    
117
  def LookupUid(self, uid):
118
    return "user%s" % uid
119

    
120
  def LookupGid(self, gid):
121
    return "group%s" % gid