Skip to content

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

Closed

Description

@metacosm

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

Activity

  1. varshaprasad96 commented on Sep 18, 2023

    @varshaprasad96
    Member
  2. added this to the v1.31.1 milestone on Sep 18, 2023
  3. openshift-bot commented on Dec 18, 2023

    @openshift-bot

    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

  4. added
    lifecycle/staleDenotes an issue or PR has remained open with no activity and has become stale.
    on Dec 18, 2023
  5. metacosm commented on Dec 18, 2023

    @metacosm
    Author

    Any news on this?

  6. openshift-bot commented on Jan 18, 2024

    @openshift-bot

    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

  7. added
    lifecycle/rottenDenotes an issue or PR that has aged beyond stale and will be auto-closed.
    and removed
    lifecycle/staleDenotes an issue or PR has remained open with no activity and has become stale.
    on Jan 18, 2024
  8. oceanc80 commented on Jan 22, 2024

    @oceanc80
    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!

  9. metacosm commented on Jan 23, 2024

    @metacosm
    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.

  10. everettraven commented on Jan 23, 2024

    @everettraven
    Contributor

    @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.

  11. metacosm commented on Jan 24, 2024

    @metacosm
    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.

  12. everettraven commented on Jan 24, 2024

    @everettraven
    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

  13. openshift-bot commented on Feb 24, 2024

    @openshift-bot

    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

  14. openshift-ci commented on Feb 24, 2024

    @openshift-ci

    @openshift-bot: Closing this issue.

    Details

    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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    lifecycle/rottenDenotes an issue or PR that has aged beyond stale and will be auto-closed.

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions