GithubHelp home page GithubHelp logo

machine-learning-exchange / mlx Goto Github PK

View Code? Open in Web Editor NEW
188.0 7.0 50.0 45.63 MB

Machine Learning eXchange (MLX). Data and AI Assets Catalog and Execution Engine

Home Page: https://ml-exchange.org/

License: Apache License 2.0

Shell 1.30% Python 74.33% Dockerfile 0.13% HTML 0.10% TypeScript 22.89% CSS 1.18% Makefile 0.08%
models datasets pipelines kubernetes kubeflow-pipeline tekton notebook-jupyter mlx mlx-catalog machine-learning

mlx's Introduction

Build Status CII Best Practices Slack

Machine Learning eXchange (MLX)

Data and AI Assets Catalog and Execution Engine

Allows upload, registration, execution, and deployment of:

  • AI pipelines and pipeline components
  • Models
  • Datasets
  • Notebooks

Additionally it provides:

For more details about the project check out this announcement blog post.

1. Deployment

For a simple up-and-running MLX with asset catalog only, we created a Quickstart Guide using Docker Compose.

For a slightly more resource-hungry local deployment that allows pipeline execution, we created the MLX with Kubernetes in Docker (KIND) deployment option.

For a full deployment, we use Kubeflow Kfctl tooling.

2. Access the MLX UI and import Assets to the Catalog

By default, the MLX UI is available at http://<cluster_node_ip>:30380/mlx/

If you deployed on a Kubernetes cluster or using OpenShift, run the following and look for the External-IP column to find the public IP of a node.

kubectl get node -o wide

For information on how to import data and AI assets using MLX's catalog importer, use this guide.

3. Use MLX

For information on how to use MLX and create assets check out this guide.

4. How to Contribute

For information about adding new features, bug fixing, communication or UI and API setup, refer to this document.

5. Troubleshooting

MLX Troubleshooting Instructions

Join the Conversation

mlx's People

Contributors

animeshsingh avatar bluthaitanium avatar ckadner avatar dependabot[bot] avatar drewbutlerbb4 avatar ezinneanne avatar jaulet avatar jbusche avatar jiaxuanyang avatar kiranp2396 avatar krishnakumar27 avatar mlx-bot avatar moficodes avatar prasantacharya avatar rafvasq avatar rrm123 avatar shanmukha1996 avatar srishtipithadia avatar tomcli avatar vedantgannu avatar yhwang avatar zachary-fernandes avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

mlx's Issues

Minio dashboard no longer works in quickstart with Docker Compose

Describe the bug

A clear and concise description of what the bug is.

To Reproduce

  1. Follow the steps under /quickstart
  2. Open the URL localhost:9000 in a browser
  3. See error in screenshot below
  4. Warning in the minio service log
API: http://<my IP>:9000  http://127.0.0.1:9000 

Console: http://<my IP>:40843 http://127.0.0.1:40843 

Documentation: https://docs.min.io

WARNING: Console endpoint is listening on a dynamic port (40843), please use --console-address ":PORT" to choose a static port.

Expected behavior

Minio dashboard should open up

Screenshots

localhost:9000/

image

Environment

  • OS: macOS 10.15.6
  • Browser: Firefox, Chrome, Safari
  • MLX Version: f9a05ba

Additional context

minio/minio#12660

API should validate uploaded asset metadata

Describe the bug

When uploading a (potentially defunct) component.yaml breaks UI. Uploading works but detail view on the component is empty

To Reproduce

  • Upload this component.yaml
  • Click on detail view of the component in the UI

Expected behavior

Detail view of component is showing up

Environment

  • OS: RHEL 8.x
  • Browser FF 89.0
  • MLX Version a913fd7

MLX pipeline API schema doesn't work with Kubeflow 1.3

Describe the bug

When getting a list of pipelines from Kubeflow 1.3 using the MLX API. The server returns 500 with these errors

"The MySQL table 'mlpipeline.pipelines_extended' does not match Swagger class 'ApiPipelineExtended'.\n Found table with columns:\n  - 'UUID' varchar(255)\n  - 'CreatedAtInSec' bigint(20)\n  - 'Name' varchar(255)\n  - 'Description' longtext\n  - 'Parameters' longtext\n  - 'Status' varchar(255)\n  - 'DefaultVersionId' varchar(255)\n  - 'Namespace' varchar(63)\n  - 'Annotations' longtext\n  - 'Featured' tinyint(1)\n  - 'PublishApproved' tinyint(1).\n Expected table with columns:\n  - 'UUID' varchar(255)\n  - 'CreatedAtInSec' bigint(20)\n  - 'Name' varchar(255)\n  - 'Description' longtext\n  - 'Parameters' longtext\n  - 'Status' varchar(255)\n  - 'DefaultVersionId' varchar(255)\n  - 'Annotations' longtext\n  - 'Featured' tinyint(1)\n  - 'PublishApproved' tinyint(1).\n Delete and recreate the table by calling the API endpoint 'DELETE /pipelines_extended/*'"

To Reproduce

Steps to reproduce the behavior:

  1. Deploy Kubeflow 1.3
  2. Deploy MLX
  3. Go to the pipeline page, one of the apis will return 500 with the above error.

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots

If applicable, add screenshots to help explain your problem.

Environment

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • MLX Version [e.g. 22]

Additional context

Add any other context about the problem here.

Uploading any asset causes all other assets of the same type to disappear from the Featured Page

Describe the bug

Uploading any asset causes all other assets of the same type to disappear from the Featured Page

(Might be specific to docker compose)
More specifically, uploading a model causes all other models to lose their publish_approved and featured values.

To Reproduce

Steps to reproduce the behavior:

  1. Start up the docker compose quickstart
  2. Upload a new model

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots

If applicable, add screenshots to help explain your problem.

Environment

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • MLX Version [e.g. 22]

Additional context

Add any other context about the problem here.

[UI] Apply title case to asset names, replace dashes with space

Currently the UI displays the name of the assets (i.e. pipelines) as it was provided (or extracted from YAML) during pipeline registration. Depending on the means of registration (via MLX UI, KFP UI, KFP SDK, MLX API, MLX catalog import, or MLX bootstrapper) there are cases when the name defaults to a quasi ID like trusted-ai or my-pipeline. It may be useful to have the UI replace those dashes with spaces and apply title case to the name.

[ui] The experiments iframe contains kubeflow namespace selector banner

The experiments iframe points to /_/pipeline/?ns=mlx#/experiments which contains the whole experiments view from kubeflow dashboard. The original /pipeline/#/experiments doesn't work since kfp v.13. The original link can't get correct namespace information and fails to show the experiments.

To Reproduce

Steps to reproduce the behavior:

  1. Go to mlx dashboard
  2. Login as admin user
  3. Click on Pipelines and Select View Experiments
  4. The iframe shows the kubeflow experiments view which contains the namespace selector

Expected behavior

Only show the experiments views without kubeflow namespace selector and nav bar.

Persist sidebar settings into database

Is your feature request related to a problem? Please describe.
Currently, the sidebar settings are stored in the API pod's memory, which means whenever the pod crashed or horizontally scaled, the sidebar settings are having conflicts when users refresh their page. We need to store the sidebar settings just like other assets so that it can be resilient with scales and crashes.

Quickstart pipeline API having problems with stress tests

Describe the bug

@yhwang can you describe the errors that you found?

To Reproduce

Steps to reproduce the behavior:

  1. Deploy read only MLX at #126
  2. Run stress tests against the MLX pipelines API

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots

If applicable, add screenshots to help explain your problem.

Environment

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • MLX Version [e.g. 22]

Additional context

Add any other context about the problem here.

Make MAX models work on kfserving and model mesh serve

Is your feature request related to a problem? Please describe.
Currently, we only can access MAX models if we deployed them using Kubernetes deployment. Both kfserving and model mesh won't work for MAX because MAX models are mapped with non-configurable endpoints and needs complex pre/post-processing methods.

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Bypass check for changed files in Travis CRON job to push Docker images

$ if [ $EXIT_CODE -eq 0 ]; then
    echo "No changes detected - skipping job."
    travis_terminate 0

No changes detected - skipping job.

However, if there were multiple commits during the day and the last commit of the day has no API/UI changes, then the CRON job will terminate early even though there have been other UI / API changes earlier during the day.

Pipeline launch fails with error "In single-user mode, ListExperiment cannot filter by namespace"

Describe the bug

Reported by @blublinsky

Trying to launch a pipeline from mlx - it brings kubeflow pipelines screen, but execution does not happen.

Steps to reproduce

curl -X POST  \
    --header 'Content-Type: application/json' \
    --header 'Accept: application/json' \
    -d '{}' \
'http://{$MLX_API_SERVER}/apis/v1alpha1/pipelines/fdda3ca4-39c1-4ed0-8781-f54d202a4ec6/run?run_name=A%20demo%20of%20recursive%20conditional%20pipeline%20-%20flip%20coin'

Reported Error

"error: In single-user mode, ListExperiment cannot filter by namespace"

