RESTConf请求与YANG-PATCH是原子的吗?

时间:2018-12-14 12:32:59

标签: http opendaylight http-patch ietf-netconf ietf-restconf

我将NETCONF设备安装到ODL中。然后,在ODL中使用RESTConf接口,我试图在单个事务中将多个更改发送到设备,以调查其中一个编辑失败时的行为。是否触发回滚。

为此,我使用了YANG-PATCH并进行了多次编辑。我注意到,如果请求不符合ODL中的模型,则将不会对其进行处理。但是,如果验证成功,则将请求发送到NETCONF设备。我注意到YANG-PATCH中的每个编辑都是作为单独的NETCONF请求发送的,如果第二个请求在设备上失败,则第一个编辑不会触发回滚。

我进行了一些挖掘,发现YANG-PATCH(RFC8072)中引用的PATCH(RFC5789)规范指出,请求必须是全部或全部都不是原子的。

设备的响应如下所示,您可以看到JSON响应中列出了该错误,但两个编辑似乎都已完成。


Opendaylight版本-氟(0.9.1)


回复

  {
  "ietf-yang-patch:yang-patch-status": {
    "patch-id": "0",
    "errors": {
      "error": [
        {
          "error-type": "application",
          "error-tag": "operation-failed",
          "error-message": "Commit of transaction org.opendaylight.netconf.sal.connect.netconf.sal.tx.WriteRunningTx@42de5ea3 failed"
        }
      ]
    },
    "edit-status": {
      "edit": [
        {
          "edit-id": "edit1",
          "ok": [
            null
          ]
        },
        {
          "edit-id": "edit1",
          "ok": [
            null
          ]
        }
      ]
    }
  }
}

0 个答案:

没有答案