Bug 2017327 - When run opm index prune failed with error removing operator package cic-operator FOREIGN KEY constraint failed.
Summary: When run opm index prune failed with error removing operator package cic-oper...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: OLM
Version: 4.6
Hardware: All
OS: All
urgent
urgent
Target Milestone: ---
: 4.10.0
Assignee: Ankita Thomas
QA Contact: Bruno Andrade
URL:
Whiteboard:
: 2018484 2024372 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-10-26 10:07 UTC by Aditya Soni
Modified: 2022-10-11 06:39 UTC (History)
10 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Cause: Skipped bundles were not verified to be members of the same package Consequence: Bundles could skip across packages, breaking upgrade chains Fix: Added validation to ensure skipped bundles were in the same package Result: No bundle can skip bundles in another package, this stops upgrade graphs from breaking across packages.
Clone Of:
Environment:
Last Closed: 2022-03-10 16:22:07 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2022:0056 0 None None None 2022-03-10 16:22:31 UTC

Description Aditya Soni 2021-10-26 10:07:21 UTC
Description of problem:
When trying to install any certified operator in the restricted network, Failed with the below error.

~~~
How reproducible:

Steps to Reproduce:

Trying to install the eck operator on restricted network following the redhat documentation [1].

#run below command
$ opm index prune -f registry.redhat.io/redhat/certified-operator-index:v4.6 -p elasticsearch-eck-operator-certified -t localhost:5000/operator/eck-operator-index:v4.6

[1]
https://docs.openshift.com/container-platform/4.6/operators/admin/olm-restricted-networks.html

#It fails with the below output

INFO[0000] pruning the index                             packages="[elasticsearch-eck-operator-certified]"
INFO[0000] Pulling previous image registry.redhat.io/redhat/certified-operator-index:v4.6 to get metadata  packages="[elasticsearch-eck-operator-certified]"
INFO[0000] running /usr/bin/podman pull registry.redhat.io/redhat/certified-operator-index:v4.6  packages="[elasticsearch-eck-operator-certified]"
INFO[0002] running /usr/bin/podman pull registry.redhat.io/redhat/certified-operator-index:v4.6  packages="[elasticsearch-eck-operator-certified]"
INFO[0006] Getting label data from previous image        packages="[elasticsearch-eck-operator-certified]"
INFO[0006] running podman inspect                        packages="[elasticsearch-eck-operator-certified]"
INFO[0006] running podman create                         packages="[elasticsearch-eck-operator-certified]"
INFO[0006] running podman cp                             packages="[elasticsearch-eck-operator-certified]"
INFO[0052] running podman rm                             packages="[elasticsearch-eck-operator-certified]"
INFO[0053] deleting packages                             pkg=aci-containers-operator
INFO[0053] packages: [aci-containers-operator]           pkg=aci-containers-operator
INFO[0055] deleting packages                             pkg=akka-cluster-operator-certified
INFO[0055] packages: [akka-cluster-operator-certified]   pkg=akka-cluster-operator-certified
INFO[0055] deleting packages                             pkg=ako-operator
INFO[0055] packages: [ako-operator]                      pkg=ako-operator
INFO[0055] deleting packages                             pkg=alcide-kaudit-operator
INFO[0055] packages: [alcide-kaudit-operator]            pkg=alcide-kaudit-operator
INFO[0055] deleting packages                             pkg=anaconda-team-edition
INFO[0055] packages: [anaconda-team-edition]             pkg=anaconda-team-edition
INFO[0055] deleting packages                             pkg=anchore-engine
INFO[0055] packages: [anchore-engine]                    pkg=anchore-engine
INFO[0055] deleting packages                             pkg=antrea-operator-for-kubernetes
INFO[0055] packages: [antrea-operator-for-kubernetes]    pkg=antrea-operator-for-kubernetes
INFO[0055] deleting packages                             pkg=anzo-operator
INFO[0055] packages: [anzo-operator]                     pkg=anzo-operator
INFO[0055] deleting packages                             pkg=anzograph-operator
INFO[0055] packages: [anzograph-operator]                pkg=anzograph-operator
INFO[0055] deleting packages                             pkg=anzounstructured-operator
INFO[0055] packages: [anzounstructured-operator]         pkg=anzounstructured-operator
INFO[0055] deleting packages                             pkg=appdynamics-operator
INFO[0055] packages: [appdynamics-operator]              pkg=appdynamics-operator
INFO[0055] deleting packages                             pkg=appranix-cps
INFO[0055] packages: [appranix-cps]                      pkg=appranix-cps
INFO[0055] deleting packages                             pkg=appsody-operator-certified
INFO[0055] packages: [appsody-operator-certified]        pkg=appsody-operator-certified
INFO[0055] deleting packages                             pkg=aqua-operator-certified
INFO[0055] packages: [aqua-operator-certified]           pkg=aqua-operator-certified
INFO[0055] deleting packages                             pkg=armory-operator
INFO[0055] packages: [armory-operator]                   pkg=armory-operator
INFO[0055] deleting packages                             pkg=as400rpc-operator
INFO[0055] packages: [as400rpc-operator]                 pkg=as400rpc-operator
INFO[0055] deleting packages                             pkg=atomicorp-helm-operator-certified
INFO[0055] packages: [atomicorp-helm-operator-certified]  pkg=atomicorp-helm-operator-certified
INFO[0055] deleting packages                             pkg=aws-event-sources-operator-certified
INFO[0055] packages: [aws-event-sources-operator-certified]  pkg=aws-event-sources-operator-certified
INFO[0055] deleting packages                             pkg=bacula-operator2
INFO[0055] packages: [bacula-operator2]                  pkg=bacula-operator2
INFO[0055] deleting packages                             pkg=behavior-analytics-services-operator-certified
INFO[0055] packages: [behavior-analytics-services-operator-certified]  pkg=behavior-analytics-services-operator-certified
INFO[0056] deleting packages                             pkg=bigid-operator
INFO[0056] packages: [bigid-operator]                    pkg=bigid-operator
INFO[0056] deleting packages                             pkg=blackduck-connector-operator
INFO[0056] packages: [blackduck-connector-operator]      pkg=blackduck-connector-operator
INFO[0056] deleting packages                             pkg=can-operator
INFO[0056] packages: [can-operator]                      pkg=can-operator
INFO[0056] deleting packages                             pkg=cass-operator
INFO[0056] packages: [cass-operator]                     pkg=cass-operator
INFO[0056] deleting packages                             pkg=ccm-node-agent-operator
INFO[0056] packages: [ccm-node-agent-operator]           pkg=ccm-node-agent-operator
INFO[0056] deleting packages                             pkg=cert-manager-operator
INFO[0056] packages: [cert-manager-operator]             pkg=cert-manager-operator
INFO[0056] deleting packages                             pkg=cic-operator
INFO[0056] packages: [cic-operator]                      pkg=cic-operator
FATA[0056] permissive mode disabled                      error="error deleting packages from database: error removing operator package cic-operator: FOREIGN KEY constraint failed"
~~~

Actual results: Getting above error.


Expected results: Command should worked successfully.

Comment 3 tmontague 2021-10-27 14:36:25 UTC
We too have started hitting this issue with cic-operator in the certified-catalog.


Was working on 2021-10-13:

