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

Support having multiple VirtualService objects #1100

Closed
dsbos opened this issue Apr 21, 2021 · 5 comments · Fixed by #1381
Closed

Support having multiple VirtualService objects #1100

dsbos opened this issue Apr 21, 2021 · 5 comments · Fixed by #1381
Labels
enhancement New feature or request istio

Comments

@dsbos
Copy link

dsbos commented Apr 21, 2021

Summary

Rollout does not seem to support having (specifically, updating weights in) multiple VirtualService objects.

Per the Rollout specification currently at
https://argoproj.github.io/argo-rollouts/features/specification/, in particular, this part:

        # Istio traffic routing configuration
        istio:
          virtualService: 
            name: rollout-vsvc  # required
            routes:
            - primary # At least one route is required

it does support having multiple Istio HTTPRoute sub-objects in a VirtualService (via having that routes member be a list of HTTPRoute names).

However, Rollout does not support having multiple VirtualService objects (since the value of member virtualService is single object)

If member virtualService, which currently gives one sub-object specifying a VirtualService, were replaced with a member (e.g., virtualServices) listing multiple such specification sub-objects, then Rollout would support having multiple VirtualServices (each with its own name and own list of HTTPRoute names).

For backward compatibility, Rollout could keep virtualService when adding virtualServices (making it a semantic error to specify both).

Use Cases

This enhancement is needed to support Istio-based setups in which a service's routes are given in multiple VirtualService objects rather than just a single one.

(Recall that Istio allows splitting up a service's routing into multiple VirtualService objects. Also, note that mapping from ingress host names to services might involve multiple host names, per–URI-path routing, and multiple target services. For multiple routes going to the same target service, sometimes splitting into multiple VirtualService objects makes things (e.g., matching rules) much simpler.)


Message from the maintainers:

Impacted by this bug? Give it a 👍. We prioritize the issues with the most 👍.

@dsbos dsbos added the enhancement New feature or request label Apr 21, 2021
@gaurav517
Copy link

👍

@sadovnikov
Copy link

Until one-year-old istio/istio#22997 is resolved it's necessary to create separate VirtulServices for ingress and mesh-internal requests. With the single value of istio. virtualService users cannot apply canary deployment on all traffic

@huikang
Copy link
Member

huikang commented Jul 23, 2021

Our team has a PR to enable this. Will submit a PR soon.

@shakti-das
Copy link
Contributor

Update: We are testing out the PR internally. It will be out for review mostly by next week.

@shakti-das
Copy link
Contributor

Hi @jessesuen, could you please assign this to @darshanhs09. He will be sending out a PR for it soon. Thank you.

darshanhs09 pushed a commit to darshanhs09/argo-rollouts that referenced this issue Jul 31, 2021
darshanhs09 pushed a commit to darshanhs09/argo-rollouts that referenced this issue Jul 31, 2021
…Argo Rollouts fixes argoproj#1100

Signed-off-by: Darshan Hassan Shashikumar <[email protected]>
darshanhs09 pushed a commit to darshanhs09/argo-rollouts that referenced this issue Aug 3, 2021
…Argo Rollouts. Addressed all the review comments fixes argoproj#1100
darshanhs09 pushed a commit to darshanhs09/argo-rollouts that referenced this issue Aug 3, 2021
…Argo Rollouts. Addressed all the review comments fixes argoproj#1100

Signed-off-by: Darshan Hassan Shashikumar <[email protected]>
darshanhs09 pushed a commit to darshanhs09/argo-rollouts that referenced this issue Aug 4, 2021
…Argo Rollouts. Addressed the minor review comments fixes argoproj#1100
darshanhs09 pushed a commit to darshanhs09/argo-rollouts that referenced this issue Aug 4, 2021
…Argo Rollouts. Addressed the minor review comments fixes argoproj#1100

Signed-off-by: Darshan Hassan Shashikumar <[email protected]>
darshanhs09 pushed a commit to darshanhs09/argo-rollouts that referenced this issue Aug 5, 2021
…Argo Rollouts. Addressed few minor review comments fixes argoproj#1100
darshanhs09 pushed a commit to darshanhs09/argo-rollouts that referenced this issue Aug 5, 2021
…Argo Rollouts. Addressed few minor review comments fixes argoproj#1100

Signed-off-by: Darshan Hassan Shashikumar <[email protected]>
darshanhs09 added a commit to darshanhs09/argo-rollouts that referenced this issue Aug 12, 2021
…Argo Rollouts. Addressed few minor review comments fixes argoproj#1100
darshanhs09 added a commit to darshanhs09/argo-rollouts that referenced this issue Aug 12, 2021
…Argo Rollouts. Addressed few minor review comments fixes argoproj#1100

Signed-off-by: Darshan Hassan Shashikumar <[email protected]>
darshanhs09 added a commit to darshanhs09/argo-rollouts that referenced this issue Aug 12, 2021
darshanhs09 added a commit to darshanhs09/argo-rollouts that referenced this issue Aug 12, 2021
…Argo Rollouts. fixing the lint issue. fixes argoproj#1100

Signed-off-by: Darshan Hassan Shashikumar <[email protected]>
darshanhs09 added a commit to darshanhs09/argo-rollouts that referenced this issue Aug 27, 2021
darshanhs09 added a commit to darshanhs09/argo-rollouts that referenced this issue Aug 27, 2021
…Argo Rollouts. fixing the unit test issue. fixes argoproj#1100

Signed-off-by: Darshan Hassan Shashikumar <[email protected]>
darshanhs09 added a commit to darshanhs09/argo-rollouts that referenced this issue Aug 27, 2021
…Argo Rollouts. Adding the TLSRoute details in the multiple virtualService spec. fixes argoproj#1100
darshanhs09 added a commit to darshanhs09/argo-rollouts that referenced this issue Aug 27, 2021
…Argo Rollouts. Adding the TLSRoute details in the multiple virtualService spec. fixes argoproj#1100

Signed-off-by: Darshan Hassan Shashikumar <[email protected]>
darshanhs09 added a commit to darshanhs09/argo-rollouts that referenced this issue Aug 27, 2021
…Argo Rollouts. Addressing few minor comments and lint issues. fixes argoproj#1100
darshanhs09 added a commit to darshanhs09/argo-rollouts that referenced this issue Aug 27, 2021
…Argo Rollouts. Addressing few minor comments and lint issues. fixes argoproj#1100

Signed-off-by: Darshan Hassan Shashikumar <[email protected]>
darshanhs09 added a commit to darshanhs09/argo-rollouts that referenced this issue Aug 31, 2021
darshanhs09 added a commit to darshanhs09/argo-rollouts that referenced this issue Aug 31, 2021
…Argo Rollouts. Addressing UT issue. fixes argoproj#1100

Signed-off-by: Darshan Hassan Shashikumar <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request istio
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants