kubeedge / kubeedge/edgemesh

TCP Echo Service Test (examples/tcp-echo-service.yaml) only works in default namespace

Open
#360 2 comments 0 reactions 0 assignees View on GitHub
kind/bug
Dominant language
Go
Stars
293
Forks
145
PR merge metrics
No merged PRs in 30d

Description

**What happened**:

I have deployed the examples/tcp-echo-service.yaml test case.

When using the default namespace, it works. I can exec into the container running the tcp-echo and perform an nslookup on the service:

![Screenshot_2022-06-23_07-40-10](https://user-images.githubusercontent.com/5657057/175232317-63fd8991-b865-4e71-87ea-076e480654b4.png)

I can see edgemesh getting the DNS request:

![Screenshot_2022-06-23_07-46-04](https://user-images.githubusercontent.com/5657057/175233166-6c6a7efd-79f2-4ec4-a054-f8d767b249e0.png)

However, when I add a namespace (argus) to the Service and Deployment:

![Screenshot_2022-06-23_07-42-19](https://user-images.githubusercontent.com/5657057/175232509-3b95645d-0b77-42e9-9f31-5c70eeffced7.png)

The nslookup fails:

![Screenshot_2022-06-23_07-43-55](https://user-images.githubusercontent.com/5657057/175232762-42e33975-e51d-4548-9a33-543498394e68.png)

And Edgemesh DNS request is failing:

![Screenshot_2022-06-23_07-47-09](https://user-images.githubusercontent.com/5657057/175233333-7674da68-f895-41c4-81b8-b7b84e30a42a.png)

**What you expected to happen**:

When using non-default namespace, the DNS request for the service should succeed.

**How to reproduce it (as minimally and precisely as possible)**:

Deploy the examples/tcp-echo-service.yaml test case with a non-default namespace (I have used one of my own and also create a separate namespace and both fail.

**Anything else we need to know?**:

**Environment**:
- EdgeMesh version: aa2119a4a1e838e2daaf6203c41183951fc8938f (HEAD as of 23/06/2022)
- Kubernetes version (use `kubectl version`): Major:"1", Minor:"23", GitVersion:"v1.23.1", GitCommit:"86ec240af8cbd1b60bcc4c03c20da9b98005b92e", GitTreeState:"clean", BuildDate:"2021-12-16T11:34:54Z", GoVersion:"go1.17.5", Compiler:"gc", Platform:"linux/amd64"
- KubeEdge version(e.g. `cloudcore --version` and `edgecore --version`): cloudcore+edgecore: d750c6ec1639ff007f9bf52edb42d6631cabe3e7 (HEAD as of 23/06/2022)
- Cloud nodes Environment:

- Hardware configuration (e.g. `lscpu`):
- OS (e.g. `cat /etc/os-release`):
- Kernel (e.g. `uname -a`):
- Go version (e.g. `go version`):
- Others:


- Edge nodes Environment:

- edgecore version (e.g. `edgecore --version`): d750c6ec1639ff007f9bf52edb42d6631cabe3e7 (HEAD as of 23/06/2022)
- Hardware configuration (e.g. `lscpu`):
- OS (e.g. `cat /etc/os-release`):
- Kernel (e.g. `uname -a`):
- Go version (e.g. `go version`):
- Others:

Contributor guide

Open the contributing guide

Research direction

Reproduce the failure using examples/tcp-echo-service.yaml after placing the Service and Deployment in a non-default namespace. Compare the successful default-namespace lookup with the failing namespaced lookup, then trace the related EdgeMesh DNS handling. Done means the service DNS request succeeds in a non-default namespace as well as in default.

Written by the indexing model from the issue text.

Assessment

Tech stack
kubernetes
Domain
networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.