<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<body>
<div dir="auto">
<div dir="auto">Hi!</div><div dir="auto">At the first glance looks great.</div><div dir="auto"><br></div><div dir="auto">Best,</div><div dir="auto">Vladislav</div><div dir='auto'><br></div>
<div id="aqm-original" style="color: black;">
<div dir="auto">On October 12, 2021 7:43:28 PM Ken Gaillot <kgaillot@redhat.com> wrote:</div>
<div><br></div>
<blockquote type="cite" class="gmail_quote" style="margin: 0 0 0 0.75ex; border-left: 1px solid #808080; padding-left: 0.75ex;">
<div dir="auto">Hi all,</div>
<div dir="auto"><br></div>
<div dir="auto">The OCF Resource Agent API 1.1 is still fresh out of the oven, but I'm</div>
<div dir="auto">thinking ahead to 1.2.</div>
<div dir="auto"><br></div>
<div dir="auto">In the past, we've talked about putting the fence agent API under the</div>
<div dir="auto">OCF umbrella (currently the fence agent API is just a write-up in the</div>
<div dir="auto">fence-agents project). More recently, the idea of storage agents has</div>
<div dir="auto">come up, to control external storage replication from cluster nodes.</div>
<div dir="auto"><br></div>
<div dir="auto">I'm thinking we could add "agent types" to the OCF standard. A subset</div>
<div dir="auto">of the standard would apply to all types (for example, the basic meta-</div>
<div dir="auto">data format). The rest of the current standard would become the</div>
<div dir="auto">"service" type (for example, start/stop/status actions), and we could</div>
<div dir="auto">add new types for fence agents and so forth.</div>
<div dir="auto"><br></div>
<div dir="auto">On the pacemaker side, the ocf:PROVIDER:AGENT syntax could expand to</div>
<div dir="auto">ocf:TYPE:PROVIDER:AGENT, with TYPE defaulting to "service" so that the</div>
<div dir="auto">old syntax is still valid. For example</div>
<div dir="auto"><br></div>
<div dir="auto">  ocf:service:heartbeat:IPaddr2 (or ocf:heartbeat:IPaddr2)</div>
<div dir="auto">  ocf:fence:clusterlabs:ipmi (instead of stonith:fence_ipmi)</div>
<div dir="auto">  ocf:storage:clusterlabs:emc</div>
<div dir="auto"><br></div>
<div dir="auto">Existing resource agents wouldn't need any changes. Fence agents should</div>
<div dir="auto">maybe become more OCF-like, but we could create library helpers to make</div>
<div dir="auto">backward compatibility easy.</div>
<div dir="auto"><br></div>
<div dir="auto">Pacemaker's health agents (currently just typical OCF agents) could</div>
<div dir="auto">become a new type as well, e.g. ocf:health:pacemaker:cpu instead of</div>
<div dir="auto">ocf:pacemaker:HealthCPU. The agents would stay essentially the same,</div>
<div dir="auto">but grouping them would make it easier for Pacemaker and front-ends to</div>
<div dir="auto">treat them specially.</div>
<div dir="auto"><br></div>
<div dir="auto">Currently, resource agents go in</div>
<div dir="auto">/usr/lib/ocf/resource.d/PROVIDER/AGENT. I'm thinking fence.d,</div>
<div dir="auto">storage.d, and health.d could parallel resource.d.</div>
<div dir="auto"><br></div>
<div dir="auto">I wanted to run this idea by everyone here before taking it to the</div>
<div dir="auto">users list. Does this sound worthwhile? Is there anything I'm</div>
<div dir="auto">forgetting or overlooking?</div>
<div dir="auto">-- </div>
<div dir="auto">Ken Gaillot <kgaillot@redhat.com></div>
<div dir="auto"><br></div>
<div dir="auto">_______________________________________________</div>
<div dir="auto">Manage your subscription:</div>
<div dir="auto">https://lists.clusterlabs.org/mailman/listinfo/developers</div>
<div dir="auto"><br></div>
<div dir="auto">ClusterLabs home: https://www.clusterlabs.org/</div>
</blockquote>
</div><div dir="auto"><br></div>
</div></body>
</html>