def run_docker(self, data, suffix=""): print "run_docker" docker = Docker.dict_to_object(self._get_docker(data["name"])) docker.status = "starting" self._update_docker(docker) self.save() self.logger.info(data["name"]) student = self.runtime.get_real_user(self.runtime.anonymous_student_id) user_email = student.email user_name = student.username conn = pymongo.Connection('localhost', 27017) db = conn.test db.authenticate(self.mongo_pwd, self.mongo_pwd) token = db.token result = token.find_one({"username": user_name}) self.git_password = result["password"] self.private_key = result["private_key"] self.public_key = result["public_key"] self.git_user_token = result["token"] conn.disconnect() self.logger.info("start") start_student_docker_worker(self, docker) return {"result": True}
def stop_docker(self, data, suffix=""): print "stop_docker" docker = Docker.dict_to_object(self._get_docker(data["name"])) docker.status = "stopping" self._update_docker(docker) self.save() thread.start_new_thread(stop_student_docker_worker, (self, docker)) return {"result": True}
def create_docker(self, data, suffix=""): if not self.check_obj_name(data["name"]): return {"result": False, "message": "Invalid docker name"} if self._get_docker(data["name"]) is not None: return {"result": False, "message": "Docker name exists"} docker = Docker() docker.name = data["name"] docker.lab = Lab.dict_to_object(self._get_lab(data["lab"])) docker.status = "building" self.dockers.append(docker.object_to_dict()) self.save() student = self.runtime.get_real_user(self.runtime.anonymous_student_id) user_email = student.email user_name = student.username thread.start_new_thread(build_student_docker_worker, (self, docker, user_name, user_email)) return {"result": True}
def create_docker(self, data, suffix=""): if not self.check_obj_name(data["name"]): return {"result": False, "message": "Invalid docker name"} if self._get_docker(data["name"]) is not None: return {"result": False, "message": "Docker name exists"} docker = Docker() docker.name = data["name"] docker.lab = Lab.dict_to_object(self._get_lab(data["lab"])) docker.status = "building" self.dockers.append(docker.object_to_dict()) self.save() student = self.runtime.get_real_user(self.runtime.anonymous_student_id) user_email = student.email user_name = student.username conn=pymongo.Connection('localhost', 27017) db = conn.test token=db.token result = token.find_one({"username":user_name}) self.git_password=result["password"] self.private_key = result["private_key"] self.public_key = result["public_key"] self.git_user_token=result["token"] conn.disconnect() self.logger.info("private_key:"+self.private_key) build_student_docker_worker(self, docker, user_name, user_email) conn = pymongo.Connection('localhost', 27017) db = conn.test user = db.user user.insert({"username":user_name, "dockername":data["name"]}) conn.disconnect() return {"result": True}
def stop_docker(self, data, suffix=""): print "stop_docker" docker = Docker.dict_to_object(self._get_docker(data["name"])) docker.status = "stopping" self._update_docker(docker) self.save() student = self.runtime.get_real_user(self.runtime.anonymous_student_id) user_email = student.email user_name = student.username conn=pymongo.Connection('localhost', 27017) db = conn.test token=db.token result = token.find_one({"username":user_name}) self.git_password=result["password"] self.private_key = result["private_key"] self.public_key = result["public_key"] self.git_user_token=result["token"] conn.disconnect() stop_student_docker_worker(self, docker) return {"result": True}
def stop_docker(self, data, suffix=""): print "stop_docker" docker = Docker.dict_to_object(self._get_docker(data["name"])) docker.status = "stopping" self._update_docker(docker) self.save() student = self.runtime.get_real_user(self.runtime.anonymous_student_id) user_email = student.email user_name = student.username conn = pymongo.Connection('192.168.122.183', 27017) db = conn.test token = db.token result = token.find_one({"username": user_name}) self.git_password = result["password"] self.private_key = result["private_key"] self.public_key = result["public_key"] self.git_user_token = result["token"] conn.disconnect() stop_student_docker_worker(self, docker) return {"result": True}
def create_docker(self, data, suffix=""): if not self.check_obj_name(data["name"]): return {"result": False, "message": "Invalid docker name"} if self._get_docker(data["name"]) is not None: return {"result": False, "message": "Docker name exists"} docker = Docker() docker.name = data["name"] docker.lab = Lab.dict_to_object(self._get_lab(data["lab"])) docker.status = "building" self.dockers.append(docker.object_to_dict()) self.save() student = self.runtime.get_real_user(self.runtime.anonymous_student_id) user_email = student.email user_name = student.username conn = pymongo.Connection('localhost', 27017) db = conn.test db.authenticate(self.mongo_pwd, self.mongo_pwd) token = db.token result = token.find_one({"username": user_name}) self.git_password = result["password"] self.private_key = result["private_key"] self.public_key = result["public_key"] self.git_user_token = result["token"] conn.disconnect() self.logger.info("private_key:" + self.private_key) build_student_docker_worker(self, docker, user_name, user_email) conn = pymongo.Connection('localhost', 27017) db = conn.test db.authenticate(self.mongo_pwd, self.mongo_pwd) user = db.user user.insert({"username": user_name, "dockername": data["name"]}) conn.disconnect() return {"result": True}