-
Notifications
You must be signed in to change notification settings - Fork 190
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
OCPBUGS-29271: Rebase lvms registry.access.redhat.com lvms4 lvms operator bundle v4.15.0 #2993
Conversation
@jakobmoellerdev: This pull request references Jira Issue OCPBUGS-29271, which is valid. The bug has been moved to the POST state. 3 validation(s) were run on this bug
The bug has been updated to refer to the pull request using the external bug tracker. In response to this:
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 openshift-eng/jira-lifecycle-plugin repository. |
/test images |
6b62ceb
to
417336a
Compare
/test images |
cpu: 1m | ||
memory: 16Mi | ||
cpu: 2m | ||
memory: 35Mi |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Those are still small numbers, but they're doubling. Is that absolutely necessary?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am removing an entire container whose work is now done in this one. Total usage is still down, but we can of course always reduce further if the requests are continously lower than 70%. However the gains introduced by the container unification are 5-15% from my experience
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, that sounds like a good improvement overall.
@@ -181,6 +169,10 @@ download_lvms_operator_bundle_manifest(){ | |||
local namespace="openshift-storage" | |||
extract_lvms_rbac_from_cluster_service_version "${PWD}" "${csv}" "${namespace}" | |||
|
|||
# Push the configMap to the kube-public namespace so that it is available to all users/apps | |||
generate_version_config_map "${version}" "lvms-version" "kube-public"\ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we get one of these per ${ARCHS} now? Are the contents the same?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The contents are identical but you use one staging environment per arch (not sure when or why this was introduced), so if i want to generate files I have to do this per arch.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you look at release-aarch64 / x86_64, the docker manifests are exactly the same because we build multi-arch containers, so Im not sure why one per arch is necessary
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe that's a legacy from when we were using images that were not multi-arch. @pmtk would likely know.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I recall something about osbuild not handling multiarch images correctly while embedding? @ggiguash is that correct?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Im wondering how that fits together. LVMS has multiarch images since forever (4.12 I believe already had them), so im wondering how they wouldnt work with osbuild? Is that even relevant?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wait, I may have misread things.
Previously the file was created at "${REPOROOT}/assets/components/lvms/topolvm-configmap_lvms-version.yaml"
and now it ends up there because you removed "ignore" in lvms-assets.yaml.
I don't think we should make that change - entries without ignore
are the ones we obtain from lvms' CSV, this is not the case for the file - we generate it during rebase, in microshift repo.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I discussed with @jakobmoellerdev what's going on here and now I know the story: version configmap was not generated correctly.
What Jakob proposed here is not strictly adhering to the flow we have in rebase.sh
(that is: any file created during rebase, is created directly in assets, not in staging and then copied; like kustomizes per $ARCH for OLM).
However, I think proposed solution is more elegant - we don't need to use intermediate file where version gets dumped and then read during manifest update - it's generated during "download" which also extracts RBACs from CSV, then just copied with the power of lvms_assets.yaml
and handle_assets.py
. LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree. It's still reusing the existing flow, but in a less round-about way.
@copejon would be great if you could take a look today, ideally want to open up a rebase with the same functionality for 4.15 so that we finally get LVMS into the correct merge window for microshift-4.15 |
/test images |
/cherry-pick release-4.15 |
@jakobmoellerdev: once the present PR merges, I will cherry-pick it on top of release-4.15 in a new PR and assign it to you. In response to this:
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. |
417336a
to
5ac85e1
Compare
/test ocp-conformance-rhel-eus-arm |
@@ -149,12 +139,10 @@ download_lvms_operator_bundle_manifest(){ | |||
|
|||
# Persist the version of the LVMS operator bundle for use in manifest steps | |||
local version | |||
version="$(parse_version "${bundle_manifest}")" | |||
dump_version "${version}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems this is not used anymore. Should we remove it?
@@ -181,6 +169,10 @@ download_lvms_operator_bundle_manifest(){ | |||
local namespace="openshift-storage" | |||
extract_lvms_rbac_from_cluster_service_version "${PWD}" "${csv}" "${namespace}" | |||
|
|||
# Push the configMap to the kube-public namespace so that it is available to all users/apps | |||
generate_version_config_map "${version}" "lvms-version" "kube-public"\ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wait, I may have misread things.
Previously the file was created at "${REPOROOT}/assets/components/lvms/topolvm-configmap_lvms-version.yaml"
and now it ends up there because you removed "ignore" in lvms-assets.yaml.
I don't think we should make that change - entries without ignore
are the ones we obtain from lvms' CSV, this is not the case for the file - we generate it during rebase, in microshift repo.
@pmtk The file ends up here because it is the canonical way to generate files during rebases. Before the change it was actually run twice. I changed this logic because it simply does not do what its supposed to do and the lvms assets.yaml was generated directly into the assets directory and was not generated in the staging directory that is usually used in the rebase process. To replicate, simply run the rebase from current main with the command from the last lvms rebase here without adjusting the script. We do not obtain any of the RBACs from the CSV, I generate them in the script because you have no other way. Generating the config map with a version imo is the same functionality. Generating content based on the pulled image (in this case the tag instead of the CSV file inside the bundle image). The difference between ignore or not is actually just that ignored ones are ignored in the staging folder. They are still present during rebase but get ignored. They dont actuallyget regenerated, they are static and just dont get updated |
/test ocp-conformance-rhel-eus-arm |
/test microshift-metal-tests |
/test microshift-metal-tests |
1 similar comment
/test microshift-metal-tests |
/test microshift-metal-tests |
/test microshift-metal-tests |
1 similar comment
/test microshift-metal-tests |
/test microshift-metal-tests |
a97a9ff
to
594b46c
Compare
@copejon Ready for Dev Test / Confirmation |
deployed using clusterbot, |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: jakobmoellerdev, pmtk The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
@jakobmoellerdev: all tests passed! 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. |
@jakobmoellerdev: Jira Issue OCPBUGS-29271: All pull requests linked via external trackers have merged: Jira Issue OCPBUGS-29271 has been moved to the MODIFIED state. In response to this:
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 openshift-eng/jira-lifecycle-plugin repository. |
@jakobmoellerdev: #2993 failed to apply on top of branch "release-4.15":
In response to this:
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. |
Which issue(s) this PR addresses:
Update to LVMS 4.15, also solves https://issues.redhat.com/browse/USHIFT-1874 by moving to an embedded lvmd implementation which has feature parity but uses less containers and slightly fewer resources. The lvmd socket is not necessary.
Closes #