)]}'
{
  "commit": "db4a2e162f7113064ce56384dbfb793dcd4931b1",
  "tree": "169b8156b8dc46cfc37a6b595223eee2d60c6e99",
  "parents": [
    "d160c29b7e29940d6deeb32c9b5ae0cbbc9ef472"
  ],
  "author": {
    "name": "Yaroslav Lobankov",
    "email": "ylobankov@mirantis.com",
    "time": "Sat Nov 28 20:04:54 2015 +0300"
  },
  "committer": {
    "name": "Yaroslav Lobankov",
    "email": "ylobankov@mirantis.com",
    "time": "Tue Dec 01 12:01:43 2015 +0300"
  },
  "message": "Changing directory structure for Cinder clients\n\nThe tempest/services/volume directory had the following structure:\n\n        tempest\n        |___services\n            |___volume\n                |____json\n                |    |____admin\n                |    |    |____\u003cclient files\u003e\n                |    |\n                |    |____\u003cclient files\u003e\n                |\n                |____v2\n                     |____json\n                          |____admin\n                          |    |____\u003cclient files\u003e\n                          |\n                          |____\u003cclient files\u003e\n\nThe structure was changed to keep consistency with other clients directories.\nFor example, the tempest/services/identity derectory and the tempest/services/image\ndirectory. So now the structure is the following:\n\n        tempest\n        |___services\n            |___volume\n                |____base\n                |    |____\u003cclient files\u003e\n                |\n                |____v1\n                |    |____json\n                |         |____admin\n                |         |    |____\u003cclient files\u003e\n                |         |\n                |         |____\u003cclient files\u003e\n                |\n                |____v2\n                     |____json\n                          |____admin\n                          |    |____\u003cclient files\u003e\n                          |\n                          |____\u003cclient files\u003e\n\nThe tempest/services/volume/base directory was created and now it containes base\nclient files with base client classes for v1 and v2 Cinder clients.\n\nChange-Id: I0ac37e15eddffb12d150dcd5b68e0f933712d22c\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b685bb775ffd47ae21b0db0bf9f612c588c73de5",
      "old_mode": 33188,
      "old_path": "tempest/clients.py",
      "new_id": "2566d79a3e8bf957c75e2b5ac6b21cf16b5c1c0f",
      "new_mode": 33188,
      "new_path": "tempest/clients.py"
    },
    {
      "type": "modify",
      "old_id": "184bb9ae0e08e7c3f6520781b6167f033ef41427",
      "old_mode": 33261,
      "old_path": "tempest/cmd/javelin.py",
      "new_id": "b126ef6b4a1a0664225703c5dd0e8ab32263845b",
      "new_mode": 33261,
      "new_path": "tempest/cmd/javelin.py"
    },
    {
      "type": "modify",
      "old_id": "f1655d0d064e26588c1df587c03c51cc39d217d4",
      "old_mode": 33188,
      "old_path": "tempest/hacking/ignored_list_T110.txt",
      "new_id": "211a7d6cb10d472e5db42ab5081baacf8533b5e0",
      "new_mode": 33188,
      "new_path": "tempest/hacking/ignored_list_T110.txt"
    },
    {
      "type": "copy",
      "old_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "old_mode": 33188,
      "old_path": "tempest/services/volume/json/__init__.py",
      "new_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "new_mode": 33188,
      "new_path": "tempest/services/volume/base/__init__.py",
      "score": 100
    },
    {
      "type": "copy",
      "old_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "old_mode": 33188,
      "old_path": "tempest/services/volume/json/admin/__init__.py",
      "new_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "new_mode": 33188,
      "new_path": "tempest/services/volume/base/admin/__init__.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "279fed5e1c80c7c06ba6df32b9acbbf135667a90",
      "old_mode": 33188,
      "old_path": "tempest/services/volume/json/admin/volume_hosts_client.py",
      "new_id": "97bb0076b946d7bdd17d14d1999861efd1d67255",
      "new_mode": 33188,
      "new_path": "tempest/services/volume/base/admin/base_volume_hosts_client.py",
      "score": 91
    },
    {
      "type": "rename",
      "old_id": "f6d4a14fcf7f6ed5806cd5ed647b541ac313611e",
      "old_mode": 33188,
      "old_path": "tempest/services/volume/json/admin/volume_quotas_client.py",
      "new_id": "d7909ffaa37b9004a943b76774186226947d17ca",
      "new_mode": 33188,
      "new_path": "tempest/services/volume/base/admin/base_volume_quotas_client.py",
      "score": 95
    },
    {
      "type": "rename",
      "old_id": "798a6429680b1788cb6b376c1166ea4edc3f88f8",
      "old_mode": 33188,
      "old_path": "tempest/services/volume/json/admin/volume_services_client.py",
      "new_id": "17904216b488124cedd601676596ceda59768fd7",
      "new_mode": 33188,
      "new_path": "tempest/services/volume/base/admin/base_volume_services_client.py",
      "score": 91
    },
    {
      "type": "rename",
      "old_id": "f2da8a589a242e87aad5c1d335b40076b3cd4e6b",
      "old_mode": 33188,
      "old_path": "tempest/services/volume/json/admin/volume_types_client.py",
      "new_id": "8fcf57caf7486e9003f0dec66ca7580d5988e931",
      "new_mode": 33188,
      "new_path": "tempest/services/volume/base/admin/base_volume_types_client.py",
      "score": 98
    },
    {
      "type": "rename",
      "old_id": "36f95d641aadd504b2ac869e9381ce25dde2d790",
      "old_mode": 33188,
      "old_path": "tempest/services/volume/json/availability_zone_client.py",
      "new_id": "d5a2fdab351bb4cf905c6c117f1346dc55a4f633",
      "new_mode": 33188,
      "new_path": "tempest/services/volume/base/base_availability_zone_client.py",
      "score": 89
    },
    {
      "type": "rename",
      "old_id": "3045992bdb5c72338e89421768d4e6c0db4c25c2",
      "old_mode": 33188,
      "old_path": "tempest/services/volume/json/backups_client.py",
      "new_id": "be926e6ecf4d8bb2123853a42adaf769ba9b5071",
      "new_mode": 33188,
      "new_path": "tempest/services/volume/base/base_backups_client.py",
      "score": 98
    },
    {
      "type": "rename",
      "old_id": "d7d3197b3adf535b348934672c4db609871fddcf",
      "old_mode": 33188,
      "old_path": "tempest/services/volume/json/extensions_client.py",
      "new_id": "afc3f6ba4b6d4f63292713ac8abb4b369e74061c",
      "new_mode": 33188,
      "new_path": "tempest/services/volume/base/base_extensions_client.py",
      "score": 91
    },
    {
      "type": "rename",
      "old_id": "c79168cc9652080d88226c953c66f66b1bf32ac3",
      "old_mode": 33188,
      "old_path": "tempest/services/volume/json/qos_client.py",
      "new_id": "c7f6c6ee1f6723e5f8d46351b881ce22df91d538",
      "new_mode": 33188,
      "new_path": "tempest/services/volume/base/base_qos_client.py",
      "score": 98
    },
    {
      "type": "rename",
      "old_id": "77c9dd1524c0eac43e46f56bef7caa051c249ede",
      "old_mode": 33188,
      "old_path": "tempest/services/volume/json/snapshots_client.py",
      "new_id": "fac90e42bfb8a422e3ac15f81b19a74392b8911c",
      "new_mode": 33188,
      "new_path": "tempest/services/volume/base/base_snapshots_client.py",
      "score": 98
    },
    {
      "type": "rename",
      "old_id": "c2a76f08ff3a05f4879b77585e58fba44c301c80",
      "old_mode": 33188,
      "old_path": "tempest/services/volume/json/volumes_client.py",
      "new_id": "c7302e87a4a149ae6e84c1ba60bada7d1c525e8c",
      "new_mode": 33188,
      "new_path": "tempest/services/volume/base/base_volumes_client.py",
      "score": 98
    },
    {
      "type": "copy",
      "old_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "old_mode": 33188,
      "old_path": "tempest/services/volume/json/__init__.py",
      "new_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "new_mode": 33188,
      "new_path": "tempest/services/volume/v1/__init__.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "old_mode": 33188,
      "old_path": "tempest/services/volume/json/__init__.py",
      "new_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "new_mode": 33188,
      "new_path": "tempest/services/volume/v1/json/__init__.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "old_mode": 33188,
      "old_path": "tempest/services/volume/json/admin/__init__.py",
      "new_id": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
      "new_mode": 33188,
      "new_path": "tempest/services/volume/v1/json/admin/__init__.py",
      "score": 100
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e56446938955f64726c2c9db6822e57d93a5fc85",
      "new_mode": 33188,
      "new_path": "tempest/services/volume/v1/json/admin/volume_hosts_client.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b0dde191d966d1a63fee1d62739c1a81234c8272",
      "new_mode": 33188,
      "new_path": "tempest/services/volume/v1/json/admin/volume_quotas_client.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "00810edf100539046bd49787662f1412d98590ea",
      "new_mode": 33188,
      "new_path": "tempest/services/volume/v1/json/admin/volume_services_client.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "28524d147f00eceb9701044b2b91731054d3f425",
      "new_mode": 33188,
      "new_path": "tempest/services/volume/v1/json/admin/volume_types_client.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d8180fa7540cea04b179b409fed8b03dc350732b",
      "new_mode": 33188,
      "new_path": "tempest/services/volume/v1/json/availability_zone_client.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ac6db6a725f191ff5a674bea09a2fb00f365b192",
      "new_mode": 33188,
      "new_path": "tempest/services/volume/v1/json/backups_client.py"
    },
    {
      "type": "copy",
      "old_id": "d7d3197b3adf535b348934672c4db609871fddcf",
      "old_mode": 33188,
      "old_path": "tempest/services/volume/json/extensions_client.py",
      "new_id": "f99d0f5ee58f0d34725f5b5d448c3d2a86d8b4fb",
      "new_mode": 33188,
      "new_path": "tempest/services/volume/v1/json/extensions_client.py",
      "score": 61
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b2b2195d5c08111dc910e5656660a827b40b169b",
      "new_mode": 33188,
      "new_path": "tempest/services/volume/v1/json/qos_client.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b039c2b83d647a46470e7bff5817c48c01706e15",
      "new_mode": 33188,
      "new_path": "tempest/services/volume/v1/json/snapshots_client.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7782043ec17a3e9f5184603d5a8330b4e0da7df9",
      "new_mode": 33188,
      "new_path": "tempest/services/volume/v1/json/volumes_client.py"
    },
    {
      "type": "modify",
      "old_id": "649c9ec4e10f446696b520abbff480df41df10c2",
      "old_mode": 33188,
      "old_path": "tempest/services/volume/v2/json/admin/volume_hosts_client.py",
      "new_id": "a1d8b61ede33ceb2bba685d77cc2a0e320affed4",
      "new_mode": 33188,
      "new_path": "tempest/services/volume/v2/json/admin/volume_hosts_client.py"
    },
    {
      "type": "modify",
      "old_id": "80fffc71f8e3bb3da3dcf07b17184b29f9040bb8",
      "old_mode": 33188,
      "old_path": "tempest/services/volume/v2/json/admin/volume_quotas_client.py",
      "new_id": "a89ba2f534bbe144aab3d2e5562d92d6fce5ae2e",
      "new_mode": 33188,
      "new_path": "tempest/services/volume/v2/json/admin/volume_quotas_client.py"
    },
    {
      "type": "modify",
      "old_id": "88eb82fa4374f2d7fcd42f5238250c696397d914",
      "old_mode": 33188,
      "old_path": "tempest/services/volume/v2/json/admin/volume_services_client.py",
      "new_id": "da7a4eaa2779e31ae8f36a8c34ae98c02c88c79d",
      "new_mode": 33188,
      "new_path": "tempest/services/volume/v2/json/admin/volume_services_client.py"
    },
    {
      "type": "modify",
      "old_id": "78fe8e58b93052706104581ffb07c067b8d57e3c",
      "old_mode": 33188,
      "old_path": "tempest/services/volume/v2/json/admin/volume_types_client.py",
      "new_id": "d63acf539490dda99ef95712cac71b7336d6f2c4",
      "new_mode": 33188,
      "new_path": "tempest/services/volume/v2/json/admin/volume_types_client.py"
    },
    {
      "type": "modify",
      "old_id": "2e1ab204b752e8601c0c15f84208a015ef5278b7",
      "old_mode": 33188,
      "old_path": "tempest/services/volume/v2/json/availability_zone_client.py",
      "new_id": "a4fc9fe5502345d2179da712a6e56967f4c6e8ff",
      "new_mode": 33188,
      "new_path": "tempest/services/volume/v2/json/availability_zone_client.py"
    },
    {
      "type": "modify",
      "old_id": "8e875051d5aadd87f4738bd4fa19b891ab59e076",
      "old_mode": 33188,
      "old_path": "tempest/services/volume/v2/json/backups_client.py",
      "new_id": "15d363b18aeb670c186e88860217645871fa985d",
      "new_mode": 33188,
      "new_path": "tempest/services/volume/v2/json/backups_client.py"
    },
    {
      "type": "modify",
      "old_id": "3e32c0c37f10b2681ae16fa6e1d1cf473c99d546",
      "old_mode": 33188,
      "old_path": "tempest/services/volume/v2/json/extensions_client.py",
      "new_id": "004b2320928dd5609c8cdd07faface5c08471389",
      "new_mode": 33188,
      "new_path": "tempest/services/volume/v2/json/extensions_client.py"
    },
    {
      "type": "modify",
      "old_id": "42bd1c91898343c4ad2cf033d0bd87bdaa2ba6a0",
      "old_mode": 33188,
      "old_path": "tempest/services/volume/v2/json/qos_client.py",
      "new_id": "e8b680a695e0ada934355aacd2636589b011d526",
      "new_mode": 33188,
      "new_path": "tempest/services/volume/v2/json/qos_client.py"
    },
    {
      "type": "modify",
      "old_id": "a94f9cdaaffa9c4525030ee88bbf819bc0964f19",
      "old_mode": 33188,
      "old_path": "tempest/services/volume/v2/json/snapshots_client.py",
      "new_id": "28a9e98cfcc456501226a334178ea4c8469400cb",
      "new_mode": 33188,
      "new_path": "tempest/services/volume/v2/json/snapshots_client.py"
    },
    {
      "type": "modify",
      "old_id": "a56a7beaf5c61d44913c57383e852aff3b5d5ca5",
      "old_mode": 33188,
      "old_path": "tempest/services/volume/v2/json/volumes_client.py",
      "new_id": "51daa94d7bdc8bd5b51b88245eb5e77e480887db",
      "new_mode": 33188,
      "new_path": "tempest/services/volume/v2/json/volumes_client.py"
    },
    {
      "type": "modify",
      "old_id": "b0706f2c335180bb6f0bfd9c6e089b36e2655728",
      "old_mode": 33188,
      "old_path": "tempest/tests/common/test_service_clients.py",
      "new_id": "272eba4bc787dd77bc91ca8b6a61bdfed776e697",
      "new_mode": 33188,
      "new_path": "tempest/tests/common/test_service_clients.py"
    },
    {
      "type": "modify",
      "old_id": "68a8295c062de01618bab4e7752ccbaeaf2bc486",
      "old_mode": 33188,
      "old_path": "tempest/tests/common/test_waiters.py",
      "new_id": "c7cc63847361636e3c739f1256d39392b26f9152",
      "new_mode": 33188,
      "new_path": "tempest/tests/common/test_waiters.py"
    }
  ]
}
