)]}'
{
  "commit": "4894a91ac2ed8d5f7cf345efd3b7d9b3cd67dd4e",
  "tree": "7645c8d74ce8900aeefdc590d50f69bd8b8299c3",
  "parents": [
    "5988b528c2fcb455fa89808f39089c21ee4b1f30"
  ],
  "author": {
    "name": "Evgeny Antyshev",
    "email": "eantyshev@virtuozzo.com",
    "time": "Mon Nov 21 12:17:18 2016 +0000"
  },
  "committer": {
    "name": "Evgeny Antyshev",
    "email": "eantyshev@virtuozzo.com",
    "time": "Tue Nov 22 14:11:35 2016 +0000"
  },
  "message": "Make get_partitions() work for partitioned disks\n\nIn general case, attached disks could be partitioned,\nand this leads to multiple records in /proc/partitions,\nfor my laptop which is:\nevgeny@eantyshev2:~$ cat /proc/partitions\nmajor minor  #blocks  name\n\n   8        0  125034840 sda\n   8        1     524288 sda1\n   8        2     249856 sda2\n   8        3  124259328 sda3\n   8       16  976762584 sdb\n  11        0    1048575 sr0\n 252        0 1084366848 dm-0\n 252        1   16650240 dm-1\n\nQEMU adds block devices as unpartitioned disks, so that\nwe have 1 disk \u003c-\u003e 1 partition match. But this is just\nan implementation specific coincidence.\nBecause the attached disk can have GPT table\nand a primary partition covering available disk space, and in this\ncase it would mean 2 extra devices.\n\nNamely, to run Tempest on Virtuozzo containers, we should allow for\npartitioned disks attached.\n\nCT-f9e98104 /# cat /proc/partitions\nmajor minor  #blocks  name\n\n 182   686608    2097152 ploop42913\n 182   686609    2095104 ploop42913p1\n 182   506688    1048576 ploop31668\n 182   506689    1046528 ploop31668p1\n\nHere we see 2 devices for each disk: root disk block device ploop31668,\nand partition block device ploop31668p1. We only want to see\nroot device for each disk, not the partition ones, or\nsome testcases don\u0027t work\n(test_verify_created_server_ephemeral_disk naturally expects\ndevice appearance of 1 extra device).\n\nChange-Id: Icd0043b661c41a51acf62cc07cb80c2e9bae56d4\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2f43157f77305341d5d5ad0483d63328a4a7b58d",
      "old_mode": 33188,
      "old_path": "tempest/api/compute/servers/test_create_server.py",
      "new_id": "a05cb89f00e264aa4238d1e81fda26adef7db997",
      "new_mode": 33188,
      "new_path": "tempest/api/compute/servers/test_create_server.py"
    },
    {
      "type": "modify",
      "old_id": "d4831b155e9cafdb70728df55075b9e74b12e453",
      "old_mode": 33188,
      "old_path": "tempest/api/compute/volumes/test_attach_volume.py",
      "new_id": "4ba9c5e47557a8d4897c87c8225f1f25527c730f",
      "new_mode": 33188,
      "new_path": "tempest/api/compute/volumes/test_attach_volume.py"
    },
    {
      "type": "modify",
      "old_id": "9ec217f9c996ee5d7d4034c8b54f06fe7c7ef0e7",
      "old_mode": 33188,
      "old_path": "tempest/common/utils/linux/remote_client.py",
      "new_id": "d8993bbf0e0fd88d1b1bd3017e5cb9e59222492b",
      "new_mode": 33188,
      "new_path": "tempest/common/utils/linux/remote_client.py"
    },
    {
      "type": "modify",
      "old_id": "3ac67597871c808cd1e4f575599e4b27bccdcb19",
      "old_mode": 33188,
      "old_path": "tempest/scenario/test_minimum_basic.py",
      "new_id": "bf52211fe7d9830ac6269993bbe8f5662dbfe04b",
      "new_mode": 33188,
      "new_path": "tempest/scenario/test_minimum_basic.py"
    },
    {
      "type": "modify",
      "old_id": "0f2c78c974a15d748df14f6630fe7a26795fc0f7",
      "old_mode": 33188,
      "old_path": "tempest/scenario/test_stamp_pattern.py",
      "new_id": "dff00e760aee667e80001f0b8b8c84ad6048e220",
      "new_mode": 33188,
      "new_path": "tempest/scenario/test_stamp_pattern.py"
    },
    {
      "type": "modify",
      "old_id": "e59e08f52282aa85ef3f3d81f87d9e0ada5bf4d4",
      "old_mode": 33188,
      "old_path": "tempest/tests/common/utils/linux/test_remote_client.py",
      "new_id": "e4f4c041bd0ed64f72a0906b4877d6d062e59912",
      "new_mode": 33188,
      "new_path": "tempest/tests/common/utils/linux/test_remote_client.py"
    }
  ]
}
