-
Notifications
You must be signed in to change notification settings - Fork 170
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
Installer images use sha256 #2967
Conversation
@@ -31,11 +31,19 @@ func getLatestOCPVersions(ctx context.Context, log *logrus.Entry) ([]api.OpenShi | |||
ocpVersions := []api.OpenShiftVersion{} | |||
|
|||
for _, vers := range version.HiveInstallStreams { | |||
installerPullSpec := fmt.Sprintf("%s/aro-installer:%s", dstRepo, vers.Version.MinorVersion()) |
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.
Initially, I was planning that this would come from RP-Config (so that we can update the versions w/o a new code artifact). Should we do that instead, or after this PR?
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.
Good idea. I think it makes sense to do this after to get the installer AAD migration changes in first.
e52a714
to
3817007
Compare
3817007
to
9e5b413
Compare
b0a6ecd
to
1d66f54
Compare
The CosmosDB "OpenShiftVersions" container in all environments is now primed with supported OCP versions. RP no longer needs to hard code a default in enabledOcpVersions.
3402a4d
to
099ecc5
Compare
099ecc5
to
6580b43
Compare
// add the default OCP version as we require it as an install target | ||
// if this is removed, we need to also update the logic in | ||
// pkg/frontend/frontend.go, pkg/frontend/validate.go | ||
defaultVersion := &api.OpenShiftVersion{ |
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 need to double check we have versions in all regions?
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.
That's my only concern with this change. Essentially if we don't have any version within a region no clusters will successfully install with this change.
If we don't have a version though, both the frontend and backend should return that the version doesn't exist, which I think is okay because it should pop up on our cluster install failure dashboard and we can catch it.
Additionally, e2e will fail to run.
@@ -205,13 +205,12 @@ func validateAdminMasterVMSize(vmSize string) error { | |||
func (f *frontend) validateInstallVersion(ctx context.Context, doc *api.OpenShiftCluster) error { | |||
// If this request is from an older API or the user never specified | |||
// the version to install we default to the DefaultInstallStream.Version | |||
// TODO: We should set default version in cosmosdb instead of hardcoding it in golang 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.
is this TODO already in JIRA?
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.
no i need to create it.
Which issue this PR addresses:
Fixes https://issues.redhat.com/browse/ARO-3276
What this PR does / why we need it:
Allows us to push installer images without having them affect the entire fleet at once and in an inconsistent manner.
Right now here's how it happens:
IfNotPresent
our e2e will be inconsistent after an installer image push, and there's no guarantee around which image is used and when only the newer images are used.
Test plan for issue:
update_ocp_versions
Is there any documentation that needs to be updated for this
Yes. TBD
High level:
There's some docs needed on how to pull the imagedigest for a new image.