[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: url clarification
Martin Bjorklund wrote:
Andy Bierman <ietf@andybierman.com> wrote:
Did we ever resolve all the issues here? (A: no)
Here are the operations that use rpcOperationTargetType:
operation text-allows-url notes
------------------------------------------------
edit-config N 1
copy-config Y 2
delete-config Y 3
lock N 4
unlock N 4
[...]
Summary Issues:
A) Which is right: The text or the XSD?
Should the edit-config, lock, and unlock XSD definitions change from
rpcOperationTargetType to configNameType? This will explicitly
disallow URL as <target> in these operations.
I think the text makes more sense than the XSD.
I can see it both ways.
One one hand, I sure don't want to make it mandatory
for the :url capability to include <url> as a target of edit-config.
On the other, I don't want to prohibit it without reason either.
Section 8.8.5 is the critical text here.
Taken literally, this section says that <url> as
a target for <edit-config> must be supported,
but the target should be a local file. Lock and unlock
are not allowed (they are not listed in this section).
This part seems kind of broken to me.
It is data model specific what it means to edit a file
instead of configuration datastore.
I don't think the WG ever really thought through the
details of this section, especially 8.8.5.1.
The one thing that is clear is that the text in several sections
is out of sync with the XSD wrt/ the <url> element.
B) If an agent advertises the :url capability, what operations
MUST, SHOULD, or MAY it apply to? What if an agent only
supports URLs as the <source> parameter and not the <target> parameter
on some or all operations?
One example is the http/https schemes as target to copy-config. Which
HTTP operation should the agent use? PUT? POST?
good question
Another thing which is not clear is what the file pointed to by an url
looks like. Suppose you send the agent the following command:
<copy-config>
<target>
<url>ftp://ftp.server.com/my.conf</url>
</target>
<source>
<config>
<foo xmlns="http://my-foo-ns">
...
</foo>
<bar xmlns="http"//my-bar-ns">
...
</bar>
</config>
</source>
</copy-config>
What will the 'my.conf' file look like? Like this:
<config>
<foo xmlns="http://my-foo-ns">
...
</foo>
<bar xmlns="http"//my-bar-ns">
...
</bar>
</config>
The WG decided awhile back to remove the text vs. XML "format"
parameter from these operations. There is only XML. (Even if a
text config file is only conceptually wrapped in a top-level element.)
What my.conf looks like is data model dependent.
This would be a valid XML document, where 'config' does not belong to
any namespace. Another alternative is the same contents but w/o the
<config> element, but that wouldn't be valid XML. There are some
other reasonable alterantives as well. Maybe this also is
implementation-specific? (with the usual inter-op drawbacks)
Data-model specific, not implementation-specific.
There is a big difference.
Here is what I mean by top-level wrapper:
(Top-level element name doesn't really matter)
<config>
<my.conf xmlns="http://example.com/config/1.3">
ascii config file command
ascii config file command
ascii config file command
</my.conf>
</config>
/martin
Andy
--
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/>
--
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/>