def __processConfigFile(self): """ Process the configuration file as a key/value pair """ configLoc = '%s/config' % self.peerDir if not os.path.exists(configLoc): self.logger.warn('Could not find a configuration file') return self.__changeState(PeerState.DEAD()) with open(configLoc, 'r') as lf: for line in lf.readlines(): key, value = line.strip().split('=', 1) self.config[key.lower()] = value self.envServer = self.config['envserver'].strip() self.envServerPort = self.config['envserverport'].strip() if self.envServerPort.isdigit(): self.envServerPort = int(self.envServerPort) if self.config['rebootcmd'] == '': self.postReboot = self.initReboot = False self.capabilities = envcatRequest(self.envServer, self.envServerPort, 'capabilities') if self.__configIsMissingKeys(): return self.__changeState(PeerState.DEAD(), 'Invalid config') cmd = 'mkdir -p %(T)s; cd %(T)s; if [ ! -f locked ]; then echo "%(I)s" > locked; sleep 2; fi; ' \ 'if [ "%(I)s" != `cat locked` ]; then echo `cat locked`; else echo "UNLOCKED"; fi;' \ % { 'T' : self.config['tmpdir'], 'I' : self.hostIP } self.longRunningProcesses.append(SSHClient(self.config['user'], self.config['password'], self.ipAddr, cmd))
def __stopEnvServer(self): envcatRequest(self.__envServerHost, self.__envServerPort, self.__STOP_ENV_SERVER_CMD)