def setUp(self):
     self.conf = dict(self.exampleConf)
     network.initialize_globals(self.conf)
     self.tested = network
     self.tested.initialize_globals(self.conf)
     self.expectedIPAddressFormat = "192.168.{}.{}"
     self.expectedNrRacks = 11
 def setUp(self):
     if not configurations:
         self.loadConfigurationFilesToMemory()
     self.fakeFilesystem = enableMockedFilesystem(dynamicconfig)
     self._createFakeFilesystem()
     mockNetworkConf = {'NODES_SUBNET_PREFIX_LENGTH': 22, 'ALLOW_CLEARING_OF_DISK': False,
                        'OSMOSIS_SERVER_IP': '10.0.0.26',
                        'PUBLIC_NAT_IP': '192.168.1.2',
                        'GATEWAY_IP': '192.168.1.2',
                        'FIRST_IP': '192.168.1.11',
                        'BOOTSERVER_IP': '192.168.1.1',
                        'PUBLIC_INTERFACE': '00:1e:67:44:13:a1'}
     self.dnsMasqMock = FakeDNSMasq()
     self.expectedDNSMasq = FakeDNSMasq()
     self._loadAddresses(firstIP=mockNetworkConf["FIRST_IP"],
                         prefixLength=int(mockNetworkConf["NODES_SUBNET_PREFIX_LENGTH"]))
     self.inaguratorMock = mock.Mock(spec=inaugurate.Inaugurate)
     self.tftpMock = mock.Mock(spec=tftpboot.TFTPBoot)
     self.allocationsMock = Allocations()
     self.reclaimHost = mock.Mock(spec=reclaimhost.ReclaimHost)
     timer.cancelAllByTag = mock.Mock()
     timer.scheduleAt = mock.Mock()
     timer.scheduleIn = mock.Mock()
     self._hosts = hosts.Hosts()
     self.expectedAddresses = dict()
     self.freePoolMock = FreePool(self._hosts)
     hoststatemachine.HostStateMachine = HostStateMachine
     network.initialize_globals(mockNetworkConf)
 def setUp(self):
     configurationFile = "etc.rackattack.physical.conf.example"
     with open(configurationFile) as f:
         self.conf = yaml.load(f.read())
     network.initialize_globals(self.conf)
     self.tested = network
     self.tested.initialize_globals(self.conf)
     self.expectedIPAddressFormat = "192.168.{}.{}"
     self.expectedNrRacks = 11
 def test_TranslateSSHCredentialsForClientOutsideSubnetWithoutNAT(self):
     self.conf["PUBLIC_NAT_IP"] = ""
     network.initialize_globals(self.conf)
     hostIndex = 1
     clientHostname = "200.1.1.1"
     clientPort = 2000
     hostnameBeforeTranslation = self.tested.ipAddressFromHostIndex(hostIndex)
     credentialsBeforeTranslation = dict(hostname=hostnameBeforeTranslation, port=22)
     expectedCredentials = credentialsBeforeTranslation
     translatedCredentials = self.tested.translateSSHCredentials(hostIndex,
                                                                 credentialsBeforeTranslation,
                                                                 peer=(clientHostname, clientPort))
     self.assertEquals(translatedCredentials, expectedCredentials)
 def setUp(self):
     self.index = random.randint(1, 255)
     self.id = 'rack01-server49'
     self.ipmiLogin = dict(username='******', password='******', hostname='192.168.100.100')
     self.primaryMAC = 'alpha'
     self.secondaryMAC = 'bravo'
     self.topology = 'whatisthisfield?'
     self.ipmiInstanceMock = mock.Mock()
     self.ipmiMock = mock.Mock(return_value=self.ipmiInstanceMock)
     ipmi.IPMI = self.ipmiMock
     self.tested = host.Host(index=self.index, id=self.id, ipmiLogin=self.ipmiLogin,
                             primaryMAC=self.primaryMAC, secondaryMAC=self.secondaryMAC,
                             topology=self.topology, state=host.STATES.ONLINE, pool="thePool")
     with open(config.EXAMPLE_CONF_YAML) as f:
         self.conf = yaml.load(f.read())
     network.initialize_globals(self.conf)
def main():
    logger = configureLogger()
    logger.info("Starting reclamation worker process. PID: %(pid)s", dict(pid=os.getpid()))
    with open(config.CONFIGURATION_FILE, "r") as f:
        conf = yaml.load(f.read())
    network.initialize_globals(conf)
    reclamationserver = ReclamationServer(network.NETMASK,
                                          conf['OSMOSIS_SERVER_IP'],
                                          network.BOOTSERVER_IP_ADDRESS,
                                          inaugurator.server.config.PORT,
                                          network.GATEWAY_IP_ADDRESS,
                                          config.ROOT_PASSWORD,
                                          config.WITH_LOCAL_OBJECT_STORE,
                                          RECLAMATION_REQUESTS_FIFO_PATH,
                                          SOFT_RECLAMATION_FAILURE_MSG_FIFO_PATH)
    reclamationserver.registerAction("cold", ColdReclaim)
    reclamationserver.run()
Example #7
0
parser.add_argument("--managedPostMortemPacksDirectory")
parser.add_argument("--configurationFile")
args = parser.parse_args()

if args.rackYAML:
    config.RACK_YAML = args.rackYAML
if args.serialLogsDirectory:
    config.SERIAL_LOGS_DIRECTORY = args.serialLogsDirectory
if args.configurationFile:
    config.CONFIGURATION_FILE = args.configurationFile
if args.managedPostMortemPacksDirectory:
    config.MANAGED_POST_MORTEM_PACKS_DIRECTORY = args.managedPostMortemPacksDirectory

with open(config.CONFIGURATION_FILE) as f:
    conf = yaml.load(f.read())
network.initialize_globals(conf)
hoststatemachine.HostStateMachine.ALLOW_CLEARING_OF_DISK = conf["ALLOW_CLEARING_OF_DISK"]
config.ARE_IPMI_COMMANDS_SYNCHRONOUS = conf["ARE_IPMI_COMMANDS_SYNCHRONOUS"]
logging.info("IPMI commands synchronous mode: %(syncMode)s",
             dict(syncMode=config.ARE_IPMI_COMMANDS_SYNCHRONOUS))

timer.TimersThread()
withLocalObjectStore = config.WITH_LOCAL_OBJECT_STORE
tftpbootInstance = tftpboot.TFTPBoot(
    netmask=network.NETMASK,
    inauguratorServerIP=network.BOOTSERVER_IP_ADDRESS,
    inauguratorServerPort=inaugurator.server.config.PORT,
    inauguratorGatewayIP=network.GATEWAY_IP_ADDRESS,
    osmosisServerIP=conf['OSMOSIS_SERVER_IP'],
    rootPassword=config.ROOT_PASSWORD,
    withLocalObjectStore=withLocalObjectStore)