API fails to fetch EtcdRestores
(and other resources?) in dedicated master/seed architecture
#5958
Labels
kind/bug
Categorizes issue or PR as related to a bug.
kind/regression
Categorizes issue or PR as related to a regression from a prior release.
lifecycle/rotten
Denotes an issue or PR that has aged beyond stale.
sig/api
Denotes a PR or issue as being assigned to SIG API.
What happened
When setting up a dedicated master/seed architecture with KKP 2.22.2 (or the latest release branch commits for
release/v.22
), the UI returns errors on the project overview page. Thekubermatic-api
pods involved log the following error:@pkprzekwas and I have been debugging this, and we believe this is happening due to the shared REST mapper injected into all providers as the error is thrown by discovery involving the REST mapper in question:
dashboard/modules/api/cmd/kubermatic-api/main.go
Line 349 in c0c8288
This shared REST mapper utilises the master cluster for information about resources, even when the clients generated with a reference to the REST mapper are for seeds. That decision made sense when it was made - all CRDs lived on both master and seed. Unfortunately, this assumption was invalidated by kubermatic/kubermatic#10903, which was shipped starting with KKP 2.22.0.
As a note: Usage of the master REST mapper was also a problem in kubermatic/kubermatic, e.g. as described in kubermatic/kubermatic#12188.
This is kind of part of kubermatic/kubermatic#12186.
Expected behavior
The API is capable of listing
EtcdRestores
and all other resources that only live on seed clusters.How to reproduce
Environment
Current workaround
Apply all CRDs to master cluster.
Affected user persona
Users with large scale KKP setups as described in our documentation.
Business goal to be improved
Metric to be improved
The text was updated successfully, but these errors were encountered: