def run(self, serverState, request, response): conf = ServerConf() sentConnectRequests = conf.getSentNodeConnectRequests() node = json.loads(request.getParam('connectRequest'), object_hook=json_serializer.fromJson) if(sentConnectRequests.exists(node.getId())): nodeToAdd = sentConnectRequests.get(node.getId()) conf.addNode(Node(node.server_id, node.getClientSecurePort(), node.getServerSecurePort(), node .getQualifiedName(),nodeToAdd.getHostname())) #conf.addNode(nodeToAdd) openssl = OpenSSL(conf) openssl.addCa(node.key) sentConnectRequests.removeNode(node.getId()) conf.set('sent_node_connect_requests', sentConnectRequests) # need to send back a status in the data notifying ok response.add('Connection to node %s established'%node.toString()) log.info("Node connection accepted") #add it to the node list else: response.add('No previous node request sent for host %s' %node .toString()) log.info("Node connection not accepted")
def run(self, serverState, request, response): #get the connection params for this node newParams =json.loads(request.getParam("connectionParams")) conf = ServerConf() nodes = conf.getNodes() if nodes.exists(newParams['serverId']): node = nodes.get(newParams['serverId']) node.setHostname(newParams['hostname']) node.setServerSecurePort(newParams['server_secure_port']) node.setClientSecurePort(newParams['client_secure_port']) node.setQualifiedName(newParams['fqdn']) #Needed so that we write changes to conf file conf.removeNode(node.server_id) conf.addNode(node) #update the network topology ServerToServerMessage.getNetworkTopology(resetCache=True) response.add("Updated connection parameters") log.info("Updated connection params for %s"%node.toString()) else: response.add("Requested update for node %s but this node " \ "is not a neigbouring node "%newParams[ 'serverId'], status="ERROR") log.error("Failed updating connection params for %s"%newParams['serverId'])
def grant(key): #key is server-id conf = ServerConf() nodeConnectRequests = conf.getNodeConnectRequests() if nodeConnectRequests.exists(key): nodeToAdd = nodeConnectRequests.get(key) #this returns a nodeConnectRequest object serv = RawServerMessage(nodeToAdd.getHostname(), nodeToAdd.getClientSecurePort()) #letting the requesting node know that it is accepted #also sending this servers connection parameters resp = serv.addNodeAccepted() conf.addNode(Node(nodeToAdd.server_id, nodeToAdd.getClientSecurePort(), nodeToAdd.getServerSecurePort(), nodeToAdd.getQualifiedName(),nodeToAdd.getHostname())) #trust the key openssl = OpenSSL(conf) openssl.addCa(nodeToAdd.key) nodeConnectRequests.removeNode(nodeToAdd.getId()) conf.set('node_connect_requests', nodeConnectRequests) return True else: return False
def run(self, serverState, request, response): conf = ServerConf() sentConnectRequests = conf.getSentNodeConnectRequests() node = json.loads(request.getParam('connectRequest'), object_hook=json_serializer.fromJson) if (sentConnectRequests.exists(node.getId())): nodeToAdd = sentConnectRequests.get(node.getId()) conf.addNode( Node(node.server_id, node.getClientSecurePort(), node.getServerSecurePort(), node.getQualifiedName(), nodeToAdd.getHostname())) #conf.addNode(nodeToAdd) openssl = OpenSSL(conf) openssl.addCa(node.key) sentConnectRequests.removeNode(node.getId()) conf.set('sent_node_connect_requests', sentConnectRequests) # need to send back a status in the data notifying ok response.add('Connection to node %s established' % node.toString()) log.info("Node connection accepted") #add it to the node list else: response.add('No previous node request sent for host %s' % node.toString()) log.info("Node connection not accepted")
def grant(key): #key is server-id conf = ServerConf() nodeConnectRequests = conf.getNodeConnectRequests() if nodeConnectRequests.exists(key): nodeToAdd = nodeConnectRequests.get( key) #this returns a nodeConnectRequest object serv = RawServerMessage(nodeToAdd.getHostname(), nodeToAdd.getClientSecurePort()) #letting the requesting node know that it is accepted #also sending this servers connection parameters resp = serv.addNodeAccepted() conf.addNode( Node(nodeToAdd.server_id, nodeToAdd.getClientSecurePort(), nodeToAdd.getServerSecurePort(), nodeToAdd.getQualifiedName(), nodeToAdd.getHostname())) #trust the key openssl = OpenSSL(conf) openssl.addCa(nodeToAdd.key) nodeConnectRequests.removeNode(nodeToAdd.getId()) conf.set('node_connect_requests', nodeConnectRequests) return True else: return False
def run(self, serverState, request, response): #get the connection params for this node newParams = json.loads(request.getParam("connectionParams")) conf = ServerConf() nodes = conf.getNodes() if nodes.exists(newParams['serverId']): node = nodes.get(newParams['serverId']) node.setHostname(newParams['hostname']) node.setServerSecurePort(newParams['server_secure_port']) node.setClientSecurePort(newParams['client_secure_port']) node.setQualifiedName(newParams['fqdn']) #Needed so that we write changes to conf file conf.removeNode(node.server_id) conf.addNode(node) #update the network topology ServerToServerMessage.getNetworkTopology(resetCache=True) response.add("Updated connection parameters") log.info("Updated connection params for %s" % node.toString()) else: response.add("Requested update for node %s but this node " \ "is not a neigbouring node "%newParams[ 'serverId'], status="ERROR") log.error("Failed updating connection params for %s" % newParams['serverId'])
def testAddNodes(self): conf = ServerConf(confdir=self.confDir) conf.addNode('localhost1') conf.addNode('localhost2') nodes = conf.getNodes() self.assertEquals(nodes.size(),2) self.assertTrue(nodes.exists("localhost1","13807")) self.assertTrue(nodes.exists("localhost2","13807") )
def testAddNodes(self): conf = ServerConf(confdir=self.confDir) conf.addNode('localhost1') conf.addNode('localhost2') nodes = conf.getNodes() self.assertEquals(nodes.size(), 2) self.assertTrue(nodes.exists("localhost1", "13807")) self.assertTrue(nodes.exists("localhost2", "13807"))