)]}'
{
  "commit": "00cf57dd411af5f5c9aa21ced2a2d6c67729297c",
  "tree": "bdd35f818c7aca6d2f0bac93501d7a56fcfc2911",
  "parents": [
    "afd3cf8bb5c99e9a8db23a5f435f7c1e31c96f91"
  ],
  "author": {
    "name": "Serge Bazanski",
    "email": "serge@monogon.tech",
    "time": "Thu Apr 20 11:19:00 2023 +0200"
  },
  "committer": {
    "name": "Serge Bazanski",
    "email": "serge@monogon.tech",
    "time": "Tue Apr 25 11:56:50 2023 +0000"
  },
  "message": "cloud/bmaas: split ShepherdAccess into Shepherd{AgentStart,Recovery}\n\nThis effectively undoes our previous attempted consolidation of all\nShepherd accesses under one tag. We now use two separate tags for the\ntwo main Shepherd work processes, and mutually exclude them in SQL.\n\nWe do this so that we can see more clearly in work history (and in\ngeneral when processing machines) what the Shepherd is actually trying\nto do to a machine.\n\nThe downside of this implementation is that we now extend the BMDB/ETP\nmodel to being able to mutually exclude different processes. This is\neasy enough to express in SQL, but might make future generic modelling\nmore difficult.\n\nAn alternative would be to add an extra field to work/work history that\nacts as an informative field for operators to know the details of a work\nitem. We might still want to do that in the future. However, that field\nbeing freeform, we could not really rely on it for machine parsing.\n\nChange-Id: I9578ac000f6112514fe587e9fddf7e85671c6437\nReviewed-on: https://review.monogon.dev/c/monogon/+/1584\nReviewed-by: Leopold Schabel \u003cleo@monogon.tech\u003e\nTested-by: Jenkins CI\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e01997ffd3eebbeaa70ac5745d626bddde9040f1",
      "new_mode": 33188,
      "new_path": "cloud/bmaas/bmdb/model/migrations/1681980576_extra_shepherd_processes.down.sql"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6e7c6307c07495743a24ad91949fcd7acc62fcf2",
      "new_mode": 33188,
      "new_path": "cloud/bmaas/bmdb/model/migrations/1681980576_extra_shepherd_processes.up.sql"
    },
    {
      "type": "modify",
      "old_id": "8f22f41512848b5c098c83cbb12779658b54fd82",
      "old_mode": 33188,
      "old_path": "cloud/bmaas/bmdb/model/queries_workflows.sql",
      "new_id": "07ebf777768333120417ac4368e49aea59654a40",
      "new_mode": 33188,
      "new_path": "cloud/bmaas/bmdb/model/queries_workflows.sql"
    },
    {
      "type": "modify",
      "old_id": "e697150681e92f0cdf884e2dd6984676c3718156",
      "old_mode": 33188,
      "old_path": "cloud/bmaas/bmdb/sessions_test.go",
      "new_id": "b8625a9ba74cafd4a4fa1d10fb42c1df59276306",
      "new_mode": 33188,
      "new_path": "cloud/bmaas/bmdb/sessions_test.go"
    },
    {
      "type": "modify",
      "old_id": "aa4138ecc6e6a6a82e26a1a51139812bb56ada8d",
      "old_mode": 33188,
      "old_path": "cloud/shepherd/equinix/manager/control_loop.go",
      "new_id": "4896c15d341c6ddf54f5c3a68c33a4e54ae2e235",
      "new_mode": 33188,
      "new_path": "cloud/shepherd/equinix/manager/control_loop.go"
    },
    {
      "type": "modify",
      "old_id": "95f9d3938fcac8fbf8c6888ac852cc480bd77c8f",
      "old_mode": 33188,
      "old_path": "cloud/shepherd/equinix/manager/initializer.go",
      "new_id": "c90f8d88c7c53ad1e41e83f94697472aa517d542",
      "new_mode": 33188,
      "new_path": "cloud/shepherd/equinix/manager/initializer.go"
    },
    {
      "type": "modify",
      "old_id": "4ec73af749114268829e5bb96bca5e1afd91217e",
      "old_mode": 33188,
      "old_path": "cloud/shepherd/equinix/manager/recoverer.go",
      "new_id": "85ec44025ad29c810cbe86dd64196f3f43370f81",
      "new_mode": 33188,
      "new_path": "cloud/shepherd/equinix/manager/recoverer.go"
    }
  ]
}
