[Debian-ha-maintainers] Split of HA agents into multiple binary packages

Lucas Kanashiro kanashiro at ubuntu.com
Mon Mar 20 21:16:58 GMT 2023


Hi everyone,

I am Lucas and I am a Debian and Ubuntu developer. I have been taking 
care of the HA stack in Ubuntu for a while. Since I started to work on 
it I have noticed some issues with HA agents (a.k.a fence-agents and 
resource-agents), like missing dependencies and also installing some 
packages which might not be needed by the agent I want to use. I believe 
the way we ship those agents right now is not ideal for our users, and 
since we are approaching a new development cycle for Debian I decided to 
propose some changes here and see your thoughts.

Once I identified this issue, the first thing I did was checking what 
Fedora/Red Hat was doing since they are also the upstream of those 
projects. There they have one binary package per agent and also some 
binary packages shipping related agents useful in specific scenarios. 
This seems to be the ideal scenario thinking about user experience, so 
one can install targeted packages with all the needed dependencies 
instead of pulling all the agents in a single package with non-optimal 
dependency management (what we have in Debian right now IMHO).

In Ubuntu, we started an initiative to curate some agents, which means 
that we have automated tests in place for them [1]. Those curated agents 
are now shipped in a binary package called {fence,resource}-agents-base, 
and all the non-curated agents are shipped in a binary package called 
{fence,resource}-agents-extra. This is just an intermediary step and we 
already know those changes have their own issues. We are still shipping 
multiple agents in a single binary package, this time we have all the 
needed dependencies in place, but the user experience is not that good 
because if a user wants a single agent in the curated set they will get 
some dependencies installed which are not needed for their use case.

My proposal is to move to what the upstream of those projects are doing, 
and create a separate binary package for each agent, and the agent would 
be useful out-of-the-box (with everything needed installed). Since those 
projects are quite stable, without big changes, I believe it is OK to 
maintain them all as separate binary packages. I understand it will 
introduce many new binary packages in the archive but I really believe 
this will help our users' experience using the HA stack in Debian.

As a starting point I already have a salsa MR up for review for 
fence-agents [2]. If the maintainers agree on the approach I will do 
those changes in resource-agents as well. My idea would be to get those 
changes in experimental until the end of the freeze for the next release.

Let me know your thoughts.

TIA!

[1] https://github.com/canonical/server-test-scripts/tree/main/ha/virsh
[2] https://salsa.debian.org/ha-team/fence-agents/-/merge_requests/4

-- 
Lucas Kanashiro
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-ha-maintainers/attachments/20230320/0745bf8f/attachment.htm>


More information about the Debian-ha-maintainers mailing list