Statistics
| Branch: | Tag: | Revision:

root / test / mocks.py @ 415feb2e

History | View | Annotate | Download (2.8 kB)

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