Vendors today may be using a mirror of the ServiceExport and ServiceImport APIs and today's e2e tests make it impossible for them to run them as conformance tests because the mcsclient is ultimately configured to use the v1alpha1 API whose GVR (group version resource) is hardcoded as multicluster.x-k8s.io/v1alpha.
As discussed in SIG-MC today 11/15/2022 we'd like to accommodate vendors who may, due to their own API deprecation policy or during active dev, use a mirror of MCS until upstream is GA (GKE being one of these).
Two ways to potentially address this:
- tests use a common struct and convert
- parameterize the GVR
Ultimately the schema of the resources should still be the same for conformance.
Here's an example against GKE clusters of the e2e tests failing on this point:
Unexpected error:
<*errors.StatusError | 0xc000134640>: {
ErrStatus: {
TypeMeta: {Kind: "", APIVersion: ""},
ListMeta: {
SelfLink: "",
ResourceVersion: "",
Continue: "",
RemainingItemCount: nil,
},
Status: "Failure",
Message: "the server could not find the requested resource (post serviceimports.multicluster.x-k8s.io)",
Reason: "NotFound",
Details: {
Name: "",
Group: "multicluster.x-k8s.io",
Kind: "serviceimports",
UID: "",
Causes: [
{
Type: "UnexpectedServerResponse",
Message: "404 page not found",
Field: "",
},
],
RetryAfterSeconds: 0,
},
Code: 404,
},
}
the server could not find the requested resource (post serviceimports.multicluster.x-k8s.io)
occurred
------------------------------
Vendors today may be using a mirror of the ServiceExport and ServiceImport APIs and today's e2e tests make it impossible for them to run them as conformance tests because the mcsclient is ultimately configured to use the v1alpha1 API whose GVR (group version resource) is hardcoded as
multicluster.x-k8s.io/v1alpha.As discussed in SIG-MC today 11/15/2022 we'd like to accommodate vendors who may, due to their own API deprecation policy or during active dev, use a mirror of MCS until upstream is GA (GKE being one of these).
Two ways to potentially address this:
Ultimately the schema of the resources should still be the same for conformance.
Here's an example against GKE clusters of the e2e tests failing on this point: