Skip to content
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

[KFP] Merge KFP2 Feature Branch #5533

Merged
merged 125 commits into from
May 8, 2024
Merged
Show file tree
Hide file tree
Changes from 119 commits
Commits
Show all changes
125 commits
Select commit Hold shift + click to select a range
acbd1fc
[Datastore] Fix ValueError when parsing a timestamp string column wit…
gtopper Feb 4, 2024
ed94c4f
[Project] Fix load project with artifacts test [1.6.x] (#5057)
TomerShor Feb 4, 2024
7f1497d
[Datastore] Clarify error messages when using spark to ingest unsuppo…
alxtkr77 Feb 5, 2024
e071ba5
[Model Monitoring] Fix path filtering according to nuclio changes [1.…
davesh0812 Feb 5, 2024
9c49090
[Grafana] Set MLRun API datasource for `Feature Analysis` chart [1.6.…
Eyal-Danieli Feb 6, 2024
6cbc2dd
[Artifacts] Fix log dataset artifact with df [1.6.x] (#5074)
tomerm-iguazio Feb 6, 2024
d808619
[Datastore] Fix previewing artifacts associated with datastore profil…
alxtkr77 Feb 6, 2024
e4eb1a8
[API] Do not enrich workflow schedule when given spec [1.6.x] (#5075)
alonmr Feb 6, 2024
edbd127
[Model Monitoring] Fix monitoring jobs API query permissions [1.6.x] …
Eyal-Danieli Feb 6, 2024
e9ebb41
[Model Monitoring] Enable explicit ack for V3IO streams [1.6.x] (#5079)
gtopper Feb 7, 2024
46b2ccb
[Datastore] Fix `ParquetTarget.write_dataframe()` and improve error […
gtopper Feb 7, 2024
abdb916
[Model Monitoring] Saving feature_stats as empty dict and not as null…
davesh0812 Feb 7, 2024
8270e8e
[Tests] Use a unique name for the monitoring app sys test [1.6.x] (#5…
jond01 Feb 7, 2024
4b4c359
[FeatureStore] Fix misleading deprecation messages [1.6.x] (#5083)
alxtkr77 Feb 7, 2024
ba9cef2
[Project] Fix DELETE Project not returning 412 when Nuclio functions …
liranbg Feb 8, 2024
aa2061a
[SystemTest] Ensure parquet file when creating dataframe [1.6.x] (#5098)
liranbg Feb 8, 2024
791c229
[Datastore] Fix GCS storage options handling [1.6.x] (#5099)
alxtkr77 Feb 8, 2024
1c9fa92
[Artifacts] Add Index artifact key and query tags with new session [1…
liranbg Feb 8, 2024
f75defc
[Project] Wait for project to be deleted in Nuclio when deleting proj…
liranbg Feb 8, 2024
c365306
[Projects] Fix project deletion missing auth_info [1.6.x] (#5102)
liranbg Feb 8, 2024
f67c5db
[Project] Ensure nuclio function pods are deleted [1.6.x] (#5110)
liranbg Feb 11, 2024
b6c2d3d
[DOCS] Update Batch Infer and general model monitoring overview [1.6.…
Eyal-Danieli Feb 12, 2024
c4d62bf
[Kafka] Default `max_workers` to 1 instead of 4 [1.6.x] (#5114)
gtopper Feb 12, 2024
bbf66be
[Datastore] Fix nuclio deprecation warnings [1.6.x] (#5113)
gtopper Feb 12, 2024
afecd24
[API] Check background task state on project deletion wait [1.6.x] (#…
alonmr Feb 12, 2024
b88fc3c
[Model Monitoring] Fix server-side nuclio version resolution in expli…
gtopper Feb 12, 2024
96b737b
[Documentation] Fix doc strings for several feature set APIs [1.6.x] …
alxtkr77 Feb 12, 2024
30ccc58
[Artifacts] Fix import artifact bug [1.6.x] (#5119)
tomerm-iguazio Feb 12, 2024
bfa39ee
[Project] Fix Project Deletion Failure due to Project Sync Race Condi…
liranbg Feb 12, 2024
1b13fa2
[Serving] update api call of get_online_service [1.6.x] (#5131)
assaf758 Feb 13, 2024
3cda08a
[Docs] Bump sklearn and numpy in tutorials [1.6.x] (#5127)
daniels290813 Feb 14, 2024
0d81c46
[Projects] Support email-like username [1.6.x] (#5136)
liranbg Feb 14, 2024
f2f2f76
[Datastore] Correct the passing of the secret to the profile reader […
alxtkr77 Feb 14, 2024
ecd3aae
[Documentation] Fix doc strings for several feature vector APIs [1.6.…
alxtkr77 Feb 14, 2024
0e475e9
[Serving] Fix reference to nonexistent field (#5140)
gtopper Feb 14, 2024
5b1dadc
[Docs] Update tutorials notebook 3 input cells names [1.6.x] (#5129)
aviaIguazio Feb 15, 2024
5e4e4cb
[Datatstore] Fix artifact preview/download the from GUI [1.6.x] (#5148)
alxtkr77 Feb 15, 2024
35f4e2c
[Project] Increase nuclio project deletion verification timeout [1.6.…
liranbg Feb 19, 2024
bf97325
[API] Add force CRD deletion after timeout [1.6.x] (#5155)
alonmr Feb 19, 2024
15abe1d
[Docs] Update mlflow tutorial prerequisites [1.6.x] (#5159)
daniels290813 Feb 19, 2024
98ad544
[Project] Fix project creation in foreground [1.6.x] (#5163)
liranbg Feb 19, 2024
a6515c2
[Project] Validate project labels upon creation/update [1.6.x] (#5164)
liranbg Feb 19, 2024
092a991
[API] Bump uvicorn [1.6.x] (#5165)
liranbg Feb 19, 2024
b8188f9
[Projects] Fix verification blocking call [1.6.x] (#5166)
liranbg Feb 19, 2024
4b8f4cf
[Docs] Improve feature store documentation; sources and targets; part…
assaf758 Feb 20, 2024
3e3b60c
[Docs] Update Sources and targets (#5173) [1.6.x] (#5175)
assaf758 Feb 20, 2024
3cdf5a6
[Docs] Update sources targets [1.6.x] (#5188)
assaf758 Feb 22, 2024
0b696d7
[Docs] Backport documentation updates [1.6.x] (#5189)
alonmr Feb 25, 2024
bf9bd39
[Docs] Add v1.6.0 change log (#5038)
jillnogold Feb 25, 2024
7b8ae74
[MLRun] Finalizing docs for 1.6.0 (#5191)
liranbg Feb 25, 2024
9c3bb2a
[Version] Bump 1.6.x to 1.6.1 (#5193)
liranbg Feb 25, 2024
d43a302
[Artifacts] Persist db key when migrating to artifact v2 table [1.6.x…
TomerShor Feb 26, 2024
5a17157
[Tests] Skip 3 chronically failing model monitoring system tests [1.6…
jond01 Feb 29, 2024
9526318
[Docs] Add V1.6.1 to change log [1.6.x] (#5216)
liranbg Feb 29, 2024
548b5a1
[MLRun] Finalizing docs for 1.6.1 (#5217)
liranbg Feb 29, 2024
80404fa
[Version] Bump 1.6.x to 1.6.2 (#5218)
liranbg Feb 29, 2024
d80c08b
[Security] Remedy vulnerabilities [1.6.x] (#5205)
liranbg Feb 29, 2024
e3bf772
[Security] Static analysis issues remediation [1.6.x] (#5204)
liranbg Feb 29, 2024
a5551bd
[Jupyter] Bump requirements [1.6.x] (#5225)
liranbg Mar 3, 2024
c8b9eb6
[API] Bump requirements [1.6.x] (#5228)
liranbg Mar 3, 2024
bd24133
[Model Monitoring] Fix default HTTP path when CE namespace is not `ml…
Eyal-Danieli Mar 3, 2024
7fb7b85
[K8s] Support email-like usernames [1.6.x] (#5247)
theSaarco Mar 5, 2024
08fed1d
[Automation] Pass envs instead of overflowing envvar [1.6.x] (#5249)
liranbg Mar 5, 2024
0d6d1dd
[Workflow] Support remote workflow with source on image [1.6.x] (#5251)
alonmr Mar 5, 2024
e45c26b
[K8s] Update label verification flow [1.6.x] (#5252)
liranbg Mar 6, 2024
e1db48c
[Linting] Backport Ruff upgrade [1.6.x] (#5253)
jond01 Mar 6, 2024
cba3c08
[Linting] Use a fixed Ruff version [1.6.x] (#5259)
jond01 Mar 7, 2024
55b8072
[Project] Fail project deletion if doesn't exist in leader [1.6.x] (#…
alonmr Mar 7, 2024
d9bd3d0
[Logger] Fix populating log formatter [1.6.x] (#5264)
liranbg Mar 10, 2024
3cb7f01
[Pipelines] Omit `sort_by` and `filter` query params in paginated req…
TomerShor Mar 11, 2024
f7b5b72
[Datastore] Fix v3io datastore - update to v3io-py api [1.6.x] (#5246)
tomerm-iguazio Mar 11, 2024
603f336
[System test] Fix remote runner not saving project [1.6.x] (#5269)
alonmr Mar 11, 2024
0360dc1
[Function] Reduce `clone_target_dir` deprecation warning noise [1.6.x…
alonmr Mar 11, 2024
0a757b2
[Build] Fix `clone_target_dir` backwards compatibility [1.6.x] (#5277)
alonmr Mar 11, 2024
2f7cf62
[SQLAlchemy] Recycle & ping connection prior using them [1.6.x] (#5278)
liranbg Mar 11, 2024
79a661a
[Project] Fix concurrent project deletion [1.6.x] (#5282)
liranbg Mar 13, 2024
e8f6cd0
[Projects] Allow deleting archived projects without leader [1.6.x] (#…
alonmr Mar 17, 2024
b7ac5ef
[Kaniko] Bump kaniko for open source [1.6.x] (#5298)
liranbg Mar 18, 2024
7e4d7e2
[CI] Release bundle tutorials and welcome [1.6.x] (#5301)
daniels290813 Mar 19, 2024
df53325
[Tests] skipping test_v3io_large_object_upload as it hangs when runni…
assaf758 Mar 20, 2024
089ffb6
[Dependancies] Remedy vulnerabilities (#5312)
liranbg Mar 21, 2024
e5107cf
[DataStore] Condition http verify on mlrun config (#5311)
liranbg Mar 21, 2024
467e492
[API] Enhance log collector [1.6.x] (#5321)
liranbg Mar 25, 2024
ca18139
[ModelObj] Filter warnings when using to_dict [1.6.x] (#5339)
alonmr Mar 28, 2024
ef37aba
[Builder] Normalize source dir to mount path [1.6.x] (#5340)
alonmr Mar 28, 2024
ca07519
[Model Monitoring] Test and Fix the saving of the features and the pr…
davesh0812 Mar 31, 2024
eceb276
[Requirements] Bump v3io to 0.6.4 - 1.6.x (#5355) (#5359)
tomerm-iguazio Apr 1, 2024
bcb163b
[Pipelines] Fix get workflow id timeouts and make it configurable per…
alonmr Apr 1, 2024
ece9bde
[MLRun] Finalizing docs for 1.6.2 (#5345)
liranbg Mar 29, 2024
4577c6f
[Docs] Update change log [1.6.x] (#5361)
liranbg Apr 1, 2024
adcd069
[Docs] Update change log for v1.6.2 [1.6.x] (#5362)
liranbg Apr 1, 2024
e48bcf6
[Version] Bump 1.6.x to 1.6.3 (#5366)
liranbg Apr 2, 2024
a95096e
[Requirements] Tighten pydantic upperbound due to breakage upstream (…
gtopper Apr 8, 2024
f54975a
[Requirements] Tighten igz-mgmt to 0.1.0 (#5397)
moranbental Apr 8, 2024
c47148d
[Model Monitoring] fix test_record, test_batch_drift system test [1.6…
davesh0812 Apr 9, 2024
f92c61e
[Model Monitoring] Fix security issue - delete pipelines access key f…
davesh0812 Apr 10, 2024
a931aae
[Model Monitoring] Delete pipelines `access_key` from SERVING_SPEC_EN…
davesh0812 Apr 15, 2024
29fa3b6
[Pipelines] Isolate version-specific KFP code on its own modules (#5417)
laurybueno Apr 17, 2024
aba8e7c
[Model Monitoring] raise error when using mlrun default image with cl…
davesh0812 Apr 17, 2024
412dc91
[Datastore] Rely on buffer instead of mmap [1.6.x] (#5445)
tomerm-iguazio Apr 18, 2024
ead4c9f
[Pipelines] Add a boilerplate pipeline adapter package for KFPv2 (#5…
laurybueno Apr 27, 2024
c634bd8
[RemoteWorkflows] Fail fast when remote runner is failing (#5469)
liranbg Apr 30, 2024
e9bb9e2
[Project] Don't sync functions if running workflows in remote [1.6.x]…
TomerShor Apr 30, 2024
344e016
[Auth] Authenticate with OAuth client-credentials grant [1.6.x] (#5483)
theSaarco May 1, 2024
4c7780f
[API] Create logger handler once [1.6.x] (#5485)
liranbg May 2, 2024
dbb53dc
[Dask] Enhance extending env vars to avoid memory leak [1.6.x] (#5486)
liranbg May 2, 2024
d777f65
[Auth] Fix httpdb init from env [1.6.x] (#5497)
theSaarco May 2, 2024
3327a2e
[Pipelines] Add KFPv2 functionalities to MLRun (#5466)
laurybueno May 3, 2024
ed86275
Merge remote-tracking branch 'upstream/1.6.x' into feature/kfp2
liranbg May 3, 2024
749b2fb
Merge remote-tracking branch 'upstream/development' into kfp2-merge
May 8, 2024
b49d3ca
Merge remote-tracking branch 'upstream/development' into kfp2-merge
May 8, 2024
d57468b
fix httpdb
May 8, 2024
bfab122
fix httpdb
May 8, 2024
9e7cb6f
more fixes
May 8, 2024
ad42905
and another
May 8, 2024
f95526b
more fixes
May 8, 2024
00d80ac
Merge branch 'development' into kfp2-merge
quaark May 8, 2024
7f02edf
Merge branch 'kfp2-merge' of github.com:quaark/mlrun into kfp2-merge
May 8, 2024
741f7e4
fix kfpops
May 8, 2024
8206408
oops
May 8, 2024
6e54422
Merge remote-tracking branch 'upstream/development' into kfp2-merge
May 8, 2024
21330b6
removed
May 8, 2024
3844ca6
more fixes
May 8, 2024
a54b7ab
fixes for UTs
May 8, 2024
82a7977
lint :(
May 8, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -138,19 +138,25 @@ jobs:
run: MLRUN_DOCKER_REGISTRY=ghcr.io/ MLRUN_DOCKER_CACHE_FROM_TAG=${{ steps.docker_cache.outputs.tag }} make test-migrations-dockerized

package-tests:
name: Run package tests (Python ${{ matrix.python-version }})
name: Run package tests (Python ${{ matrix.python-version }}; Pipeline ${{ matrix.pipeline-adapter }})
runs-on: ubuntu-latest
strategy:
matrix:
# 3.9 is the current >= 1.3.0 python version
python-version: [3.9]
default-pipeline-adapter: ["kfp-v1-8"]
pipeline-adapter: ["kfp-v1-8", "kfp-v2"]
steps:
- uses: actions/checkout@v3
- name: Set up python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
pipeline-adapter: ${{ matrix.pipeline-adapter }}
cache: 'pip'
- name: Change default pipeline adapter for MLRun
if: matrix.default-pipeline-adapter != matrix.pipeline-adapter
run: sed -i -e 's/${{ matrix.default-pipeline-adapter }}/${{ matrix.pipeline-adapter }}/g' requirements.txt
- name: Install automation scripts dependencies and add mlrun to dev packages
run: pip install -r automation/requirements.txt && pip install -e .
- name: Test package
Expand Down
4 changes: 3 additions & 1 deletion dockerfiles/mlrun-api/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,9 @@ ENV UVICORN_TIMEOUT_KEEP_ALIVE=${MLRUN_HTTPDB__HTTP_CONNECTION_TIMEOUT_KEEP_ALIV

COPY . .

RUN python -m pip install .[complete-api]
RUN python -m pip install .[complete-api] &&\
pip install ./pipeline-adapters/mlrun-pipelines-kfp-common &&\
pip install ./pipeline-adapters/mlrun-pipelines-kfp-v1-8 \

VOLUME /mlrun/db

Expand Down
4 changes: 3 additions & 1 deletion dockerfiles/test/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,8 @@ RUN python -m pip install \

COPY . .

RUN pip install -e .[complete]
RUN pip install -e .[complete] &&\
pip install -e ./pipeline-adapters/mlrun-pipelines-kfp-common &&\
pip install -e ./pipeline-adapters/mlrun-pipelines-kfp-v1-8

ENV NO_COLOR=1
11 changes: 10 additions & 1 deletion mlrun/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,16 @@
"handler",
"ArtifactType",
"get_secret_or_env",
"mount_v3io",
"v3io_cred",
"auto_mount",
"VolumeMount",
]

from os import environ, path

import dotenv
import mlrun_pipelines

from .config import config as mlconf
from .datastore import DataItem, store_manager
Expand All @@ -35,7 +40,6 @@
from .execution import MLClientCtx
from .model import RunObject, RunTemplate, new_task
from .package import ArtifactType, DefaultPackager, Packager, handler
from .platforms import VolumeMount, auto_mount, mount_v3io, v3io_cred
from .projects import (
ProjectMetadata,
build_function,
Expand Down Expand Up @@ -65,6 +69,11 @@

__version__ = Version().get()["version"]

VolumeMount = mlrun_pipelines.common.mounts.VolumeMount
mount_v3io = mlrun_pipelines.mounts.mount_v3io
v3io_cred = mlrun_pipelines.mounts.v3io_cred
auto_mount = mlrun_pipelines.mounts.auto_mount


def get_version():
"""get current mlrun version"""
Expand Down
22 changes: 18 additions & 4 deletions mlrun/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
import dotenv
import pandas as pd
import yaml
from mlrun_pipelines.mounts import auto_mount as auto_mount_modifier
from tabulate import tabulate

import mlrun
Expand All @@ -37,7 +38,6 @@
from .db import get_run_db
from .errors import err_to_str
from .model import RunTemplate
from .platforms import auto_mount as auto_mount_modifier
from .projects import load_project
from .run import (
get_object,
Expand Down Expand Up @@ -466,6 +466,17 @@ def run(
is_flag=True,
help="ensure the project exists, if not, create project",
)
@click.option(
"--state-file-path", default="/tmp/state", help="path to file with state data"
)
@click.option(
"--image-file-path", default="/tmp/image", help="path to file with image data"
)
@click.option(
"--full-image-file-path",
default="/tmp/fullimage",
help="path to file with full image data",
)
def build(
func_url,
name,
Expand All @@ -485,6 +496,9 @@ def build(
skip,
env_file,
ensure_project,
state_file_path,
image_file_path,
full_image_file_path,
):
"""Build a container image from code and requirements."""

Expand Down Expand Up @@ -574,12 +588,12 @@ def build(
state = func.status.state
image = func.spec.image
if kfp:
with open("/tmp/state", "w") as fp:
with open(state_file_path, "w") as fp:
fp.write(state or "none")
full_image = func.full_image_path(image) or ""
with open("/tmp/image", "w") as fp:
with open(image_file_path, "w") as fp:
fp.write(image)
with open("/tmp/fullimage", "w") as fp:
with open(full_image_file_path, "w") as fp:
fp.write(full_image)
print("Full image path = ", full_image)

Expand Down
4 changes: 2 additions & 2 deletions mlrun/artifacts/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -93,8 +93,8 @@ def __init__(
self.model_file = model_file
self.metrics = metrics or {}
self.parameters = paraemeters or {}
self.inputs = inputs or []
self.outputs = outputs or []
quaark marked this conversation as resolved.
Show resolved Hide resolved
self.inputs: list[Feature] = inputs or []
self.outputs: list[Feature] = outputs or []
self.framework = framework
self.algorithm = algorithm
self.feature_vector = feature_vector
Expand Down
25 changes: 11 additions & 14 deletions mlrun/db/httpdb.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
import enum
import http
import re
import tempfile
import time
import traceback
import typing
Expand All @@ -26,9 +25,9 @@
from typing import Optional, Union
from urllib.parse import urlparse

import kfp
import requests
import semver
from mlrun_pipelines.utils import compile_pipeline

import mlrun
import mlrun.common.schemas
Expand All @@ -52,7 +51,6 @@
datetime_to_iso,
dict_to_json,
logger,
new_pipe_metadata,
normalize_name,
version,
)
Expand Down Expand Up @@ -591,7 +589,7 @@ def get_log(self, uid, project="", offset=0, size=None):
if offset < 0:
raise MLRunInvalidArgumentError("Offset cannot be negative")
if size is None:
size = int(config.httpdb.logs.pull_logs_default_size_limit)
size = int(mlrun.mlconf.httpdb.logs.pull_logs_default_size_limit)
elif size == -1:
logger.warning(
"Retrieving all logs. This may be inefficient and can result in a large log."
Expand Down Expand Up @@ -637,23 +635,25 @@ def watch_log(self, uid, project="", watch=True, offset=0):

state, text = self.get_log(uid, project, offset=offset)
if text:
print(text.decode(errors=config.httpdb.logs.decode.errors))
print(text.decode(errors=mlrun.mlconf.httpdb.logs.decode.errors))
nil_resp = 0
while True:
offset += len(text)
# if we get 3 nil responses in a row, increase the sleep time to 10 seconds
# TODO: refactor this to use a conditional backoff mechanism
if nil_resp < 3:
time.sleep(int(config.httpdb.logs.pull_logs_default_interval))
time.sleep(int(mlrun.mlconf.httpdb.logs.pull_logs_default_interval))
else:
time.sleep(
int(config.httpdb.logs.pull_logs_backoff_no_logs_default_interval)
int(
mlrun.mlconf.httpdb.logs.pull_logs_backoff_no_logs_default_interval
)
)
state, text = self.get_log(uid, project, offset=offset)
if text:
nil_resp = 0
print(
text.decode(errors=config.httpdb.logs.decode.errors),
text.decode(errors=mlrun.mlconf.httpdb.logs.decode.errors),
end="",
)
else:
Expand Down Expand Up @@ -1850,14 +1850,11 @@ def submit_pipeline(
if isinstance(pipeline, str):
pipe_file = pipeline
else:
pipe_file = tempfile.NamedTemporaryFile(suffix=".yaml", delete=False).name
conf = new_pipe_metadata(
pipe_file = compile_pipeline(
artifact_path=artifact_path,
cleanup_ttl=cleanup_ttl,
op_transformers=ops,
)
kfp.compiler.Compiler().compile(
pipeline, pipe_file, type_check=False, pipeline_conf=conf
ops=ops,
pipeline=pipeline,
)

if pipe_file.endswith(".yaml"):
Expand Down
5 changes: 3 additions & 2 deletions mlrun/launcher/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,11 @@
import uuid
from typing import Any, Callable, Optional, Union

import mlrun_pipelines.common.ops

import mlrun.common.schemas
import mlrun.config
import mlrun.errors
import mlrun.kfpops
import mlrun.lists
import mlrun.model
import mlrun.runtimes
Expand Down Expand Up @@ -390,7 +391,7 @@ def _wrap_run_result(
return

if result and runtime.kfp and err is None:
mlrun.kfpops.write_kfpmeta(result)
mlrun_pipelines.common.ops.write_kfpmeta(result)

self._log_track_results(runtime.is_child, result, run)

Expand Down
19 changes: 10 additions & 9 deletions mlrun/platforms/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,22 +17,23 @@
from pprint import pprint
from time import sleep

from .iguazio import (
V3ioStreamClient,
VolumeMount,
add_or_refresh_credentials,
is_iguazio_session_cookie,
mount_v3io,
v3io_cred,
)
from .other import (
from mlrun_pipelines.common.mounts import VolumeMount
from mlrun_pipelines.mounts import (
auto_mount,
mount_configmap,
mount_hostpath,
mount_pvc,
mount_s3,
mount_secret,
mount_v3io,
set_env_variables,
v3io_cred,
)

from .iguazio import (
V3ioStreamClient,
add_or_refresh_credentials,
is_iguazio_session_cookie,
)


Expand Down
Loading
Loading