The quality gate for testing MLRun/Iguazio solution.
Project description
QGate-Sln-MLRun
The Quality Gate for solution MLRun (and Iguazio). The main aims of the project are:
- independent quality test (function, integration, acceptance, ... tests)
- deeper quality checks before full rollout/use in company environments
- identification of possible compatibility issues (if any)
- external and independent test coverage
- etc.
The tests use these key components, MLRun solution see GIT mlrun, sample meta-data model see GIT qgate-model and this project.
Test scenarios
The quality gate covers these test scenarios (✅ done, ✔ in-progress, ❌ planned):
- Project
- ✅ TS101: Create project(s)
- ✅ TS102: Delete project(s)
- Feature set
- ✅ TS201: Create feature set(s)
- Ingest data
- ✅ TS301: Ingest data to feature set(s) from DataFrame source
- ✅ TS302: Ingest data to feature set(s) from CSV source
- ✅ TS303: Ingest data to feature set(s) from Parquet source
- ✔ TS304: Ingest data to feature set(s) from SQL source
- ❌ TS305: Ingest data to feature set(s) from Kafka source
- ❌ TS306: Ingest data to feature set(s) from HTTP source
- Feature vector
- ✅ TS401: Create feature vector(s)
- Get data from vector
- ✅ TS501: Get data from off-line feature vector(s)
- ✅ TS502: Get data from on-line feature vector(s)
- Pipelines
- ❌ TS601: Simple pipeline for DataFrame source
- ❌ TS602: Simple pipeline for CSV source
- ❌ TS603: Simple pipeline for Parquet source
- ❌ TS604: Complex pipeline for DataFrame source
- ❌ TS605: Complex pipeline for CSV source
- ❌ TS606: Complex pipeline for Parquet source
- Build model
- ✅ TS701: Build CART model
- ❌ TS702: Build XGBoost model
- ❌ TS703: Build DNN model
- Serve model
- ✅ TS801: Serving score from CART
- ❌ TS802: Serving score from XGBoost
- ❌ TS803: Serving score from DNN
NOTE: Each test scenario contains addition specific test cases (e.g. with different targets for feature sets, etc.).
Test inputs/outputs
The quality gate tests these inputs/outputs (✅ done, ✔ in-progress, ❌ planned):
- Outputs (targets)
- ✅ RedisTarget, ✔ SQLTarget/MySQL, ✔ SQLTarget/Postgres, ✅ KafkaTarget
- ✅ ParquetTarget, ✅ CSVTarget
- ✅ File system, ❌ S3, ❌ BlobStorage
- Inputs (sources)
- ✅ Pandas/DataFrame, ❌ SQLSource/MySQL, ❌ SQLSource/Postgres, ❌ KafkaSource
- ✔ ParquetSource, ✅ CSVSource
- ✅ File system, ❌ S3, ❌ BlobStorage
The supported sources/targets from MLRun.
Sample of outputs
The reports in original form, see:
Usage
You can easy use this solution in four steps:
- Download content of these two GIT repositories to your local environment
- Update file
qgate-sln-mlrun.env
from qgate-model- Update variables for MLRun/Iguazio, see
MLRUN_DBPATH
,V3IO_USERNAME
,V3IO_ACCESS_KEY
,V3IO_API
- setting of
V3IO_*
is needed only in case of Iguazio installation (not for pure free MLRun)
- setting of
- Update variables for QGate, see
QGATE_*
(basic description directly in *.env)- detail setup configuration
- Update variables for MLRun/Iguazio, see
- Run from
qgate-sln-mlrun
- python main.py
- See outputs (location is based on
QGATE_OUTPUT
in configuration)- './output/qgt-mlrun-<date_time>.html'
- './output/qgt-mlrun-<date_time>.txt'
Precondition: You have available MLRun or Iguazio solution (MLRun is part of that), see official installation steps, or directly installation for Desktop Docker.
Tested with
The project was tested with these MLRun versions (see change log):
- MLRun (in Desktop Docker)
- MLRun 1.7.0 (plan 05/2024)
- MLRun 1.6.3 (plan 04/2024), 1.6.2, 1.6.1, 1.6.0
- MLRun 1.5.2, 1.5.1, 1.5.0
- MLRun 1.4.1, 1.3.0
- Iguazio (k8s, on-prem, VM on VMware)
- Iguazio 3.5.3 (with MLRun 1.4.1)
- Iguazio 3.5.1 (with MLRun 1.3.0)
NOTE: Current state, only the last MLRun/Iguazio versions are valid for testing (these tests are without back-compatibilities).
Others
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file qgate_sln_mlrun-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: qgate_sln_mlrun-0.2.0-py3-none-any.whl
- Upload date:
- Size: 36.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc4231760281897357c76f78b66ea46ab3b1a36669aac31f66f78119c7a82c39 |
|
MD5 | 4972612ba209d48119731000e6263e3d |
|
BLAKE2b-256 | c11cfcd74593a18ec2e4720277058d73dee3ab7cc8001f6fea39f772b9f0bd41 |