In this blog post, we will discuss an error message that you might encounter when trying to create a Quay registry using the Quay operator from the OCP Operator Hub. The error message suggests a problem with object storage support and specifically mentions the absence of the "ObjectBucketClaim" kind in the "objectbucket.io/v1alpha1" version. We will explore the prerequisites for the Quay operator and address this error by setting up the required object storage using NooBaa.
Before installing the Quay operator, it is crucial to ensure that all the necessary prerequisites are met. One of the key requirements is object storage, which provides the underlying storage for the Quay registry.
Upon attempting to create a Quay registry, the error message appears, indicating an issue with the object storage component dependency. The error states: "error checking for object storage support: unable to list object bucket claims: no matches for kind 'ObjectBucketClaim' in version 'objectbucket.io/v1alpha1'."
oc describe QuayRegistry
... Status: Conditions: Last Transition Time: 2023-05-24T18:36:00Z Last Update Time: 2023-05-24T18:36:00Z Message: error checking for object storage support: unable to list object bucket claims: no matches for kind "ObjectBucketClaim" in version "objectbucket.io/v1alpha1" Reason: ObjectStorageComponentDependencyError Status: True Type: RolloutBlocked Last Updated: 2023-05-24 18:36:00.596376361 +0000 UTC Events: Type Reason Age From Message ---- ------ ---- ---- ------- Warning ObjectStorageComponentDependencyError <invalid> (x16 over 2m26s) quayregistry-controller error checking for object storage support: unable to list object bucket claims: no matches for kind "ObjectBucketClaim" in version "objectbucket.io/v1alpha1"
To resolve this error, follow the steps below:
Install NooBaa: The NooBaa provides an object storage solution and is required for the Quay registry. But there is no separate operator at the moment and NooBaa is a part of ODF operator. So you have to install ODF operator to make it work. Or try some other Object storage solution like Minio which is available through operator hub.
Verify ObjectBucketClaim (OBC) Kind: Once NooBaa is up and running, validate that the "ObjectBucketClaim" kind exists in the expected version "objectbucket.io/v1alpha1" by running the following command:
oc get crd | grep objectbucketclaims.objectbucket.io
If the output does not show the expected result, it indicates a potential issue with the NooBaa installation or compatibility. Review the NooBaa documentation, release notes, or community resources to address this issue.
- Retry Quay Registry Creation: After confirming the availability of the "ObjectBucketClaim" kind, retry creating the Quay registry using the Quay operator. The error should no longer persist.
With a successful Quay registry deployment, you can take full advantage of its features for container image management in your OpenShift environment.
Remember to refer to the official documentation and consult the relevant resources for detailed instructions on installing and configuring the Quay operator, NooBaa object storage, and troubleshooting any potential issues encountered during the process.