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

Explore re-allowing multiple shadow deployments (for Istio only as Ambassador doesn't support) #2991

Closed
axsaucedo opened this issue Feb 26, 2021 · 3 comments
Assignees
Labels

Comments

@axsaucedo
Copy link
Contributor

The ability to deploy multiple shadows was removed in 1.3.0 due to Ambassador not supporting multiple shadows, which means that now an error is thrown if more than 2 shadows are created. This issue encompasses exploring whether we can enable the ability to have more than 2 shadow models when istio is enabled but limit it when ambassador is enabled.

@axsaucedo axsaucedo added bug triage Needs to be triaged and prioritised accordingly labels Feb 26, 2021
@axsaucedo axsaucedo added this to To do in MLOPs Sprint 2 via automation Feb 26, 2021
@RafalSkolasinski RafalSkolasinski self-assigned this Mar 2, 2021
@RafalSkolasinski
Copy link
Member

It seems that Istio also does not support more than one shadow (mirror): istio/istio#13330

Should we close this one?

@RafalSkolasinski RafalSkolasinski moved this from To do to Review in progress in MLOPs Sprint 2 Mar 3, 2021
@ukclivecox ukclivecox removed the triage Needs to be triaged and prioritised accordingly label Mar 4, 2021
@axsaucedo
Copy link
Contributor Author

@RafalSkolasinski as per discussion closing

MLOPs Sprint 2 automation moved this from Review in progress to Done Mar 15, 2021
@axsaucedo
Copy link
Contributor Author

Revisiting this and tested to validate whether canary and shadow work together. It seems the limitation of multiple shadows are only on the envoy mirror, but if provided with a canary and shadow, both the canary gets the correct traffic and the shadow gets 100% of the traffic.

Example here:

apiVersion: machinelearning.seldon.io/v1alpha2
kind: SeldonDeployment
metadata:
  labels:
    app: seldon
  name: example
spec:
  name: canary-example
  predictors:
  - componentSpecs:
    - spec:
        containers:
        - image: seldonio/mock_classifier:1.11.2
          imagePullPolicy: IfNotPresent
          name: classifier
        terminationGracePeriodSeconds: 1
    graph:
      children: []
      endpoint:
        type: REST
      name: classifier
      type: MODEL
    name: main
    replicas: 1
    traffic: 75
  - componentSpecs:
    - spec:
        containers:
        - image: seldonio/mock_classifier:1.11.2
          imagePullPolicy: IfNotPresent
          name: classifier
        terminationGracePeriodSeconds: 1
    graph:
      children: []
      endpoint:
        type: REST
      name: classifier
      type: MODEL
    name: canary
    replicas: 1
    traffic: 25
  - componentSpecs:
    - spec:
        containers:
        - image: seldonio/mock_classifier:1.11.2
          imagePullPolicy: IfNotPresent
          name: classifier
        terminationGracePeriodSeconds: 1
    graph:
      children: []
      endpoint:
        type: REST
      name: classifier
      type: MODEL
    name: shadow
    replicas: 1
    shadow: true

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
No open projects
Development

Successfully merging a pull request may close this issue.

3 participants