-
Notifications
You must be signed in to change notification settings - Fork 35
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
NSM vl3 with selective composition errors #6305
Comments
Hi @yuraxdrumz, As for the issues you found, I'm not sure if we can fix this in v1.4.0. If you have any progress (e.g. for cmd-nse-vl3-vpp repository) feel free to open the PR! |
This sounds as a bug. Could you attach steps to reproduce and open the issue in |
@yuraxdrumz Be free to open PR :) |
Thanks for the feedback, I will open a PR as soon as its working! I found the issue with my initial problem of connecting NSC -> PT -> NSE <- NSE <- NSC The initial test run was with 2 NSE's and 2 NSC's, one NSC direct and one NSC through passthrough.
To confirm this issue, I ran the example above with 1 NSE, and everything works. It seems like there is an issue with stickiness here. If I'm right, how does the pinger in the NSC work when there are multiple NSE's with different subnets? Attaching the log from when the NSC connects to the 2nd NSE and everything fails. Attaching log from when NSC works through passthrough, when there is only 1 NSE and everything works. Thanks EDIT: tested with regular composition with 2 NSE's with different subnets and I get the same Data plane is down error with Attaching kustomize example Attaching cmd-nsc log with Dataplane is down error Looks like the IP is getting excluded from the request |
Would it perhaps make sense to have the NSE's themselves advertise a distinct 'interconnect' network service that they use to interconnect between each other that is not the same as the 'vl3' that is advertised to NSCs ? |
@edwarnicke I thought about it as well. Adding the labels gives enough room to interconnect however I want in the future and is almost zero code changes, do you see a specific use case for your suggestion? Edit: |
Small issues like hardcoded log level we'll fix in v1.4.0. We plan to resolve other things in v1.5.0 |
Yeah... what I was getting at was something that would just 'work' in an intuitive way. I value your hack to make it work with labels because it is the minimum set of changes that proves the root of the problem (super helpful).
It would make 'composition' of things before the vL3 work roughly as one would expect. |
@denis-tingaikin sounds good. @edwarnicke I agree |
Hi @yuraxdrumz, Could you please check this on the latest |
I hope this should be fixed with networkservicemesh/cmd-nse-firewall-vpp#286 @yuraxdrumz Feel free to reopen this one if we missed something! |
Will check it out next week, thanks! |
Hello guys,
I have a requirement to do selective composition with VL3.
While working on this solution, I encountered a few issues:
logrus.SetLevel(logrus.TraceLevel)
secured: false
and notsecured: "false"
, results in nsc response ofnsm-ns not found
, which was caught only in registry after debug.Here is the registry template error from the missing ""
May 30 14:55:53.573 [ERRO] [type:registry] (1.2) Error returned from sdk/pkg/registry/switchcase/switchCaseNSServer.Find: v1.NetworkServiceList.Items: []v1.NetworkService: v1.NetworkService.Spec: v1.NetworkServiceSpec.Matches: []*registry.Match: registry.Match.SourceSelector: ReadString: expects " or n, but found f, error found in #10 byte of ...|secured":false}},{"r|..., bigger context ...|p":"passthrough"}}],"source_selector":{"secured":false}},{"routes":[{"destination_selector":{"app":"|...
To fix the NSE connecting to all other NSE's above, I forked cmd-nse-vl3-vpp and added a filter by NSM labels, so that only vl3 NSE's connect.
I have an example kustomize attached below.
vl3-composition.zip
Once I run everything, I immediately see various errors, attaching all logs here:
nsc-pt-7fb56c5fd5-9snqw.log
nsc-direct-54f685c899-nwdcr.log
nse-56fc9c6644-57cqc.log
registry-k8s-5dccfdb7dc-p6gsk.log
passthrough-6fc6b6dc84-lp8df.log
forwarder-vpp-wsr54.log
forwarder-vpp-bfd2k.log
nse-56fc9c6644-876vm.log
I just saw you published roadmap for 1.4.0, but the examples I tried are with v1.3.1, please tell me if some of the above can be fixed by upgrading to v1.4.0
Thanks
EDIT: forgot to mention
The text was updated successfully, but these errors were encountered: