Bug 1590273
| Summary: | Pacemaker fence_scsi device parameter updation (addition/deletion) - restarts all resource | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Sandeep Yadav <sanyadav> | ||||
| Component: | pacemaker | Assignee: | Ken Gaillot <kgaillot> | ||||
| Status: | CLOSED NOTABUG | QA Contact: | cluster-qe <cluster-qe> | ||||
| Severity: | medium | Docs Contact: | |||||
| Priority: | medium | ||||||
| Version: | 7.5 | CC: | abeekhof, cluster-maint, jruemker, rdave, sanyadav, sbradley | ||||
| Target Milestone: | rc | ||||||
| Target Release: | --- | ||||||
| Hardware: | All | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2018-11-27 17:23:13 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: | |||||||
| Attachments: |
|
||||||
|
Description
Sandeep Yadav
2018-06-12 10:48:00 UTC
This does sound like Bug 1427648. Can you attach sosreports? Created attachment 1450570 [details]
sosreport
Here is the sosreport attached to the bugzila.
This is expected and unfortunately necessary behavior. When a fence_scsi device is modified, the unfence action must be repeated, since new configuration values will be passed to it. Because all other resources are implicitly ordered after unfencing, they must first be stopped, then unfencing can proceed, then the resources can be started. Hello Ken, Thank you for your reply I have shared that with customer, however the customer who has requested this RFE is looking for more detailed information, he wants to know how the fence_scsi functionality work in the background, what technical limitation Red Hat is facing in implimenting this changes. Can you please eloborate more on this. Thank you in advance. Regards, Sandeep fence_scsi works by having each node register a unique key with each SCSI device. It then uses a SCSI-3 persistent reservation to ensure that only registrants can write to the device. Fencing a node is simply removing its key, which makes it no longer able to write. To make that model work, fence_scsi has to support "unfencing", which in its case is the key registration. Whenever a node first joins the cluster, it must be unfenced (i.e. be able to write to the devices) before it can run resources. When a fence_scsi device's configuration changes, unfencing must be reapplied to all nodes. Keep in mind that pacemaker doesn't know the details of how a fence device works -- the fence agent is the abstract interface to the actual device. Pacemaker only knows that the previous unfencing may now be insufficient, and must be redone with the new parameters. Due to the usual ordering of actions, all resources must be stopped before unfencing can be done, and then they can be restarted after unfencing succeeds. In fence_scsi's case, when you add a new device, it's easy to see that every node must register a key with that device. So, unfencing must be done. There may be resources that do not depend on that particular device and thus do not really need to be restarted, but that knowledge is not available to the cluster. As Ken noted - this is behaving as expected and is required functionality. If the customer cannot work within the limitations this feature introduces, or if they need additional information about how the product operates, then please work with the experts in the HA support team to address their needs. I am closing this. For the record: We hope to have a workaround for this for RHEL 8. Pacemaker Bug 1872376 would allow pcs to compute the hashes Pacemaker would use to determine whether resource configuration changed, and pcs Bug 1872378 would provide an interface specifically for adding a disk to fence_scsi devices that would modify the hashes at the same time as the configuration. |