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

feat: Automation of the expected images to be used by ImagePuller #1822

Merged
merged 3 commits into from
Mar 29, 2024

Conversation

tolusha
Copy link
Contributor

@tolusha tolusha commented Mar 28, 2024

What does this PR do?

  1. Operator automatically fetches images from both devfile and plugin registries and creates KIP custom resource with those images.
  2. Once operands are updated, the KIP resource will be updated as well.

Screenshot/screencast of this PR

N/A

What issues does this PR fix or reference?

https://issues.redhat.com/browse/CRW-5723

How to test this PR?

  1. Install Kubernetes Image Puller operator
  2. Prepare a patch file:
cat > /tmp/cr-patch.yaml <<EOF
apiVersion: org.eclipse.che/v2
kind: CheCluster
spec:
  components:
    devfileRegistry:
      disableInternalRegistry: false
      externalDevfileRegistries: []
    imagePuller:
      enable: true
      spec: {}
EOF
  1. Deploy the operator:
./build/scripts/olm/test-catalog-from-sources.sh --cr-patch-yaml /tmp/cr-patch.yaml
  1. Check KIP custom resource
$ oc get -n eclipse-che KubernetesImagePuller eclipse-che-image-puller -o jsonpath="{.spec.images}" | tr ";" "\n"
code-server-0=index.docker.io/codercom/code-server@sha256:ef07281004909bb2c228422df2e99a5ba5e450fce7546b8fa186852f23bf6751
dirigible-openshift-1=index.docker.io/dirigiblelabs/dirigible-openshift@sha256:3365635d1e0403697dea0674bbbdc749c4be2db29818a93b8e1e53c3c5144113
che-editor-jupyter-2=index.docker.io/ksmster/che-editor-jupyter@sha256:83439ae9edcaa3a97536742315a7912f93e499f49847da094c480031eae4ba47
eclipse-broadway-3=index.docker.io/wsskeleton/eclipse-broadway@sha256:57c82cd806a56f69aa8663f68405d0778b628a29a64fb16881b11ce9f484dda7
che-code-4=quay.io/che-incubator/che-code:insiders
che-code-5=quay.io/che-incubator/che-code@sha256:abb7bfc64304c7adc403d89ebae91ad6e82914fbff3322e63d8e634e9e5c5845
che-idea-dev-server-6=quay.io/che-incubator/che-idea-dev-server:next
che-idea-dev-server-7=quay.io/che-incubator/che-idea-dev-server@sha256:55d433645dec56ea178df03f466623e045fde046e1cb43b37493999bdb9494de
che-idea-8=quay.io/che-incubator/che-idea:next
che-idea-9=quay.io/che-incubator/che-idea@sha256:8aae69dc4b0c122491a75400639af0fe92b5e214c6e68ac97cda29fb58b44151
che-pycharm-10=quay.io/che-incubator/che-pycharm:next
che-pycharm-11=quay.io/che-incubator/che-pycharm@sha256:7c0e3eabd62495201cf5ba0a913776d972a1e6fb9cf1bcdc78afcf4d7256af47
universal-developer-image-12=quay.io/devfile/universal-developer-image:ubi8-latest
universal-developer-image-13=quay.io/devfile/universal-developer-image@sha256:85516cb612d46ce37759a045b82fbbcc37391c8fa27729418f79592e522db2a5
universal-developer-image-14=quay.io/devfile/universal-developer-image@sha256:ba03058298b8f67bce60226a0ebcb243f60ac59ce77b02b97735467ecedce56f
che--centos--mongodb-36-centos7-15=quay.io/eclipse/che--centos--mongodb-36-centos7:latest-a915db7beca87198fcd7860086989fe8a327a1a4f6508025b64ab28fcc7423b2
che--centos--mongodb-36-centos7-16=quay.io/eclipse/che--centos--mongodb-36-centos7:latest-ffdf2431bbc6d9a9d2a03e95bbbe8adb49ab9eac301f268a35038c84288259c1
che--centos--mysql-57-centos7-17=quay.io/eclipse/che--centos--mysql-57-centos7:latest-e08ee4d43b7356607685b69bde6335e27cf20c020f345b6c6c59400183882764
che--mariadb-18=quay.io/eclipse/che--mariadb:10.7.1-5a8009369ee57c85b6f4a08406147bd9c505cde6b8250d16a27d2a5febfdead7
ubi-minimal-19=registry.access.redhat.com/ubi8/ubi-minimal

