def post(self):
        try:
            form = request.form  #the form submitted
            SID = form["sessionId"]  #gets SID from cookie
            session = AuthenticationService.getSession(
                SID)  #uses SID to get session from db
            user = session["user"]  #gets user from session

            # found user, remove their datasets
            try:
                Dataset.objects(author=user).delete()
            except:
                return Response("Error deleting datasets.", status=403)
            # once datasets have been removed, remove user from users
            try:
                # log out before deletion
                sessionId = request.form["sessionId"]
                AuthenticationService.logout(sessionId)
                # remove user with query by email
                user.delete()
            except:
                return Response("Error deleting user.", status=403)
            return Response("Account deleted.", status=200)
        except:
            return Response("Error getting user from session.", status=403)
Exemple #2
0
 def addInstance(cluster_id, instance_id, write_DB=True):
     cluster = ClusterManager.getCluster(cluster_id)
     message = ""
     if not cluster:
         message = "ClusterManager--Add the instance to cluster failed. The cluster is not found. (cluster_id = %s)" % cluster_id
         # result = {"code": "1", "clusterId":cluster_id, "message":message}
         result = Response(code="failed",
                           message=message,
                           data={"clusterId": cluster_id})
         return result
     else:
         try:
             if not ClusterManager._checkInstanceNOTOverlappingForAllCluster(instance_id):
                 return Response(code="failed",
                                 message="instance %s is already being protected" % instance_id,
                                 data={"instance": instance_id})
             result = cluster.addInstance(instance_id)
             if write_DB:
                 ClusterManager.syncToDatabase()
             logging.info(
                 "ClusterManager--Add instance success , instance_id : %s , cluster_id : %s" % (
                 instance_id, cluster_id))
             return result
         except Exception as e:
             print str(e)
             message = "ClusterManager --add the instacne fail.instance_id : %s , cluster_id : %s"  % (
                 instance_id, cluster_id) + str(e)
             logging.error(message)
             # result = {"code": "1", "clusterId": cluster_id, "message": message}
             result = Response(code="failed",
                               message=message,
                               data={"clusterId": cluster_id})
             return result
Exemple #3
0
 def _addToClusterList(cluster_name, cluster_id=None):
     try:
         # result = None
         if cluster_id:
             cluster = Cluster(id=cluster_id, name=cluster_name)
             ClusterManager._cluster_dict[cluster_id] = cluster
             message = "ClusterManager -syncofromDB-- createCluster._addToCluster success,cluster id = %s" % cluster_id
             logging.info(message)
             # result = {"code": "0", "clusterId":cluster_id,"message": message}
             result = Response(code="succeed",
                               message=message,
                               data={"clusterId": cluster_id})
             return result
         else:
             # start add to cluster list
             cluster_id = str(uuid.uuid4())
             cluster = Cluster(id=cluster_id, name=cluster_name)
             ClusterManager._cluster_dict[cluster_id] = cluster
             message = "ClusterManager - createCluster._addToClusterList success,cluster id = %s" % cluster_id
             logging.info(message)
             # result = {"code": "0","clusterId":cluster_id, "message":message}
             result = Response(code="succeed",
                               message=message,
                               data={"clusterId": cluster_id})
             return result
     except Exception as e:
         message = "ClusterManager - createCluster._addToCluster fail,cluster id : %s" % cluster_id + str(e)
         logging.error(message)
         # result = {"code": "1","clusterId":cluster_id, "message": message}
         result = Response(code="failed",
                           message=message,
                           data={"clusterId": cluster_id})
         return result
 def addNode(self, node_name_list):
     # create node list
     message = ""
     try:
         if node_name_list == []: raise Exception
         for node_name in node_name_list:
             if self._isInComputePool(node_name):
                 # print node_name_list
                 node = Node(name=node_name, cluster_id=self.id)
                 self.node_list.append(node)
                 node.startDetectionThread()
                 message = "Cluster--The node %s is added to cluster." % self.getAllNodeStr(
                 )
                 logging.info(message)
                 # result = {"code": "0","clusterId": self.id,"node":node_name, "message": message}
                 result = Response(code="succeed",
                                   message=message,
                                   data={
                                       "cluster_id": self.id,
                                       "node": node_name
                                   })
             else:
                 message += "the node %s is illegal.  " % node_name
                 logging.error(message)
     except Exception as e:
         print str(e)
         message = "Cluster-- add node fail , some node maybe overlapping or not in compute pool please check again! The node list is %s." % (
             self.getAllNodeStr())
         logging.error(message)
         # result = {"code": "1", "clusterId": self.id, "message": message}
         result = Response(code="failed",
                           message=message,
                           data={"cluster_id": self.id})
     finally:
         return result
