[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Issue 13.3.1: the 'create' operator



At 03:47 PM 2/19/2004, David T. Perkins wrote:
>HI,
>
>One question on create of an object where the instance is not provided...
>Consider a create that is accepted and processed, but before the
>requester can get back the response, the transport connection is
>dropped. Is there any special cleanup? Might the instance that got
>create get "lost"?

The proper configuration change logging should be enough to 
handle this case.


>Is create used to add an attribute that is optional for an object
>instance?

huh?

Create is the same as merge or replace if the instance
doesn't exist yet.  Create will fail if the instance does
exist.  Since instance creation is data-model specific,
instance creation without specifying the instance ID
is also data-model specific.


>Also, the create sort of backs into the issue of multi-valued items.
>Is a create used to add another value or is this done with a modify
>operation, and likewise is a modify used to remove one or more
>values from a multi-valued item.

The data model defines how instances are identified.
I would use create to add new items and delete to remove
them. 


>Finally, are deletes explicit? If so, does the removal of the last
>value of a multi-valued item result in the item being deleted?

This is a good question.  Should it be a warning or an
error or a no-op for requests to delete something that
doesn't exist? 

Andy




>At 01:51 PM 2/19/2004 -0800, Andy Bierman wrote:
>>Hi,
>>
>>I want to summarize the arguments for the addition of 
>>a 'create' enum to the 'operation' attribute.  (This 
>>attribute is placed in an element within the user data 
>>model to identify the start point of an edit-config 
>>operation.  See sec. 5.2.)
>>
>>The are important architectural advantages for an
>>explicit create operation instead of implicit create
>>operation:
>>
>>  - better programming practice; makes application development
>>    easier and allows for more robust code
>>  - access control policy can be easily designed which 
>>    differentiates between 'create' and 'modify' operations
>>  - creation without supplying an instance ID
>>    - Sometimes the application doesn't care what the
>>      actual instance ID is (e.g. loopback interface
>>      or an RMON history control entry) and just wants
>>      the next available ID.  An explicit create operation
>>      allows for data models which provide this feature.
>>      An implicit create operation would prohibit data models
>>      from providing this feature.
>>  - same programming costs; the 'create' operator would only
>>    require a few additional lines of code beyond the already 
>>    mandatory support for 'merge', 'replace', and 'delete'.
>>  - the work-around (get followed by set) does not address
>>    all the benefits of an explicit create operation.  It
>>    will also degrade transaction performance, which is
>>    very important for provisioning applications.
>>
>>Andy
>regards,
>/david t. perkins 


--
to unsubscribe send a message to netconf-request@ops.ietf.org with
the word 'unsubscribe' in a single line as the message text body.
archive: <http://ops.ietf.org/lists/netconf/>