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

Cannot make install after updating java-operator-plugins #6571

Closed
metacosm opened this issue Sep 15, 2023 · 11 comments · May be fixed by #6514
Closed

Cannot make install after updating java-operator-plugins #6571

metacosm opened this issue Sep 15, 2023 · 11 comments · May be fixed by #6514
Labels
lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed.
Milestone

Comments

@metacosm
Copy link

Bug Report

What did you do?

Updated github.com/operator-framework/java-operator-plugins to v0.8.0 in go.mod

What did you expect to see?

make install should build and install a new version of the operator-sdk cli.

What did you see instead? Under which circumstances?

  • Updated java-operator-plugins to v0.8.0
  • make install
    go install -gcflags "all=-trimpath=/Users/claprun/Dev" -asmflags "all=-trimpath=/Users/claprun/Dev" -ldflags " -X 'github.com/operator-framework/operator-sdk/internal/version.Version=v1.31.0+git' -X 'github.com/operator-framework/operator-sdk/internal/version.GitVersion=v1.31.0-1-g8ceb4e07-dirty' -X 'github.com/operator-framework/operator-sdk/internal/version.GitCommit=8ceb4e07c2e0b7f5cac16b3b82817636c830fbac' -X 'github.com/operator-framework/operator-sdk/internal/version.KubernetesVersion=v1.26.0' -X 'github.com/operator-framework/operator-sdk/internal/version.ImageVersion=v1.31.0' "  ./cmd/{operator-sdk,ansible-operator,helm-operator}
    internal/cmd/operator-sdk/cli/cli.go:19:2: missing go.sum entry for module providing package github.com/operator-framework/java-operator-plugins/pkg/quarkus/v1alpha (imported by github.com/operator-framework/operator-sdk/internal/cmd/operator-sdk/cli); to add:
            go get github.com/operator-framework/operator-sdk/internal/cmd/operator-sdk/cli
    make: *** [install] Error 1
  • go mod download github.com/operator-framework/java-operator-plugins
  • make install
    go install -gcflags "all=-trimpath=/Users/claprun/Dev" -asmflags "all=-trimpath=/Users/claprun/Dev" -ldflags " -X 'github.com/operator-framework/operator-sdk/internal/version.Version=v1.31.0+git' -X 'github.com/operator-framework/operator-sdk/internal/version.GitVersion=v1.31.0-1-g8ceb4e07-dirty' -X 'github.com/operator-framework/operator-sdk/internal/version.GitCommit=8ceb4e07c2e0b7f5cac16b3b82817636c830fbac' -X 'github.com/operator-framework/operator-sdk/internal/version.KubernetesVersion=v1.26.0' -X 'github.com/operator-framework/operator-sdk/internal/version.ImageVersion=v1.31.0' "  ./cmd/{operator-sdk,ansible-operator,helm-operator}
    go: updates to go.mod needed; to update it:
            go mod tidy
    make: *** [install] Error 1
  • go mod tidy
    go: finding module for package sigs.k8s.io/kubebuilder/v3/pkg/plugins/common/kustomize/v2-alpha
    go: github.com/operator-framework/operator-sdk/internal/cmd/operator-sdk/cli imports
            sigs.k8s.io/kubebuilder/v3/pkg/plugins/common/kustomize/v2-alpha: module sigs.k8s.io/kubebuilder/v3@latest found (v3.12.0), but does not contain package sigs.k8s.io/kubebuilder/v3/pkg/plugins/common/kustomize/v2-alpha
  • From this point on, it becomes impossible to solve the issue without first addressing the dependency issue:
     make install
    go install -gcflags "all=-trimpath=/Users/claprun/Dev" -asmflags "all=-trimpath=/Users/claprun/Dev" -ldflags " -X 'github.com/operator-framework/operator-sdk/internal/version.Version=v1.31.0+git' -X 'github.com/operator-framework/operator-sdk/internal/version.GitVersion=v1.31.0-1-g8ceb4e07-dirty' -X 'github.com/operator-framework/operator-sdk/internal/version.GitCommit=8ceb4e07c2e0b7f5cac16b3b82817636c830fbac' -X 'github.com/operator-framework/operator-sdk/internal/version.KubernetesVersion=v1.26.0' -X 'github.com/operator-framework/operator-sdk/internal/version.ImageVersion=v1.31.0' "  ./cmd/{operator-sdk,ansible-operator,helm-operator}
    go: updates to go.mod needed; to update it:
            go mod tidy
    make: *** [install] Error 1

Environment

Operator type:

N/A

Kubernetes cluster type:

N/A

$ operator-sdk version

main

$ go version (if language is Go)

go version go1.21.1 darwin/arm64

$ kubectl version

N/A

Possible Solution

Additional context

@varshaprasad96
Copy link
Member

This should be solved by bumping Operator SDK to use 1.27 k8s deps which is being handled here: https://github.com/operator-framework/operator-sdk/pull/6514/files#diff-33ef32bf6c23acb95f5902d7097b7a1d5128ca061167ec0716715b0b9eeaa5f6

@varshaprasad96 varshaprasad96 added this to the v1.31.1 milestone Sep 18, 2023
@openshift-bot
Copy link

Issues go stale after 90d of inactivity.

Mark the issue as fresh by commenting /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
Exclude this issue from closing by commenting /lifecycle frozen.

If this issue is safe to close now please do so with /close.

/lifecycle stale

@openshift-ci openshift-ci bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Dec 18, 2023
@metacosm
Copy link
Author

Any news on this?

@openshift-bot
Copy link

Stale issues rot after 30d of inactivity.

Mark the issue as fresh by commenting /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.
Exclude this issue from closing by commenting /lifecycle frozen.

If this issue is safe to close now please do so with /close.

/lifecycle rotten
/remove-lifecycle stale

@openshift-ci openshift-ci bot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Jan 18, 2024
@oceanc80
Copy link
Collaborator

@metacosm I think this can be closed as the k8s 1.27 work Varsha mentioned was merged here: #6613 but please verify and let me know. Thanks!

@metacosm
Copy link
Author

Confirmed that I can build with java-operator-plugins 0.8.1. However, I cannot build with 0.9.0. This is annoying because this means that the java operator plugin is really lagging behind, which makes it rather useless.

@everettraven
Copy link
Contributor

everettraven commented Jan 23, 2024

@metacosm Could you elaborate on what you mean by build with 0.9.0?

0.9.0 of the java operator plugin was recently released and we intend to pull that version in with the next release of the Operator-SDK (as far as I am aware) and there is typically dependency changes that need to be navigated for it to be properly pulled in. It looks like you are attempting to only update the java plugin and then run make install which I don't believe will work due to other potential dependency issues.

@metacosm
Copy link
Author

@metacosm Could you elaborate on what you mean by build with 0.9.0?

0.9.0 of the java operator plugin was recently released and we intend to pull that version in with the next release of the Operator-SDK (as far as I am aware) and there is typically dependency changes that need to be navigated for it to be properly pulled in. It looks like you are attempting to only update the java plugin and then run make install which I don't believe will work due to other potential dependency issues.

A plugin update, one that is supposedly API-compatible (in the sense that the API between the host (the cli) and the plugin hasn't changed) should not prevent building the host. To me that points to an architectural problem if plugins cannot be updated without breaking the host: they're not really plugins then and should be part of the main repo. This also means that contributors cannot really take "ownership" of the plugins and maintain them easily.

@everettraven
Copy link
Contributor

A plugin update, one that is supposedly API-compatible (in the sense that the API between the host (the cli) and the plugin hasn't changed) should not prevent building the host. To me that points to an architectural problem if plugins cannot be updated without breaking the host: they're not really plugins then and should be part of the main repo. This also means that contributors cannot really take "ownership" of the plugins and maintain them easily.

Ah, I see. This is definitely an issue we are trying to tackle albeit very slowly. Kubebuilder, the project the Operator-SDK is a wrapper around to provide additional functionality, introduced a new plugin architecture that allows for fully separate plugin binaries to be used as opposed to plugins needing to be baked into the binary

@openshift-bot
Copy link

Rotten issues close after 30d of inactivity.

Reopen the issue by commenting /reopen.
Mark the issue as fresh by commenting /remove-lifecycle rotten.
Exclude this issue from closing again by commenting /lifecycle frozen.

/close

Copy link

openshift-ci bot commented Feb 24, 2024

@openshift-bot: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity.

Reopen the issue by commenting /reopen.
Mark the issue as fresh by commenting /remove-lifecycle rotten.
Exclude this issue from closing again by commenting /lifecycle frozen.

/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@openshift-ci openshift-ci bot closed this as completed Feb 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants