Bug 1902996
Summary: | [AWS] UPI on USGov, bootstrap machine can not fetch ignition file via s3:// URI | ||||||
---|---|---|---|---|---|---|---|
Product: | OpenShift Container Platform | Reporter: | Yunfei Jiang <yunjiang> | ||||
Component: | RHCOS | Assignee: | slowrie | ||||
Status: | CLOSED ERRATA | QA Contact: | Michael Nguyen <mnguyen> | ||||
Severity: | high | Docs Contact: | |||||
Priority: | high | ||||||
Version: | 4.7 | CC: | bbreard, bgilbert, imcleod, jligon, miabbott, mstaeble, nstielau, walters | ||||
Target Milestone: | --- | Keywords: | Regression, UpcomingSprint | ||||
Target Release: | 4.7.0 | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | No Doc Update | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2021-02-24 15:36:34 UTC | Type: | Bug | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Bug Depends On: | |||||||
Bug Blocks: | 1915617 | ||||||
Attachments: |
|
Description
Yunfei Jiang
2020-12-01 05:07:19 UTC
Created attachment 1735153 [details]
bootstrap console output
Unless I am misunderstanding something, this seems to be a problem with Ignition rather than the installer. Targeting for 4.7; this appears to be a regression from 4.6 This looks similar to BZ#1892521 It might be that Ignition needs to be updated to understand "alternative" AWS endpoints; that has been happening in other parts of OpenShift. xref https://github.com/openshift/enhancements/pull/163 Possibly though the installer could mitigate this by providing an explicit region? Needs investigation. I filed https://github.com/coreos/ignition/pull/1139 related to this. Ignition doesn't support specifying fully custom endpoints, but does understand non-standard partitions (GovCloud and China). That functionality was previously broken but some fixes went into Ignition 2.7.0, which probably explains the change of behavior. Yunfei, what region is that S3 bucket actually in? > Possibly though the installer could mitigate this by providing an explicit region? Needs investigation. OK the installer is using the AWS SDK to generate a "pre-signed" URL https://docs.aws.amazon.com/AmazonS3/latest/dev/PresignedUrlUploadObject.html Which...hm, I guess doesn't include the region, but maybe we can convince it to do so? A pre-signed URL should use the HTTPS scheme with a suitable endpoint, so those should work fine. It appears that 2.7.0 broke region detection for child configs hosted in S3; see https://github.com/coreos/ignition/pull/1139#issuecomment-738194344. I'd still like to get confirmation of the bucket region for that S3 bucket, though. (In reply to Micah Abbott from comment #4) > This looks similar to BZ#1892521 differences: 1. failed in private UPI vs. BZ#1892521 works in private UPI, but failed in disconnected env 2. more clear error message "couldn't determine the region for bucket" vs. BZ#1892521 no clear message indicates that can not fetch ignition file (In reply to Benjamin Gilbert from comment #6) > Ignition doesn't support specifying fully custom endpoints, but does > understand non-standard partitions (GovCloud and China). That functionality > was previously broken but some fixes went into Ignition 2.7.0, which > probably explains the change of behavior. > > Yunfei, what region is that S3 bucket actually in? for this case, the S3 bucket is in us-gov-west-1. There are two regions in GovCloud: us-gov-west-1 and us-gov-east-1. (In reply to Benjamin Gilbert from comment #8) > A pre-signed URL should use the HTTPS scheme with a suitable endpoint, so > those should work fine. Yes, as my mentioned in description: Additional info: The s3:// URI for bootstrap machine location works on 4.6 The pre-sign URL for bootstrap machine location works on 4.6 The pre-sign URL for bootstrap machine location works on 4.7 Okay, great. Since the bucket is in the same AWS partition as the instance, this is indeed expected to work, and was broken by https://github.com/coreos/ignition/pull/1078. Higher priority work related to 4.7 features prevented this from being worked on; setting UpcomingSprint Setting No Doc Update since this was a 4.7 regression. from OpenShift installer side, verified and pass. OCP version: 4.7.0-0.nightly-2021-01-19-095812 RHCOS version: 47.83.202101161239-0 cluster was installed successfully. Closing as verified based on https://bugzilla.redhat.com/show_bug.cgi?id=1902996#c17 Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Moderate: OpenShift Container Platform 4.7.0 security, bug fix, and enhancement update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2020:5633 |