```
$ opm index prune -f registry.redhat.io/redhat/certified-operator-index:v4.8 -t localhost:5000/redhat/certified-operator-index:v4.8 -p cilium,gpu-operator-certified
INFO[0000] pruning the index                             packages="[cilium gpu-operator-certified]"
INFO[0000] Pulling previous image registry.redhat.io/redhat/certified-operator-index:v4.8 to get metadata  packages="[cilium gpu-operator-certified]"
INFO[0000] running /usr/bin/podman pull registry.redhat.io/redhat/certified-operator-index:v4.8  packages="[cilium gpu-operator-certified]"
INFO[0003] running /usr/bin/podman pull registry.redhat.io/redhat/certified-operator-index:v4.8  packages="[cilium gpu-operator-certified]"
INFO[0006] Getting label data from previous image        packages="[cilium gpu-operator-certified]"
INFO[0006] running podman inspect                        packages="[cilium gpu-operator-certified]"
INFO[0006] running podman create                         packages="[cilium gpu-operator-certified]"
INFO[0006] running podman cp                             packages="[cilium gpu-operator-certified]"
INFO[0008] running podman rm                             packages="[cilium gpu-operator-certified]"
INFO[0012] deleting packages                             pkg=aci-containers-operator
INFO[0012] packages: [aci-containers-operator]           pkg=aci-containers-operator
INFO[0012] deleting packages                             pkg=aikit-operator
INFO[0012] packages: [aikit-operator]                    pkg=aikit-operator
INFO[0012] deleting packages                             pkg=akka-cluster-operator-certified
INFO[0012] packages: [akka-cluster-operator-certified]   pkg=akka-cluster-operator-certified
INFO[0012] deleting packages                             pkg=ako-operator
INFO[0012] packages: [ako-operator]                      pkg=ako-operator
INFO[0012] deleting packages                             pkg=alcide-kaudit-operator
INFO[0012] packages: [alcide-kaudit-operator]            pkg=alcide-kaudit-operator
INFO[0012] deleting packages                             pkg=anaconda-team-edition
INFO[0012] packages: [anaconda-team-edition]             pkg=anaconda-team-edition
INFO[0012] deleting packages                             pkg=anchore-engine
INFO[0012] packages: [anchore-engine]                    pkg=anchore-engine
INFO[0012] deleting packages                             pkg=anzo-operator
INFO[0012] packages: [anzo-operator]                     pkg=anzo-operator
INFO[0012] deleting packages                             pkg=anzograph-operator
INFO[0012] packages: [anzograph-operator]                pkg=anzograph-operator
INFO[0012] deleting packages                             pkg=anzounstructured-operator
INFO[0012] packages: [anzounstructured-operator]         pkg=anzounstructured-operator
INFO[0012] deleting packages                             pkg=appdynamics-operator
INFO[0012] packages: [appdynamics-operator]              pkg=appdynamics-operator
INFO[0012] deleting packages                             pkg=appranix-cps
INFO[0012] packages: [appranix-cps]                      pkg=appranix-cps
INFO[0012] deleting packages                             pkg=appsody-operator-certified
INFO[0012] packages: [appsody-operator-certified]        pkg=appsody-operator-certified
INFO[0012] deleting packages                             pkg=aqua-operator-certified
INFO[0012] packages: [aqua-operator-certified]           pkg=aqua-operator-certified
INFO[0012] deleting packages                             pkg=armory-operator
INFO[0012] packages: [armory-operator]                   pkg=armory-operator
INFO[0012] deleting packages                             pkg=as400rpc-operator
INFO[0012] packages: [as400rpc-operator]                 pkg=as400rpc-operator
INFO[0012] deleting packages                             pkg=atomicorp-helm-operator-certified
INFO[0012] packages: [atomicorp-helm-operator-certified]  pkg=atomicorp-helm-operator-certified
INFO[0012] deleting packages                             pkg=aws-event-sources-operator-certified
INFO[0012] packages: [aws-event-sources-operator-certified]  pkg=aws-event-sources-operator-certified
INFO[0012] deleting packages                             pkg=bacula-operator2
INFO[0012] packages: [bacula-operator2]                  pkg=bacula-operator2
INFO[0012] deleting packages                             pkg=behavior-analytics-services-operator-certified
INFO[0012] packages: [behavior-analytics-services-operator-certified]  pkg=behavior-analytics-services-operator-certified
INFO[0012] deleting packages                             pkg=bigid-operator
INFO[0012] packages: [bigid-operator]                    pkg=bigid-operator
INFO[0013] deleting packages                             pkg=blackduck-connector-operator
INFO[0013] packages: [blackduck-connector-operator]      pkg=blackduck-connector-operator
INFO[0013] deleting packages                             pkg=can-operator
INFO[0013] packages: [can-operator]                      pkg=can-operator
INFO[0013] deleting packages                             pkg=cass-operator
INFO[0013] packages: [cass-operator]                     pkg=cass-operator
INFO[0013] deleting packages                             pkg=ccm-node-agent-operator
INFO[0013] packages: [ccm-node-agent-operator]           pkg=ccm-node-agent-operator
INFO[0013] deleting packages                             pkg=cert-manager-operator
INFO[0013] packages: [cert-manager-operator]             pkg=cert-manager-operator
INFO[0013] deleting packages                             pkg=cic-operator
INFO[0013] packages: [cic-operator]                      pkg=cic-operator
INFO[0013] deleting packages                             pkg=cic-operator-with-crds
INFO[0013] packages: [cic-operator-with-crds]            pkg=cic-operator-with-crds
INFO[0013] deleting packages                             pkg=cisco-hxcsi-operator
INFO[0013] packages: [cisco-hxcsi-operator]              pkg=cisco-hxcsi-operator
INFO[0013] deleting packages                             pkg=citrix-adc-istio-ingress-gateway-operator
INFO[0013] packages: [citrix-adc-istio-ingress-gateway-operator]  pkg=citrix-adc-istio-ingress-gateway-operator
INFO[0013] deleting packages                             pkg=citrix-cpx-istio-sidecar-injector-operator
INFO[0013] packages: [citrix-cpx-istio-sidecar-injector-operator]  pkg=citrix-cpx-istio-sidecar-injector-operator
INFO[0013] deleting packages                             pkg=citrix-cpx-with-ingress-controller-operator
INFO[0013] packages: [citrix-cpx-with-ingress-controller-operator]  pkg=citrix-cpx-with-ingress-controller-operator
INFO[0013] deleting packages                             pkg=citrix-ingress-controller-operator
INFO[0013] packages: [citrix-ingress-controller-operator]  pkg=citrix-ingress-controller-operator
INFO[0013] deleting packages                             pkg=cloud-native-postgresql
INFO[0013] packages: [cloud-native-postgresql]           pkg=cloud-native-postgresql
INFO[0013] deleting packages                             pkg=cloudbees-ci
INFO[0013] packages: [cloudbees-ci]                      pkg=cloudbees-ci
INFO[0013] deleting packages                             pkg=cloudcasa-operator
INFO[0013] packages: [cloudcasa-operator]                pkg=cloudcasa-operator
INFO[0013] deleting packages                             pkg=cnvrg-operator-marketplace
INFO[0013] packages: [cnvrg-operator-marketplace]        pkg=cnvrg-operator-marketplace
INFO[0013] deleting packages                             pkg=cockroachdb-certified
INFO[0013] packages: [cockroachdb-certified]             pkg=cockroachdb-certified
INFO[0013] deleting packages                             pkg=coralogix-operator-certified
INFO[0013] packages: [coralogix-operator-certified]      pkg=coralogix-operator-certified
INFO[0013] deleting packages                             pkg=cortex-certifai-operator
INFO[0013] packages: [cortex-certifai-operator]          pkg=cortex-certifai-operator
INFO[0013] deleting packages                             pkg=cortex-fabric-operator
INFO[0013] packages: [cortex-fabric-operator]            pkg=cortex-fabric-operator
INFO[0013] deleting packages                             pkg=cortex-healthcare-hub-operator
INFO[0013] packages: [cortex-healthcare-hub-operator]    pkg=cortex-healthcare-hub-operator
INFO[0013] deleting packages                             pkg=cortex-hub-operator
INFO[0013] packages: [cortex-hub-operator]               pkg=cortex-hub-operator
INFO[0013] deleting packages                             pkg=couchbase-enterprise-certified
INFO[0013] packages: [couchbase-enterprise-certified]    pkg=couchbase-enterprise-certified
INFO[0013] deleting packages                             pkg=couchdb-operator-certified
INFO[0013] packages: [couchdb-operator-certified]        pkg=couchdb-operator-certified
INFO[0013] deleting packages                             pkg=cpx-cic-operator
INFO[0013] packages: [cpx-cic-operator]                  pkg=cpx-cic-operator
INFO[0013] deleting packages                             pkg=crunchy-postgres-operator
INFO[0013] packages: [crunchy-postgres-operator]         pkg=crunchy-postgres-operator
INFO[0013] deleting packages                             pkg=cyberarmor-operator-certified
INFO[0013] packages: [cyberarmor-operator-certified]     pkg=cyberarmor-operator-certified
INFO[0013] deleting packages                             pkg=data-explorer-operator-certified
INFO[0013] packages: [data-explorer-operator-certified]  pkg=data-explorer-operator-certified
INFO[0013] deleting packages                             pkg=datadog-operator-certified
INFO[0013] packages: [datadog-operator-certified]        pkg=datadog-operator-certified
INFO[0013] deleting packages                             pkg=db2-zos-db-operator
INFO[0013] packages: [db2-zos-db-operator]               pkg=db2-zos-db-operator
INFO[0013] deleting packages                             pkg=dell-csi-operator-certified
INFO[0013] packages: [dell-csi-operator-certified]       pkg=dell-csi-operator-certified
INFO[0013] deleting packages                             pkg=densify-operator
INFO[0013] packages: [densify-operator]                  pkg=densify-operator
INFO[0013] deleting packages                             pkg=dynatrace-operator
INFO[0013] packages: [dynatrace-operator]                pkg=dynatrace-operator
INFO[0013] deleting packages                             pkg=eddi-operator-certified
INFO[0013] packages: [eddi-operator-certified]           pkg=eddi-operator-certified
INFO[0013] deleting packages                             pkg=elasticsearch-eck-operator-certified
INFO[0013] packages: [elasticsearch-eck-operator-certified]  pkg=elasticsearch-eck-operator-certified
INFO[0013] deleting packages                             pkg=entando-k8s-operator
INFO[0013] packages: [entando-k8s-operator]              pkg=entando-k8s-operator
INFO[0013] deleting packages                             pkg=f5-bigip-ctlr-operator
INFO[0013] packages: [f5-bigip-ctlr-operator]            pkg=f5-bigip-ctlr-operator
INFO[0013] deleting packages                             pkg=falco-certified
INFO[0013] packages: [falco-certified]                   pkg=falco-certified
INFO[0013] deleting packages                             pkg=federatorai-certified
INFO[0013] packages: [federatorai-certified]             pkg=federatorai-certified
INFO[0013] deleting packages                             pkg=fep-ansible-operator
INFO[0013] packages: [fep-ansible-operator]              pkg=fep-ansible-operator
INFO[0013] deleting packages                             pkg=fp-predict-plus-operator-certified
INFO[0013] packages: [fp-predict-plus-operator-certified]  pkg=fp-predict-plus-operator-certified
INFO[0013] deleting packages                             pkg=gitlab-runner-operator
INFO[0013] packages: [gitlab-runner-operator]            pkg=gitlab-runner-operator
INFO[0013] deleting packages                             pkg=growth-stack-operator-certified
INFO[0013] packages: [growth-stack-operator-certified]   pkg=growth-stack-operator-certified
INFO[0013] deleting packages                             pkg=h2o-operator
INFO[0013] packages: [h2o-operator]                      pkg=h2o-operator
INFO[0013] deleting packages                             pkg=hazelcast-enterprise-certified
INFO[0013] packages: [hazelcast-enterprise-certified]    pkg=hazelcast-enterprise-certified
INFO[0013] deleting packages                             pkg=hazelcast-jet-enterprise-operator
INFO[0013] packages: [hazelcast-jet-enterprise-operator]  pkg=hazelcast-jet-enterprise-operator
INFO[0013] deleting packages                             pkg=hedvig-operator
INFO[0013] packages: [hedvig-operator]                   pkg=hedvig-operator
INFO[0013] deleting packages                             pkg=here-service-operator-certified
INFO[0013] packages: [here-service-operator-certified]   pkg=here-service-operator-certified
INFO[0013] deleting packages                             pkg=hpe-csi-operator
INFO[0013] packages: [hpe-csi-operator]                  pkg=hpe-csi-operator
INFO[0013] deleting packages                             pkg=hpe-ezmeral-csi-operator
INFO[0013] packages: [hpe-ezmeral-csi-operator]          pkg=hpe-ezmeral-csi-operator
INFO[0013] deleting packages                             pkg=hspc-operator
INFO[0013] packages: [hspc-operator]                     pkg=hspc-operator
INFO[0013] deleting packages                             pkg=ibm-block-csi-operator
INFO[0013] packages: [ibm-block-csi-operator]            pkg=ibm-block-csi-operator
INFO[0013] deleting packages                             pkg=ibm-spectrum-scale-csi
INFO[0013] packages: [ibm-spectrum-scale-csi]            pkg=ibm-spectrum-scale-csi
INFO[0013] deleting packages                             pkg=ibm-spectrum-symphony-operator
INFO[0013] packages: [ibm-spectrum-symphony-operator]    pkg=ibm-spectrum-symphony-operator
INFO[0013] deleting packages                             pkg=ibm-tas
INFO[0013] packages: [ibm-tas]                           pkg=ibm-tas
INFO[0013] deleting packages                             pkg=infinibox-operator-certified
INFO[0013] packages: [infinibox-operator-certified]      pkg=infinibox-operator-certified
INFO[0013] deleting packages                             pkg=infoscale-operator
INFO[0013] packages: [infoscale-operator]                pkg=infoscale-operator
INFO[0013] deleting packages                             pkg=infrastructure-asset-orchestrator-certified
INFO[0013] packages: [infrastructure-asset-orchestrator-certified]  pkg=infrastructure-asset-orchestrator-certified
INFO[0013] deleting packages                             pkg=insightedge-enterprise-operator2
INFO[0013] packages: [insightedge-enterprise-operator2]  pkg=insightedge-enterprise-operator2
INFO[0013] deleting packages                             pkg=installkit-customer
INFO[0013] packages: [installkit-customer]               pkg=installkit-customer
INFO[0013] deleting packages                             pkg=instana-agent
INFO[0013] packages: [instana-agent]                     pkg=instana-agent
INFO[0013] deleting packages                             pkg=iomesh-operator
INFO[0013] packages: [iomesh-operator]                   pkg=iomesh-operator
INFO[0013] deleting packages                             pkg=ionir-operator
INFO[0013] packages: [ionir-operator]                    pkg=ionir-operator
INFO[0013] deleting packages                             pkg=ivory-server-app
INFO[0013] packages: [ivory-server-app]                  pkg=ivory-server-app
INFO[0013] deleting packages                             pkg=joget-dx-operator
INFO[0013] packages: [joget-dx-operator]                 pkg=joget-dx-operator
INFO[0013] deleting packages                             pkg=joget-openshift-operator
INFO[0013] packages: [joget-openshift-operator]          pkg=joget-openshift-operator
INFO[0013] deleting packages                             pkg=jtrac-app-operator
INFO[0013] packages: [jtrac-app-operator]                pkg=jtrac-app-operator
INFO[0013] deleting packages                             pkg=k10-kasten-operator
INFO[0013] packages: [k10-kasten-operator]               pkg=k10-kasten-operator
INFO[0014] deleting packages                             pkg=k8s-triliovault
INFO[0014] packages: [k8s-triliovault]                   pkg=k8s-triliovault
INFO[0014] deleting packages                             pkg=kong-offline-operator
INFO[0014] packages: [kong-offline-operator]             pkg=kong-offline-operator
INFO[0014] deleting packages                             pkg=kpow-io-certified
INFO[0014] packages: [kpow-io-certified]                 pkg=kpow-io-certified
INFO[0014] deleting packages                             pkg=kube-arangodb
INFO[0014] packages: [kube-arangodb]                     pkg=kube-arangodb
INFO[0014] deleting packages                             pkg=kubemq-operator-marketplace
INFO[0014] packages: [kubemq-operator-marketplace]       pkg=kubemq-operator-marketplace
INFO[0014] deleting packages                             pkg=kubeplus
INFO[0014] packages: [kubeplus]                          pkg=kubeplus
INFO[0014] deleting packages                             pkg=kubeturbo-certified
INFO[0014] packages: [kubeturbo-certified]               pkg=kubeturbo-certified
INFO[0014] deleting packages                             pkg=linstor-operator
INFO[0014] packages: [linstor-operator]                  pkg=linstor-operator
INFO[0014] deleting packages                             pkg=marketplace-games-operator
INFO[0014] packages: [marketplace-games-operator]        pkg=marketplace-games-operator
INFO[0014] deleting packages                             pkg=memql-certified
INFO[0014] packages: [memql-certified]                   pkg=memql-certified
INFO[0014] deleting packages                             pkg=mf-cics-tg-operator
INFO[0014] packages: [mf-cics-tg-operator]               pkg=mf-cics-tg-operator
INFO[0014] deleting packages                             pkg=mf-cics-ts-operator
INFO[0014] packages: [mf-cics-ts-operator]               pkg=mf-cics-ts-operator
INFO[0014] deleting packages                             pkg=minio-operator
INFO[0014] packages: [minio-operator]                    pkg=minio-operator
INFO[0014] deleting packages                             pkg=model-builder-for-vision-certified
INFO[0014] packages: [model-builder-for-vision-certified]  pkg=model-builder-for-vision-certified
INFO[0014] deleting packages                             pkg=mongodb-enterprise
INFO[0014] packages: [mongodb-enterprise]                pkg=mongodb-enterprise
INFO[0014] deleting packages                             pkg=n3000
INFO[0014] packages: [n3000]                             pkg=n3000
INFO[0014] deleting packages                             pkg=nastel-navigator-operator-certified
INFO[0014] packages: [nastel-navigator-operator-certified]  pkg=nastel-navigator-operator-certified
INFO[0014] deleting packages                             pkg=nastel-xray-operator
INFO[0014] packages: [nastel-xray-operator]              pkg=nastel-xray-operator
INFO[0014] deleting packages                             pkg=nethopper-operator
INFO[0014] packages: [nethopper-operator]                pkg=nethopper-operator
INFO[0014] deleting packages                             pkg=neuvector-certified-operator
INFO[0014] packages: [neuvector-certified-operator]      pkg=neuvector-certified-operator
INFO[0014] deleting packages                             pkg=nginx-ingress-operator
INFO[0014] packages: [nginx-ingress-operator]            pkg=nginx-ingress-operator
INFO[0014] deleting packages                             pkg=node-red-operator-certified
INFO[0014] packages: [node-red-operator-certified]       pkg=node-red-operator-certified
INFO[0014] deleting packages                             pkg=nsx-container-plugin-operator
INFO[0014] packages: [nsx-container-plugin-operator]     pkg=nsx-container-plugin-operator
INFO[0014] deleting packages                             pkg=nutanixcsioperator
INFO[0014] packages: [nutanixcsioperator]                pkg=nutanixcsioperator
INFO[0014] deleting packages                             pkg=nvmesh-operator
INFO[0014] packages: [nvmesh-operator]                   pkg=nvmesh-operator
INFO[0014] deleting packages                             pkg=nxiq-operator-certified
INFO[0014] packages: [nxiq-operator-certified]           pkg=nxiq-operator-certified
INFO[0014] deleting packages                             pkg=nxrm-operator-certified
INFO[0014] packages: [nxrm-operator-certified]           pkg=nxrm-operator-certified
INFO[0014] deleting packages                             pkg=oneagent-certified
INFO[0014] packages: [oneagent-certified]                pkg=oneagent-certified
INFO[0014] deleting packages                             pkg=open-liberty-certified
INFO[0014] packages: [open-liberty-certified]            pkg=open-liberty-certified
INFO[0014] deleting packages                             pkg=openshiftartifactoryha-operator
INFO[0014] packages: [openshiftartifactoryha-operator]   pkg=openshiftartifactoryha-operator
INFO[0014] deleting packages                             pkg=openshiftpipeline-operator
INFO[0014] packages: [openshiftpipeline-operator]        pkg=openshiftpipeline-operator
INFO[0014] deleting packages                             pkg=openshiftxray-operator
INFO[0014] packages: [openshiftxray-operator]            pkg=openshiftxray-operator
INFO[0014] deleting packages                             pkg=openunison-ocp-certified
INFO[0014] packages: [openunison-ocp-certified]          pkg=openunison-ocp-certified
INFO[0014] deleting packages                             pkg=optimize-controller
INFO[0014] packages: [optimize-controller]               pkg=optimize-controller
INFO[0014] deleting packages                             pkg=orca
INFO[0014] packages: [orca]                              pkg=orca
INFO[0014] deleting packages                             pkg=ovms-operator
INFO[0014] packages: [ovms-operator]                     pkg=ovms-operator
INFO[0014] deleting packages                             pkg=perceptilabs-operator-package
INFO[0014] packages: [perceptilabs-operator-package]     pkg=perceptilabs-operator-package
INFO[0014] deleting packages                             pkg=percona-postgresql-operator-certified
INFO[0014] packages: [percona-postgresql-operator-certified]  pkg=percona-postgresql-operator-certified
INFO[0014] deleting packages                             pkg=percona-server-mongodb-operator-certified
INFO[0014] packages: [percona-server-mongodb-operator-certified]  pkg=percona-server-mongodb-operator-certified
INFO[0014] deleting packages                             pkg=percona-xtradb-cluster-operator-certified
INFO[0014] packages: [percona-xtradb-cluster-operator-certified]  pkg=percona-xtradb-cluster-operator-certified
INFO[0014] deleting packages                             pkg=pmem-csi-operator-os
INFO[0014] packages: [pmem-csi-operator-os]              pkg=pmem-csi-operator-os
INFO[0014] deleting packages                             pkg=portshift-controller-operator
INFO[0014] packages: [portshift-controller-operator]     pkg=portshift-controller-operator
INFO[0014] deleting packages                             pkg=portworx-certified
INFO[0014] packages: [portworx-certified]                pkg=portworx-certified
INFO[0014] deleting packages                             pkg=presto-operator
INFO[0014] packages: [presto-operator]                   pkg=presto-operator
INFO[0014] deleting packages                             pkg=rapidbiz-operator-certified
INFO[0014] packages: [rapidbiz-operator-certified]       pkg=rapidbiz-operator-certified
INFO[0014] deleting packages                             pkg=redhat-marketplace-operator
INFO[0014] packages: [redhat-marketplace-operator]       pkg=redhat-marketplace-operator
INFO[0014] deleting packages                             pkg=redis-enterprise-operator-cert
INFO[0014] packages: [redis-enterprise-operator-cert]    pkg=redis-enterprise-operator-cert
INFO[0014] deleting packages                             pkg=rocketchat-operator-certified
INFO[0014] packages: [rocketchat-operator-certified]     pkg=rocketchat-operator-certified
INFO[0014] deleting packages                             pkg=runtime-component-operator-certified
INFO[0014] packages: [runtime-component-operator-certified]  pkg=runtime-component-operator-certified
INFO[0014] deleting packages                             pkg=sanstoragecsi-operator-bundle
INFO[0014] packages: [sanstoragecsi-operator-bundle]     pkg=sanstoragecsi-operator-bundle
INFO[0014] deleting packages                             pkg=seldon-operator-certified
INFO[0014] packages: [seldon-operator-certified]         pkg=seldon-operator-certified
INFO[0014] deleting packages                             pkg=sematext
INFO[0014] packages: [sematext]                          pkg=sematext
INFO[0014] deleting packages                             pkg=snyk-operator-certified
INFO[0014] packages: [snyk-operator-certified]           pkg=snyk-operator-certified
INFO[0014] deleting packages                             pkg=splunk-certified
INFO[0014] packages: [splunk-certified]                  pkg=splunk-certified
INFO[0014] deleting packages                             pkg=sriov-fec
INFO[0014] packages: [sriov-fec]                         pkg=sriov-fec
INFO[0014] deleting packages                             pkg=starburst-enterprise-helm-operator
INFO[0014] packages: [starburst-enterprise-helm-operator]  pkg=starburst-enterprise-helm-operator
INFO[0014] deleting packages                             pkg=stonebranch-universalagent-operator-certified
INFO[0014] packages: [stonebranch-universalagent-operator-certified]  pkg=stonebranch-universalagent-operator-certified
INFO[0014] deleting packages                             pkg=storageos2
INFO[0014] packages: [storageos2]                        pkg=storageos2
INFO[0014] deleting packages                             pkg=synopsys-certified
INFO[0014] packages: [synopsys-certified]                pkg=synopsys-certified
INFO[0014] deleting packages                             pkg=sysdig-certified
INFO[0014] packages: [sysdig-certified]                  pkg=sysdig-certified
INFO[0014] deleting packages                             pkg=t8c-certified
INFO[0014] packages: [t8c-certified]                     pkg=t8c-certified
INFO[0014] deleting packages                             pkg=tf-operator
INFO[0014] packages: [tf-operator]                       pkg=tf-operator
INFO[0014] deleting packages                             pkg=tigera-operator
INFO[0014] packages: [tigera-operator]                   pkg=tigera-operator
INFO[0014] deleting packages                             pkg=timemachine-operator
INFO[0014] packages: [timemachine-operator]              pkg=timemachine-operator
INFO[0014] deleting packages                             pkg=traefikee-redhat-certified
INFO[0014] packages: [traefikee-redhat-certified]        pkg=traefikee-redhat-certified
INFO[0014] deleting packages                             pkg=transform-adv-operator
INFO[0014] packages: [transform-adv-operator]            pkg=transform-adv-operator
INFO[0014] deleting packages                             pkg=uma-operator
INFO[0014] packages: [uma-operator]                      pkg=uma-operator
INFO[0014] deleting packages                             pkg=vfunction-server-operator
INFO[0014] packages: [vfunction-server-operator]         pkg=vfunction-server-operator
INFO[0014] deleting packages                             pkg=vprotect-operator
INFO[0014] packages: [vprotect-operator]                 pkg=vprotect-operator
INFO[0014] deleting packages                             pkg=wavefront-operator
INFO[0014] packages: [wavefront-operator]                pkg=wavefront-operator
INFO[0014] deleting packages                             pkg=xcrypt-operator
INFO[0014] packages: [xcrypt-operator]                   pkg=xcrypt-operator
INFO[0014] deleting packages                             pkg=xspc-operator
INFO[0014] packages: [xspc-operator]                     pkg=xspc-operator
INFO[0014] deleting packages                             pkg=yugabyte-operator
INFO[0014] packages: [yugabyte-operator]                 pkg=yugabyte-operator
INFO[0014] deleting packages                             pkg=zabbix-operator-certified
INFO[0014] packages: [zabbix-operator-certified]         pkg=zabbix-operator-certified
INFO[0014] deleting packages                             pkg=zoperator
INFO[0014] packages: [zoperator]                         pkg=zoperator
INFO[0014] Generating dockerfile                         packages="[cilium gpu-operator-certified]"
INFO[0014] writing dockerfile: index.Dockerfile659037910  packages="[cilium gpu-operator-certified]"
INFO[0014] running podman build                          packages="[cilium gpu-operator-certified]"
INFO[0014] [podman build -f index.Dockerfile659037910 -t localhost:5000/redhat/certified-operator-index:v4.8 .]  packages="[cilium gpu-operator-certified]"
```