Exemple #5
0
 def addNode(cluster_id, node_name_list, write_DB=True):
     message = ""
     tmp = list(set(node_name_list)) # remove duplicate
     for node_name in tmp[:]:
         if not ClusterManager._checkNodeOverlappingForAllCluster(node_name):
             print "%s is already in a HA cluster. " % node_name
             message += "%s is overlapping node" % node_name
             tmp.remove(node_name)
     if tmp == []:
         return Response(code="failed",
                         message="node overlapping %s" % (str(node_name_list)),
                         data={"overlapping_node":node_name_list})
     cluster = ClusterManager.getCluster(cluster_id)
     if not cluster:
         message += "ClusterManager--Add the node to cluster failed. The cluster is not found. (cluster_id = %s)" % cluster_id
         # result = {"code": "1", "clusterId":cluster_id, "message":message}
         result = Response(code="failed",
                           message=message,
                           data={"clusterId": cluster_id})
         return result
     else:
         try:
             result = cluster.addNode(tmp)
             logging.info("ClusterManager--add node success.cluster id is %s ,node is %s " % (cluster_id, tmp))
             if result.code == "succeed" and write_DB:
                 ClusterManager.syncToDatabase()
             return result
         except Exception as e:
             message += "add node fail. node not found. (node_name = %s)"  % tmp +str(e)
             logging.error(message)
             # result = {"code": "1", "clusterId": cluster_id, "message": message}
             result = Response(code="failed",
                               message=message,
                               data={"clusterId": cluster_id})
             return result
def get(pageNumber):
    retList = []
    datasets = []

    user = AuthenticationService.verifySessionAndReturnUser(
        request.cookies["SID"])

    allDatasets = Dataset.objects.filter(Q(public=True) | Q(
        author=user)).order_by('-dateCreated')

    if pageNumber == "all":
        datasets = allDatasets
    elif pageNumber == "0":
        datasets = allDatasets[:16]
    else:
        datasetIndex = 16 + 12 * (int(pageNumber) - 1)
        datasets = allDatasets[datasetIndex:datasetIndex + 12]

    if len(datasets) == 0:
        return Response("No datasets matching the query were found",
                        status=400)

    for dataset in datasets:
        retList.append(DatasetService.createDatasetInfoObject(dataset))

    return Response(retList)
	def send_message(self, message: str) -> tuple:
		try:
			self.client.sendall(bytearray([1, 125]) + bytes(message, 'utf-8'))
			return Response(ResponseType.CLIENT_MESSAGE_SENT).message()
		except BrokenPipeError:
			self.stop_client()
			return Response(ResponseType.CLIENT_CONNECTION_LOST).message()
 def _add_to_cluster_list(cluster_name, layers_string):
     try:
         cluster = Cluster(cluster_name, layers_string)
         ResourceManager._cluster_dict[cluster_name] = cluster
         message = "ResourceManager -sync to db -- create_cluster._add_to_cluster_list success, cluster_name : %s , protected_layers_string : %s" % (
             cluster_name, layers_string)
         logging.info(message)
         result = Response(code="succeed",
                           message=message,
                           data={
                               "cluster_name": cluster_name,
                               "protected_layers_string": layers_string
                           })
         return result
     except Exception as e:
         message = "ResourceManager - create_cluster._add_to_cluster_list fail,cluster_name : %s, protected_layers_string : %s" % (
             cluster_name, layers_string) + str(e)
         logging.error(message)
         # result = {"code": "1","cluster_name":cluster_name, "message": message}
         result = Response(code="failed",
                           message=message,
                           data={
                               "cluster_name": cluster_name,
                               "protected_layers_string": layers_string
                           })
         return result
Exemple #9
0
def send_frame_to_neighbours(
    out_frame: Frame, timetables: dict, outstanding_frames: dict
) -> None:
    orig_src = out_frame.src
    for port, name in NEIGHBOURS.items():
        if out_frame.src == name or out_frame.origin == name:
            # Don't forward frames to senders
            print(f"{NAME} skipping sending a frame to {name}")
            continue
        try:
            neighbour_tt = timetables[name]
        except KeyError:
            print(
                f"Couldn't find {name} in neighbours,"
                f"skipping sending a frame to them"
            )
            continue
        out_frame.src = NAME
        out_frame.time = calc_arrival_time(neighbour_tt)
        UDP_SOCKET.sendto(out_frame.to_bytes(), (HOST, port))

    out_frame.src = orig_src
    if out_frame.origin not in outstanding_frames.keys():
        outstanding_frames[out_frame.origin] = []

    if out_frame.origin == NAME:
        # This is our request
        outstanding_frames[NAME].append(
            Response(len(NEIGHBOURS), out_frame, -1)
        )
    else:
        # We are forwarding a request
        outstanding_frames[out_frame.origin].append(
            Response(len(NEIGHBOURS) - 1, out_frame, -1)
        )
 def delete_instance(cluster_name, instance_id):
     cluster = ResourceManager.get_cluster(cluster_name)
     if not cluster:
         message = "delete the instance to cluster failed. The cluster is not found. (cluster_name = %s)" % cluster_name
         # result = {"code": "1", "cluster_name": cluster_name, "instance id ": instance_id, "message": message}
         result = Response(code="failed",
                           message=message,
                           data={
                               "cluster_name": cluster_name,
                               "instance id": instance_id
                           })
         return result
     else:
         try:
             result = cluster.delete_instance(instance_id)
             ResourceManager.sync_to_database()
             #logging.info("ResourceManager--delete instance success")
             return result
         except Exception as e:
             message = "ResourceManager--delete instance failed. this instance is not being protected (instance_id = %s)" % instance_id + str(
                 e)
             logging.error(message)
             # result = {"code": "1", "cluster_name":cluster_name, "message":message}
             result = Response(code="failed",
                               message=message,
                               data={"cluster_name": cluster_name})
             return result
 def update_instance_host(cluster_name, instance_id):
     cluster = ResourceManager.get_cluster(cluster_name)
     if not cluster:
         message = "ResourceManager--Update the instance to cluster failed. The cluster is not found. (cluster_name = %s)" % cluster_name
         # result = {"code": "1", "cluster_name":cluster_name, "message":message}
         result = Response(code="failed",
                           message=message,
                           data={"cluster_name": cluster_name})
         return result
     else:
         try:
             result = cluster.update_instance_host(instance_id)
             if result.code == 'failed':
                 return result
             ResourceManager.sync_to_database()
             #logging.info("ResourceManager--Update instance success , instance_id : %s , cluster_name : %s" % (instance_id, cluster_name))
             return result
         except Exception as e:
             message = "ResourceManager--Update the instacne fail.instance_id : %s , cluster_name : %s " % (
                 instance_id, cluster_name) + str(e)
             logging.error(message)
             # result = {"code": "1", "cluster_name": cluster_name, "message": message}
             result = Response(code="failed",
                               message=message,
                               data={"cluster_name": cluster_name})
             return result
 def add_instance(cluster_name, instance_id):
     cluster = ResourceManager.get_cluster(cluster_name)
     message = ""
     if not cluster:
         message = "ResourceManager--Add the instance to cluster failed. The cluster is not found. (cluster_name = %s)" % cluster_name
         # result = {"code": "1", "cluster_name":cluster_name, "message":message}
         result = Response(code="failed",
                           message=message,
                           data={"cluster_name": cluster_name})
         return result
     else:
         try:
             if not ResourceManager._check_instance_not_overlapping_for_all_cluster(
                     instance_id):
                 return Response(
                     code="failed",
                     message="instance %s is already being protected" %
                     instance_id,
                     data={"instance": instance_id})
             result = cluster.add_instance(instance_id)
             if result.code == 'failed':
                 return result
             ResourceManager.sync_to_database()
             #logging.info("ResourceManager--Add instance success , instance_id : %s , cluster_name : %s" % (instance_id, cluster_name))
             return result
         except Exception as e:
             print str(e)
             message = "ResourceManager --add the instacne fail.instance_id : %s , cluster_name : %s " % (
                 instance_id, cluster_name) + str(e)
             logging.error(message)
             # result = {"code": "1", "cluster_name": cluster_name, "message": message}
             result = Response(code="failed",
                               message=message,
                               data={"cluster_name": cluster_name})
             return result
 def list_node(cluster_name):
     try:
         cluster = ResourceManager.get_cluster(cluster_name)
         if not cluster:
             message = "list the node failed. The cluster is not found. (cluster_name = %s)" % cluster_name
             # result = {"code": "1", "cluster_name":cluster_name, "message":message}
             result = Response(code="failed",
                               message=message,
                               data={"cluster_name": cluster_name})
             return result
         nodelist = cluster.get_all_node_info()
         message = "ResourceManager-list_node--get all node info finish"
         result = Response(code="succeed",
                           message=message,
                           data={
                               "cluster_name": cluster_name,
                               "nodeList": nodelist
                           })
         return result
     except Exception as e:
         message = "ResourceManager--list_node-- get all node info fail" + str(
             e)
         logging.error(message)
         result = Response(code="failed",
                           message=message,
                           data={"cluster_name": cluster_name})
         return result
 def delete_node(cluster_name, node_name):
     cluster = ResourceManager.get_cluster(cluster_name)
     if not cluster:
         message = "delete the node failed. The cluster is not found. (cluster_name = %s)" % cluster_name
         # result = {"code": "1", "cluster_name":cluster_name, "message":message}
         result = Response(code="failed",
                           message=message,
                           data={"cluster_name": cluster_name})
         return result
     else:
         try:
             result = cluster.delete_node(node_name)
             #logging.info("ResourceManager-- delete node success ,cluster name is %s node is %s" % (cluster_name, node_name))
             ResourceManager.sync_to_database()
             return result
         except Exception as e:
             # code = "1"
             message = "delete node fail. node not found. (node_name = %s)" % node_name + str(
                 e)
             logging.error(message)
             # result = {"code": "1", "cluster_name":cluster_name, "message":message}
             result = Response(code="failed",
                               message=message,
                               data={"cluster_name": cluster_name})
             return result
Exemple #15
0
 def deleteInstance(self, instance_id, send_flag=True):
     result = None
     for instance in self.instance_list:
         host = instance.host
         if instance.id == instance_id:
             self.instance_list.remove(instance)
             if send_flag: self.sendUpdateInstance(host)
             message = "Cluster--delete instance success. this instance is deleted (instance_id = %s)" % instance_id
             logging.info(message)
             # result = {"code": "0", "clusterId": self.id, "instance id": instance_id, "message": message}
             result = Response(code="succeed",
                               message=message,
                               data={
                                   "cluster_id": self.id,
                                   "instance_id": instance_id
                               })
     # if instanceid not in self.instacne_list:
     if result == None:
         message = "Cluster--delete instance fail ,please check again! The instance id is %s." % instance_id
         logging.error(message)
         # result = {"code": "1", "cluster id": self.id, "instance id": instance_id, "message": message}
         result = Response(code="failed",
                           message=message,
                           data={
                               "cluster_id": self.id,
                               "instance_id": instance_id
                           })
     return result
 def get(self, datasetId):
     try:
         return Response(Dataset.objects.get(id=datasetId)["filters"])
     except Dataset.DoesNotExist:
         return Response("Invalid dataset requested.", status=400)
     except Exception as e:
         return Response(e, status=500)
Exemple #17
0
    def delete_instance(self, instance_id):
        result = None
        for instance in self.instance_list:
            host = instance.host
            if instance.id == instance_id:
                self.instance_list.remove(instance)
                # send instance deletion information to node detection thread
                update_action = InstanceQueueConfig.REMOVE_INSTANCE
                instance_name = instance.get_name()
                host = self.get_node_by_name(host)
                host.send_update_instance(update_action, instance_name)

                message = "Cluster--delete instance success. this instance is deleted (instance_id = %s)" % instance_id
                logging.info(message)
                # result = {"code": "0", "cluster_name": self.name, "instance id": instance_id, "message": message}
                result = Response(code="succeed",
                                  message=message,
                                  data={
                                      "cluster_name": self.name,
                                      "instance_id": instance_id
                                  })
        # if instanceid not in self.instacne_list:
        if result == None:
            message = "Cluster--delete instance fail ,please check again! The instance id is %s." % instance_id
            logging.error(message)
            # result = {"code": "1", "cluster id": self.name, "instance id": instance_id, "message": message}
            result = Response(code="failed",
                              message=message,
                              data={
                                  "cluster_name": self.name,
                                  "instance_id": instance_id
                              })
        return result
Exemple #18
0
def closeMeeting(meetingID):
    print("Hello2")
    active = MeetingService.closeMeeting(meetingID)
    if (not active):
        return Response({"active": active}, status=200)
    else:
        return Response("Meeting not found", status=400)
def getDatasetObjectsPrimary(dataset_id):

    user = AuthenticationService.verifySessionAndReturnUser(
        request.cookies["SID"])

    if (Dataset.objects.get(
            Q(id=dataset_id) & (Q(public=True) | Q(author=user))) != None):
        filename = dataset_id + ".csv"
        fileFromS3 = s3.get_object(Bucket="agriworks-user-datasets",
                                   Key=filename)
        dataset = pd.read_csv(fileFromS3["Body"], dtype=str)
    else:
        return Response("You do not have access to that dataset.", status=403)

    if (len(dataset) <= 1000):
        return Response({
            "datasetObjects":
            DatasetService.buildDatasetObjectsList(dataset)
        })
    else:
        cacheId = str(uuid4())
        DatasetCache[cacheId] = dataset[1000:]
        return Response({
            "datasetObjects":
            DatasetService.buildDatasetObjectsList(dataset[:1000]),
            "cacheId":
            cacheId
        })
Exemple #20
0
def getMeeting(meetingID):
    dict = getMeetingDict(meetingID)
    if (meeting == None):
        return Response("No meeting", status=400)
    print(dict)
    print("Id: " + dict["meetingID"])
    return Response(dict, status=200)
def logout():
    try:
        sessionId = request.form["sessionId"]
        AuthenticationService.logout(sessionId)
        return Response("Successfully logged out.", status=200)
    except:
        return Response("Unable to process request. Please reload and try again later.", status=400)
Exemple #22
0
 def handleGet(self, request, transport):
     if self.checkVersion(request):
         fpath = self.getResource(request.resourceUrl)
         if fpath == '':
             blob = [ResponseCode.NotFound, '']
             resp = Response(blob, 0)
             transport.interface.reply(resp)
         else:
             tsz = os.path.getsize(fpath)
             step = transport.interface.datarate
             count = 0
             f = open(fpath, 'rb')
             while count < tsz:
                 count += step
                 buff = f.read(step)
                 if count < tsz:
                     blob = [ResponseCode.Continue, buff]
                     resp = Response(blob, tsz - count)
                     transport.interface.reply(resp)
                 else:
                     blob = [ResponseCode.OK, buff]
                     resp = Response(blob, 0)
                     transport.interface.reply(resp)
     else:
         blob = [ResponseCode.BadRequest, '']
         resp = Response(blob, 0)
         transport.interface.reply(resp)
 def deleteNode(self, node_name):
     try:
         node = self.getNodeByName(node_name)
         # stop Thread
         node.deleteDetectionThread()
         self.deleteInstanceByNode(node)
         self.node_list.remove(node)
         # ret = self.getAllNodeInfo()
         for node in self.node_list:
             if node.name == node_name:
                 raise Exception
         message = "Cluster delete node success! node is %s , node list is %s,cluster id is %s." % (
             node_name, self.getAllNodeStr(), self.id)
         logging.info(message)
         # result = {"code": "0","clusterId": self.id, "node":node_name, "message": message}
         result = Response(code="succeed",
                           message=message,
                           data={
                               "cluster_id": self.id,
                               "node": node_name
                           })
     except Exception as e:
         print str(e)
         message = "Cluster delete node fail , node maybe not in compute pool please check again! node is %s  The node list is %s." % (
             node_name, self.getAllNodeStr())
         logging.error(message)
         # result = {"code": "1", "node":node_name,"clusterId": self.id, "message": message}
         result = Response(code="failed",
                           message=message,
                           data={
                               "cluster_id": self.id,
                               "node": node_name
                           })
     finally:
         return result
Exemple #24
0
 def addNode(cluster_id, node_name_list, write_DB=True):
     message = ""
     for node_name in node_name_list[:]:
         if not ClusterManager._checkNodeOverlappingForAllCluster(node_name):
             print "%s is already in a HA cluster. " % node_name
             message += "%s is overlapping node" % node_name
             node_name_list.remove(node_name)
     if node_name_list == []: raise Exception("all node in node list are(is) illegal")
     cluster = ClusterManager.getCluster(cluster_id)
     if not cluster:
         message += "ClusterManager--Add the node to cluster failed. The cluster is not found. (cluster_id = %s)" % cluster_id
         # result = {"code": "1", "clusterId":cluster_id, "message":message}
         result = Response(code="failed",
                           message=message,
                           data={"cluster_id": cluster_id})
         return result
     else:
         try:
             result = cluster.addNode(node_name_list)
             logging.info(
                 "ClusterManager--add node success.cluster id is %s ,node is %s " % (cluster_id, node_name_list))
             if result.code == "succeed" and write_DB:
                 ClusterManager.syncToDatabase()
             return result
         except:
             message += "add node fail. node not found. (node_name = %s)" % node_name_list
             logging.error(message)
             # result = {"code": "1", "clusterId": cluster_id, "message": message}
             result = Response(code="failed",
                               message=message,
                               data={"cluster_id": cluster_id})
             return result
Exemple #25
0
 def deleteNode(cluster_id, node_name, write_DB=True):
     cluster = ClusterManager.getCluster(cluster_id)
     if not cluster:
         message = "delete the node failed. The cluster is not found. (cluster_id = %s)" % cluster_id
         # result = {"code": "1", "clusterId":cluster_id, "message":message}
         result = Response(code="failed",
                           message=message,
                           data={"clusterId": cluster_id})
         return result
     else:
         try:
             result = cluster.deleteNode(node_name)
             logging.info(
                 "ClusterManager-- delete node success ,cluster id is %s node is %s" % (cluster_id, node_name))
             if write_DB:
                 ClusterManager.syncToDatabase()
             return result
         except Exception as e:
             # code = "1"
             message = "delete node fail. node not found. (node_name = %s)" % node_name + str(e)
             logging.error(message)
             # result = {"code": "1", "clusterId":cluster_id, "message":message}
             result = Response(code="failed",
                               message=message,
                               data={"clusterId": cluster_id})
             return result
Exemple #26
0
 def listInstance(cluster_id, send_flag=True):
     cluster = ClusterManager.getCluster(cluster_id)
     try:
         if not cluster:
             raise Exception(
                 "ClusterManager--listInstance,get instance list fail , not find the cluster %s" % cluster_id)
         instance_list, illegal_instance = cluster.getAllInstanceInfo()
         # delete illegal instance
         if illegal_instance != []:
             for instance in illegal_instance:
                 ClusterManager.deleteInstance(cluster_id, instance[0], send_flag=False)
         # send upadte host of legal instacne and prev_host of illegal instance
         if send_flag == True:
             for instance in instance_list[:]:
                 cluster.sendUpdateInstance(instance[2])  # info[2]
             for instance in illegal_instance[:]:
                 cluster.sendUpdateInstance(instance[1])  # prev_host
         message = "ClusterManager--listInstance,getInstanceList success,instanceList is %s" % instance_list
         logging.info(message)
         # result = {"code": "0", "instanceList": instance_list}
         result = Response(code="succeed",
                           message=message,
                           data={"instance_list": instance_list})
         return result
     except Exception as e:
         # print str(e)
         # result = {"code": "1", "instanceList": []}
         message = "ClusterManager--listInstance,getInstanceList fail" + str(e)
         logging.error(message)
         result = Response(code="failed",
                           message=message,
                           data={"instance_list": []})
         return result
Exemple #27
0
 def deleteInstance(cluster_id, instance_id, send_flag=True, write_DB=True):
     cluster = ClusterManager.getCluster(cluster_id)
     if not cluster:
         message = "delete the instance to cluster failed. The cluster is not found. (cluster_id = %s)" % cluster_id
         # result = {"code": "1", "clusterId": cluster_id, "instance id ": instance_id, "message": message}
         result = Response(code="failed",
                           message=message,
                           data={"clusterId": cluster_id, "instance id": instance_id})
         return result
     else:
         try:
             result = cluster.deleteInstance(instance_id, send_flag)
             if write_DB:
                 ClusterManager.syncToDatabase()
             logging.info("ClusterManager--delete instance success")
             return result
         except Exception as e:
             #logging.error(str(e))
             print str(e)
             message = "ClusterManager--delete instance failed. this instance is not being protected (instance_id = %s)" % instance_id +str(e)
             logging.error(message)
             # result = {"code": "1", "clusterId":cluster_id, "message":message}
             result = Response(code="failed",
                               message=message,
                               data={"clusterId": cluster_id})
             return result
 def shutOffNode(self, node_name):
     message = ""
     # result =None
     if self._checkNodeIPMI(node_name) and self._checkNodeNotInCluster(
             node_name):
         try:
             ipmi_result = self.ipmi_module.shutOffNode(node_name)
             # check power status in IPMIModule
             if ipmi_result.code == "succeed":
                 message += "shut off node success.The node is %s." % node_name
                 logging.info(message)
                 # result = {"code": "0", "node_name": node_name, "message": message}
                 result = Response(code="succeed",
                                   message=message,
                                   data={"node_name": node_name})
             else:
                 raise Exception("IpmiModule shut off node fail")
         except Exception as e:
             # shut off fail
             message += "IPMIOperator--shut off node fail.The node is %s.%s" % (
                 node_name, e)
             logging.error(message)
             # result = {"code": "1", "node_name": node_name, "message": message}
             result = Response(code="failed",
                               message=message,
                               data={"node_name": node_name})
     else:
         message += " IPMIOperator--node is not in compute pool or is not a IPMI PC or is already be protected. The node is %s." % node_name
         logging.error(message)
         # result = {"code": "1", "node_name": node_name, "message": message}
         result = Response(code="failed",
                           message=message,
                           data={"node_name": node_name})
     return result
Exemple #29
0
 def gui_command_cb(self, command):
     '''Callback for when a GUI command is received'''
     if (not self.arms.is_executing()):
         if (self.session.n_actions() > 0):
             if (command.command == GuiCommand.SWITCH_TO_ACTION):
                 action_no = command.param
                 self.session.switch_to_action(action_no,
                                               self.world.get_frame_list())
                 response = Response(Interaction.empty_response,
                     [RobotSpeech.SWITCH_SKILL + str(action_no),
                      GazeGoal.NOD])
                 response.respond()
             elif (command.command == GuiCommand.SELECT_ACTION_STEP):
                 step_no = command.param
                 self.session.select_action_step(step_no)
                 rospy.loginfo('Selected action step ' + str(step_no))
             else:
                 rospy.logwarn('\033[32m This command (' + command.command
                               + ') is unknown. \033[0m')
         else:
             response = Response(Interaction.empty_response,
                 [RobotSpeech.ERROR_NO_SKILLS, GazeGoal.SHAKE])
             response.respond()
     else:
         rospy.logwarn('Ignoring GUI command during execution: ' +
                             command.command)
    def post(self):
        flow = app.flow
        flow.redirect_uri = request.form["redirect_uri"]
        authCode = request.form["code"]
        flow.fetch_token(code=authCode)

        credentials = flow.credentials
        req_url = "https://www.googleapis.com/oauth2/v1/userinfo?access_token=" + credentials.token
        user_info = requests.get(req_url).json()

        user = AuthenticationService.getUser(email=user_info['email'])

        if user:
            if not user.password:
                sessionId = uuid4()
                session = Session(user=user, sessionId=sessionId)
                session.save()
                ret = make_response(user_info)
                ret.set_cookie("SID",
                               str(session.sessionId),
                               expires=session.dateExpires)
                return ret
            return Response("Email already registered with our service",
                            status=403)
        else:
            ret = {}
            ret['message'] = "Redirect to complete sign up"
            ret['user'] = user_info
            return Response(ret, status=200)