PR Checklist

As the author of this Pull Request I made sure that:

Reviewers

Reviewers, please comment how you tested the PR when approving it.

Copy link

openshift-ci bot commented Mar 28, 2024

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

Copy link

openshift-ci bot commented Mar 28, 2024

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: tolusha

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Signed-off-by: Anatolii Bazko <abazko@redhat.com>
Signed-off-by: Anatolii Bazko <abazko@redhat.com>
Copy link

codecov bot commented Mar 28, 2024

Codecov Report

Attention: Patch coverage is 28.15534% with 74 lines in your changes are missing coverage. Please review.

Project coverage is 59.08%. Comparing base (822bda0) to head (4fee302).

❗ Current head 4fee302 differs from pull request most recent head d787292. Consider uploading reports for the commit d787292 to get more accurate results

Files Patch % Lines
pkg/deploy/image-puller/imagepuller.go 28.15% 69 Missing and 5 partials ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1822      +/-   ##
==========================================
- Coverage   59.66%   59.08%   -0.59%     
==========================================
  Files          74       74              
  Lines        9099     9174      +75     
==========================================
- Hits         5429     5420       -9     
- Misses       3294     3376      +82     
- Partials      376      378       +2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Signed-off-by: Anatolii Bazko <abazko@redhat.com>
@tolusha tolusha marked this pull request as ready for review March 28, 2024 11:34
@tolusha
Copy link
Contributor Author

tolusha commented Mar 28, 2024

/test v14-devworkspace-happy-path

@tolusha tolusha changed the title feat: Automation of the of images expected to be used by ImagePuller feat: Automation of the expected images to be used by ImagePuller Mar 28, 2024
@tolusha
Copy link
Contributor Author

tolusha commented Mar 29, 2024

/retest

Copy link

openshift-ci bot commented Mar 29, 2024

@tolusha: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/v14-che-behind-proxy d787292 link true /test v14-che-behind-proxy

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@tolusha tolusha merged commit a824926 into main Mar 29, 2024
20 of 21 checks passed
@tolusha tolusha deleted the CRW-5723 branch March 29, 2024 10:49
@devstudio-release
Copy link

Build 3.13 :: operator_3.x/355: Console, Changes, Git Data

@devstudio-release
Copy link

@devstudio-release
Copy link

@devstudio-release
Copy link

@devstudio-release
Copy link

@devstudio-release
Copy link

@devstudio-release
Copy link

Build 3.13 :: operator_3.x/355: SUCCESS

Upstream sync done; /DS_CI/sync-to-downstream_3.x/6361 triggered

@devstudio-release
Copy link

@devstudio-release
Copy link

@devstudio-release
Copy link

@devstudio-release
Copy link

@devstudio-release
Copy link

@devstudio-release
Copy link

Build 3.13 :: copyIIBsToQuay/2595: Console, Changes, Git Data

@devstudio-release
Copy link

Build 3.13 :: sync-to-downstream_3.x/6390: SUCCESS

Build container: devspaces-operator-bundle synced; /DS_CI/get-sources-rhpkg-container-build_3.x/6352 triggered; /job/DS_CI/job/dsc_3.x triggered;

@devstudio-release
Copy link

Build 3.13 :: operator-bundle_3.x/2727: SUCCESS

Upstream sync done; /DS_CI/sync-to-downstream_3.x/6390 triggered

@devstudio-release
Copy link

Build 3.13 :: dsc_3.x/1878: Console, Changes, Git Data

@devstudio-release
Copy link

Build 3.13 :: dsc_3.x/1878: SUCCESS

3.13.0-CI

@devstudio-release
Copy link

@devstudio-release
Copy link

@devstudio-release
Copy link

@devstudio-release
Copy link

@devstudio-release
Copy link

Build 3.13 :: copyIIBsToQuay/2597: Console, Changes, Git Data

@devstudio-release
Copy link

Build 3.13 :: sync-to-downstream_3.x/6396: SUCCESS

