-
Notifications
You must be signed in to change notification settings - Fork 239
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Runtimes] Support configuring auto mount type #1191
Conversation
…ction_auto_mount
…ction_auto_mount
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also reminding ourselves to talk about the mount_pvc
thing in the auto
mode
mlrun/config.py
Outdated
@@ -242,6 +242,14 @@ | |||
"channel": "master", | |||
}, | |||
}, | |||
"storage": { | |||
# What type of auto-mount to use for functions. Can be one of: none, auto, v3io_credentials, v3io_fuse, pvc. | |||
# Default is auto - which is v3io_credentials when running on Iguazio and pvc otherwise (MLRun kit) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I feel like it should be else pvc if X is configured (need to think what is that X) else None
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good just please update the comment near the auto_mount_type
in config.py
and I'll merge
Support the requirements in https://jira.iguazeng.com/browse/ML-867 - perform auto-mount on runtimes, saving the user the need to use
func.apply(auto_mount())
for every function deployed remotely (and actually not usingauto_mount
as it will default to fuse mount on every function, which is usually not needed).Two configuration parameters were added:
storage.auto_mount_type
- based on the values in theAutoMountType
enum. By default this isauto
, and will also be the case if the parameter is empty. Possible values are:none
- self explanatoryv3io_credentials
- add v3io credentials to the deployed runtime (appliesv3io_cred
)v3io_fuse
- mount v3io fuse driver (appliesmount_v3io
)pvc
- configure PVC parameters (appliesmount_pvc
)auto
- for Iguazio system will usev3io_credentials
, else will bemount_pvc
ifpvc
is configured ornone
otherwisestorage.auto_mount_params
- a string containing kwargs to be passed to the mount function. The exact kwargs to use depend on the type of the auto mount in use and the function it invokes. The format of the string is pairs of values separated by commas:"param1=value1,param2=value2"
Auto mount is activated on
func.run
, except for Nuclio (RemoteRuntime
) where it's applied infunc.deploy
. Auto mount is always performed on the client side. It is also applied for workflows, immediately after running the user'sinit_functions
code (if exists).Auto mount is disabled if someone called
apply
on the runtime with any other modifier. Of course, this also means that if auto-mount was already applied, it won't be applied again.There are 2 other work-items which are related and are not part of this PR: