Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error: error loading manifests from directory: file .*.yaml bigger than total allowed limit #385

Closed
AndrienkoAleksandr opened this issue Jul 14, 2020 · 6 comments
Labels
triage/unresolved Indicates an issue that can not or will not be resolved.

Comments

@AndrienkoAleksandr
Copy link

AndrienkoAleksandr commented Jul 14, 2020

Hello. Do we really need limit by bundle size? I experimented and tried to install Che using new OPM bundle format. But fail due bundle size. But I don't think that we have such a lot of installation versions...

Logs:
time="2020-07-14T11:42:57Z" level=info msg="Using in-cluster kube client config"
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.crd.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.package.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v7.0.0-beta-5.0.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v7.0.0-rc-2.0.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v7.0.0-rc-4.0.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v7.0.0.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v7.1.0.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v7.10.0.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v7.11.0.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v7.12.0.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v7.12.1.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v7.12.2.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v7.13.1.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v7.13.2.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v7.14.1.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v7.14.2.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v7.15.0.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v7.15.1.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v7.2.0.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v7.3.0.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v7.3.1.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v7.4.0.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v7.5.1.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v7.6.0.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v7.7.0.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v7.7.1.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v7.8.0.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v7.9.0.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v9.9.9-nightly.1562083645.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v9.9.9-nightly.1563282936.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v9.9.9-nightly.1563539196.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v9.9.9-nightly.1563804656.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v9.9.9-nightly.1563883405.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v9.9.9-nightly.1564753341.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v9.9.9-nightly.1567437268.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v9.9.9-nightly.1567522875.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v9.9.9-nightly.1571049441.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v9.9.9-nightly.1572295030.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v9.9.9-nightly.1575355471.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v9.9.9-nightly.1578737756.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v9.9.9-nightly.1580283700.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v9.9.9-nightly.1581975496.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v9.9.9-nightly.1582546871.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v9.9.9-nightly.1582643605.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v9.9.9-nightly.1583255657.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v9.9.9-nightly.1583509666.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v9.9.9-nightly.1584253673.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v9.9.9-nightly.1584615281.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v9.9.9-nightly.1586239457.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=info msg="Reading file" file=/bundle/manifests/eclipse-che-preview-kubernetes.v9.9.9-nightly.1587705152.clusterserviceversion.yaml
time="2020-07-14T11:42:57Z" level=error msg="File with size 22849 exceeded 1048576 limit, aboring" file=/bundle/manifests/eclipse-che-preview-kubernetes.v9.9.9-nightly.1587705152.clusterserviceversion.yaml
Error: error loading manifests from directory: file eclipse-che-preview-kubernetes.v9.9.9-nightly.1587705152.clusterserviceversion.yaml bigger than total allowed limit
Usage:
opm alpha bundle extract [flags]
Flags:
-c, --configmapname string name of configmap to write bundle data
-l, --datalimit uint maximum limit in bytes for total bundle data (default 1048576)
--debug enable debug logging
-h, --help help for extract
-k, --kubeconfig string absolute path to kubeconfig file
-m, --manifestsdir string path to directory containing manifests (default "/")
-n, --namespace string namespace to write configmap data (default "openshift-operator-lifecycle-manager")

@AndrienkoAleksandr
Copy link
Author

AndrienkoAleksandr commented Jul 14, 2020

Sorry, how Was planned installation operator when operator will get some "critical" count of the CSV files?

@kevinrizza
Copy link
Member

@AndrienkoAleksandr The bundle should only contain a single CSV file -- there should be just one version of your operator in each bundle.

Could you point me to where you've published your bundle so I could take a look at it? At install time, we store the bundle in a ConfigMap to access it asynchronously, so the limit you're hitting (if you are genuinely hitting one and this isn't just a bug of some kind) is the actual ConfigMap size limit in Kubernetes.

@AndrienkoAleksandr
Copy link
Author

@kevinrizza Thanks for feedback. I really packed a lot of csv file in the one bundle image: https://github.com/eclipse/che-operator/tree/opmBundle/olm/eclipse-che-preview-kubernetes/deploy/olm-catalog/eclipse-che-preview-kubernetes . Thanks, you point me and I see, that I'm wrong.

Could you point me to where you've published your bundle so I could take a look at it?

I pushed my test bundle docker.io/aandrienko/che-operator-bundle:latest

But OK I will fix my mistake and I will generate a bundle per each version CSV. But than I have one more question. When I generated my "bundle" I used opm command one time:
https://github.com/eclipse/che-operator/blob/opmBundle/olm/eclipse-che-preview-kubernetes/test.sh#L8

If I want to build CatalogSource image with a lot of bundles, than I should generate this CatalogSource image using a lot of corresponding bundle images? I mean:

opm index add \
 --bundles docker.io/aandrienko/che-operator-bundle:7.0.0 \
 --bundles docker.io/aandrienko/che-operator-bundle:7.1.0 \
   ...
 --bundles docker.io/aandrienko/che-operator-bundle:7.15.2 \
 --tag docker.io/aandrienko/che-operator-catalog:latest

?

@kevinrizza
Copy link
Member

The index images that opm produces for the cluster are intended to be additive. So to bootstrap an initial catalog source image, you would do exactly as you described. Once you have that though, for the next version you're testing you can also just use --from-index to add a bundle to the last index image you built:

opm index add \
 --bundles docker.io/aandrienko/che-operator-bundle:7.15.3 \
 --from-index docker.io/aandrienko/che-operator-catalog:previous-index
 --tag docker.io/aandrienko/che-operator-catalog:latest

@stale
Copy link

stale bot commented Sep 12, 2020

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the wontfix label Sep 12, 2020
@openshift-ci-robot openshift-ci-robot added triage/unresolved Indicates an issue that can not or will not be resolved. and removed wontfix labels Sep 13, 2020
@AndrienkoAleksandr
Copy link
Author

@kevinrizza Thanks for help!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
triage/unresolved Indicates an issue that can not or will not be resolved.
Projects
None yet
Development

No branches or pull requests

3 participants