)]}'
{
  "commit": "462e9e6550cfcecfdca9d6b88fb063cd89b73e62",
  "tree": "fc1ef3801b75c4ab19f27134dfc6aca27a51339f",
  "parents": [
    "96bd3e3f826d76f055b0e4a15a77fd7b41c90220"
  ],
  "author": {
    "name": "Sam Betts",
    "email": "sam@code-smash.net",
    "time": "Wed Nov 30 18:43:35 2016 +0000"
  },
  "committer": {
    "name": "Sam Betts",
    "email": "sam@code-smash.net",
    "time": "Wed Nov 30 18:43:35 2016 +0000"
  },
  "message": "Add Virtual Network Interface REST APIs\n\nThis patch adds the REST APIs for the virtual network interface API in\norder to abstract the task of assigning logical network interfaces to\nphysical network interfaces.\n\nSince Newton Ironic provides an interface for pluggable network\nimplementations. Different network implementations may want to handle\nhow logical to physical network interface assignment happens. To do this\nthe new API calls into new functions on the network implementation\nloaded for the specified node.\n\nThis is part 3 of 3, and adds the node vif subcontroller to expose the\n/nodes/\u003cident\u003e/vifs REST API endpoint. API version is bumped to 1.28.\n\nCo-Authored-By: Vasyl Saienko (vsaienko@mirantis.com)\nChange-Id: I70f1166a15a26f392734e21d6bc30a03da4e5486\nPartial-Bug: #1582188\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "67e4d08cd01b1bd70ec5f90104cbbfce4e02edc9",
      "old_mode": 33188,
      "old_path": "ironic_tempest_plugin/services/baremetal/base.py",
      "new_id": "30589e13c25186f31599cfb6ff01390dff8dc0ab",
      "new_mode": 33188,
      "new_path": "ironic_tempest_plugin/services/baremetal/base.py"
    },
    {
      "type": "modify",
      "old_id": "49049d27348f0c9935e25c946ef829ff60fab772",
      "old_mode": 33188,
      "old_path": "ironic_tempest_plugin/services/baremetal/v1/json/baremetal_client.py",
      "new_id": "cf1abad9c71983dd46a9b6b5adcf978c1751fcc1",
      "new_mode": 33188,
      "new_path": "ironic_tempest_plugin/services/baremetal/v1/json/baremetal_client.py"
    },
    {
      "type": "modify",
      "old_id": "fe95c02574db91408bb72c1e6552486535858af0",
      "old_mode": 33188,
      "old_path": "ironic_tempest_plugin/tests/api/admin/test_nodes.py",
      "new_id": "e7cfa8b74ac6ad7a2b7dc430c006ba6177714b8c",
      "new_mode": 33188,
      "new_path": "ironic_tempest_plugin/tests/api/admin/test_nodes.py"
    },
    {
      "type": "modify",
      "old_id": "286750ded18f6b2ef1967cf6225b582ebd755b82",
      "old_mode": 33188,
      "old_path": "ironic_tempest_plugin/tests/scenario/baremetal_manager.py",
      "new_id": "5c805a957b30225163dd8a5c8473ad4a1328073b",
      "new_mode": 33188,
      "new_path": "ironic_tempest_plugin/tests/scenario/baremetal_manager.py"
    },
    {
      "type": "modify",
      "old_id": "6d07399d96fd0f534d998b9ad76285e2cc0f5b10",
      "old_mode": 33188,
      "old_path": "ironic_tempest_plugin/tests/scenario/test_baremetal_basic_ops.py",
      "new_id": "1a918790b7a468c8ec1acec1cb6c6882eb7678ea",
      "new_mode": 33188,
      "new_path": "ironic_tempest_plugin/tests/scenario/test_baremetal_basic_ops.py"
    }
  ]
}
