On 3/29/06, James Pan <[EMAIL PROTECTED]> wrote:
> Need to clarify the role of the clone (or master-slave) resource.
> Is it a resource container like resource group or an attribute of the
> according primitive resource?

the dtd clearly defines what a clone is.  what you call it is up to you.

> This question is derived from the comments of bug #1146.
>
> If it is a resource container, CIM needs an additional class for it, so
> there will be _four_  classes
> for resources (for primitive resource, resource group, master-slave,
> resource clone, respectively.
> And this is what i thought and what i've done in CIM).
>
> So if a user is going to create a clone resource, he can follow the
> steps below:
> (1) create an empty clone resource (by creating an instance of the clone
> class).

no.

you can repeat this as many times as you like but the answer is still no.

you can not have half a resource. even if it is disabled.
once we have DTD validation any attempt to do so will be rejected by the CIB.

let me be very clear... your approach to resource creation is flawed.

gather the info you need and only then create the object(s) in the CIB.

in one go.

preferably including any constraints because it could potentially be
started in the wrong place.

> (2) create a primitve resource (by creating an instance of the primitive
> class).
> (3) add this primitive resource to the clone resource.
> (4) submit the complete clone resource.
>
> And the according actions of these 3 steps will be:
> (1) Caching the clone information on the disk instead of adding it to
> the CIB. (because half resource is invalid).
> (2) Caching the primitive resource information.
> (3) making up a complete clone resource
> (4) adding this complete clone resource  into the CIB.
>
> In this case,  It seems I need to introduce two states:  enabled
> resource and disabled resource.

please read the DTD.  there is even an annotated one.  it defines what
is legal and what is not, and also shows that the feature you're
proposing has existed for a very long time.

and because you apparently need it spelt out for you, the link that
takes you straight to the allowed options for resources is:
  
http://www.linux-ha.org/v2/dtd1.0/annotated#head-21617671c8195c0c54f09b529928900fb8cca005

i am now both sick of repeating myself and highly annoyed that you're
clearly writing all this without paying any attention to our published
interfaces.

> An enabled resource is a resource in the CIB and is ready to run, and a
> disabled resource is not in the
> CIB and managed by the management tools. A new created resource should
> be marked as disabled.
>
> There will be a method to enable a resource, two choices:
> (1) Introduce a method for each resource class: Enable. An resource
> won't be added to
> the  CIB until it is enabled.
> or
> (2) Introduce a  class named ClustringService, which has a method:
> AddResource.
> This method will add a complete resource into the CIB.
>
> And those resource that haven't been added  will be cached and managed
> by the CIM providers.
> In this way, although i can ensure the resource is complete before being
> added to the CIB,
> but i cann't avoid creating 'half resource' on the CIM layer.
>
>
>
> If it is an attribute, CIM does not need an additional class, there will
> be only _two_ classes for
> resources, one is for primitive resource and the other is for resource
> group. the clone attributes
> will be attributes of the primitive resource. In this case, I can
> collect enough imformation for
> creating a complete clone resource at one operation(that is,  the
> instance creation operation).
> Then i can create a complete clone resource in the CIB directly.
>
> _______________________________________________________
> Linux-HA-Dev: [email protected]
> http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
> Home Page: http://linux-ha.org/
>
_______________________________________________________
Linux-HA-Dev: [email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
Home Page: http://linux-ha.org/

Reply via email to