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
[olm] Store previous versions of olm manifests #3906
[olm] Store previous versions of olm manifests #3906
Conversation
@varshaprasad96 how much larger is the stat --printf="%s\n" "$(command -v operator-sdk)" to check |
size of the binary after including bindata is ~69.32 MB, and SDK 1.0.0 binary is ~68.34 MB |
d462e12
to
9a584e7
Compare
9a584e7
to
5071c13
Compare
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.
What in IHMO shows missing to be done here:
- : add the fragment and might would be nice supplement the docs as well. Since now we will no longer fetch the internet to install the OLM if SDK has the bindata for the specific version. See: https://github.com/operator-framework/operator-sdk/pull/3906/files#r490893813
- : add a TODO comment explaining what is missing to do in the shell script to let this implementation achieve the goal if nobody has objections that it should be a follow-up [olm] Store previous versions of olm manifests #3906 (comment). I am OK with we move forward if we have what is missing properly doc in the code. 👍
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.
Nearly there, mostly nits.
7eaee58
to
d59940c
Compare
d59940c
to
b3b5b12
Compare
This PR introduces an internal optimization of not going to github and downloading the olm manifests when 'operator-sdk olm install' command is used. Previous version of olm manifest is stored as bindata and packaged along with sdk binary. When user specifies any of this version, the manifests are fetched locally and applied to the cluster.
b3b5b12
to
7950122
Compare
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.
Great work 👍 IMO before merge we need to
- address suggestion to the changelog. See: https://github.com/operator-framework/operator-sdk/pull/3906/files#r494873038
- change e2e tests to use the version 0.15.1 from the bindata. the change needs to be done in
operator-sdk/test/internal/utils.go
Line 43 in 8759f01
cmd := exec.Command(tc.BinaryName, "olm", "install", "--timeout", "4m")
After that, it has my /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.
This does need a test, but just an integration test (in test/integration
) that installs the specific version of OLM stored as bindata. No need to change e2e tests.
7950122
to
d6c2d3e
Compare
012b5a6
to
dca96e8
Compare
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.
Running make bindata
needs to be added as a step to release docs, then LGTM
78036ef
to
7416af5
Compare
7416af5
to
f06a6b2
Compare
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.
/lgtm
Description of the change:
This PR introduces an internal optimization of not going to github
and downloading the olm manifests when 'operator-sdk olm install'
command is used. Previous version of olm manifest is stored as
bindata and packaged along with sdk binary. When user specifies
any of this version, the manifests are fetched locally and
applied to the cluster.
Currently, manifests for only one version of olm (0.15.1) is stored.
Motivation for the change:
Make olm subcommands more robust.
Output:
Checklist
If the pull request includes user-facing changes, extra documentation is required:
changelog/fragments
(seechangelog/fragments/00-template.yaml
)website/content/en/docs