meshery-consul icon indicating copy to clipboard operation
meshery-consul copied to clipboard

[SMI] SMI Conformance Testing Support

Open mgfeller opened this issue 4 years ago • 8 comments

Enhancement Description

Verify the SMI-compatibility of Consul against the standard suite of compliance tests.

mgfeller avatar Nov 06 '20 17:11 mgfeller

Hi @kumarabd, I've had a look at the OSM adapter wrt SMI conformance testing to gain an overview.

If I understand correctly, labels and annotations defined here osm/smi_conformance.go:12 are for namespaces, and the deployments used in the tests are e.g. smi-conformance/test-gen/test-yamls/traffic-access/02-install.yaml.

Is it possible to either specify mesh specific deployments, and/or specify pod specific annotations?

mgfeller avatar Nov 08 '20 14:11 mgfeller

Uhmm if its insisting on pod specific annotations then I'm afraid we don't have that ability at the moment. @leecalcote Can we discuss over it once before we move forward for consul? Thanks for highlighting @mgfeller

kumarabd avatar Nov 11 '20 12:11 kumarabd

@mgfeller will you make a comment in reference to this issue in https://docs.google.com/document/d/1HL8Sk7NSLLj-9PRqoHYVIGyU6fZxUQFotrxbmfFtjwc/edit#?

leecalcote avatar Nov 11 '20 17:11 leecalcote

@mgfeller will you make a comment in reference to this issue in https://docs.google.com/document/d/1HL8Sk7NSLLj-9PRqoHYVIGyU6fZxUQFotrxbmfFtjwc/edit#?

https://docs.google.com/document/d/1HL8Sk7NSLLj-9PRqoHYVIGyU6fZxUQFotrxbmfFtjwc/edit?disco=AAAAKwf2IiE

App deployment in consul: https://github.com/layer5io/learn-layer5/blob/master/deploy/k8s-consul.yaml

I should most probably look more closely at SMI and how it is supposed to work exactly :-)

mgfeller avatar Nov 11 '20 20:11 mgfeller

  • https://github.com/hashicorp/consul-smi-controller
  • https://www.hashicorp.com/blog/hashicorp-consul-supports-microsoft-s-new-service-mesh-framework
  • https://youtu.be/e5kv9E48Bac
  • https://youtu.be/nlg3yiCNmY8
  • https://youtu.be/YgFoAdeMooM

mgfeller avatar Dec 08 '20 18:12 mgfeller

Copied from Slack conversation, omitting mentions.

Michael Gfeller Dec 9th at 9:09 PM Consul required a controller for SMI (https://github.com/hashicorp/consul-smi-controller). As far as I can make out, this is still the case. The corresponding repository hasn't been updated in a while, and appears to cover a subset of the spec only. What is the state and plan for the controller? Does it work with Consul 1.8+? As discussed in our SMI doc, the deployment manifest for learn-layer5 needs to be adjusted for Consul. (A future release of Consul might make this unnecessary.) This leads to a significant change in the SMI conformance testing code; the extent depends on the approach chosen. AFAIK, it is also being considered to re-implement the SMI conformance tool.

What should we do?

  1. wait for new version of Consul, updated controller, redesigned SMI conformance tool?
  2. deciding on and implementing Consul specific adjustments of the conformance tool, testing the controller, etc?
  3. other?

See also https://github.com/layer5io/meshery-consul/issues/106 Lee Abishek Kumar

blake 1 day ago As far as I know this controller has not been tested with Consul 1.8. It was originally built when SMI was fairly new, and had not yet been adopted much in the industry. Now that its gaining traction and other service meshes like OSM, NGINX SM, etc are using it we are looking at opportunities to build out further support in Consul. To be honest though, this will be driven by requests from our customers and community. At the moment, folks seem more interested in us building out other capabilities over SMI.

Michael Gfeller 1 day ago Thanks for the feedback and clarification, blake!

Nic Jackson 21 hours ago If we get approval to update the SMI spec i will pick this up again but SMI is pretty light on features at the mo

Lee 11 hours ago Thank you, gents. We’re meeting with NGINX on SMI Conformance tomorrow. Michael Gfeller let’s opt for # 1.

Michael Gfeller < 1 minute ago Thanks! I copy this conversation to the issue for doc purposes :slightly_smiling_face:

mgfeller avatar Dec 11 '20 15:12 mgfeller

Consul 1.10 is out (https://www.consul.io/docs/release-notes/1-10-0), now supporting transparent proxies. Once this version is supported in the adapter, we could have a look at this issue again.

mgfeller avatar Jul 09 '21 07:07 mgfeller

I guess this issue is solved, can this issue be closed?

iambami avatar Feb 10 '22 18:02 iambami