CaraML Docs
CaraML Homepage
  • Introduction
    • What is CaraML?
    • Architecture
      • Feature Store Architecture
      • Models Architecture
      • Routers Architecture
      • Experiments Architecture
      • Pipelines Architecture
    • Core Concepts
      • Models Concepts
      • Router Concepts
      • Experiment Concepts
  • User guides
    • Projects
      • Create a project
      • Managing secrets
    • Feature Store
    • Models
      • Create a Model
        • Custom Model
      • Deploy a Model
        • Deploying a Model Version
        • Severing a Model Version
        • Configuring Transformer
          • Standard Transformer
            • Standard Transformer Expressions
            • Standard Transformer UPI
          • Custom Transformer
        • Redeploying a Model Version
      • Deleting a Model
      • Configuring Alerts
      • Batch Prediction
      • Model Schema
      • Model Observability
    • Routers
      • Creating a Router
        • Configure general settings
        • Configure routes
        • Configure traffic rules
        • Configure autoscaling
        • Configure experiment engine
        • Configure enricher
        • Configure ensembler
        • Configure logging
      • Viewing Routers
        • Configuration
        • History
        • Logs
        • More actions
      • Edit Routers
      • Monitoring router
        • Monitor Router Performance
        • Configure Alerts
      • Undeploying Router
      • Redeploying Router
        • Redeploy undeployed router
        • Redeploy version from history
        • Redeploy version from version details page
      • Deleting Router
        • Deleting router versions
        • Deleting router versions from details page
        • Deleting routers
      • Deleting Emsemblers
        • Delete an Ensembler without related entity
        • Delete an Ensembler with active entities
        • Delete an Ensembler with inactive entities
    • Experiments
      • View Experiment Settings
      • Modify Experiment Settings
      • Creating Experiments
      • Viewing Experiments
      • Modifying Experiments
      • Running Experiments
      • Monitoring Experiments
      • Creating Treatments
      • Viewing Treatments
      • Modifying Treatments
      • Creating Segments
      • Viewing Segments
      • Modifying Segments
      • Creating Custom Segmenters
      • Viewing Custom Segmenters
      • Modifying Custom Segmenters
    • Pipelines
  • Tutorial and Examples
    • Model Sample Notebooks
      • Deploy Standard Models
      • Deploy PyFunc Model
      • Using Transformers
      • Run Batch Prediction Job
      • Others examples on Models
    • Router Examples
    • Feature Store Examples
    • Pipeline Examples
    • Performing load test in CaraML
    • Best practice for CaraML
  • CaraML SDK
    • Feature Store SDK
    • Models SDK
    • Routers SDK
    • Pipeline SDK
  • Troubleshooting and FAQs
    • CaraML System FAQ
    • Models FAQ
      • System Limitations
      • Troubleshooting Deployment Errors
      • E2E Test
    • Routers FAQ
    • Experiments FAQ
    • Feature Store FAQ
    • Pipelines FAQ
    • CaraML Error Messages
  • Deployment Guide
    • Deploying CaraML
      • Local Development
    • Monitoring and alerting
      • Configure a monitoring backend
      • Configure an alerting backend
    • Prerequisites and Dependencies
    • System Benchmark results
    • Experiment Treatment Service
  • Release Notes
    • CaraML Release Notes
Powered by GitBook
On this page
  • Architecture
  • Steps
  • Setup Cluster
  • Setup MLP Namespace
  • Deploy MLP
  • Deploy Merlin
  • Run E2E Test
  1. Troubleshooting and FAQs
  2. Models FAQ

E2E Test

PreviousTroubleshooting Deployment ErrorsNextRouters FAQ

Last updated 1 year ago

Run E2E test as part of github actions workflow. This E2E test will be triggered after merlin docker already published

Architecture

Steps

  • Pull merlin repository

  • Pull mlp repository

  • Setup go

  • Setup python 3.8

  • Setup cluster

  • Setup mlp namespace

  • Deploy mlp

  • Deploy merlin

  • Run E2E test

Setup Cluster

We will need k8s cluster to be run on the github action. We will deploy merlin and mlp applications, also model in this k8s cluster. There are several components that must be installed in this step:

  • Create kind k8s cluster

  • Install vault for secret management

  • Install Istio

  • Install Knative

  • Install KFServing. In this step we patch some configurations:

    • Patch image for storageInitializer. This is required becase in new image environment value for AWS_ENDPOINT_URL AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY already set.

    • Patch logger image. Default logger image forward request to predictor even though predictor is not healthy yet, hence it makes E2E test failing. The patched image handle this by forward request after predictor is healthy and ready.

  • Install Cert Manager

  • Install Minio

Setup MLP Namespace

Create mlp namespace where merlin and mlp application will be deployed. This step also create secret to access vault.

Deploy MLP

Deploying mlp, this is required since merlin has dependency on mlp

Deploy Merlin

Deploy merlin application. In this step there are several patch that needs to be done

  • Change mlflow service type from ClusterIP into NodePort so it can be accessible from inside and outside of cluster

  • Install dummy logger, this is required when trying to run logger E2E test

Run E2E Test

Current E2E test will only run test for

standard model deployment test
architecture