Mailing List Archive

RA spec: Ability to depreciate agents
Hi,

as part of revising the OCF RA spec, one of the major feature blocks we
need to consider is the ability to depreciate agents (or parameters, see
yet another mail).

To recap, obsoleting works from the superseding agent to the old one;
since the old one is perhaps not maintained, we can't insert the magic
cookie into its metadata.

In the most basic form, an agent would include something similar like:

<obsoletes class="ocf" provider="heartbeat" type="drbd">
<longdesc lang="en">Notes on this particular conversion, what to pay
attention to on parameters etc, and why to do it</longdesc>
</obsoletes>

I imagine that this would cause a small "attention" icon to pop up in
whatever UI the user prefers, and when the user decides to act upon it,
would display the old & new configurations along side each other, along
with the descriptive text; the UI would then enact a replace operation
on the configuration.

(Whether that triggers a restart or merely a reprobe first is an
implementation detail that doesn't belong here.)

What happens when several agents obsolete the same is UI defined; the
user would get to pick one.

Is this sufficient? Do we need an "urgency" flag, or an expiration date
by when the old agent is no longer maintained at all?



Regards,
Lars

--
Architect Storage/HA, OPS Engineering, Novell, Inc.
SUSE LINUX Products GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 21284 (AG Nürnberg)
"Experience is the name everyone gives to their mistakes." -- Oscar Wilde

_______________________________________________
ha-wg-technical mailing list
ha-wg-technical@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/ha-wg-technical
Re: RA spec: Ability to depreciate agents [ In reply to ]
On Sun, Jun 26, 2011 at 12:02 AM, Lars Marowsky-Bree <lmb@suse.de> wrote:
> Hi,
>
> as part of revising the OCF RA spec, one of the major feature blocks we
> need to consider is the ability to depreciate agents (or parameters, see
> yet another mail).
>
> To recap, obsoleting works from the superseding agent to the old one;
> since the old one is perhaps not maintained, we can't insert the magic
> cookie into its metadata.
>
> In the most basic form, an agent would include something similar like:
>
> <obsoletes class="ocf" provider="heartbeat" type="drbd">
> <longdesc lang="en">Notes on this particular conversion, what to pay
> attention to on parameters etc, and why to do it</longdesc>
> </obsoletes>

Can one have multiple obsoletes blocks?
Thats probably going to be useful for merging the two sets of agents.

Do we need to care what happens if A obsoletes B but C obsoletes A?
Do we need to care about resurrecting a previously deprecated agent?

I get the feeling these agents need a version number somewhere, but I
can't figure out where to put it.

> I imagine that this would cause a small "attention" icon to pop up in
> whatever UI the user prefers, and when the user decides to act upon it,
> would display the old & new configurations along side each other, along
> with the descriptive text; the UI would then enact a replace operation
> on the configuration.
>
> (Whether that triggers a restart or merely a reprobe first is an
> implementation detail that doesn't belong here.)
>
> What happens when several agents obsolete the same is UI defined; the
> user would get to pick one.
>
> Is this sufficient? Do we need an "urgency" flag, or an expiration date
> by when the old agent is no longer maintained at all?
>
>
>
> Regards,
>    Lars
>
> --
> Architect Storage/HA, OPS Engineering, Novell, Inc.
> SUSE LINUX Products GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 21284 (AG Nürnberg)
> "Experience is the name everyone gives to their mistakes." -- Oscar Wilde
>
> _______________________________________________
> ha-wg-technical mailing list
> ha-wg-technical@lists.linux-foundation.org
> https://lists.linux-foundation.org/mailman/listinfo/ha-wg-technical
>
_______________________________________________
ha-wg-technical mailing list
ha-wg-technical@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/ha-wg-technical
Re: RA spec: Ability to depreciate agents [ In reply to ]
On 2011-06-30T17:20:09, Andrew Beekhof <andrew@beekhof.net> wrote:

> Can one have multiple obsoletes blocks?

Yes, I'd expect so.

> Thats probably going to be useful for merging the two sets of agents.

Exactly, that is after all one of the issues we're trying to solve.

> Do we need to care what happens if A obsoletes B but C obsoletes A?

I don't think the spec _can_ care about this; the obsoletion mechanism
would allow for this, and then the UIs need to figure out how to cope.

> Do we need to care about resurrecting a previously deprecated agent?

Well. If they've already migrated to the supposed replacement during the
time it was advertised as obsoleted, that's fine as long as that
continues to be maintained.

> I get the feeling these agents need a version number somewhere, but I
> can't figure out where to put it.

They actually have one in the resource-agent tag.

To the best of my knowledge, the LRM doesn't utilize the name/version
from the meta-data currently, but assumes "filename == type". That,
however, is an implementation detail, so even today the spec is
theoretically powerful enough to have several versions of the same type
around.

(And yes, they need to differ in filenames too.)

Regards,
Lars

--
Architect Storage/HA, OPS Engineering, Novell, Inc.
SUSE LINUX Products GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 21284 (AG Nürnberg)
"Experience is the name everyone gives to their mistakes." -- Oscar Wilde

_______________________________________________
ha-wg-technical mailing list
ha-wg-technical@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/ha-wg-technical
Re: RA spec: Ability to depreciate agents [ In reply to ]
On Thu, Jun 30, 2011 at 6:28 PM, Lars Marowsky-Bree <lmb@suse.de> wrote:
> On 2011-06-30T17:20:09, Andrew Beekhof <andrew@beekhof.net> wrote:
>
>> Can one have multiple obsoletes blocks?
>
> Yes, I'd expect so.
>
>> Thats probably going to be useful for merging the two sets of agents.
>
> Exactly, that is after all one of the issues we're trying to solve.

Ok, just checking.

>
>> Do we need to care what happens if A obsoletes B but C obsoletes A?
>
> I don't think the spec _can_ care about this; the obsoletion mechanism
> would allow for this, and then the UIs need to figure out how to cope.

Fair enough. Just wondering if we'd thought about it.

>> Do we need to care about resurrecting a previously deprecated agent?
>
> Well. If they've already migrated to the supposed replacement during the
> time it was advertised as obsoleted, that's fine as long as that
> continues to be maintained.

I'm thinking of an RA that might get moved to an upstream project only
to come back again later.
Sure it would work, but we'd also not want the tools to complain that
the original RA was being used again.
I guess we'd have to bump the version in the name.

>
>> I get the feeling these agents need a version number somewhere, but I
>> can't figure out where to put it.
>
> They actually have one in the resource-agent tag.
>
> To the best of my knowledge, the LRM doesn't utilize the name/version
> from the meta-data currently, but assumes "filename == type". That,
> however, is an implementation detail, so even today the spec is
> theoretically powerful enough to have several versions of the same type
> around.

Maybe we should at least say "deprecates < $version".

> (And yes, they need to differ in filenames too.)

Which sucks but is probably unavaoidable.
_______________________________________________
ha-wg-technical mailing list
ha-wg-technical@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/ha-wg-technical