- 
                Notifications
    You must be signed in to change notification settings 
- Fork 35
OCPBUGS-52161: imageutil: unset PAXRecords and Xattrs in image layers when applying to disk #280
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-52161: imageutil: unset PAXRecords and Xattrs in image layers when applying to disk #280
Conversation
| [APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: joelanford 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  | 
| /hold Need to see if this actually solves the problem. | 
| Manifest to reproduce: ---
apiVersion: v1
kind: Namespace
metadata:
  name: cert-manager-operator
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: cert-manager-operator-installer
  namespace: cert-manager-operator
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: cert-manager-operator-installer
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: cert-manager-operator-installer
  namespace: cert-manager-operator
---
apiVersion: olm.operatorframework.io/v1
kind: ClusterExtension
metadata:
  name: cert-manager-operator
spec:
  namespace: cert-manager-operator
  serviceAccount:
    name: cert-manager-operator-installer
  source:
    catalog:
      channels:
      - stable-v1
      packageName: openshift-cert-manager-operator
      upgradeConstraintPolicy: CatalogProvided
      version: 1.15.0
    sourceType: Catalog | 
| @joelanford: This pull request references Jira Issue OCPBUGS-52161, which is valid. The bug has been moved to the POST state. 3 validation(s) were run on this bug
 No GitHub users were found matching the public email listed for the QA contact in Jira ([email protected]), skipping review request. 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. | 
…ng files Signed-off-by: Joe Lanford <[email protected]>
2a0e136    to
    d491dce      
    Compare
  
    | @joelanford: This pull request references Jira Issue OCPBUGS-52161, which is valid. 3 validation(s) were run on this bug
 No GitHub users were found matching the public email listed for the QA contact in Jira ([email protected]), skipping review request. 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. | 
| /hold cancel I confirmed that this does fix the bug. | 
| @joelanford: The following test failed, say  
 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-sigs/prow repository. I understand the commands that are listed here. | 
| We will sync it from upstream, right? | 
| Test pass, details: https://issues.redhat.com/browse/OCPBUGS-52161 | 
| /label qe-approved | 
| /lgtm | 
| @joelanford: Jira Issue OCPBUGS-52161: All pull requests linked via external trackers have merged: Jira Issue OCPBUGS-52161 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. | 
| [ART PR BUILD NOTIFIER] Distgit: ose-olm-catalogd | 
| [ART PR BUILD NOTIFIER] Distgit: ose-olm-operator-controller | 
| /cherry-pick release-4.18 | 
| @joelanford: #280 failed to apply on top of branch "release-4.18": 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-sigs/prow repository. | 
Fixes https://issues.redhat.com/browse/OCPBUGS-52161
TL;DR: a cert-manager-operator bundle image contains files that we fail to write to disk because they include xattr "security.capability" that our controller's user apparently cannot write.
This is fixable by simply unsetting xattrs and PAXRecords from the tar header so that we don't actually try to set those attributes on the file we create on disk.
This is not reproducible upstream, even with the exact same bundle image (
registry.redhat.io/cert-manager/cert-manager-operator-bundle@sha256:9a212e5a65ec7a71b4462539902515cfeecf5b02fd8a3f3beaaa6c5ecfc49ec2)Upstream PR: operator-framework/operator-controller#1823