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

Shadow service name length limit #746

Closed
jspdown opened this issue Sep 28, 2020 · 18 comments · Fixed by #772
Closed

Shadow service name length limit #746

jspdown opened this issue Sep 28, 2020 · 18 comments · Fixed by #772
Assignees
Labels
area/services kind/bug/confirmed a confirmed bug (reproducible).
Milestone

Comments

@jspdown
Copy link
Contributor

jspdown commented Sep 28, 2020

Bug Report

What did you do?

Create a service with a name and a namespace which once concatenated are closed to but less than 63 characters.

What did you expect to see?

I expected to see a shadow service associated with this service.

What did you see instead?

An error complaining about the shadow service being longer than 63 characters. When this situation happen we are also leaking ports (both udp and tcp port mappers)

Output of controller log: (What version of Traefik Mesh are you using?)

time="2020-09-11T15:33:30Z" level=error msg="Unable to complete work...must be no more than 63 characters"

What is your environment & configuration (arguments, provider, platform, ...)?

Version: 1.4

@jspdown jspdown added kind/bug/confirmed a confirmed bug (reproducible). area/services labels Sep 28, 2020
@jspdown jspdown added this to the next milestone Sep 28, 2020
@kevinpollet kevinpollet self-assigned this Oct 13, 2020
@delucca
Copy link

delucca commented Jan 11, 2021

any updates on this issue? I'm facing a similar problem with OpenEBS

@jspdown
Copy link
Contributor Author

jspdown commented Jan 11, 2021

Hello @delucca and thanks for your interest in Traefik Mesh. This issue has been addressed by PR #772. This is going to be merged shortly.

@delucca
Copy link

delucca commented Jan 11, 2021

@jspdown thanks!

I'm facing a major issue with OpenEBS (I just would like to mention it here, since I've googled it for days with no success since I think no one faced it too).

In a nutshell, my Postgres pod was not able to mount using OpenEBS volumes since Traefik mesh was routing the pvc service and the new service name was more than 63 chars long.

Waiting for that PR to be merged!

@delucca
Copy link

delucca commented Jan 11, 2021

@jspdown just a dumb question, I've saw that it was merged. There is any way for me to use that new version without waiting for a new full release?

@jspdown
Copy link
Contributor Author

jspdown commented Jan 11, 2021

@delucca You can clone Traefik Mesh and build it from the master branch. You can find how to instructions in our documentation: https://doc.traefik.io/traefik-mesh/contributing/building-testing/

@delucca
Copy link

delucca commented Jan 11, 2021

@jspdown great! thanks!

@delucca
Copy link

delucca commented Jan 11, 2021

@jspdown just one last thing, can you give me a hand at #781? I'm trying to remove Traefik Mesh from my cluster until building it from source, or a new release, but I'm not being able to do so.

Thanks in advance :)

@ayamGelo
Copy link

Hi @kevinpollet
Is the new version got fix of this? which is 1.4.8

@ayamGelo
Copy link

Why this patch not merged into latest version? I see this code already fixing but only in PR not in latest master or latest version,
May I know the problem? Maybe I can help u @kevinpollet
Patch code

Latest master

Latest version right now, 1.4.8

@kevinpollet
Copy link
Member

Hi @ayamGelo,

Why this patch not merged into latest version?

As the fix for this issue introduces a breaking change, the patch was merged into master as we were working on a major release. As this takes more time than expected, we recently changed the master branch history to be able to release new minor versions. We kept the previous master history in a dedicated dev branch.

@ayamGelo
Copy link

Hi @ayamGelo,

Why this patch not merged into latest version?

As the fix for this issue introduces a breaking change, the patch was merged into master as we were working on a major release. As this takes more time than expected, we recently changed the master branch history to be able to release new minor versions. We kept the previous master history in a dedicated dev branch.

I really need this feature, does enterprise version got fix of this?

@deas
Copy link

deas commented Sep 15, 2022

@jspdown This or a somewhat similar issue hits me with traefikee and the latest helm chart 1.1.4:

unable to sync shadow service: Service \"traefikee-datadog-agent-cluster-agent-admission-controller-6d61657368-datadog\" is invalid: metadata.name: Invalid value: \"traefikee-datadog-agent-cluster-agent-admission-controller-6d61657368-datadog\": must be no more than 63 characters"

BTW: How would one contribute patches to the EE helm chart?

@kevinpollet
Copy link
Member

Hello all,

As said earlier fixing this issue requires a breaking change which cannot be done in a minor release. As the enterprise version is based on the community one the problem remains the same as @deas said.

BTW: How would one contribute patches to the EE helm chart?

The chart is currently private but we are discussing it.

@deas
Copy link

deas commented Sep 23, 2022

@kevinpollet As datadog appears to be related, does this issue cause degradation of metrics or logs?

@kevinpollet
Copy link
Member

Hello @deas,

As datadog appears to be related, does this issue cause degradation of metrics or logs?

This issue does not cause any degradation of metrics/logs. This means that it is not possible to send meshed requests to the above service (which seems to be not an issue). Maybe adding a way to disable the shadow service creation for some services could be a great addition.

@ayamGelo
Copy link

ayamGelo commented Sep 26, 2022

Hello @deas,

As datadog appears to be related, does this issue cause degradation of metrics or logs?

This issue does not cause any degradation of metrics/logs. This means that it is not possible to send meshed requests to the above service (which seems to be not an issue). Maybe adding a way to disable the shadow service creation for some services could be a great addition.

This issue could a problem with kubernetes length standarization, even with labels or dns name

My service and namespace is under 63 characters or same (for sure my service is valid on kubernetes)
But with your feature so uniquely combine service and namespace make it one entity, it must be more than 63 caharacters, this traefik itself break the state

Why the heaven, you are not generate some id, reference your id to them, this is so seamless integration.., meh, even enterprise solution don't cover this

The shortest solution path i must create another service with short name

@mjhaller
Copy link

@kevinpollet any idea when this change would be released? i understand it is breaking but we are starting fresh with traefik, so it wouldn't affect us.

even if you pushed an alpha or snapshot tag, we could use that, so we don't have to create a custom image in our own registry. (although, we can do that too.)

@muffl0n
Copy link

muffl0n commented Jan 11, 2023

Is there any roadmap for the mentioned release? We're planning to use traefik-mesh but this is a showstopper, unfortunately. :(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/services kind/bug/confirmed a confirmed bug (reproducible).
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants