Example #1
0
    def post(self):
        sessname = self.get_session_id()
        user_id = self.get_user_id()
        if (sessname is None) or (user_id is None):
            self.send_error()
            return

        mode = self.get_argument("action", False)
        if mode is False:
            JBoxEBSVolHandler.log_error("Unknown mode for ebs handler")
            self.send_error()
            return

        try:
            if mode == "attach" or mode == "detach":
                JBoxAsyncJob.async_plugin_task(
                    JBoxEBSVolAsyncTask.__name__, {"action": mode, "user_id": user_id, "sessname": sessname}
                )
                response = {"code": 0, "data": ""}
            elif mode == "status":
                response = {"code": 0, "data": self._get_state(sessname, user_id)}
            else:
                response = {"code": -1, "data": "Unknown data volume operation " + mode}
        except Exception as ex:
            JBoxEBSVolHandler.log_error("exception in data volume operation")
            JBoxEBSVolHandler._get_logger().exception("exception in data volume operation")
            response = {"code": -1, "data": ex.message}

        self.write(response)
Example #2
0
    def post(self):
        sessname = self.get_session_id()
        user_id = self.get_user_id()
        if (sessname is None) or (user_id is None):
            self.send_error()
            return

        mode = self.get_argument('action', False)
        if mode is False:
            JBoxEBSVolHandler.log_error("Unknown mode for ebs handler")
            self.send_error()
            return

        try:
            if mode == 'attach' or mode == 'detach':
                JBoxAsyncJob.async_plugin_task(JBoxEBSVolAsyncTask.__name__, {
                    'action': mode,
                    'user_id': user_id,
                    'sessname': sessname
                })
                response = {'code': 0, 'data': ''}
            elif mode == 'status':
                response = {
                    'code': 0,
                    'data': self._get_state(sessname, user_id)
                }
            else:
                response = {
                    'code': -1,
                    'data': 'Unknown data volume operation ' + mode
                }
        except Exception as ex:
            JBoxEBSVolHandler.log_error("exception in data volume operation")
            JBoxEBSVolHandler._get_logger().exception(
                "exception in data volume operation")
            response = {'code': -1, 'data': ex.message}

        self.write(response)