Statistics
| Branch: | Tag: | Revision:

root / test / mocks.py @ 2d91e6ae

History | View | Annotate | Download (2.6 kB)

1 2f31098c Iustin Pop
#
2 a8083063 Iustin Pop
#
3 a8083063 Iustin Pop
4 b705c7a6 Manuel Franceschini
# Copyright (C) 2006, 2007, 2010 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 f4555db2 Guido Trotter
class FakeContext:
79 2d91e6ae Michael Hanselmann
  """Fake context object"""
80 f4555db2 Guido Trotter
81 2d91e6ae Michael Hanselmann
  def __init__(self):
82 2d91e6ae Michael Hanselmann
    self.cfg = FakeConfig()
83 2d91e6ae Michael Hanselmann
    self.glm = None
84 e60c73a1 René Nussbaumer
85 e60c73a1 René Nussbaumer
86 e60c73a1 René Nussbaumer
class FakeGetentResolver:
87 2d91e6ae Michael Hanselmann
  """Fake runtime.GetentResolver"""
88 2d91e6ae Michael Hanselmann
89 2d91e6ae Michael Hanselmann
  def __init__(self):
90 2d91e6ae Michael Hanselmann
    # As we nomally don't run under root we use our own uid/gid for all
91 2d91e6ae Michael Hanselmann
    # fields. This way we don't run into permission denied problems.
92 2d91e6ae Michael Hanselmann
    uid = os.getuid()
93 2d91e6ae Michael Hanselmann
    gid = os.getgid()
94 2d91e6ae Michael Hanselmann
95 2d91e6ae Michael Hanselmann
    self.masterd_uid = uid
96 2d91e6ae Michael Hanselmann
    self.masterd_gid = gid
97 2d91e6ae Michael Hanselmann
    self.confd_uid = uid
98 2d91e6ae Michael Hanselmann
    self.confd_gid = gid
99 2d91e6ae Michael Hanselmann
    self.rapi_uid = uid
100 2d91e6ae Michael Hanselmann
    self.rapi_gid = gid
101 2d91e6ae Michael Hanselmann
    self.noded_uid = uid
102 2d91e6ae Michael Hanselmann
103 2d91e6ae Michael Hanselmann
    self.daemons_gid = gid
104 2d91e6ae Michael Hanselmann
    self.admin_gid = gid