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

Upgrade using --from-manifest option causes APIService error #3559

Closed
ihcsim opened this issue Oct 10, 2019 · 1 comment · Fixed by linkerd/website#561 or #3569
Closed

Upgrade using --from-manifest option causes APIService error #3559

ihcsim opened this issue Oct 10, 2019 · 1 comment · Fixed by linkerd/website#561 or #3569
Labels

Comments

@ihcsim
Copy link
Contributor

ihcsim commented Oct 10, 2019

When upgrade is performed with the --from-manifest option, the command failed with the following error:

× Failed to parse Kubernetes objects from manifest install-2.5.0.yaml: no kind "APIService" is registered for version "apiregistration.k8s.io/v1" in scheme "pkg/runtime/scheme.go:101"
For troubleshooting help, visit: https://linkerd.io/upgrade/#troubleshooting

It looks like the apiextensions client lib needs to be updated from v1beta1 to v1. When I attempted to fix this, go mod upgraded other k8s serializer-related packages, which are depended upon by controller/gen/client/clientset/versioned/typed/serviceprofile package.

It looks like the decoder doesn't have the scheme to decode apiregistration.k8s.io/v1/APIService.

The workaround is to use the linkerd upgrade command. The only difference is that --from-manifest reads the Linkerd config from a static file, instead of the k8s API.

@ihcsim ihcsim added the bug label Oct 10, 2019
@ihcsim ihcsim added this to To do in 2.7 - Release via automation Oct 10, 2019
@ihcsim
Copy link
Contributor Author

ihcsim commented Oct 11, 2019

I believe the reason why some users encountered this error is because the doc instructed them to dump the entire control plane YAML into the manifest file:

# save Linkerd installation manifest
linkerd install > linkerd-install.yaml

From the same doc, this probably makes more sense, and probably won't trigger the error:

kubectl -n linkerd get \
  secret/linkerd-identity-issuer \
  configmap/linkerd-config \
  -oyaml > linkerd-manifests.yaml

siggy added a commit that referenced this issue Oct 14, 2019
The `linkerd upgrade --from-manifests` command supports reading the
manifest output via `linkerd install`. PR #3167 introduced a tap
APIService object into `linkerd install`, but the manifest-reading code
in fake.go was never updated to support this new object kind.

Update the fake clientset code to support APIService objects.

Fixes #3559

Signed-off-by: Andrew Seigner <siggy@buoyant.io>
siggy added a commit that referenced this issue Oct 16, 2019
The `linkerd upgrade --from-manifests` command supports reading the
manifest output via `linkerd install`. PR #3167 introduced a tap
APIService object into `linkerd install`, but the manifest-reading code
in fake.go was never updated to support this new object kind.

Update the fake clientset code to support APIService objects.

Fixes #3559

Signed-off-by: Andrew Seigner <siggy@buoyant.io>
siggy added a commit that referenced this issue Oct 21, 2019
The `linkerd upgrade --from-manifests` command supports reading the
manifest output via `linkerd install`. PR #3167 introduced a tap
APIService object into `linkerd install`, but the manifest-reading code
in fake.go was never updated to support this new object kind.

Update the fake clientset code to support APIService objects.

Fixes #3559

Signed-off-by: Andrew Seigner <siggy@buoyant.io>
2.7 - Release automation moved this from To do to Done Oct 21, 2019
ihcsim pushed a commit that referenced this issue Oct 21, 2019
The `linkerd upgrade --from-manifests` command supports reading the
manifest output via `linkerd install`. PR #3167 introduced a tap
APIService object into `linkerd install`, but the manifest-reading code
in fake.go was never updated to support this new object kind.

Update the fake clientset code to support APIService objects.

Fixes #3559

Signed-off-by: Andrew Seigner <siggy@buoyant.io>
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jul 17, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
No open projects
2.7 - Release
  
Done
1 participant