美文网首页网络运维自动化
网络运维自动化入门三:netconf配置说明

网络运维自动化入门三:netconf配置说明

作者: wsf535 | 来源:发表于2018-02-28 10:59 被阅读623次

    一 、<edit-config>
    <edit-config>操作用来把配置数据下发到指定的目标配置数据集(<running>或
    <candidate>),设备对<edit-config>中的操作进行鉴权,鉴权通过后,执行相应的修
    改。
    参数说明

    • target:待编辑配置数据集名。基于场景选择对应的数据集名:
      – 立即生效模式,数据集设置为<running/>
      – 两阶段生效模式,数据集设置为<candidate/>(此场景需要<commit>)
      – 试运行,数据集设置为<candidate/>(此场景需要<confirm-commit>)
    • default-operation:为此<edit-config>请求选择默认操作(如“operation”属性中所
      述)。 <default-operation>参数的默认值为“merge”。
      <default-operation>参数是可选的,但如果提供,它具有以下值之一:
      – merge:<config>参数中的配置数据与目标数据存储中相应级别的配置合并。
      这是默认行为。
      – none:当配置方式未指定,默认操作指定为none的时候,edit-config操作会默
      认为none操作。none操作主要用来检查,下发为none操作的配置仅仅做
      Schema校验,不进行真正的配置下发。语法检查通过,就返回ok成功,否则
      失败。
    • error-option:<error-option>包含如下取值:
      – stop-on-error:<edit-config>操作出现错误即停止执行,这也是默认选项。
      – continue-on-error:出错后继续执行后续配置操作,记录错误信息并生成错误
      响应报文。
      – rollback-on-error:如果发生错误导致生成<rpc-error>响应报文,则服务器需要
      停止处理<edit-config>操作,并将此<edit-config>操作已完成配置进行回退。
    • config:由设备的数据模型之一定义的配置数据的层次结构。 内容必须放在适当
      的命名空间中,以允许设备检测对于的数据模型,并且内容必须遵循由其能力集
      定义的数据模型的约束。
      属性说明
      <config>子树元素中可能包含一个“operation”属性,该属性NETCONF名字空间中定
      义。该属性标识配置操作如何执行,并且可能出现在整个<config>子树的多个元素上。
      如果未指定“operation”属性,则配置将被合并到配置数据库中。
      “operation”属性包含下面几个值:
    • merge:由包含此属性标识的配置数据与由<target>参数标识的配置数据库中相应
      级别配置合并。这是默认属性。
    • create:当且仅当配置数据存储中尚不存在配置数据时,由包含此属性标识的配置
      数据才会添加到配置中。 如果配置数据存在,则会返回一个<rpc-error>元素,其
      中包含一个<error-tag>值“data-exists”。
    • delete:当且仅当配置数据当前存在于配置数据存储中时,才会从配置中删除由包
      含此属性的元素标识的配置数据。 如果配置数据不存在,则返回一个<rpc-error>
      元素,其中包含一个<error-tag>值“data-missing”。

    二、<get-config>
    <get-config>操作用来从<running/>和<candidate/>配置数据集中查询全部或指定的一部分配置数据。
    参数说明:

    • source:正在查询的配置数据集的名称。
    • filter:此参数用来标识要查询设备配置数据集的部分。 如果此参数不存在,则返
      回整个配置。<filter>元素可以包含“type”属性。NETCONF中的默认过滤机制被称为子树过滤(“type”属性值为“subtree”)。

    操作成功的回应:
    设备支持满足请求操作的能力集,NETCONF server返回一个使用<rpc-reply>元素封装的消息,<rpc-reply>元素中创建一个data元素,查询数据全部封装在data元素中。
    当查询返回数据量大于30K,如果设备不支持get-next能力,NETCONF server直接反馈错误;否则NETCONF server需要做消息分包处理,用户可以继续使用<get-next>操作,请求返回多个<rpc-reply>消息。
    操作失败的回应:
    如果操作请求由于任何原因不能执行完成,NETCONF server返回一个<rpc-reply>元素封装的消息,创建一个<rpc-error>元素封装在<rpc-reply>元素中。
    三、<get>
    <get>操作用来从<running/>数据集中查询部分或全部运行的配置数据和设备的状态数据。

    <get>操作成功,Server回复的<rpc-reply>元素中含有<data>元素,<data>元素中封装了获取的结果数据。否则在<rpc-reply>元素中含有<rpc-error>元素。

    参数说明:

    • filter:此参数用来标识要查询设备配置数据集的部分。 如果此参数不存在,则返回整个配置。
      <filter>元素可以包含“type”属性。NETCONF中的默认过滤机制被称为子树过滤(“type”属性值为“subtree”)。

    <get>和<get-config>区别在于:

    • <get>只能从<running/>配置数据集中获取数据。所以,<get>不需要<source>参数指定配置数据集。<get-config>支持通过<source>参数指定<running/>或<candidate/>。
    • <get-config>只能查询配置数据,而<get>既能查询配置数据,又能查询状态数据。

    四、<execute-action>
    <execute-action>操作主要用来请求设备执行某个动作,并在<rpc-reply>中返回执行结果。维护操作一般不会直接修改设备上的配置数据,也不会返回业务数据。例如清除一个报文计数器,或复位一块单板。

    设备必须宣布支持Action能力,才能使用<execute-action>操作。

    相关文章

      网友评论

        本文标题:网络运维自动化入门三:netconf配置说明

        本文链接:https://www.haomeiwen.com/subject/pzkbxftx.html