Build container: devspaces-operator-bundle synced; /DS_CI/get-sources-rhpkg-container-build_3.x/6358 triggered; /job/DS_CI/job/dsc_3.x triggered;

@devstudio-release
Copy link

Build 3.13 :: operator-bundle_3.x/2729: SUCCESS

Upstream sync done; /DS_CI/sync-to-downstream_3.x/6396 triggered

@devstudio-release
Copy link

Build 3.13 :: dsc_3.x/1880: Console, Changes, Git Data

@devstudio-release
Copy link

Build 3.13 :: dsc_3.x/1880: SUCCESS

3.13.0-CI

@devstudio-release
Copy link

Build 3.13 :: copyIIBsToQuay/2597: SUCCESS

3.13
arches = x86_64, s390x, ppc64le;
  * LATEST DS OPERATOR BUNDLE = <a href=https://quay.io/repository/devspaces/devspaces-operator-bundle?tab=tags>registry-proxy.engineering.redhat.com/rh-osbs/devspaces-operator-bundle:3.13-88
  * LATEST DWO OPERATOR BUNDLE = <a href=https://quay.io/repository/devworkspace/devworkspace-operator-bundle?tab=tags>registry-proxy.engineering.redhat.com/rh-osbs/devworkspace-operator-bundle:0.27-3
+ s390x-rhel8 IIB(s) copied:
  + quay.io/devspaces/iib:3.13-v4.15-702047-693074-s390x
  + quay.io/devspaces/iib:3.13-v4.15-s390x
  + quay.io/devspaces/iib:next-v4.15-s390x
  + quay.io/devspaces/iib:3.13-v4.14-702041-693070-s390x
  + quay.io/devspaces/iib:3.13-v4.14-s390x
  + quay.io/devspaces/iib:next-v4.14-s390x
  + quay.io/devspaces/iib:3.13-v4.13-702227-693064-s390x
  + quay.io/devspaces/iib:3.13-v4.13-s390x
  + quay.io/devspaces/iib:next-v4.13-s390x
  + quay.io/devspaces/iib:3.13-v4.12-702215-693054-s390x
  + quay.io/devspaces/iib:3.13-v4.12-s390x
  + quay.io/devspaces/iib:next-v4.12-s390x
+ x86_64-rhel8 IIB(s) copied:
  + quay.io/devspaces/iib:3.13-v4.15-702047-693074-x86_64
  + quay.io/devspaces/iib:3.13-v4.15-x86_64
  + quay.io/devspaces/iib:next-v4.15-x86_64
  + quay.io/devspaces/iib:3.13-v4.14-702041-693070-x86_64
  + quay.io/devspaces/iib:3.13-v4.14-x86_64
  + quay.io/devspaces/iib:next-v4.14-x86_64
  + quay.io/devspaces/iib:3.13-v4.13-702227-693064-x86_64
  + quay.io/devspaces/iib:3.13-v4.13-x86_64
  + quay.io/devspaces/iib:next-v4.13-x86_64
  + quay.io/devspaces/iib:3.13-v4.12-702215-693054-x86_64
  + quay.io/devspaces/iib:3.13-v4.12-x86_64
  + quay.io/devspaces/iib:next-v4.12-x86_64
+ ppc64le-rhel8 IIB(s) copied:
  + quay.io/devspaces/iib:3.13-v4.15-702047-693074-ppc64le
  + quay.io/devspaces/iib:3.13-v4.14-702041-693070-ppc64le
  + quay.io/devspaces/iib:3.13-v4.13-702227-693064-ppc64le
  + quay.io/devspaces/iib:3.13-v4.13-ppc64le
  + quay.io/devspaces/iib:next-v4.13-ppc64le
  + quay.io/devspaces/iib:3.13-v4.12-702215-693054-ppc64le
  + quay.io/devspaces/iib:3.13-v4.12-ppc64le
  + quay.io/devspaces/iib:next-v4.12-ppc64le

@devstudio-release
Copy link

@devstudio-release
Copy link

@devstudio-release
Copy link

@devstudio-release
Copy link

@devstudio-release
Copy link

Build 3.13 :: copyIIBsToQuay/2598: Console, Changes, Git Data

@devstudio-release
Copy link

Build 3.13 :: sync-to-downstream_3.x/6398: SUCCESS

Build container: devspaces-operator-bundle synced; /DS_CI/get-sources-rhpkg-container-build_3.x/6360 triggered; /job/DS_CI/job/dsc_3.x triggered;

@devstudio-release
Copy link

Build 3.13 :: operator-bundle_3.x/2730: SUCCESS

Upstream sync done; /DS_CI/sync-to-downstream_3.x/6398 triggered

@devstudio-release
Copy link

Build 3.13 :: dsc_3.x/1881: Console, Changes, Git Data

@devstudio-release
Copy link

Build 3.13 :: dsc_3.x/1881: SUCCESS

3.13.0-CI

@devstudio-release
Copy link

Build 3.13 :: copyIIBsToQuay/2598: SUCCESS

3.13
arches = x86_64, s390x, ppc64le;
  * LATEST DS OPERATOR BUNDLE = <a href=https://quay.io/repository/devspaces/devspaces-operator-bundle?tab=tags>registry-proxy.engineering.redhat.com/rh-osbs/devspaces-operator-bundle:3.13-89
  * LATEST DWO OPERATOR BUNDLE = <a href=https://quay.io/repository/devworkspace/devworkspace-operator-bundle?tab=tags>registry-proxy.engineering.redhat.com/rh-osbs/devworkspace-operator-bundle:0.27-3
+ s390x-rhel8 IIB(s) copied:
  + quay.io/devspaces/iib:3.13-v4.15-702476-693074-s390x
  + quay.io/devspaces/iib:3.13-v4.15-s390x
  + quay.io/devspaces/iib:next-v4.15-s390x
  + quay.io/devspaces/iib:3.13-v4.14-702467-693070-s390x
  + quay.io/devspaces/iib:3.13-v4.14-s390x
  + quay.io/devspaces/iib:next-v4.14-s390x
  + quay.io/devspaces/iib:3.13-v4.13-702449-693064-s390x
  + quay.io/devspaces/iib:3.13-v4.13-s390x
  + quay.io/devspaces/iib:next-v4.13-s390x
  + quay.io/devspaces/iib:3.13-v4.12-702725-693054-s390x
  + quay.io/devspaces/iib:3.13-v4.12-s390x
  + quay.io/devspaces/iib:next-v4.12-s390x
+ x86_64-rhel8 IIB(s) copied:
  + quay.io/devspaces/iib:3.13-v4.15-702476-693074-x86_64
  + quay.io/devspaces/iib:3.13-v4.15-x86_64
  + quay.io/devspaces/iib:next-v4.15-x86_64
  + quay.io/devspaces/iib:3.13-v4.14-702467-693070-x86_64
  + quay.io/devspaces/iib:3.13-v4.14-x86_64
  + quay.io/devspaces/iib:next-v4.14-x86_64
  + quay.io/devspaces/iib:3.13-v4.13-702449-693064-x86_64
  + quay.io/devspaces/iib:3.13-v4.13-x86_64
  + quay.io/devspaces/iib:next-v4.13-x86_64
  + quay.io/devspaces/iib:3.13-v4.12-702725-693054-x86_64
  + quay.io/devspaces/iib:3.13-v4.12-x86_64
  + quay.io/devspaces/iib:next-v4.12-x86_64
+ ppc64le-rhel8 IIB(s) copied:
  + quay.io/devspaces/iib:3.13-v4.15-702476-693074-ppc64le
  + quay.io/devspaces/iib:3.13-v4.15-ppc64le
  + quay.io/devspaces/iib:next-v4.15-ppc64le
  + quay.io/devspaces/iib:3.13-v4.14-702467-693070-ppc64le
  + quay.io/devspaces/iib:3.13-v4.14-ppc64le
  + quay.io/devspaces/iib:next-v4.14-ppc64le
  + quay.io/devspaces/iib:3.13-v4.13-702449-693064-ppc64le
  + quay.io/devspaces/iib:3.13-v4.13-ppc64le
  + quay.io/devspaces/iib:next-v4.13-ppc64le
  + quay.io/devspaces/iib:3.13-v4.12-702725-693054-ppc64le
  + quay.io/devspaces/iib:3.13-v4.12-ppc64le
  + quay.io/devspaces/iib:next-v4.12-ppc64le

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants