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

Unable to refresh tenant index and get new chart versions #794

Open
titus-chu-kmon opened this issue Dec 2, 2024 · 0 comments
Open

Unable to refresh tenant index and get new chart versions #794

titus-chu-kmon opened this issue Dec 2, 2024 · 0 comments

Comments

@titus-chu-kmon
Copy link

titus-chu-kmon commented Dec 2, 2024

Hello,
I'm using multitenancy and alibaba OSS bucket as backend. My CM is not able to refresh the index of a tenant if a chart name's prefix at the root level is the same as the name of the tenant.

For example, in the bucket i have

/abc-def-1.1.1.tgz
...
/abc-def-1.1.24.tgz
/abc/xyz-1.1.1.tgz

If I uploaded a new chart

/abc/xyz-1.1.2.tgz

then my helm client can't see this new version because CM keeps failing to refresh abc index.

{"L":"INFO","T":"2024-12-02T07:51:12.661Z","M":"Rebuilding index for tenant","repo":"abc"}
...
{"L":"DEBUG","T":"2024-12-02T07:51:12.661Z","M":"Entry found in cache store","repo":"abc"}
{"L":"DEBUG","T":"2024-12-02T07:51:12.661Z","M":"Fetching chart list from storage","repo":"abc"}
{"L":"DEBUG","T":"2024-12-02T07:51:12.676Z","M":"Change detected between cache and storage","repo":"abc"}
{"L":"DEBUG","T":"2024-12-02T07:51:12.676Z","M":"Regenerating index.yaml","repo":"abc"}
{"L":"DEBUG","T":"2024-12-02T07:51:12.676Z","M":"Loading charts packages from storage (this could take awhile)","repo":"abc","total":24}
{"L":"ERROR","T":"2024-12-02T07:51:12.680Z","M":"oss: service returned error: StatusCode=404, ErrorCode=NoSuchKey, ErrorMessage=\"The specified key does not exist.\", RequestId=674D66F04E22F83137933220","repo":"abc"}

From my istio proxy, I can see it's trying to get charts abc-def inside the abc tenant.
And i think it's because of this line

allObjects, err := server.StorageBackend.ListObjects(repo)

Is there suppose to be a / at the end? Not sure how it would affect the other backend suppliers

Thanks in advance!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant