)]}'
{
  "commit": "6e0bf740ed50e14d938484101683a27021f1ac92",
  "tree": "cbb4a368ee8fbeb0c54295c1a2d35f32cc7842b3",
  "parents": [
    "4a382fb97c9d25d3406547c2ef182d25bea85718"
  ],
  "author": {
    "name": "Brian Norris",
    "email": "briannorris@chromium.org",
    "time": "Thu Jun 04 11:18:43 2020 -0700"
  },
  "committer": {
    "name": "Commit Bot",
    "email": "commit-bot@chromium.org",
    "time": "Sat Jul 18 08:19:38 2020 +0000"
  },
  "message": "check_ethernet: defer action if recently (un)locked\n\nSee $BUG for more info. When a test releases this lock, it doesn\u0027t\nguarantee that upstream connectivity is completely restored; it only\nguarantees that the test has finished with any of its destructive\nactions (e.g., it has finished restarting Shill; it has finished\nresetting its IP address; it has finished its suspend/resume cycle). The\nDUT could still be renegotiating DHCP, for instance.\n\nTests will be updated to update the file modification time before\nreleasing the lock, and so we can use that to determine whether a test\nmay have recently disturbed connectivity. If an actor has disturbed\nconnectivity in the last 30 seconds, we skip any attempt at\ndetection/recovery, and just wait for the next time around.\n\nBUG\u003dchromium:1083044\nTEST\u003drun a network test that stops shill, in a loop, while\n     simultaneously running check_ethernet.hook in a tight loop;\n     we expect not to see check_ethernet.hook triggering any recovery\n     actions (and so, never see it log \"successful after XX seconds\")\n     `while : ; do tast -verbose run -failfortests \\\n        ${HOST} network.DefaultProfile || break; done`\n     on DUT:\n     `stop recover_duts\n      while : ; do\n        /usr/local/libexec/recover-duts/hooks/check_ethernet.hook 2\u003e\u00261 | \\\n        tee /dev/tty | grep -q \u0027successful after [0-9]* seconds\u0027 \u0026\u0026 break\n      done`\n\nCq-Depend: chromium:2293100\nChange-Id: Ifc25e33347f0cfbe300a66c3081a76c0088c4aa9\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crostestutils/+/2293019\nTested-by: Brian Norris \u003cbriannorris@chromium.org\u003e\nReviewed-by: Grant Grundler \u003cgrundler@chromium.org\u003e\nReviewed-by: Matthew Wang \u003cmatthewmwang@chromium.org\u003e\nCommit-Queue: Brian Norris \u003cbriannorris@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8fba06170be03c9e1f1e868d0b4f8fffb160f6ba",
      "old_mode": 33261,
      "old_path": "recover_duts/hooks/check_ethernet.hook",
      "new_id": "ebf78a115d534783f215a5176bdae453359241a2",
      "new_mode": 33261,
      "new_path": "recover_duts/hooks/check_ethernet.hook"
    }
  ]
}