"Error while trying to run pipeline fdda3ca4-39c1-4ed0-8781-f54d202a4ec6: 
{\"error\":\"Invalid input error: In single-user mode, ListExperiment cannot filter by namespace.\",\"code\":3,
\"message\":\"Invalid input error: In single-user mode, ListExperiment cannot filter by namespace.\",\"details\":
[{\"@type\":\"type.googleapis.com/api.Error\",\"error_message\":
\"In single-user mode, ListExperiment cannot filter by namespace.\",
\"error_details\":\"Invalid input error: In single-user mode, ListExperiment cannot filter by namespace.\"}]}\n
KFP URL: 172....:8888 (400)"

Environment

  • MLX single-user on OpenShift

Rework bootstrapper

$ grep -o -h -E "http.*yaml" bootstrapper/configmap.yaml | \
  while read url; do \
    curl -s -o /dev/null -w "%{http_code}" $url; echo ": ${url}"; \
  done | grep --color "404"
404: https://raw.githubusercontent.com/machine-learning-exchange/katalog/main/model-samples/max-audio-classifier.yaml
404: https://raw.githubusercontent.com/machine-learning-exchange/katalog/main/model-samples/max-breast-cancer-mitosis-detector.yaml
404: https://raw.githubusercontent.com/machine-learning-exchange/katalog/main/model-samples/max-facial-age-estimator.yaml
404: https://raw.githubusercontent.com/machine-learning-exchange/katalog/main/model-samples/max-image-segmenter.yaml
404: https://raw.githubusercontent.com/machine-learning-exchange/katalog/main/model-samples/max-news-text-generator.yaml
404: https://raw.githubusercontent.com/machine-learning-exchange/katalog/main/model-samples/max-sports-video-classifier.yaml

Add check_license script

Add a script such as the one referenced to ensure that a source file has a license header and it is likely that SPDX will be used to create SBOM (Software Bill of Materials) for OSS

Model deployment code template cannot change namespace

Describe the bug
Right now the model deployment code template is hard coded to the anonymous namespace, we need to make it configurable in order to work in the multi-user environment.

To Reproduce

Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots

If applicable, add screenshots to help explain your problem.

Environment

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • MLX Version [e.g. 22]

Additional context

Add any other context about the problem here.

Remove api/swagger-codegen-cli-2.4.8.jar file

The swagger-codegen CLI can be readily installed from external sources and need not be part of this repository.

The JAR file /api/swagger-codegen-cli-2.4.8.jar appears to contain a large number of Java dependencies in binary form (approx. 7000 .class Java binary files). We recommend that LF projects should not distribute binary files as part of their source code repositories. There are several reasons for this, including because it is harder for users of the source code repos to know about the provenance or contents of the binary files. In the presence of copyleft licenses these binaries might require sharing the corresponding source code.

It is strongly recommended this JAR file be removed from the source code repo, and instead (if necessary) configuring the build system to retrieve it from an upstream location at build time / install time, as applicable. Or, alternatively, adjusting the documentation to instruct users where they can obtain these dependencies themselves, rather than distributing the binaries

Furthermore, the swagger-cli is not required for code generation. Only the swagger-codegen is required.

Swagger Codegen 2.4.

We are using swagger-codegen version 2.4.x to generate our API as swagger-codegen
version 3.0.x no longer supports python (server) any longer.

Below are the instructions for installing the latest swagger-codegen version 2.x using Homebrew. For installation on other platforms, go to swagger-api/swagger-codegen on GitHub.

Note: swagger-codegen 3.x does not support the Python (server) anymore, so we need to downgrade to version 2.x (@2):

brew search swagger-codegen@
brew install swagger-codegen@2
brew link --force swagger-codegen@2

Keep npm dependencies up to date

Many of our npm dependencies get pinned to a certain version (see package-lock.json) which become outdated quickly. Those outdated version often have security vulnerabilities that get fixed in more recent versions. However the MLX UI keeps using the pinned outdated versions.

We should try using tools like npm-upgrade and build that into a Makefile target and integrate a check for outdated (minor) versions in our CI/CD checks.

This is the first blog post I hit after googling this topic, but there are plenty more:
https://hudochenkov.com/posts/up-to-date-dependencies/

@drewbutlerbb4 -- could you take this on?

Notebook launch fails with blank screen

Describe the bug

Notebook launch fails with blank screen. Error on the web console:

"__init__() missing 2 required positional arguments: 'pipeline_name' and 'experiment_name'"

Debugging this problem, it seems to be raised by the NotebookOp class initialization.

@dsl.pipeline(
name='Run a Jupyter Notebook',
description='A pipeline to run a Jupyter notebook using the elyra-ai/kfp-notebook library.'
)
def notebook_pipeline():
"""A pipeline to run a Jupyter notebook with elyra-ai/kfp-notebook and Papermill."""
from kfp_notebook.pipeline import NotebookOp
notebook_op = NotebookOp(name="${name}",
notebook="${notebook}",
cos_endpoint="${cos_endpoint}",
cos_bucket="${cos_bucket}",
cos_directory="${cos_directory}",
cos_dependencies_archive="${cos_dependencies_archive}",
requirements_url="${requirements_url}",
image="${image}")

This change in kfp-notebook causes the error now:
elyra-ai/kfp-notebook@21ebe68
elyra-ai/kfp-notebook#83

Kubernetes deployement

It should not be

  1. Called "minimal" deployment
  2. Only thing missing from default should be KFS (not Datashim)
  3. The page should not contain Read only deployment instructions - that should be hidden somewhere else.

Minio setup in Quickstart with Docker Compose may fail

Describe the bug

Run the /quickstart. Here modified to run without the API. See error miniosetup_1 | mc: <ERROR> Unable to initialize new alias from the provided credentials. Even the log goes on to say that the mlpipeline bucket was created, in fact it was not.

This error only occurred once in about 50 starts of Docker Compose. Unfortunately, the service dependency stated in the docker-compose.yaml file does only guarantee that the dependent service has started. It does not guarantee that it has completed initialization (https://docs.docker.com/compose/compose-file/compose-file-v3/#depends_on)

$ docker compose   --project-name no_api   up   minio miniosetup mysql mlx-ui

[+] Running 7/7
 ⠿ Network no_api_default         Created                                                                                                                                                                                       0.4s
 ⠿ Volume "no_api_data-minio"     Created                                                                                                                                                                                       0.0s
 ⠿ Volume "no_api_data-mysql"     Created                                                                                                                                                                                       0.0s
 ⠿ Container no_api_mysql_1       Started                                                                                                                                                                                       3.1s
 ⠿ Container no_api_mlx-ui_1      Started                                                                                                                                                                                       3.1s
 ⠿ Container no_api_minio_1       Started                                                                                                                                                                                       3.1s
 ⠿ Container no_api_miniosetup_1  Started                                                                                                                                                                                       4.8s

Attaching to minio_1, miniosetup_1, mlx-ui_1, mysql_1

miniosetup_1  | mc: <ERROR> Unable to initialize new alias from the provided credentials. Get "http://minio:9000/probe-bucket-sign-gds95kgtrplz/?location=": dial tcp 172.19.0.3:9000: connect: connection refused.
miniosetup_1  | Bucket created successfully `miniohost/mlpipeline`.
miniosetup_1  | Access permission for `miniohost/mlpipeline` is set to `download`
minio_1       | API: http://172.19.0.3:9000  http://127.0.0.1:9000 
minio_1       | 
minio_1       | Console: http://172.19.0.3:9001 http://127.0.0.1:9001 
minio_1       | 
minio_1       | Documentation: https://docs.min.io
miniosetup_1 exited with code 0
...

Update API to enable multi-user deployment

Follow up to PR #59

TODOs:

  • upload pipelines only by authenticated user:
    • without providing a namespace makes the pipeline public (DEFAULT ?)
    • with his/her namespace makes the pipeline private
  • launching pipelines requires user's namespace (implicitly provided by UI, explicitly accepted by API)
  • listing pipelines:
    • by anonymous user shows only public pipelines
    • by authenticated user shows his/her private pipelines and all public pipelines (API takes namespace parameter?)
  • verify API deployment in cluster with Kubeflow Pipelines 1.5.0
  • TODO: @Tomcli add MySQL policy back into demo cluster

add provider url in the details page for datasets

Is your feature request related to a problem? Please describe.
For the datasets, we want to expose the provider.url in the details page and let users to redirect to the developer.ibm.com

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

MLX login needs to support AppID as an option.

Is your feature request related to a problem? Please describe.
MLX right now only can login using basic browser form. We need to add support for AppID login in the MLX login page.

The Kubeflow way of forcing login is based on domain path. However, MLX needs to force login based on user role, not the domain path. Thus, it needs to support the AppID login using the following documentations.
https://cloud.ibm.com/docs/appid?topic=appid-web-apps

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Quickstart not working with docker-compose running on a remote machine

Describe the bug

Error when starting quickstart on docker compose

To Reproduce

https://github.com/ckadner/mlx.git
cd mlx
git checkout docker-compose
docker-compose up
ERROR: Service 'dashboard' depends on service 'mlx-init' which is undefined.

Expected behavior
quickstart starts

Screenshots

Environment

  • OS: Ubuntu 18.04.5 LTS
  • Browser -
  • MLX Version see above
  • Docker version 20.10.2, build 20.10.2-0ubuntu1~18.04.2
  • docker-compose version 1.29.2, build 5becea4c

Additional context

Add any other context about the problem here.

Single user pipeline run is having error

Describe the bug
When running single user MLX, the pipeline run is returning the below errors:

"Error while trying to run pipeline bdddf286-4c26-46b8-9af5-d08aafc2ce1d: 'MaxRetryError' object has no attribute 'body'"

However, for component, model, dataset, notebook runs, the pipeline run works fine.

To Reproduce
Install kustomize 3.2.1

git clone https://github.com/machine-learning-exchange/manifests -b mlx-single-user
cd manifests
# run the below command two times if the CRDs take too long to provision.
kustomize build example | kubectl apply -f -

Go to <public_ip>:30380/mlx, publish the default pipeline in the view all pipelines and run it. You will see a blank page because the API is returning the above error.

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots

If applicable, add screenshots to help explain your problem.

Environment

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • MLX Version [e.g. 22]

Additional context

Add any other context about the problem here.

Quickstart UI missing upload functionality

Describe the bug
The Quickstart UI is missing any upload functionality

To Reproduce
Deploy quickstart on docker-compose and start the UI - you won't see any upload buttons

Expected behavior

Upload buttons/functionality available as in kubernetes version

Environment

  • OS: RHEL 8.x
  • Browser FF
  • MLX Version 29c79a1

Additional context

Quickstart is supposed to give users a full experience on how to manage assets. adding, updating and deleting is important in the UI as well

Default multi-user permission cannot create datashim CRs.

Describe the bug
The default multi-user permission cannot create some CRDs such as datashim and inferenceserivice. A quick fix can be apply cluster admin to the service account, but for more secure fix we need to patch new permission to the kubeflow-editor service account in each user namespace.

To Reproduce

Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots

If applicable, add screenshots to help explain your problem.

Environment

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • MLX Version [e.g. 22]

Additional context

Add any other context about the problem here.

MLX-API is running on a Flask development server

Start the MLX-API server locally or inspect the logs of the deployed mlx-api pod.

WARNING: This is a development server. Do not use it in a production deployment. 
Use a production WSGI server instead.
$ python3 -m swagger_server

 * MLX API version: 0.1.27
 * Enabled cross-origin support with 'flask-cors': origins='*'
 * Serving Flask app "__main__" (lazy loading)
 * Debug mode: off
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Running on http://192.168.1.118:8080/ (Press CTRL+C to quit)

As the warning suggests, we need to run the mlx-api on a production WSGI server:

https://flask.palletsprojects.com/en/2.0.x/tutorial/deploy/?highlight=waitress#run-with-a-production-server

Create API unittests with Docker Compose

The MLX API code relies extensively on "deployed infrastructure" like the MySQL database and Minio S3 storage provisioned by Kubeflow Pipelines. Thus it is nearly impossible to test any of the API endpoints in isolation on a local developer notebook.

Since we now have a working MLX Katalog "deployment" with the Quickstart guide we should be able to implement a unittest suite for all of the Katalog specific API endpoints that do not rely on running Kubeflow Pipelines, like register, list, delete, download.

Once we have a working KIND (Kubernetes in Docker) setup #73 we should be able to point the unittest suite to that, or, to any provisioned MLX Kubernetes cluster.

MLX-UI cannot render v1beta1 inference services

Describe the bug

A clear and concise description of what the bug is.

To Reproduce

Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots

If applicable, add screenshots to help explain your problem.

Environment

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • MLX Version [e.g. 22]

Additional context

Add any other context about the problem here.

UI needs to implement a logout page/button/route

Is your feature request related to a problem? Please describe.
Right now there's no way for the admin to logout other than clear up the browser cookies, so we need a logout page to simply this process.

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Quickstart problems

Describe the bug

catalog_1     |       "error_message": "The MySQL table 'mlpipeline.pipelines' does not match Swagger class 'ApiPipeline'.\n Found table with columns:\n  - 'UUID' varchar(255)\n  - 'CreatedAtInSec' bigint(20)\n  - 'Name' varchar(255)\n  - 'Description' longtext\n  - 'Parameters' longtext\n  - 'Status' varchar(255)\n  - 'DefaultVersionId' varchar(255)\n  - 'Namespace' varchar(63).\n Expected table with columns:\n  - 'UUID' varchar(255)\n  - 'CreatedAtInSec' bigint(20)\n  - 'Name' varchar(255)\n  - 'Description' longtext\n  - 'Parameters' longtext\n  - 'Status' varchar(255)\n  - 'DefaultVersionId' varchar(255)\n  - 'Namespace' varchar(255).\n Delete and recreate the table by calling the API endpoint 'DELETE /pipelines/*'",

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.