Failing as of 2021-10-26:

```
$ opm index prune -f registry.redhat.io/redhat/certified-operator-index:v4.8 -t localhost:5000/redhat/certified-operator-index:v4.8 -p cilium,gpu-operator-certified
INFO[0000] pruning the index                             packages="[cilium gpu-operator-certified]"
INFO[0000] Pulling previous image registry.redhat.io/redhat/certified-operator-index:v4.8 to get metadata  packages="[cilium gpu-operator-certified]"
INFO[0000] running /usr/bin/podman pull registry.redhat.io/redhat/certified-operator-index:v4.8  packages="[cilium gpu-operator-certified]"
INFO[0006] running /usr/bin/podman pull registry.redhat.io/redhat/certified-operator-index:v4.8  packages="[cilium gpu-operator-certified]"
INFO[0007] Getting label data from previous image        packages="[cilium gpu-operator-certified]"
INFO[0007] running podman inspect                        packages="[cilium gpu-operator-certified]"
INFO[0007] running podman create                         packages="[cilium gpu-operator-certified]"
INFO[0007] running podman cp                             packages="[cilium gpu-operator-certified]"
INFO[0009] running podman rm                             packages="[cilium gpu-operator-certified]"
INFO[0013] deleting packages                             pkg=aci-containers-operator
INFO[0013] packages: [aci-containers-operator]           pkg=aci-containers-operator
INFO[0014] deleting packages                             pkg=aikit-operator
INFO[0014] packages: [aikit-operator]                    pkg=aikit-operator
INFO[0014] deleting packages                             pkg=akka-cluster-operator-certified
INFO[0014] packages: [akka-cluster-operator-certified]   pkg=akka-cluster-operator-certified
INFO[0014] deleting packages                             pkg=ako-operator
INFO[0014] packages: [ako-operator]                      pkg=ako-operator
INFO[0014] deleting packages                             pkg=alcide-kaudit-operator
INFO[0014] packages: [alcide-kaudit-operator]            pkg=alcide-kaudit-operator
INFO[0014] deleting packages                             pkg=anaconda-team-edition
INFO[0014] packages: [anaconda-team-edition]             pkg=anaconda-team-edition
INFO[0014] deleting packages                             pkg=anchore-engine
INFO[0014] packages: [anchore-engine]                    pkg=anchore-engine
INFO[0014] deleting packages                             pkg=anzo-operator
INFO[0014] packages: [anzo-operator]                     pkg=anzo-operator
INFO[0014] deleting packages                             pkg=anzograph-operator
INFO[0014] packages: [anzograph-operator]                pkg=anzograph-operator
INFO[0014] deleting packages                             pkg=anzounstructured-operator
INFO[0014] packages: [anzounstructured-operator]         pkg=anzounstructured-operator
INFO[0014] deleting packages                             pkg=appdynamics-operator
INFO[0014] packages: [appdynamics-operator]              pkg=appdynamics-operator
INFO[0014] deleting packages                             pkg=appranix-cps
INFO[0014] packages: [appranix-cps]                      pkg=appranix-cps
INFO[0014] deleting packages                             pkg=appsody-operator-certified
INFO[0014] packages: [appsody-operator-certified]        pkg=appsody-operator-certified
INFO[0014] deleting packages                             pkg=aqua-operator-certified
INFO[0014] packages: [aqua-operator-certified]           pkg=aqua-operator-certified
INFO[0014] deleting packages                             pkg=armory-operator
INFO[0014] packages: [armory-operator]                   pkg=armory-operator
INFO[0014] deleting packages                             pkg=as400rpc-operator
INFO[0014] packages: [as400rpc-operator]                 pkg=as400rpc-operator
INFO[0014] deleting packages                             pkg=atomicorp-helm-operator-certified
INFO[0014] packages: [atomicorp-helm-operator-certified]  pkg=atomicorp-helm-operator-certified
INFO[0014] deleting packages                             pkg=aws-event-sources-operator-certified
INFO[0014] packages: [aws-event-sources-operator-certified]  pkg=aws-event-sources-operator-certified
INFO[0014] deleting packages                             pkg=bacula-operator2
INFO[0014] packages: [bacula-operator2]                  pkg=bacula-operator2
INFO[0014] deleting packages                             pkg=behavior-analytics-services-operator-certified
INFO[0014] packages: [behavior-analytics-services-operator-certified]  pkg=behavior-analytics-services-operator-certified
INFO[0014] deleting packages                             pkg=bigid-operator
INFO[0014] packages: [bigid-operator]                    pkg=bigid-operator
INFO[0014] deleting packages                             pkg=blackduck-connector-operator
INFO[0014] packages: [blackduck-connector-operator]      pkg=blackduck-connector-operator
INFO[0014] deleting packages                             pkg=can-operator
INFO[0014] packages: [can-operator]                      pkg=can-operator
INFO[0014] deleting packages                             pkg=cass-operator
INFO[0014] packages: [cass-operator]                     pkg=cass-operator
INFO[0014] deleting packages                             pkg=ccm-node-agent-operator
INFO[0014] packages: [ccm-node-agent-operator]           pkg=ccm-node-agent-operator
INFO[0014] deleting packages                             pkg=cert-manager-operator
INFO[0014] packages: [cert-manager-operator]             pkg=cert-manager-operator
INFO[0014] deleting packages                             pkg=cic-operator
INFO[0014] packages: [cic-operator]                      pkg=cic-operator
FATA[0014] permissive mode disabled                      error="error deleting packages from database: error removing operator package cic-operator: FOREIGN KEY constraint failed"
```


Workaround error by including the "cic-operator" in the packages list:

```
$ opm index prune -f registry.redhat.io/redhat/certified-operator-index:v4.8 -t localhost:5000/redhat/certified-operator-index:v4.8 -p cic-operator,cilium,gpu-operator-certified
INFO[0000] pruning the index                             packages="[cic-operator cilium gpu-operator-certified]"
INFO[0000] Pulling previous image registry.redhat.io/redhat/certified-operator-index:v4.8 to get metadata  packages="[cic-operator cilium gpu-operator-certified]"
INFO[0000] running /usr/bin/podman pull registry.redhat.io/redhat/certified-operator-index:v4.8  packages="[cic-operator cilium gpu-operator-certified]"
INFO[0007] running /usr/bin/podman pull registry.redhat.io/redhat/certified-operator-index:v4.8  packages="[cic-operator cilium gpu-operator-certified]"
INFO[0009] Getting label data from previous image        packages="[cic-operator cilium gpu-operator-certified]"
INFO[0009] running podman inspect                        packages="[cic-operator cilium gpu-operator-certified]"
INFO[0009] running podman create                         packages="[cic-operator cilium gpu-operator-certified]"
INFO[0010] running podman cp                             packages="[cic-operator cilium gpu-operator-certified]"
INFO[0011] running podman rm                             packages="[cic-operator cilium gpu-operator-certified]"
INFO[0016] deleting packages                             pkg=aci-containers-operator
INFO[0016] packages: [aci-containers-operator]           pkg=aci-containers-operator
INFO[0016] deleting packages                             pkg=aikit-operator
INFO[0016] packages: [aikit-operator]                    pkg=aikit-operator
INFO[0016] deleting packages                             pkg=akka-cluster-operator-certified
INFO[0016] packages: [akka-cluster-operator-certified]   pkg=akka-cluster-operator-certified
INFO[0016] deleting packages                             pkg=ako-operator
INFO[0016] packages: [ako-operator]                      pkg=ako-operator
INFO[0016] deleting packages                             pkg=alcide-kaudit-operator
INFO[0016] packages: [alcide-kaudit-operator]            pkg=alcide-kaudit-operator
INFO[0016] deleting packages                             pkg=anaconda-team-edition
INFO[0016] packages: [anaconda-team-edition]             pkg=anaconda-team-edition
INFO[0016] deleting packages                             pkg=anchore-engine
INFO[0016] packages: [anchore-engine]                    pkg=anchore-engine
INFO[0016] deleting packages                             pkg=anzo-operator
INFO[0016] packages: [anzo-operator]                     pkg=anzo-operator
INFO[0016] deleting packages                             pkg=anzograph-operator
INFO[0016] packages: [anzograph-operator]                pkg=anzograph-operator
INFO[0016] deleting packages                             pkg=anzounstructured-operator
INFO[0016] packages: [anzounstructured-operator]         pkg=anzounstructured-operator
INFO[0016] deleting packages                             pkg=appdynamics-operator
INFO[0016] packages: [appdynamics-operator]              pkg=appdynamics-operator
INFO[0016] deleting packages                             pkg=appranix-cps
INFO[0016] packages: [appranix-cps]                      pkg=appranix-cps
INFO[0016] deleting packages                             pkg=appsody-operator-certified
INFO[0016] packages: [appsody-operator-certified]        pkg=appsody-operator-certified
INFO[0016] deleting packages                             pkg=aqua-operator-certified
INFO[0016] packages: [aqua-operator-certified]           pkg=aqua-operator-certified
INFO[0016] deleting packages                             pkg=armory-operator
INFO[0016] packages: [armory-operator]                   pkg=armory-operator
INFO[0016] deleting packages                             pkg=as400rpc-operator
INFO[0016] packages: [as400rpc-operator]                 pkg=as400rpc-operator
INFO[0016] deleting packages                             pkg=atomicorp-helm-operator-certified
INFO[0016] packages: [atomicorp-helm-operator-certified]  pkg=atomicorp-helm-operator-certified
INFO[0016] deleting packages                             pkg=aws-event-sources-operator-certified
INFO[0016] packages: [aws-event-sources-operator-certified]  pkg=aws-event-sources-operator-certified
INFO[0016] deleting packages                             pkg=bacula-operator2
INFO[0016] packages: [bacula-operator2]                  pkg=bacula-operator2
INFO[0016] deleting packages                             pkg=behavior-analytics-services-operator-certified
INFO[0016] packages: [behavior-analytics-services-operator-certified]  pkg=behavior-analytics-services-operator-certified
INFO[0016] deleting packages                             pkg=bigid-operator
INFO[0016] packages: [bigid-operator]                    pkg=bigid-operator
INFO[0016] deleting packages                             pkg=blackduck-connector-operator
INFO[0016] packages: [blackduck-connector-operator]      pkg=blackduck-connector-operator
INFO[0016] deleting packages                             pkg=can-operator
INFO[0016] packages: [can-operator]                      pkg=can-operator
INFO[0016] deleting packages                             pkg=cass-operator
INFO[0016] packages: [cass-operator]                     pkg=cass-operator
INFO[0016] deleting packages                             pkg=ccm-node-agent-operator
INFO[0016] packages: [ccm-node-agent-operator]           pkg=ccm-node-agent-operator
INFO[0016] deleting packages                             pkg=cert-manager-operator
INFO[0016] packages: [cert-manager-operator]             pkg=cert-manager-operator
INFO[0016] deleting packages                             pkg=cic-operator-with-crds
INFO[0016] packages: [cic-operator-with-crds]            pkg=cic-operator-with-crds
INFO[0016] deleting packages                             pkg=cisco-hxcsi-operator
INFO[0016] packages: [cisco-hxcsi-operator]              pkg=cisco-hxcsi-operator
INFO[0016] deleting packages                             pkg=citrix-adc-istio-ingress-gateway-operator
INFO[0016] packages: [citrix-adc-istio-ingress-gateway-operator]  pkg=citrix-adc-istio-ingress-gateway-operator
INFO[0016] deleting packages                             pkg=citrix-cpx-istio-sidecar-injector-operator
INFO[0016] packages: [citrix-cpx-istio-sidecar-injector-operator]  pkg=citrix-cpx-istio-sidecar-injector-operator
INFO[0016] deleting packages                             pkg=citrix-cpx-with-ingress-controller-operator
INFO[0016] packages: [citrix-cpx-with-ingress-controller-operator]  pkg=citrix-cpx-with-ingress-controller-operator
INFO[0016] deleting packages                             pkg=citrix-ingress-controller-operator
INFO[0016] packages: [citrix-ingress-controller-operator]  pkg=citrix-ingress-controller-operator
INFO[0016] deleting packages                             pkg=cloud-native-postgresql
INFO[0016] packages: [cloud-native-postgresql]           pkg=cloud-native-postgresql
INFO[0016] deleting packages                             pkg=cloudbees-ci
INFO[0016] packages: [cloudbees-ci]                      pkg=cloudbees-ci
INFO[0016] deleting packages                             pkg=cloudcasa-operator
INFO[0016] packages: [cloudcasa-operator]                pkg=cloudcasa-operator
INFO[0016] deleting packages                             pkg=cnvrg-operator-marketplace
INFO[0016] packages: [cnvrg-operator-marketplace]        pkg=cnvrg-operator-marketplace
INFO[0016] deleting packages                             pkg=cockroachdb-certified
INFO[0016] packages: [cockroachdb-certified]             pkg=cockroachdb-certified
INFO[0016] deleting packages                             pkg=coralogix-operator-certified
INFO[0016] packages: [coralogix-operator-certified]      pkg=coralogix-operator-certified
INFO[0016] deleting packages                             pkg=cortex-certifai-operator
INFO[0016] packages: [cortex-certifai-operator]          pkg=cortex-certifai-operator
INFO[0016] deleting packages                             pkg=cortex-fabric-operator
INFO[0016] packages: [cortex-fabric-operator]            pkg=cortex-fabric-operator
INFO[0016] deleting packages                             pkg=cortex-healthcare-hub-operator
INFO[0016] packages: [cortex-healthcare-hub-operator]    pkg=cortex-healthcare-hub-operator
INFO[0016] deleting packages                             pkg=cortex-hub-operator
INFO[0016] packages: [cortex-hub-operator]               pkg=cortex-hub-operator
INFO[0016] deleting packages                             pkg=couchbase-enterprise-certified
INFO[0016] packages: [couchbase-enterprise-certified]    pkg=couchbase-enterprise-certified
INFO[0017] deleting packages                             pkg=couchdb-operator-certified
INFO[0017] packages: [couchdb-operator-certified]        pkg=couchdb-operator-certified
INFO[0017] deleting packages                             pkg=cpx-cic-operator
INFO[0017] packages: [cpx-cic-operator]                  pkg=cpx-cic-operator
INFO[0017] deleting packages                             pkg=crunchy-postgres-operator
INFO[0017] packages: [crunchy-postgres-operator]         pkg=crunchy-postgres-operator
INFO[0017] deleting packages                             pkg=cyberarmor-operator-certified
INFO[0017] packages: [cyberarmor-operator-certified]     pkg=cyberarmor-operator-certified
INFO[0017] deleting packages                             pkg=data-explorer-operator-certified
INFO[0017] packages: [data-explorer-operator-certified]  pkg=data-explorer-operator-certified
INFO[0017] deleting packages                             pkg=datadog-operator-certified
INFO[0017] packages: [datadog-operator-certified]        pkg=datadog-operator-certified
INFO[0017] deleting packages                             pkg=db2-zos-db-operator
INFO[0017] packages: [db2-zos-db-operator]               pkg=db2-zos-db-operator
INFO[0017] deleting packages                             pkg=dell-csi-operator-certified
INFO[0017] packages: [dell-csi-operator-certified]       pkg=dell-csi-operator-certified
INFO[0017] deleting packages                             pkg=densify-operator
INFO[0017] packages: [densify-operator]                  pkg=densify-operator
INFO[0017] deleting packages                             pkg=dynatrace-operator
INFO[0017] packages: [dynatrace-operator]                pkg=dynatrace-operator
INFO[0017] deleting packages                             pkg=eddi-operator-certified
INFO[0017] packages: [eddi-operator-certified]           pkg=eddi-operator-certified
INFO[0017] deleting packages                             pkg=elasticsearch-eck-operator-certified
INFO[0017] packages: [elasticsearch-eck-operator-certified]  pkg=elasticsearch-eck-operator-certified
INFO[0017] deleting packages                             pkg=entando-k8s-operator
INFO[0017] packages: [entando-k8s-operator]              pkg=entando-k8s-operator
INFO[0017] deleting packages                             pkg=f5-bigip-ctlr-operator
INFO[0017] packages: [f5-bigip-ctlr-operator]            pkg=f5-bigip-ctlr-operator
INFO[0017] deleting packages                             pkg=falco-certified
INFO[0017] packages: [falco-certified]                   pkg=falco-certified
INFO[0017] deleting packages                             pkg=federatorai-certified
INFO[0017] packages: [federatorai-certified]             pkg=federatorai-certified
INFO[0017] deleting packages                             pkg=fep-ansible-operator
INFO[0017] packages: [fep-ansible-operator]              pkg=fep-ansible-operator
INFO[0017] deleting packages                             pkg=fp-predict-plus-operator-certified
INFO[0017] packages: [fp-predict-plus-operator-certified]  pkg=fp-predict-plus-operator-certified
INFO[0017] deleting packages                             pkg=gitlab-runner-operator
INFO[0017] packages: [gitlab-runner-operator]            pkg=gitlab-runner-operator
INFO[0017] deleting packages                             pkg=growth-stack-operator-certified
INFO[0017] packages: [growth-stack-operator-certified]   pkg=growth-stack-operator-certified
INFO[0017] deleting packages                             pkg=h2o-operator
INFO[0017] packages: [h2o-operator]                      pkg=h2o-operator
INFO[0017] deleting packages                             pkg=hazelcast-enterprise-certified
INFO[0017] packages: [hazelcast-enterprise-certified]    pkg=hazelcast-enterprise-certified
INFO[0017] deleting packages                             pkg=hazelcast-jet-enterprise-operator
INFO[0017] packages: [hazelcast-jet-enterprise-operator]  pkg=hazelcast-jet-enterprise-operator
INFO[0017] deleting packages                             pkg=hedvig-operator
INFO[0017] packages: [hedvig-operator]                   pkg=hedvig-operator
INFO[0017] deleting packages                             pkg=hello-world-operator
INFO[0017] packages: [hello-world-operator]              pkg=hello-world-operator
INFO[0017] deleting packages                             pkg=here-service-operator-certified
INFO[0017] packages: [here-service-operator-certified]   pkg=here-service-operator-certified
INFO[0017] deleting packages                             pkg=hpe-csi-operator
INFO[0017] packages: [hpe-csi-operator]                  pkg=hpe-csi-operator
INFO[0017] deleting packages                             pkg=hpe-ezmeral-csi-operator
INFO[0017] packages: [hpe-ezmeral-csi-operator]          pkg=hpe-ezmeral-csi-operator
INFO[0017] deleting packages                             pkg=hspc-operator
INFO[0017] packages: [hspc-operator]                     pkg=hspc-operator
INFO[0017] deleting packages                             pkg=ibm-block-csi-operator
INFO[0017] packages: [ibm-block-csi-operator]            pkg=ibm-block-csi-operator
INFO[0017] deleting packages                             pkg=ibm-spectrum-scale-csi
INFO[0017] packages: [ibm-spectrum-scale-csi]            pkg=ibm-spectrum-scale-csi
INFO[0017] deleting packages                             pkg=ibm-spectrum-symphony-operator
INFO[0017] packages: [ibm-spectrum-symphony-operator]    pkg=ibm-spectrum-symphony-operator
INFO[0017] deleting packages                             pkg=ibm-tas
INFO[0017] packages: [ibm-tas]                           pkg=ibm-tas
INFO[0017] deleting packages                             pkg=infinibox-operator-certified
INFO[0017] packages: [infinibox-operator-certified]      pkg=infinibox-operator-certified
INFO[0017] deleting packages                             pkg=infoscale-operator
INFO[0017] packages: [infoscale-operator]                pkg=infoscale-operator
INFO[0017] deleting packages                             pkg=infrastructure-asset-orchestrator-certified
INFO[0017] packages: [infrastructure-asset-orchestrator-certified]  pkg=infrastructure-asset-orchestrator-certified
INFO[0017] deleting packages                             pkg=insightedge-enterprise-operator2
INFO[0017] packages: [insightedge-enterprise-operator2]  pkg=insightedge-enterprise-operator2
INFO[0017] deleting packages                             pkg=installkit-customer
INFO[0017] packages: [installkit-customer]               pkg=installkit-customer
INFO[0017] deleting packages                             pkg=instana-agent
INFO[0017] packages: [instana-agent]                     pkg=instana-agent
INFO[0017] deleting packages                             pkg=iomesh-operator
INFO[0017] packages: [iomesh-operator]                   pkg=iomesh-operator
INFO[0017] deleting packages                             pkg=ionir-operator
INFO[0017] packages: [ionir-operator]                    pkg=ionir-operator
INFO[0017] deleting packages                             pkg=ivory-server-app
INFO[0017] packages: [ivory-server-app]                  pkg=ivory-server-app
INFO[0017] deleting packages                             pkg=joget-dx-operator
INFO[0017] packages: [joget-dx-operator]                 pkg=joget-dx-operator
INFO[0017] deleting packages                             pkg=joget-openshift-operator
INFO[0017] packages: [joget-openshift-operator]          pkg=joget-openshift-operator
INFO[0017] deleting packages                             pkg=jtrac-app-operator
INFO[0017] packages: [jtrac-app-operator]                pkg=jtrac-app-operator
INFO[0017] deleting packages                             pkg=k10-kasten-operator
INFO[0017] packages: [k10-kasten-operator]               pkg=k10-kasten-operator
INFO[0017] deleting packages                             pkg=k8s-triliovault
INFO[0017] packages: [k8s-triliovault]                   pkg=k8s-triliovault
INFO[0017] deleting packages                             pkg=kong-offline-operator
INFO[0017] packages: [kong-offline-operator]             pkg=kong-offline-operator
INFO[0017] deleting packages                             pkg=kpow-io-certified
INFO[0017] packages: [kpow-io-certified]                 pkg=kpow-io-certified
INFO[0017] deleting packages                             pkg=kube-arangodb
INFO[0017] packages: [kube-arangodb]                     pkg=kube-arangodb
INFO[0017] deleting packages                             pkg=kubemq-operator-marketplace
INFO[0017] packages: [kubemq-operator-marketplace]       pkg=kubemq-operator-marketplace
INFO[0017] deleting packages                             pkg=kubeplus
INFO[0017] packages: [kubeplus]                          pkg=kubeplus
INFO[0017] deleting packages                             pkg=kubeturbo-certified
INFO[0017] packages: [kubeturbo-certified]               pkg=kubeturbo-certified
INFO[0017] deleting packages                             pkg=linstor-operator
INFO[0017] packages: [linstor-operator]                  pkg=linstor-operator
INFO[0017] deleting packages                             pkg=marketplace-games-operator
INFO[0017] packages: [marketplace-games-operator]        pkg=marketplace-games-operator
INFO[0017] deleting packages                             pkg=memcached-operator-ogaye
INFO[0017] packages: [memcached-operator-ogaye]          pkg=memcached-operator-ogaye
INFO[0017] deleting packages                             pkg=memql-certified
INFO[0017] packages: [memql-certified]                   pkg=memql-certified
INFO[0017] deleting packages                             pkg=mf-cics-tg-operator
INFO[0017] packages: [mf-cics-tg-operator]               pkg=mf-cics-tg-operator
INFO[0017] deleting packages                             pkg=mf-cics-ts-operator
INFO[0017] packages: [mf-cics-ts-operator]               pkg=mf-cics-ts-operator
INFO[0017] deleting packages                             pkg=minio-operator
INFO[0017] packages: [minio-operator]                    pkg=minio-operator
INFO[0017] deleting packages                             pkg=model-builder-for-vision-certified
INFO[0017] packages: [model-builder-for-vision-certified]  pkg=model-builder-for-vision-certified
INFO[0017] deleting packages                             pkg=mongodb-enterprise
INFO[0017] packages: [mongodb-enterprise]                pkg=mongodb-enterprise
INFO[0017] deleting packages                             pkg=n3000
INFO[0017] packages: [n3000]                             pkg=n3000
INFO[0017] deleting packages                             pkg=nastel-navigator-operator-certified
INFO[0017] packages: [nastel-navigator-operator-certified]  pkg=nastel-navigator-operator-certified
INFO[0017] deleting packages                             pkg=nastel-xray-operator
INFO[0017] packages: [nastel-xray-operator]              pkg=nastel-xray-operator
INFO[0017] deleting packages                             pkg=nethopper-operator
INFO[0017] packages: [nethopper-operator]                pkg=nethopper-operator
INFO[0017] deleting packages                             pkg=neuvector-certified-operator
INFO[0017] packages: [neuvector-certified-operator]      pkg=neuvector-certified-operator
INFO[0017] deleting packages                             pkg=nginx-ingress-operator
INFO[0017] packages: [nginx-ingress-operator]            pkg=nginx-ingress-operator
INFO[0017] deleting packages                             pkg=node-red-operator-certified
INFO[0017] packages: [node-red-operator-certified]       pkg=node-red-operator-certified
INFO[0017] deleting packages                             pkg=nsx-container-plugin-operator
INFO[0017] packages: [nsx-container-plugin-operator]     pkg=nsx-container-plugin-operator
INFO[0017] deleting packages                             pkg=nutanixcsioperator
INFO[0017] packages: [nutanixcsioperator]                pkg=nutanixcsioperator
INFO[0017] deleting packages                             pkg=nvmesh-operator
INFO[0017] packages: [nvmesh-operator]                   pkg=nvmesh-operator
INFO[0017] deleting packages                             pkg=nxiq-operator-certified
INFO[0017] packages: [nxiq-operator-certified]           pkg=nxiq-operator-certified
INFO[0017] deleting packages                             pkg=nxrm-operator-certified
INFO[0017] packages: [nxrm-operator-certified]           pkg=nxrm-operator-certified
INFO[0017] deleting packages                             pkg=oneagent-certified
INFO[0017] packages: [oneagent-certified]                pkg=oneagent-certified
INFO[0017] deleting packages                             pkg=open-liberty-certified
INFO[0017] packages: [open-liberty-certified]            pkg=open-liberty-certified
INFO[0017] deleting packages                             pkg=openshiftartifactoryha-operator
INFO[0017] packages: [openshiftartifactoryha-operator]   pkg=openshiftartifactoryha-operator
INFO[0017] deleting packages                             pkg=openshiftpipeline-operator
INFO[0017] packages: [openshiftpipeline-operator]        pkg=openshiftpipeline-operator
INFO[0018] deleting packages                             pkg=openshiftxray-operator
INFO[0018] packages: [openshiftxray-operator]            pkg=openshiftxray-operator
INFO[0018] deleting packages                             pkg=openunison-ocp-certified
INFO[0018] packages: [openunison-ocp-certified]          pkg=openunison-ocp-certified
INFO[0018] deleting packages                             pkg=optimize-controller
INFO[0018] packages: [optimize-controller]               pkg=optimize-controller
INFO[0018] deleting packages                             pkg=orca
INFO[0018] packages: [orca]                              pkg=orca
INFO[0018] deleting packages                             pkg=ovms-operator
INFO[0018] packages: [ovms-operator]                     pkg=ovms-operator
INFO[0018] deleting packages                             pkg=perceptilabs-operator-package
INFO[0018] packages: [perceptilabs-operator-package]     pkg=perceptilabs-operator-package
INFO[0018] deleting packages                             pkg=percona-postgresql-operator-certified
INFO[0018] packages: [percona-postgresql-operator-certified]  pkg=percona-postgresql-operator-certified
INFO[0018] deleting packages                             pkg=percona-server-mongodb-operator-certified
INFO[0018] packages: [percona-server-mongodb-operator-certified]  pkg=percona-server-mongodb-operator-certified
INFO[0018] deleting packages                             pkg=percona-xtradb-cluster-operator-certified
INFO[0018] packages: [percona-xtradb-cluster-operator-certified]  pkg=percona-xtradb-cluster-operator-certified
INFO[0018] deleting packages                             pkg=pmem-csi-operator-os
INFO[0018] packages: [pmem-csi-operator-os]              pkg=pmem-csi-operator-os
INFO[0018] deleting packages                             pkg=portshift-controller-operator
INFO[0018] packages: [portshift-controller-operator]     pkg=portshift-controller-operator
INFO[0018] deleting packages                             pkg=portworx-certified
INFO[0018] packages: [portworx-certified]                pkg=portworx-certified
INFO[0018] deleting packages                             pkg=presto-operator
INFO[0018] packages: [presto-operator]                   pkg=presto-operator
INFO[0018] deleting packages                             pkg=rapidbiz-operator-certified
INFO[0018] packages: [rapidbiz-operator-certified]       pkg=rapidbiz-operator-certified
INFO[0018] deleting packages                             pkg=redhat-marketplace-operator
INFO[0018] packages: [redhat-marketplace-operator]       pkg=redhat-marketplace-operator
INFO[0018] deleting packages                             pkg=redis-enterprise-operator-cert
INFO[0018] packages: [redis-enterprise-operator-cert]    pkg=redis-enterprise-operator-cert
INFO[0018] deleting packages                             pkg=rocketchat-operator-certified
INFO[0018] packages: [rocketchat-operator-certified]     pkg=rocketchat-operator-certified
INFO[0018] deleting packages                             pkg=runtime-component-operator-certified
INFO[0018] packages: [runtime-component-operator-certified]  pkg=runtime-component-operator-certified
INFO[0018] deleting packages                             pkg=sanstoragecsi-operator-bundle
INFO[0018] packages: [sanstoragecsi-operator-bundle]     pkg=sanstoragecsi-operator-bundle
INFO[0018] deleting packages                             pkg=seldon-operator-certified
INFO[0018] packages: [seldon-operator-certified]         pkg=seldon-operator-certified
INFO[0018] deleting packages                             pkg=sematext
INFO[0018] packages: [sematext]                          pkg=sematext
INFO[0018] deleting packages                             pkg=simple-demo-operator
INFO[0018] packages: [simple-demo-operator]              pkg=simple-demo-operator
INFO[0018] deleting packages                             pkg=snyk-operator-certified
INFO[0018] packages: [snyk-operator-certified]           pkg=snyk-operator-certified
INFO[0018] deleting packages                             pkg=splunk-certified
INFO[0018] packages: [splunk-certified]                  pkg=splunk-certified
INFO[0018] deleting packages                             pkg=sriov-fec
INFO[0018] packages: [sriov-fec]                         pkg=sriov-fec
INFO[0018] deleting packages                             pkg=starburst-enterprise-helm-operator
INFO[0018] packages: [starburst-enterprise-helm-operator]  pkg=starburst-enterprise-helm-operator
INFO[0018] deleting packages                             pkg=stonebranch-universalagent-operator-certified
INFO[0018] packages: [stonebranch-universalagent-operator-certified]  pkg=stonebranch-universalagent-operator-certified
INFO[0018] deleting packages                             pkg=storageos2
INFO[0018] packages: [storageos2]                        pkg=storageos2
INFO[0018] deleting packages                             pkg=synopsys-certified
INFO[0018] packages: [synopsys-certified]                pkg=synopsys-certified
INFO[0018] deleting packages                             pkg=sysdig-certified
INFO[0018] packages: [sysdig-certified]                  pkg=sysdig-certified
INFO[0018] deleting packages                             pkg=t8c-certified
INFO[0018] packages: [t8c-certified]                     pkg=t8c-certified
INFO[0018] deleting packages                             pkg=tf-operator
INFO[0018] packages: [tf-operator]                       pkg=tf-operator
INFO[0018] deleting packages                             pkg=tigera-operator
INFO[0018] packages: [tigera-operator]                   pkg=tigera-operator
INFO[0018] deleting packages                             pkg=timemachine-operator
INFO[0018] packages: [timemachine-operator]              pkg=timemachine-operator
INFO[0018] deleting packages                             pkg=traefikee-redhat-certified
INFO[0018] packages: [traefikee-redhat-certified]        pkg=traefikee-redhat-certified
INFO[0018] deleting packages                             pkg=transform-adv-operator
INFO[0018] packages: [transform-adv-operator]            pkg=transform-adv-operator
INFO[0018] deleting packages                             pkg=uma-operator
INFO[0018] packages: [uma-operator]                      pkg=uma-operator
INFO[0018] deleting packages                             pkg=vfunction-server-operator
INFO[0018] packages: [vfunction-server-operator]         pkg=vfunction-server-operator
INFO[0018] deleting packages                             pkg=vprotect-operator
INFO[0018] packages: [vprotect-operator]                 pkg=vprotect-operator
INFO[0018] deleting packages                             pkg=wavefront-operator
INFO[0018] packages: [wavefront-operator]                pkg=wavefront-operator
INFO[0018] deleting packages                             pkg=xcrypt-operator
INFO[0018] packages: [xcrypt-operator]                   pkg=xcrypt-operator
INFO[0018] deleting packages                             pkg=xspc-operator
INFO[0018] packages: [xspc-operator]                     pkg=xspc-operator
INFO[0018] deleting packages                             pkg=yugabyte-operator
INFO[0018] packages: [yugabyte-operator]                 pkg=yugabyte-operator
INFO[0018] deleting packages                             pkg=zabbix-operator-certified
INFO[0018] packages: [zabbix-operator-certified]         pkg=zabbix-operator-certified
INFO[0018] deleting packages                             pkg=zoperator
INFO[0018] packages: [zoperator]                         pkg=zoperator
INFO[0018] Generating dockerfile                         packages="[cic-operator cilium gpu-operator-certified]"
INFO[0018] writing dockerfile: index.Dockerfile706829470  packages="[cic-operator cilium gpu-operator-certified]"
INFO[0018] running podman build                          packages="[cic-operator cilium gpu-operator-certified]"
INFO[0018] [podman build -f index.Dockerfile706829470 -t localhost:5000/redhat/certified-operator-index:v4.8 .]  packages="[cic-operator cilium gpu-operator-certified]"
```

Comment 5 Anik 2021-11-01 15:11:59 UTC
*** Bug 2018484 has been marked as a duplicate of this bug. ***

Comment 12 Ankita Thomas 2021-11-17 23:06:43 UTC
The problem is a missing validation for skipped bundles which can create indexes with a bundle in multiple packages. The fix to stop this from happening has merged upstream for operator-registry and is available with v1.19.3

https://github.com/operator-framework/operator-registry/releases/tag/v1.19.3

Comment 13 Dave Gordon 2021-11-18 18:08:18 UTC
*** Bug 2024372 has been marked as a duplicate of this bug. ***

Comment 15 tflannag 2021-12-02 03:11:22 UTC
Manually moving to MODIFIED as the proposed upstream fix commit(s) were present in the latest downstream sync PR (https://github.com/openshift/operator-framework-olm/pull/218).

Comment 17 Bruno Andrade 2021-12-02 16:06:54 UTC
The issue is still present in the last commit, moving back to ASSIGNED for verification.

*   dc5f6de60 - (HEAD -> master, origin/release-4.11, origin/release-4.10, origin/master, origin/HEAD) Merge pull request #218 from timflannagan/sync/11-30-and-registry-no-grpc-bump (14 hours ago) <OpenShift Merge Robot>


./opm version
Version: version.Version{OpmVersion:"dc5f6de60", GitCommit:"dc5f6de60a1a11f2f0988dc0bd061aadedc9edb1", BuildDate:"2021-12-02T15:59:11Z", GoOs:"linux", GoArch:"386"}


./opm index prune -f registry.redhat.io/redhat/certified-operator-index:v4.6 -p elasticsearch-eck-operator-certified -t localhost:5000/operator/eck-operator-index:v4.6
WARN[0000] DEPRECATION NOTICE:
Sqlite-based catalogs and their related subcommands are deprecated. Support for
them will be removed in a future release. Please migrate your catalog workflows
to the new file-based catalog format. 
INFO[0000] pruning the index                             packages="[elasticsearch-eck-operator-certified]"
INFO[0000] Pulling previous image registry.redhat.io/redhat/certified-operator-index:v4.6 to get metadata  packages="[elasticsearch-eck-operator-certified]"
INFO[0000] running /usr/bin/podman pull registry.redhat.io/redhat/certified-operator-index:v4.6  packages="[elasticsearch-eck-operator-certified]"
INFO[0004] running /usr/bin/podman pull registry.redhat.io/redhat/certified-operator-index:v4.6  packages="[elasticsearch-eck-operator-certified]"
INFO[0008] Getting label data from previous image        packages="[elasticsearch-eck-operator-certified]"
INFO[0008] running podman inspect                        packages="[elasticsearch-eck-operator-certified]"
INFO[0008] running podman create                         packages="[elasticsearch-eck-operator-certified]"
INFO[0008] running podman cp                             packages="[elasticsearch-eck-operator-certified]"
INFO[0019] running podman rm                             packages="[elasticsearch-eck-operator-certified]"
INFO[0020] deleting packages                             pkg=acc-operator
INFO[0020] packages: [acc-operator]                      pkg=acc-operator
INFO[0022] deleting packages                             pkg=aci-containers-operator
INFO[0022] packages: [aci-containers-operator]           pkg=aci-containers-operator
INFO[0022] deleting packages                             pkg=akka-cluster-operator-certified
INFO[0022] packages: [akka-cluster-operator-certified]   pkg=akka-cluster-operator-certified
INFO[0022] deleting packages                             pkg=ako-operator
INFO[0022] packages: [ako-operator]                      pkg=ako-operator
INFO[0022] deleting packages                             pkg=alcide-kaudit-operator
INFO[0022] packages: [alcide-kaudit-operator]            pkg=alcide-kaudit-operator
INFO[0022] deleting packages                             pkg=amcop-operator
INFO[0022] packages: [amcop-operator]                    pkg=amcop-operator
INFO[0022] deleting packages                             pkg=anaconda-team-edition
INFO[0022] packages: [anaconda-team-edition]             pkg=anaconda-team-edition
INFO[0022] deleting packages                             pkg=anchore-engine
INFO[0022] packages: [anchore-engine]                    pkg=anchore-engine
INFO[0022] deleting packages                             pkg=antrea-operator-for-kubernetes
INFO[0022] packages: [antrea-operator-for-kubernetes]    pkg=antrea-operator-for-kubernetes
INFO[0022] deleting packages                             pkg=anzo-operator
INFO[0022] packages: [anzo-operator]                     pkg=anzo-operator
INFO[0023] deleting packages                             pkg=anzograph-operator
INFO[0023] packages: [anzograph-operator]                pkg=anzograph-operator
INFO[0023] deleting packages                             pkg=anzounstructured-operator
INFO[0023] packages: [anzounstructured-operator]         pkg=anzounstructured-operator
INFO[0023] deleting packages                             pkg=appdynamics-operator
INFO[0023] packages: [appdynamics-operator]              pkg=appdynamics-operator
INFO[0023] deleting packages                             pkg=appranix-cps
INFO[0023] packages: [appranix-cps]                      pkg=appranix-cps
INFO[0023] deleting packages                             pkg=appsody-operator-certified
INFO[0023] packages: [appsody-operator-certified]        pkg=appsody-operator-certified
INFO[0023] deleting packages                             pkg=aqua-operator-certified
INFO[0023] packages: [aqua-operator-certified]           pkg=aqua-operator-certified
INFO[0023] deleting packages                             pkg=armory-operator
INFO[0023] packages: [armory-operator]                   pkg=armory-operator
INFO[0023] deleting packages                             pkg=as400rpc-operator
INFO[0023] packages: [as400rpc-operator]                 pkg=as400rpc-operator
INFO[0023] deleting packages                             pkg=atomicorp-helm-operator-certified
INFO[0023] packages: [atomicorp-helm-operator-certified]  pkg=atomicorp-helm-operator-certified
INFO[0023] deleting packages                             pkg=aws-event-sources-operator-certified
INFO[0023] packages: [aws-event-sources-operator-certified]  pkg=aws-event-sources-operator-certified
INFO[0023] deleting packages                             pkg=bacula-operator2
INFO[0023] packages: [bacula-operator2]                  pkg=bacula-operator2
INFO[0024] deleting packages                             pkg=behavior-analytics-services-operator-certified
INFO[0024] packages: [behavior-analytics-services-operator-certified]  pkg=behavior-analytics-services-operator-certified
INFO[0024] deleting packages                             pkg=bigid-operator
INFO[0024] packages: [bigid-operator]                    pkg=bigid-operator
INFO[0024] deleting packages                             pkg=blackduck-connector-operator
INFO[0024] packages: [blackduck-connector-operator]      pkg=blackduck-connector-operator
INFO[0024] deleting packages                             pkg=can-operator
INFO[0024] packages: [can-operator]                      pkg=can-operator
INFO[0024] deleting packages                             pkg=carbonetes-operator
INFO[0024] packages: [carbonetes-operator]               pkg=carbonetes-operator
INFO[0024] deleting packages                             pkg=cass-operator
INFO[0024] packages: [cass-operator]                     pkg=cass-operator
INFO[0024] deleting packages                             pkg=ccm-node-agent-operator
INFO[0024] packages: [ccm-node-agent-operator]           pkg=ccm-node-agent-operator
INFO[0024] deleting packages                             pkg=cert-manager-operator
INFO[0024] packages: [cert-manager-operator]             pkg=cert-manager-operator
INFO[0024] deleting packages                             pkg=cic-operator
INFO[0024] packages: [cic-operator]                      pkg=cic-operator
FATA[0024] permissive mode disabled                      error="error deleting packages from database: error removing operator package cic-operator: FOREIGN KEY constraint failed"

Comment 18 Anik 2021-12-02 17:22:53 UTC
Bruno, 

Looks like there's some understandable confusion about what the fix is trying to do for this bz. We are not changing anything in `opm index prune`. The issue here was that the citrix operator has a bundle in a channel that mentions a replaces in another channel. We're adding a check in `opm index add` that prevents the bundle that replaces, from being added to the database in the first place. So the steps to test this would be. 


1. Create a bundle in a channel, say bundle A in channel alpha. Add bundle A to index using `opm index add bundleA -t <image>`
2. Create another bundle, say bundle B, in channel beta. In bundle B's CSV, replace bundle A. 
3. Try to add bundle B to index using `opm index add --from-index <image> bundleB -t <image>`. This step should fail. 



We're also working in fixing the existing citrix operator bundles in all indexes. When that effort is complete, `opm index prune` on the default catalogs will succeed again.

Comment 19 Bruno Andrade 2021-12-03 07:19:38 UTC
Hi Anik,

Thanks, Anik, I followed your instructions, but step 3 didn't fail as expected. Here is step by step used, please let me know if I'm missing anything.

cd lib-bucket-provisioner 
tree
├── 1.0.0
│   ├── lib-bucket-provisioner.v1.0.0.clusterserviceversion.yaml
│   ├── objectbucketclaims.objectbucket.io.crd.yaml
│   └── objectbuckets.objectbucket.io.crd.yaml
└── package.yaml


cat package.yaml         
packageName: lib-bucket-provisioner
channels:
- name: alpha
  currentCSV: lib-bucket-provisioner.v1.0.0
defaultChannel: alpha

opm alpha bundle build -p lib-bucket-provisioner -d 1.0.0 -t quay.io/bandrade/bundle:4.0 -b podman 

INFO[0000] Bundle channels information not provided, inferring from parent package directory 
INFO[0000] Inferred channels: alpha                     
INFO[0000] Inferred default channel: alpha              
INFO[0000] Building annotations.yaml                    
INFO[0000] Writing annotations.yaml in /home/bandrade/QE/test_execution/downloaded/lib-bucket-provisioner/metadata 
INFO[0000] Building Dockerfile                          
INFO[0000] Writing bundle.Dockerfile in /home/bandrade/QE/test_execution/downloaded/lib-bucket-provisioner 
INFO[0000] Building bundle image                        
STEP 1/9: FROM scratch
STEP 2/9: LABEL operators.operatorframework.io.bundle.mediatype.v1=registry+v1
--> Using cache 6ea05aff034a1fd0b1d571592442e864fc17f58ce09cd45c4ddec2f6e08b38eb
--> 6ea05aff034
STEP 3/9: LABEL operators.operatorframework.io.bundle.manifests.v1=manifests/
--> Using cache f683314801c448bf8e63be7fc095dcdd7552b0127053ff93dbc51ae83cc668dd
--> f683314801c
STEP 4/9: LABEL operators.operatorframework.io.bundle.metadata.v1=metadata/
--> Using cache f6f8e698db678517ce02588897622a446b683538e410d51e114e09ee94d953e4
--> f6f8e698db6
STEP 5/9: LABEL operators.operatorframework.io.bundle.package.v1=lib-bucket-provisioner
--> Using cache c587063b9394878f055a9f2943a3c440e69eee54f3e9a3262c240ca5b990724d
--> c587063b939
STEP 6/9: LABEL operators.operatorframework.io.bundle.channels.v1=alpha
--> Using cache 497baa36c822f715023746f930ee552f605ea576a716714d967e8a2ec484540c
--> 497baa36c82
STEP 7/9: LABEL operators.operatorframework.io.bundle.channel.default.v1=alpha
--> Using cache bb298a9352a0792f898772c179468b9e2683259e3f644572316818c1cc38e06e
--> bb298a9352a
STEP 8/9: COPY 1.0.0 /manifests/
--> Using cache 240b810fb68a377f4a61f0526ec53b2f35600f400febdbb7912e80f654fdb4b8
--> 240b810fb68
STEP 9/9: COPY metadata /metadata/
COMMIT quay.io/bandrade/bundle:4.0
--> 0ea4b1a945e
Successfully tagged quay.io/bandrade/bundle:4.0
0ea4b1a945e06ac34d14832cd29d9b3e8868be0236ac7ea97e3e6675101e7d2e


Added into index 
opm index add --bundles quay.io/bandrade/bundle:4.0 -t quay.io/bandrade/bundle-index:3.0  


Added channel beta and created 2.0.0 version replacing 1.0.0 csv

cat package.yaml         
packageName: lib-bucket-provisioner
channels:
- name: alpha
  currentCSV: lib-bucket-provisioner.v1.0.0
- name: beta
  currentCSV: lib-bucket-provisioner.v2.0.0
defaultChannel: alpha

tree
.
└── lib-bucket-provisioner
    ├── 1.0.0
    │   ├── lib-bucket-provisioner.v1.0.0.clusterserviceversion.yaml
    │   ├── objectbucketclaims.objectbucket.io.crd.yaml
    │   └── objectbuckets.objectbucket.io.crd.yaml
    ├── 2.0.0
    │   ├── lib-bucket-provisioner.v2.0.0.clusterserviceversion.yaml
    │   ├── objectbucketclaims.objectbucket.io.crd.yaml
    │   └── objectbuckets.objectbucket.io.crd.yaml
    └── package.yaml

Build and Pushed the bundle:
opm alpha bundle build -p lib-bucket-provisioner -d 2.0.0 -t quay.io/bandrade/bundle:5.0 -b podman 

Added the new bundle using the index, the command didn't fail:

opm index add --bundles quay.io/bandrade/bundle:5.0 --from-index quay.io/bandrade/bundle-index:3.0 -t quay.io/bandrade/bundle-index:4.0
WARN[0000] DEPRECATION NOTICE:
Sqlite-based catalogs and their related subcommands are deprecated. Support for
them will be removed in a future release. Please migrate your catalog workflows
to the new file-based catalog format. 
INFO[0000] building the index                            bundles="[quay.io/bandrade/bundle:5.0]"
INFO[0000] Pulling previous image quay.io/bandrade/bundle-index:3.0 to get metadata  bundles="[quay.io/bandrade/bundle:5.0]"
WARN[0003] {"created":"2021-12-03T06:14:07.800460444Z","container":"5870c271980f91667b309929a8a3dbc0ab64355e1fd7346dfc821693bb9aa9f8","container_config":{"Hostname":"bf0d79db95ef","Domainname":"","User":"0","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"50051/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/busybox","SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt"],"Cmd":["registry","serve","--database","/database/index.db"],"Image":"","Volumes":{},"WorkingDir":"/","Entrypoint":["/bin/opm"],"OnBuild":[],"Labels":{"io.buildah.version":"1.23.1","operators.operatorframework.io.index.database.v1":"/database/index.db"}},"author":"Bazel","config":{"Hostname":"bf0d79db95ef","Domainname":"","User":"0","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"50051/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/busybox","SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt"],"Cmd":["registry","serve","--database","/database/index.db"],"Image":"","Volumes":{},"WorkingDir":"/","Entrypoint":["/bin/opm"],"OnBuild":[],"Labels":{"io.buildah.version":"1.23.1","operators.operatorframework.io.index.database.v1":"/database/index.db"}},"architecture":"amd64","os":"linux","parent":"sha256:a0bae20c2a0ee520c5d5f96f1b1ad4c63c7725a521e0f54722b0bae56b4191fa","rootfs":{"type":"layers","diff_ids":["sha256:6d75f23be3ddcb784b51ea7ef9b6a3a038f9e0b2f08f08628b226dba8b5161f8","sha256:5d6a8d4078ceeab04d54c271dea21131637c2c8e60c14ff55e8d62ca9e018075","sha256:dd4ed6fbb3ba0b6a826a83714010532e3d739583ff677c698f46e776946d39a8","sha256:ba3365d1784de421eed4f7bd5ceec130f4fa50f29d4a1c2e4691788c7bb99085","sha256:c71a09fbf6a2f1cf89e36493e3acd76286efd65e8e6dc3eec4161cd04a02f927","sha256:abfc1ee2f6075ff8fc51e051237ed8f1130bddd010d7ea128e822d2afc507e5a"]},"history":[{"created":"1970-01-01T00:00:00Z","author":"Bazel","created_by":"bazel build ..."},{"created":"1970-01-01T00:00:00Z","author":"Bazel","created_by":"bazel build ..."},{"created":"2021-11-24T15:06:48.302124478Z","created_by":"COPY /grpc_health_probe /bin/grpc_health_probe # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2021-11-24T15:06:48.323120135Z","created_by":"COPY nsswitch.conf /etc/nsswitch.conf # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2021-11-24T15:06:48.541460913Z","created_by":"COPY opm /bin/opm # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2021-11-24T15:06:48.541460913Z","created_by":"ENTRYPOINT [\"/bin/opm\"]","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2021-12-03T03:51:06.909203093Z","author":"Bazel","created_by":"/bin/sh -c #(nop) LABEL operators.operatorframework.io.index.database.v1=/database/index.db","comment":"FROM quay.io/operator-framework/opm:latest","empty_layer":true},{"created":"2021-12-03T06:14:06.676009814Z","author":"Bazel","created_by":"/bin/sh -c #(nop) ADD file:9d70264d80a787565ba489d1b77799ab63c1a5fe360b925c2a0171506d0d92ce in /database/index.db "},{"created":"2021-12-03T06:14:07.164786193Z","author":"Bazel","created_by":"/bin/sh -c #(nop) EXPOSE 50051","empty_layer":true},{"created":"2021-12-03T06:14:07.529472902Z","author":"Bazel","created_by":"/bin/sh -c #(nop) ENTRYPOINT [\"/bin/opm\"]","empty_layer":true},{"created":"2021-12-03T06:14:07.801491213Z","author":"Bazel","created_by":"/bin/sh -c #(nop) CMD [\"registry\", \"serve\", \"--database\", \"/database/index.db\"]","empty_layer":true}]}  bundles="[quay.io/bandrade/bundle:5.0]"
INFO[0007] Could not find optional dependencies file     file=bundle_tmp087939085/metadata load=annotations with=bundle_tmp087939085
INFO[0007] Could not find optional properties file       file=bundle_tmp087939085/metadata load=annotations with=bundle_tmp087939085
INFO[0007] Could not find optional dependencies file     file=bundle_tmp087939085/metadata load=annotations with=bundle_tmp087939085
INFO[0007] Could not find optional properties file       file=bundle_tmp087939085/metadata load=annotations with=bundle_tmp087939085
INFO[0008] Generating dockerfile                         bundles="[quay.io/bandrade/bundle:5.0]"
INFO[0008] writing dockerfile: index.Dockerfile424127459  bundles="[quay.io/bandrade/bundle:5.0]"
INFO[0008] running podman build                          bundles="[quay.io/bandrade/bundle:5.0]"
INFO[0008] [podman build --format docker -f index.Dockerfile424127459 -t quay.io/bandrade/bundle-index:4.0 .]  bundles="[quay.io/bandrade/bundle:5.0]"


All the images are public and you can export them to take a look.

Thanks

Comment 20 Anik 2021-12-06 13:20:30 UTC
If you mentioned in the v2.0.0 CSV that it replaces the v1.0.0 CSV, then these steps looks right to me. 

Handing it over to Ankita so that she can investigate these input against her PR.

Comment 23 Bruno Andrade 2021-12-08 21:27:52 UTC
LGTM, marked as verified  

./opm version
Version: version.Version{OpmVersion:"dc5f6de60", GitCommit:"dc5f6de60a1a11f2f0988dc0bd061aadedc9edb1", BuildDate:"2021-12-02T15:59:11Z", GoOs:"linux", GoArch:"386"}


1. build a bundle lib-bucket-provisioner.v1.0.0  in package lib-bucket-provisioner-1
2. build a bundle lib-bucket-provisioner.v2.0.0  in package lib-bucket-provisioner-2 with bundle lib-bucket-provisioner.v1.0.0  in its skips

When adding package lib-bucket-provisioner-2 in an index which contains lib-bucket-provisioner-1, and the expected error was shown:


opm index add --bundles quay.io/bandrade/bundle:7.0 --from-index quay.io/bandrade/bundle-index:6.0 -t quay.io/bandrade/bundle-index:7.0                                                                                             
WARN[0000] DEPRECATION NOTICE:
Sqlite-based catalogs and their related subcommands are deprecated. Support for
them will be removed in a future release. Please migrate your catalog workflows
to the new file-based catalog format. 
INFO[0000] building the index                            bundles="[quay.io/bandrade/bundle:7.0]"
INFO[0000] Pulling previous image quay.io/bandrade/bundle-index:6.0 to get metadata  bundles="[quay.io/bandrade/bundle:7.0]"
WARN[0004] {"created":"2021-12-08T20:35:06.445696882Z","container":"af09c4f8aaa703435c531f8913e18e2a373d22f7b14e92ffc882391a83ae7717","container_config":{"Hostname":"2e36bf4b33ff","Domainname":"","User":"0","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"50051/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/busybox","SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt"],"Cmd":["registry","serve","--database","/database/index.db"],"Image":"","Volumes":{},"WorkingDir":"/","Entrypoint":["/bin/opm"],"OnBuild":[],"Labels":{"io.buildah.version":"1.23.1","operators.operatorframework.io.index.database.v1":"/database/index.db"}},"author":"Bazel","config":{"Hostname":"2e36bf4b33ff","Domainname":"","User":"0","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"50051/tcp":{}},"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/busybox","SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt"],"Cmd":["registry","serve","--database","/database/index.db"],"Image":"","Volumes":{},"WorkingDir":"/","Entrypoint":["/bin/opm"],"OnBuild":[],"Labels":{"io.buildah.version":"1.23.1","operators.operatorframework.io.index.database.v1":"/database/index.db"}},"architecture":"amd64","os":"linux","parent":"sha256:291916b0bf55a6cceb2a5dac748ebd3e29a42ecc9c6eb04612775757c24f84c1","rootfs":{"type":"layers","diff_ids":["sha256:6d75f23be3ddcb784b51ea7ef9b6a3a038f9e0b2f08f08628b226dba8b5161f8","sha256:5d6a8d4078ceeab04d54c271dea21131637c2c8e60c14ff55e8d62ca9e018075","sha256:dd4ed6fbb3ba0b6a826a83714010532e3d739583ff677c698f46e776946d39a8","sha256:ba3365d1784de421eed4f7bd5ceec130f4fa50f29d4a1c2e4691788c7bb99085","sha256:c71a09fbf6a2f1cf89e36493e3acd76286efd65e8e6dc3eec4161cd04a02f927","sha256:db2c9552df1f82e778e400f196e31c46c1e3b785b8dea0f286788a55b3bdbf44"]},"history":[{"created":"1970-01-01T00:00:00Z","author":"Bazel","created_by":"bazel build ..."},{"created":"1970-01-01T00:00:00Z","author":"Bazel","created_by":"bazel build ..."},{"created":"2021-11-24T15:06:48.302124478Z","created_by":"COPY /grpc_health_probe /bin/grpc_health_probe # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2021-11-24T15:06:48.323120135Z","created_by":"COPY nsswitch.conf /etc/nsswitch.conf # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2021-11-24T15:06:48.541460913Z","created_by":"COPY opm /bin/opm # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2021-11-24T15:06:48.541460913Z","created_by":"ENTRYPOINT [\"/bin/opm\"]","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2021-12-03T03:51:06.909203093Z","author":"Bazel","created_by":"/bin/sh -c #(nop) LABEL operators.operatorframework.io.index.database.v1=/database/index.db","comment":"FROM quay.io/operator-framework/opm:latest","empty_layer":true},{"created":"2021-12-08T20:35:05.522839663Z","author":"Bazel","created_by":"/bin/sh -c #(nop) ADD file:dcc87bf39c1b7e7e6559e8b857befccc1cb9e8b3192acd99b2d2612c8883a0b2 in /database/index.db "},{"created":"2021-12-08T20:35:05.95140642Z","author":"Bazel","created_by":"/bin/sh -c #(nop) EXPOSE 50051","empty_layer":true},{"created":"2021-12-08T20:35:06.211218824Z","author":"Bazel","created_by":"/bin/sh -c #(nop) ENTRYPOINT [\"/bin/opm\"]","empty_layer":true},{"created":"2021-12-08T20:35:06.446298647Z","author":"Bazel","created_by":"/bin/sh -c #(nop) CMD [\"registry\", \"serve\", \"--database\", \"/database/index.db\"]","empty_layer":true}]}  bundles="[quay.io/bandrade/bundle:7.0]"
INFO[0008] Could not find optional dependencies file     file=bundle_tmp435669778/metadata load=annotations with=bundle_tmp435669778
INFO[0008] Could not find optional properties file       file=bundle_tmp435669778/metadata load=annotations with=bundle_tmp435669778
INFO[0008] Could not find optional dependencies file     file=bundle_tmp435669778/metadata load=annotations with=bundle_tmp435669778
INFO[0008] Could not find optional properties file       file=bundle_tmp435669778/metadata load=annotations with=bundle_tmp435669778
ERRO[0008] permissive mode disabled                      bundles="[quay.io/bandrade/bundle:7.0]" error="bundle lib-bucket-provisioner.v1.0.0 belongs to package lib-bucket-provisioner-1 on index, cannot be added as an edge for package lib-bucket-provisioner-2"
Error: bundle lib-bucket-provisioner.v1.0.0 belongs to package lib-bucket-provisioner-1 on index, cannot be added as an edge for package lib-bucket-provisioner-2
Usage:
  opm index add [flags]

Comment 28 errata-xmlrpc 2022-03-10 16:22:07 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Moderate: OpenShift Container Platform 4.10.3 security update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2022:0056


Note You need to log in before you can comment on or make changes to this bug.