Skip to content

"OperatorGroup static provider" #2408

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

Closed
Tracked by #2401
njhale opened this issue Oct 7, 2021 · 6 comments
Closed
Tracked by #2401

"OperatorGroup static provider" #2408

njhale opened this issue Oct 7, 2021 · 6 comments
Assignees
Labels
kind/failing-test Categorizes issue or PR as related to a consistently or frequently failing test.

Comments

@njhale
Copy link
Member

njhale commented Oct 7, 2021

No description provided.

@timflannagan
Copy link
Member

Ran into this during an workflow run in #2438. Here's a snippet of the logs when poking at the e2e test artifacts locally:

2021-11-09T16:22:42.565929687Z stderr F time="2021-11-09T16:22:42Z" level=debug msg="resolution failed" error="constraints not satisfiable: clusterserviceversion b-h22lb-stable exists and is not referenced by a subscription, @existing/b-nfb6f//b-h22lb-stable and catalog-7b4rq/b-nfb6f/stable/b-h22lb-stable originate from package b-h22lb, subscription b-pgdh4 requires catalog-7b4rq/b-nfb6f/stable/b-h22lb-stable, subscription b-pgdh4 exists" id=jJB8T namespace=b-nfb6f
2021-11-09T16:22:42.566196892Z stderr F I1109 16:22:42.566100       1 event.go:282] Event(v1.ObjectReference{Kind:"Namespace", Namespace:"", Name:"b-nfb6f", UID:"0cfb1ff7-509b-4b28-be31-f40ca6c5c0ba", APIVersion:"v1", ResourceVersion:"21093", FieldPath:""}): type: 'Warning' reason: 'ResolutionFailed' constraints not satisfiable: clusterserviceversion b-h22lb-stable exists and is not referenced by a subscription, @existing/b-nfb6f//b-h22lb-stable and catalog-7b4rq/b-nfb6f/stable/b-h22lb-stable originate from package b-h22lb, subscription b-pgdh4 requires catalog-7b4rq/b-nfb6f/stable/b-h22lb-stable, subscription b-pgdh4 exists
2021-11-09T16:22:42.776593637Z stderr F time="2021-11-09T16:22:42Z" level=debug msg="resolving sources" id=EKXhg namespace=c-xtz2h
2021-11-09T16:22:42.776717239Z stderr F time="2021-11-09T16:22:42Z" level=debug msg="checking if subscriptions need update" id=EKXhg namespace=c-xtz2h

@timflannagan timflannagan added the kind/failing-test Categorizes issue or PR as related to a consistently or frequently failing test. label Nov 9, 2021
@timflannagan
Copy link
Member

Reproduced this locally:

$ kubectl get sub ...
  - message: 'constraints not satisfiable: @existing/b-mzs9s//b-dq4nq-stable and catalog-z7dz2/b-mzs9s/stable/b-dq4nq-stable
      originate from package b-dq4nq, subscription b-jsbkd requires catalog-z7dz2/b-mzs9s/stable/b-dq4nq-stable,
      subscription b-jsbkd exists, clusterserviceversion b-dq4nq-stable exists and
      is not referenced by a subscription'
    reason: ConstraintsNotSatisfiable
    status: "True"
    type: ResolutionFailed
  lastUpdated: "2021-11-17T21:48:06Z"

@timflannagan
Copy link
Member

timflannagan commented Nov 17, 2021

CSV YAML output inline

apiVersion: v1
items:
- apiVersion: operators.coreos.com/v1alpha1
  kind: ClusterServiceVersion
  metadata:
    annotations:
      olm.operatorGroup: b-hpmzc
      olm.operatorNamespace: b-mzs9s
      olm.targetNamespaces: ""
      operatorframework.io/properties: '{"properties":[{"type":"olm.gvk","value":{"group":"cluster.com","kind":"a-586ht4s8vq","version":"v1alpha1"}},{"type":"olm.package","value":{"packageName":"a-586ht","version":"0.1.0"}}]}'
    creationTimestamp: "2021-11-17T21:47:03Z"
    generation: 1
    labels:
      operators.coreos.com/a-586ht.b-mzs9s: ""
    name: a-586ht-stable
    namespace: b-mzs9s
    resourceVersion: "42758"
    uid: 7dc7b2a3-781e-46ec-9404-86e593803c39
  spec:
    apiservicedefinitions: {}
    cleanup:
      enabled: false
    customresourcedefinitions:
      owned:
      - description: a-586ht4s8vq.cluster.com
        displayName: a-586ht4s8vq.cluster.com
        kind: a-586ht4s8vq
        name: a-586ht4s8vq.cluster.com
        version: v1alpha1
    displayName: ""
    install:
      spec:
        deployments:
        - name: a-586ht-stable
          spec:
            replicas: 1
            selector:
              matchLabels:
                app: nginx
            strategy: {}
            template:
              metadata:
                creationTimestamp: null
                labels:
                  app: nginx
              spec:
                containers:
                - image: bitnami/nginx:latest
                  imagePullPolicy: IfNotPresent
                  name: nginxccrhk
                  ports:
                  - containerPort: 80
                    protocol: TCP
                  resources: {}
      strategy: deployment
    installModes:
    - supported: true
      type: OwnNamespace
    - supported: true
      type: SingleNamespace
    - supported: true
      type: MultiNamespace
    - supported: true
      type: AllNamespaces
    minKubeVersion: 0.0.0
    provider: {}
    version: 0.1.0
  status:
    cleanup: {}
    conditions:
    - lastTransitionTime: "2021-11-17T21:47:03Z"
      lastUpdateTime: "2021-11-17T21:47:03Z"
      message: intersecting operatorgroups provide the same apis
      phase: Failed
      reason: InterOperatorGroupOwnerConflict
    lastTransitionTime: "2021-11-17T21:47:03Z"
    lastUpdateTime: "2021-11-17T21:47:03Z"
    message: intersecting operatorgroups provide the same apis
    phase: Failed
    reason: InterOperatorGroupOwnerConflict
- apiVersion: operators.coreos.com/v1alpha1
  kind: ClusterServiceVersion
  metadata:
    annotations:
      olm.operatorGroup: b-hpmzc
      olm.operatorNamespace: b-mzs9s
      olm.targetNamespaces: ""
      operatorframework.io/properties: '{"properties":[{"type":"olm.gvk","value":{"group":"cluster.com","kind":"b-dq4nqtg58r","version":"v1alpha1"}},{"type":"olm.package","value":{"packageName":"b-dq4nq","version":"0.1.0"}}]}'
    creationTimestamp: "2021-11-17T21:47:22Z"
    generation: 1
    name: b-dq4nq-stable
    namespace: b-mzs9s
    resourceVersion: "43071"
    uid: 146fa061-3177-424c-96d3-3df5ec3bf5fe
  spec:
    apiservicedefinitions: {}
    cleanup:
      enabled: false
    customresourcedefinitions:
      owned:
      - description: b-dq4nqtg58r.cluster.com
        displayName: b-dq4nqtg58r.cluster.com
        kind: b-dq4nqtg58r
        name: b-dq4nqtg58r.cluster.com
        version: v1alpha1
    displayName: ""
    install:
      spec:
        deployments:
        - name: b-dq4nq-stable
          spec:
            replicas: 1
            selector:
              matchLabels:
                app: nginx
            strategy: {}
            template:
              metadata:
                creationTimestamp: null
                labels:
                  app: nginx
              spec:
                containers:
                - image: bitnami/nginx:latest
                  imagePullPolicy: IfNotPresent
                  name: nginx4w8v6
                  ports:
                  - containerPort: 80
                    protocol: TCP
                  resources: {}
      strategy: deployment
    installModes:
    - supported: true
      type: OwnNamespace
    - supported: true
      type: SingleNamespace
    - supported: true
      type: MultiNamespace
    - supported: true
      type: AllNamespaces
    minKubeVersion: 0.0.0
    provider: {}
    version: 0.1.0
  status:
    cleanup: {}
    conditions:
    - lastTransitionTime: "2021-11-17T21:47:22Z"
      lastUpdateTime: "2021-11-17T21:47:22Z"
      message: requirements not yet checked
      phase: Pending
      reason: RequirementsUnknown
    - lastTransitionTime: "2021-11-17T21:47:22Z"
      lastUpdateTime: "2021-11-17T21:47:22Z"
      message: all requirements found, attempting install
      phase: InstallReady
      reason: AllRequirementsMet
    - lastTransitionTime: "2021-11-17T21:47:22Z"
      lastUpdateTime: "2021-11-17T21:47:22Z"
      message: waiting for install components to report healthy
      phase: Installing
      reason: InstallSucceeded
    - lastTransitionTime: "2021-11-17T21:47:22Z"
      lastUpdateTime: "2021-11-17T21:47:23Z"
      message: 'installing: waiting for deployment b-dq4nq-stable to become ready:
        deployment "b-dq4nq-stable" not available: Deployment does not have minimum
        availability.'
      phase: Installing
      reason: InstallWaiting
    - lastTransitionTime: "2021-11-17T21:47:25Z"
      lastUpdateTime: "2021-11-17T21:47:25Z"
      message: install strategy completed with no errors
      phase: Succeeded
      reason: InstallSucceeded
    lastTransitionTime: "2021-11-17T21:47:25Z"
    lastUpdateTime: "2021-11-17T21:47:25Z"
    message: install strategy completed with no errors
    phase: Succeeded
    reason: InstallSucceeded
    requirementStatus:
    - group: operators.coreos.com
      kind: ClusterServiceVersion
      message: CSV minKubeVersion (0.0.0) less than server version (v1.22.1-1731+c5018455793eff-dirty)
      name: b-dq4nq-stable
      status: Present
      version: v1alpha1
    - group: apiextensions.k8s.io
      kind: CustomResourceDefinition
      message: CRD is present and Established condition is true
      name: b-dq4nqtg58r.cluster.com
      status: Present
      uuid: 9caadb2d-53db-49e0-9233-817dfc08a750
      version: v1
kind: List
metadata:
  resourceVersion: ""
  selfLink: ""

@timflannagan
Copy link
Member

It looks like this produces a potential hotloop in the catalog controller attempting to constantly resync subscriptions:

$ kubectl -n b-mzs9s get subs
NAME      PACKAGE   SOURCE          CHANNEL
a-jg7cm   a-586ht   catalog-z7dz2   stable
b-jsbkd   b-dq4nq   catalog-z7dz2   stable
$ kubectl -n b-mzs9s get subs a-jg7cm  -o=custom-columns=NAME:.metadata.name,RSRC:.metadata.resourceVersion -w
NAME      RSRC
a-jg7cm   48109
a-jg7cm   48124
a-jg7cm   48139
a-jg7cm   48152
a-jg7cm   48164
a-jg7cm   48182
a-jg7cm   48197
a-jg7cm   48215
a-jg7cm   48236
a-jg7cm   48249
a-jg7cm   48269
a-jg7cm   48288
a-jg7cm   48298
a-jg7cm   48313
a-jg7cm   48325
a-jg7cm   48336
a-jg7cm   48353
a-jg7cm   48372
a-jg7cm   48391
...

@timflannagan
Copy link
Member

I'm not sure I have the requisite knowledge of the OG functionality to further debug this, but it looks like we expect that InterOperatorGroupOwnerConflict status except further down in the test logic. I'm not sure whether there's another bug around the hotlooping and failing resolution that needs to be addressed, or whether there's just some imperative behavior happening here that can be iron out by retrying this failed case.

@timflannagan
Copy link
Member

closing - this should've been fixed by #2399.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/failing-test Categorizes issue or PR as related to a consistently or frequently failing test.
Projects
None yet
Development

No branches or pull requests

4 participants