You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@submarine.apache.org by "Manikandan R (Jira)" <ji...@apache.org> on 2020/05/27 16:48:00 UTC
[jira] [Comment Edited] (SUBMARINE-507) Submarine Environment
Management
[ https://issues.apache.org/jira/browse/SUBMARINE-507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17117911#comment-17117911 ]
Manikandan R edited comment on SUBMARINE-507 at 5/27/20, 4:47 PM:
------------------------------------------------------------------
Writing down my thoughts on storing environments..Please share your views.
1. Following tables can be created in Submarine Metastore:
a) Table Name: environments
Columns:
environment_id int primary key
name varchar(255) unique not null
description string
location string
docker_id int references docker_images(docker_id)
kernel_id int references kernel(kernel_id)
created_date timestamp
last_updated_date timestamp
"location" column captures hdfs path of the environment file.
b) Table Name: docker_images
docker_id int primary key
name varchar(255) unique not null
description string
created_date timestamp
last_updated_date timestamp
c) Table Name: kernel
kernel_id int primary key
name varchar(255) unique not null
description string
repository string
repository_type enum(''private', 'public')
created_date timestamp
last_updated_date timestamp
Having separate tables for docker_images and kernel give us lot of flexibility while operating environments. a) docker and kernel images could be created only once and used for many environments. b) Avoid creating the same images and kernel/conda again and again in registry and repository respectively.
(If required, we can clean up these 2 tables if it grows very very big and becomes a bottleneck, but very unlikely).
2. How to store environment file?
Create a directory hdfs://mycluster/submarine/environments/ if it doesn't exists and use environment name as file name. For example,
hdfs://mycluster/submarine/environments/my_env.txt
We could possibly provide more options like HDFS in future phases.
3. How to store docker_images?
We could set up our own registry as part of starting up the server. Please refer [https://www.docker.com/blog/how-to-use-your-own-registry/] for details. There are several options for this storage as documented in [https://docs.docker.com/registry/configuration/#storage]. For first cut, We can begin with file system and can be iterated over next releases based on the need.
4. How to store kernel/conda?
There are 2 types. 1. Private 2. Public.
For private repo, we will need to set up local repo's and can be used.
was (Author: manirajv06@gmail.com):
Writing down my thoughts on storing environments..Please share your views.
1. Following tables can be created in Submarine Metastore:
a) Table Name: environments
Columns:
environment_id int primary key
name varchar(255) unique not null
description string
location string
docker_id int references docker_images(docker_id)
kernel_id int references kernel(kernel_id)
created_date timestamp
last_updated_date timestamp
"location" column captures hdfs path of the environment file.
b) Table Name: docker_images
docker_id int primary key
name varchar(255) unique not null
description string
created_date timestamp
last_updated_date timestamp
c) Table Name: kernel
kernel_id int primary key
name varchar(255) unique not null
description string
repository string
repository_type enum(''private', 'public')
created_date timestamp
last_updated_date timestamp
Having separate tables for docker_images and kernel give us lot of flexibility while operating environments.
- docker and kernel images could be created only once and used for many environments.
- Avoid creating the same images and kernel/conda again and again in registry and repository respectively.
(If required, we can clean up these 2 tables if it grows very very big and becomes a bottleneck, but very unlikely).
2. How to store environment file?
Create a directory hdfs://mycluster/submarine/environments/ if it doesn't exists and use environment name as file name. For example,
hdfs://mycluster/submarine/environments/my_env.txt
3. How to store docker_images?
We could set up our own registry as part of starting up the server. Please refer [https://www.docker.com/blog/how-to-use-your-own-registry/] for details. There are several options for this storage as documented in [https://docs.docker.com/registry/configuration/#storage]. For first cut, We can begin with file system and can be iterated over next releases based on the need.
4. How to store kernel/conda?
There are 2 types. 1. Private 2. Public.
For private repo, we will need to set up local repo's and can be used.
> Submarine Environment Management
> --------------------------------
>
> Key: SUBMARINE-507
> URL: https://issues.apache.org/jira/browse/SUBMARINE-507
> Project: Apache Submarine
> Issue Type: New Feature
> Reporter: Manikandan R
> Assignee: Manikandan R
> Priority: Major
> Labels: pull-request-available
>
> Scope of this JIRA is to support environment management. It includes the following:
> 1. Create Environment
> 2. Update Environment
> 3. Delete Environment
> 4. List Environments
> In addition, this JIRA should also ensures that environments has been persisted like experiments so that it can used for later use.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@submarine.apache.org
For additional commands, e-mail: dev-help@submarine.apache.org