def get_device_path(self, blockdevice_id):
        ebs_volume = self._get_ebs_volume(blockdevice_id)
        volume = _blockdevicevolume_from_ebs_volume(ebs_volume)
        if not volume.attached_to:
            raise UnattachedVolume(blockdevice_id)

        compute_instance_id = self.compute_instance_id()
        if volume.attached_to != compute_instance_id:
            # This is untested.  See FLOC-2453.
            raise Exception(
                "Volume is attached to {}, not to {}".format(
                    volume.attached_to, compute_instance_id
                )
            )

        return _expected_device(ebs_volume.attachments[0]['Device'])

    # ICloudAPI:
This is basically the same as above, but separated to be
dataset/ETHPy150Open ClusterHQ/flocker/flocker/node/agents/ebs.py/EBSBlockDeviceAPI.get_device_path--crossover with--dataset/ETHPy150Open dimagi/commcare-hq/corehq/apps/commtrack/tests/test_xml.py/CommTrackBalanceTransferTest.test_archived_product_submissions