Skip to content

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

Open
@titus-chu-kmon

Description

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!

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions