-
Notifications
You must be signed in to change notification settings - Fork 226
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-44849: Provide fallback Xattr method where not supported in kernel. #7029
OCPBUGS-44849: Provide fallback Xattr method where not supported in kernel. #7029
Conversation
@paul-maidment: This pull request references Jira Issue OCPBUGS-44849, which is invalid:
Comment 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. |
a8f70cc
to
ceb0a1c
Compare
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: paul-maidment 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 |
ceb0a1c
to
71db2e9
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #7029 +/- ##
==========================================
- Coverage 68.21% 68.08% -0.14%
==========================================
Files 279 284 +5
Lines 39307 39686 +379
==========================================
+ Hits 26813 27019 +206
- Misses 10060 10246 +186
+ Partials 2434 2421 -13
|
71db2e9
to
651c774
Compare
651c774
to
ce66f2f
Compare
1b9a77c
to
abd01d5
Compare
/lgtm |
44c1efc
to
ed3153e
Compare
/lgtm |
/retest |
/test edge-subsystem-kubeapi-aws |
1 similar comment
/test edge-subsystem-kubeapi-aws |
ed3153e
to
a793cef
Compare
…ernel. Some customers are expereincing breaking issues when their OS does not support xattr, most notably NFS + Xattr This causes installations not to proceed and needs to be addressed urgently. This change provides a means of 'falling back' to a filesystem based implementation in the case that xattr is unavailable in the kernel. This is achieved by the creation of an XattrClient interface and three implementations of this client OSxattrClient - which wraps the kernel native xattr functions and is responsible for determining if xattr is available or not. FilesystemBasedXattrClient - Which uses a directory parallel to the root to maintain metadata keys as individual files - one file per key CompositeXattrClient - Which encapsulates the other two clients and dependent on the availability of xattr in the kernel will call the right client as applicable. If we need to disable the fallback for any reason then the correct way to do this is to create a custom config map for assisted service. ``` apiVersion: v1 kind: ConfigMap metadata: name: custom-config-map namespace: multicluster-engine data: ENABLE_XATTR_FALLBACK: "false" ``` This should then be added as an annotation to the AgentServiceConfig ``` kind: AgentServiceConfig metadata: annotations: unsupported.agent-install.openshift.io/assisted-service-configmap: custom-config-map ``` Once you have updated the AgentServiceConfig, redeploy the service ``` oc rollout restart deployment -n multicluster-engine assisted-service ``` After the service redeploys, you should see an entry in the assisted service log to indicate that the setting has been picked up ``` oc logs -f assisted-service-66dfcbf689-95v5f -c asisted-service | grep -i FALLBACK time="2024-12-03T09:46:36Z" level=info msg="Options.EnableXattrFallback:false" func=main.main file="/assisted-service/cmd/main.go:332" ```
a793cef
to
ebb71ba
Compare
/lgtm |
/retest |
/jira refresh |
@paul-maidment: This pull request references Jira Issue OCPBUGS-44849, which is invalid:
Comment 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. |
/jira refresh |
@paul-maidment: This pull request references Jira Issue OCPBUGS-44849, 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. 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. |
29d802e
into
openshift:master
@paul-maidment: Jira Issue OCPBUGS-44849: All pull requests linked via external trackers have merged: Jira Issue OCPBUGS-44849 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. |
/cherry-pick release-ocm-2.12 |
/cherry-pick release-4.18 |
@paul-maidment: new pull request created: #7098 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. |
@paul-maidment: new pull request created: #7099 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. |
Some customers are expereincing breaking issues when their OS does not support xattr, most notably NFS + Xattr
This causes installations not to proceed and needs to be addressed urgently.
This change provides a means of 'falling back' to a filesystem based implementation in the case that xattr is unavailable in the kernel.
This is achieved by the creation of an XattrClient interface and three implementations of this client
OSxattrClient - which wraps the kernel native xattr functions and is responsible for determining if xattr is available or not.
FilesystemBasedXattrClient - Which uses a directory parallel to the root to maintain metadata keys as individual files - one file per key
CompositeXattrClient - Which encapsulates the other two clients and dependent on the availability of xattr in the kernel will call the right client as applicable.
If we need to disable the fallback for any reason then the correct way to do this is to create a custom config map for assisted service.
This should then be added as an annotation to the AgentServiceConfig
Once you have updated the AgentServiceConfig, redeploy the service
After the service redeploys, you should see an entry in the assisted service log to indicate that the setting has been picked up