Openshift 4.22 - Shouldn't use special chanactors (lile $,! or #) in password of FenceAgent Remediation Template - using agent : fence_ipmilan
I checked my setting is collect with this command
printf 'ip=192.168.1.121\nusername=%s\npassword=%s\nssl_insecure=1\nsystems_uri=/redfish/v1/Systems/System.Embedded.1\naction=status\n' "$(oc get secret fence-agents-credentials-shared -n openshift-workload-availability -o go-template='{{index .data "--username" | base64decode}}')" "$(oc get secret fence-agents-credentials-shared -n openshift-workload-availability -o go-template='{{index .data "--password" | base64decode}}')" | oc exec -i -n openshift-workload-availability deploy/fence-agents-remediation-controller-manager -c manager -- fence_redfish
reference :
https://linuxelite.com.br/blog/openshift-virtualization-node-fencing/
and it returns this
Status: ON
but if I did a hard test, force my server to power off.
the FAR failed with this error.
2026-10-28T01:08:02.269632426Z INFO executer fence agent done {"uid": "44bb816a-1a4b-45d4-9430-e3333b646d5a", "fence_agent": "fence_ipmilan", "stdout": "", "stderr": "2026-10-28 01:08:02,256 ERROR: Failed: Unable to obtain correct plug status or plug is not available\n\n\n", "err": "exit status 1"}
so test works, but only the actural FAR fails.
and Gemini gave me this.
1. Incorrect Authentication or Missing Quotes
If your IPMI password contains special characters (like $, !, or #), the shell or the YAML parser may be misinterpreting them.
with a rink to Redhat Knowledge base
https://access.redhat.com/solutions/7054931
this is the problem. My password had # in it.
like
---password: cGFzc3dvcmQjIyM= #(base64 encoded, 'password###')
---username: ZmVuY2luZw== #(base64 encoded, 'fencing')
I never had this kind of issue.
I cannot/should't use some specific special charactors in my password.