def catch_api_proxy_environment_image_builds(): environment_image_build_requests = request.json[ "environment_image_build_requests"] for environment_image_build_request in environment_image_build_requests: environment_image_build_request[ "project_path"] = project_uuid_to_path( environment_image_build_request["project_uuid"]) resp = api_proxy_environment_image_builds( environment_image_build_requests, app.config["ORCHEST_API_ADDRESS"]) for environment_image_build_request in environment_image_build_requests: environment_uuid = environment_image_build_request[ "environment_uuid"] project_uuid = environment_image_build_request["project_uuid"] env = get_environment(environment_uuid, project_uuid) analytics.send_event( app, analytics.Event.ENVIRONMENT_BUILD_START, { "environment_uuid": environment_uuid, "project_uuid": project_uuid, "language": env.language, "gpu_support": env.gpu_support, "base_image": env.base_image, }, ) return resp.content, resp.status_code, resp.headers.items()
def get(self, project_uuid, environment_uuid): environment = get_environment(environment_uuid, project_uuid) if environment is None: return {"message": "Environment could not be found."}, 404 else: return environment_schema.dump(environment)
def pipeline_set_notebook_kernels(pipeline_json, pipeline_directory, project_uuid): # for each step set correct notebook kernel if it exists steps = pipeline_json["steps"].keys() for key in steps: step = pipeline_json["steps"][key] if "ipynb" == step["file_path"].split(".")[-1]: notebook_path = os.path.join(pipeline_directory, step["file_path"]) if os.path.isfile(notebook_path): gateway_kernel = generate_gateway_kernel_name( step["environment"]) with open(notebook_path, "r") as file: notebook_json = json.load(file) notebook_changed = False if (notebook_json["metadata"]["kernelspec"]["name"] != gateway_kernel): notebook_changed = True notebook_json["metadata"]["kernelspec"][ "name"] = gateway_kernel environment = get_environment(step["environment"], project_uuid) if environment is not None: if (notebook_json["metadata"]["kernelspec"] ["display_name"] != environment.name): notebook_changed = True notebook_json["metadata"]["kernelspec"][ "display_name"] = environment.name else: logging.warn( "Could not find environment [%s] while setting notebook kernelspec for notebook %s." % (step["environment"], notebook_path)) if notebook_changed: with open(notebook_path, "w") as file: file.write(json.dumps(notebook_json, indent=4)) else: logging.info( "pipeline_set_notebook_kernels called on notebook_path that doesn't exist %s" % notebook_path)
def get(self, project_uuid, environment_uuid): return environment_schema.dump( get_environment(environment_uuid, project_uuid))