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

FDF unreleased deployment support #11404

Open
wants to merge 9 commits into
base: master
Choose a base branch
from

Conversation

clacroix12
Copy link
Contributor

@clacroix12 clacroix12 added Needs Deployment Testing Needs Deployment and Some Tier1 Testing team/ecosystem Ecosystem team related issues/PRs labels Feb 14, 2025
@clacroix12 clacroix12 requested a review from a team February 14, 2025 03:11
@clacroix12 clacroix12 requested a review from a team as a code owner February 14, 2025 03:11
@pull-request-size pull-request-size bot added the size/L PR that changes 100-499 lines label Feb 14, 2025
shylesh
shylesh previously approved these changes Feb 14, 2025
Copy link
Contributor

@shylesh shylesh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

dahorak
dahorak previously approved these changes Feb 14, 2025
Copy link
Contributor

@dahorak dahorak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall LGTM, just small suggestion about using existing default variable.

@clacroix12 clacroix12 dismissed stale reviews from dahorak and shylesh via dda4b9f February 14, 2025 19:54
@openshift-ci openshift-ci bot removed the lgtm label Feb 14, 2025
@clacroix12
Copy link
Contributor Author

clacroix12 commented Feb 14, 2025

Verified: https://url.corp.redhat.com/0b60a4d

Disregard

@clacroix12 clacroix12 added Verified Mark when PR was verified and log provided and removed Needs Deployment Testing Needs Deployment and Some Tier1 Testing labels Feb 14, 2025
"""
fdf_image_tag = config.DEPLOYMENT.get("fdf_image_tag")
fdf_catalog_name = defaults.FUSION_CATALOG_NAME
fdf_registry = config.DEPLOYMENT.get("fdf_pre_release_registry")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

where do we get/pass "fdf_pre_release_registry" to ocs-ci. didn't see this any yaml files.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be:
fdf_pre_ga_registry?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This got mixed up in my commit somehow but I've refactored and have started using pre_release instead of pre_ga in all instances.

dahorak
dahorak previously approved these changes Feb 17, 2025
@openshift-ci openshift-ci bot added the lgtm label Feb 17, 2025
fdf_deployment: true
channel: v2.0
fdf_pre_ga: true
fdf_image_tag: v4.18
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you have somewhere usage of this file?
Or it's as an example?

If it's bounded to v4.18, I prefer to have also 4.18 in the name of the file, or the plan is to maintain this file and update the version here and keep it as latest?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've created a new directory similar to version specific files we are using for Fusion to maintain these. I'm not sure if we want to keep the config files in conf/ocsci for pre-release or not but I can remove these if we don't need them here.

@@ -0,0 +1,12 @@
---
DEPLOYMENT:
fusion_deployment: true
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see none of the config values are documented in:
https://github.com/red-hat-storage/ocs-ci/blob/master/conf/README.md

Can we get them documented please as well?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All should be documented now.

DEPLOYMENT:
fusion_deployment: true
fdf_deployment: true
channel: v2.0
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this channel is related to Fusion or FDF I think we should rename it to some more specific value as this is too generic name it like channel I prefer fusion_channel if it's more related to fusion here.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

"""
fdf_image_tag = config.DEPLOYMENT.get("fdf_image_tag")
fdf_catalog_name = defaults.FUSION_CATALOG_NAME
fdf_registry = config.DEPLOYMENT.get("fdf_pre_release_registry")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be:
fdf_pre_ga_registry?

@@ -16,9 +16,6 @@ spec:
- mirrors:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not big fan of having this file statically defined as every change in build - we will get blocked and it will require us to send a PR - is there a possibility to get this extracted from FDF build?

I just tried to run this:

 oc image extract --filter-by-os linux/amd64 --registry-config /Users/pbalogh/Code/OCS/ocs4-jenkins/secrets/pull-secret-ocs-ci docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/isf-data-foundation-catalog:v4.18 --confirm --path /idms.yaml:./

and I got this file back:

apiVersion: config.openshift.io/v1
kind: ImageDigestMirrorSet
metadata:
    name: df-repo
spec:
    imageDigestMirrors:
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/cephcsi-rhel9
          source: cp.icr.io/cp/df/cephcsi-rhel9
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/mcg-core-rhel9
          source: cp.icr.io/cp/df/mcg-core-rhel9
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/ocs-client-console-rhel9
          source: cp.icr.io/cp/df/ocs-client-console-rhel9
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/ocs-metrics-exporter-rhel9
          source: cp.icr.io/cp/df/ocs-metrics-exporter-rhel9
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/odf-console-rhel9
          source: cp.icr.io/cp/df/odf-console-rhel9
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/odf-cosi-sidecar-rhel9
          source: cp.icr.io/cp/df/odf-cosi-sidecar-rhel9
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/odf-csi-addons-sidecar-rhel9
          source: cp.icr.io/cp/df/odf-csi-addons-sidecar-rhel9
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/odf-multicluster-console-rhel9
          source: cp.icr.io/cp/df/odf-multicluster-console-rhel9
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/cephcsi-operator
          source: icr.io/cpopen/cephcsi-operator
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/mcg-operator
          source: icr.io/cpopen/mcg-operator
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/ocs-client-operator
          source: icr.io/cpopen/ocs-client-operator
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/ocs-operator
          source: icr.io/cpopen/ocs-operator
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/odf-csi-addons-operator
          source: icr.io/cpopen/odf-csi-addons-operator
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/odf-multicluster-operator
          source: icr.io/cpopen/odf-multicluster-operator
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/odf-must-gather
          source: icr.io/cpopen/odf-must-gather
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/odf-operator
          source: icr.io/cpopen/odf-operator
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/odr-operator
          source: icr.io/cpopen/odr-operator
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/rook-ceph-operator
          source: icr.io/cpopen/rook-ceph-operator
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/odf4/odf-cli-rhel9
          source: registry.redhat.io/odf4/odf-cli-rhel9
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/openshift/ose-csi-external-attacher-rhel9
          source: registry.redhat.io/openshift4/ose-csi-external-attacher-rhel9
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/openshift/ose-csi-external-attacher-rhel9
          source: registry.redhat.io/openshift4/ose-csi-external-attacher-rhel9
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/openshift/ose-csi-external-attacher-rhel9
          source: registry.redhat.io/openshift4/ose-csi-external-attacher-rhel9
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/openshift/ose-csi-external-provisioner-rhel9
          source: registry.redhat.io/openshift4/ose-csi-external-provisioner-rhel9
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/openshift/ose-csi-external-provisioner-rhel9
          source: registry.redhat.io/openshift4/ose-csi-external-provisioner-rhel9
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/openshift/ose-csi-external-provisioner-rhel9
          source: registry.redhat.io/openshift4/ose-csi-external-provisioner-rhel9
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/openshift/ose-csi-external-resizer-rhel9
          source: registry.redhat.io/openshift4/ose-csi-external-resizer-rhel9
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/openshift/ose-csi-external-resizer-rhel9
          source: registry.redhat.io/openshift4/ose-csi-external-resizer-rhel9
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/openshift/ose-csi-external-resizer-rhel9
          source: registry.redhat.io/openshift4/ose-csi-external-resizer-rhel9
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/openshift/ose-csi-external-snapshotter-rhel9
          source: registry.redhat.io/openshift4/ose-csi-external-snapshotter-rhel9
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/openshift/ose-csi-external-snapshotter-rhel9
          source: registry.redhat.io/openshift4/ose-csi-external-snapshotter-rhel9
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/openshift/ose-csi-external-snapshotter-rhel9
          source: registry.redhat.io/openshift4/ose-csi-external-snapshotter-rhel9
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/openshift/ose-csi-node-driver-registrar-rhel9
          source: registry.redhat.io/openshift4/ose-csi-node-driver-registrar-rhel9
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/openshift/ose-csi-node-driver-registrar-rhel9
          source: registry.redhat.io/openshift4/ose-csi-node-driver-registrar-rhel9
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/openshift/ose-csi-node-driver-registrar-rhel9
          source: registry.redhat.io/openshift4/ose-csi-node-driver-registrar-rhel9
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/openshift/ose-kube-rbac-proxy-rhel9
          source: registry.redhat.io/openshift4/ose-kube-rbac-proxy-rhel9
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/openshift/ose-oauth-proxy-rhel9
          source: registry.redhat.io/openshift4/ose-oauth-proxy-rhel9
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/openshift/ose-prometheus-alertmanager-rhel9
          source: registry.redhat.io/openshift4/ose-prometheus-alertmanager-rhel9
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/openshift/ose-prometheus-config-reloader-rhel9
          source: registry.redhat.io/openshift4/ose-prometheus-config-reloader-rhel9
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/openshift/ose-prometheus-rhel9-operator
          source: registry.redhat.io/openshift4/ose-prometheus-rhel9-operator
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/openshift/ose-prometheus-rhel9
          source: registry.redhat.io/openshift4/ose-prometheus-rhel9
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/rhceph/rhceph-8-rhel9
          source: registry.redhat.io/rhceph/rhceph-8-rhel9
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/rhel8/postgresql-12
          source: registry.redhat.io/rhel8/postgresql-12
        - mirrors:
            - docker-na-public.artifactory.swg-devops.com/hyc-abell-devops-team-dev-docker-local/df/rhel9/postgresql-15
          source: registry.redhat.io/rhel9/postgresql-15

So for unreleased builds created by build team we can use what I've described without need of maintaining it statically in our repo.

Just one note that to execute this command for me took like 2 minutes, probably it was pulling the image for me quite slowly.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree. I asked about this but I was pointed to a static file so I wasn't sure if it was being packaged like this. I've updated the code to extract in the case where we are deploying a pre release image, otherwise we will use the static one we have defined.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@clacroix12 do we really need for released content to create IDMS?
This is usually used only when we point to some local registry where images are mirrored - e.g. content is not released yet, or disconnected deployment and so on.

GA content should come regularly from sources like:
cp.icr.io/cp/df/ocs-client-console-rhel9
icr.io/cpopen/odr-operator
registry.redhat.io/rhceph/rhceph-8-rhel9

So can you please double check if we really still need to apply it for GAed version - I guess we really don't - but not 100% sure.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Both the IDMS and ITMS are necessary for stable deployments as far as I know. I wasn't able to get a successful deployment without them.

Copy link

openshift-ci bot commented Feb 17, 2025

New changes are detected. LGTM label has been removed.

Copy link

openshift-ci bot commented Feb 17, 2025

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: clacroix12

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

Copy link

openshift-ci bot commented Feb 17, 2025

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: clacroix12

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

@clacroix12 clacroix12 added Needs Deployment Testing Needs Deployment and Some Tier1 Testing and removed Verified Mark when PR was verified and log provided labels Feb 17, 2025
@clacroix12
Copy link
Contributor Author

clacroix12 commented Feb 19, 2025

Verified deployment here: https://url.corp.redhat.com/69ebc80

Failure was due to a temp issue with gitlab during the destroy job.

@clacroix12 clacroix12 added Verified Mark when PR was verified and log provided and removed Needs Deployment Testing Needs Deployment and Some Tier1 Testing labels Feb 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
size/L PR that changes 100-499 lines team/ecosystem Ecosystem team related issues/PRs Verified Mark when PR was verified and log provided
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants