)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f0517eb49d942312039d5d505954122073cc9b49","unresolved":false,"context_lines":[{"line_number":11,"context_line":"* extend list_instances() to return also defined domains"},{"line_number":12,"context_line":"* adding flag of delete_disks to destroy()"},{"line_number":13,"context_line":"* new api instance_on_disk which checks instance files"},{"line_number":14,"context_line":"  accessibility"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"DocImpact"},{"line_number":17,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAMX%2F%2F1B0%3D","line":14,"updated":"2012-12-13 18:07:34.000000000","message":"I guess I wasn\u0027t clear before, but this is three separate and seemingly unrelated changes. I think those should be different commits, so that the validity of each can be judged without affecting the others.","commit_id":"307ecdc417c97874e99b6b80f32f6cdca94aad3a"}],"nova/virt/driver.py":[{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"714b8e8a201460d124745ad425cbe2c68f39a8ae","unresolved":false,"context_lines":[{"line_number":791,"context_line":"            shared disk files"},{"line_number":792,"context_line":"        \"\"\""},{"line_number":793,"context_line":"        #NOTE(kravchenko-pavel) Currently only used for libvirt driver"},{"line_number":794,"context_line":"        raise NotImplementedError()"},{"line_number":795,"context_line":""},{"line_number":796,"context_line":""},{"line_number":797,"context_line":"def load_compute_driver(virtapi, compute_driver\u003dNone):"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAM3%2F%2F7BE%3D","line":794,"updated":"2012-12-20 18:01:21.000000000","message":"If this is only going to be implemented in the libvirt driver, shouldn\u0027t it be returning False instead of raising NotImplemented ?","commit_id":"b0a12261304e9c82db3ddd6a8353ae9e3fa7addf"},{"author":{"_account_id":1782,"name":"Kravchenko Pavel","email":"kpavel@il.ibm.com","username":"kravchenko-pavel"},"change_message_id":"15cee43d2746dab87456b6abd2da976a5372b36d","unresolved":false,"context_lines":[{"line_number":791,"context_line":"            shared disk files"},{"line_number":792,"context_line":"        \"\"\""},{"line_number":793,"context_line":"        #NOTE(kravchenko-pavel) Currently only used for libvirt driver"},{"line_number":794,"context_line":"        raise NotImplementedError()"},{"line_number":795,"context_line":""},{"line_number":796,"context_line":""},{"line_number":797,"context_line":"def load_compute_driver(virtapi, compute_driver\u003dNone):"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAM3%2F%2F5Zk%3D","line":794,"in_reply_to":"AAAAM3%2F%2F7BE%3D","updated":"2012-12-23 13:18:37.000000000","message":"The rebuild-for-ha patch will initially support only libvirt driver. It is reqiered to raise NotImplemented in case it is been called for other driver.","commit_id":"b0a12261304e9c82db3ddd6a8353ae9e3fa7addf"},{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"c476468c3b3bc8e7152e6fdad5063e138db0dbb3","unresolved":false,"context_lines":[{"line_number":793,"context_line":"            shared disk files"},{"line_number":794,"context_line":"        \"\"\""},{"line_number":795,"context_line":"        #NOTE(kravchenko-pavel) Currently only used for libvirt driver"},{"line_number":796,"context_line":"        raise NotImplementedError()"},{"line_number":797,"context_line":""},{"line_number":798,"context_line":""},{"line_number":799,"context_line":"def load_compute_driver(virtapi, compute_driver\u003dNone):"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAM3%2F%2F0r8%3D","line":796,"updated":"2013-01-03 17:37:08.000000000","message":"I think I prefer something other than not implemented here or at least in the later patch when you call the method to catch the exception. Right now the admin is specifying on_shared_storage anyway, so the check to see if it is valid shouldn\u0027t raise an exception by default. I suppose you could catch the exception and log a warning that the check failed, but it seems like someone running xen or hyperv should be able to use the on_shared_storage version without having to update the code.","commit_id":"6f6cc9bca2b36d0fb2954a2c161c8994a74d18c4"},{"author":{"_account_id":1782,"name":"Kravchenko Pavel","email":"kpavel@il.ibm.com","username":"kravchenko-pavel"},"change_message_id":"777fc3f7c20795909e18f4dbc15d20fcd78a8c11","unresolved":false,"context_lines":[{"line_number":793,"context_line":"            shared disk files"},{"line_number":794,"context_line":"        \"\"\""},{"line_number":795,"context_line":"        #NOTE(kravchenko-pavel) Currently only used for libvirt driver"},{"line_number":796,"context_line":"        raise NotImplementedError()"},{"line_number":797,"context_line":""},{"line_number":798,"context_line":""},{"line_number":799,"context_line":"def load_compute_driver(virtapi, compute_driver\u003dNone):"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAM3%2F%2F0c4%3D","line":796,"in_reply_to":"AAAAM3%2F%2F0r8%3D","updated":"2013-01-03 21:04:42.000000000","message":"In the current implementation rebuild-for-ha supports only libvirt driver. The intention was to raise an exception in case that the rebuild with recreate flag been called for other drivers. When support for other drivers will be added we can remove this exception.","commit_id":"6f6cc9bca2b36d0fb2954a2c161c8994a74d18c4"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"5bd0ca1ecea531fb47d144bcdf3216b0faff50ab","unresolved":false,"context_lines":[{"line_number":787,"context_line":"        the host, False otherwise."},{"line_number":788,"context_line":""},{"line_number":789,"context_line":"        .. note::"},{"line_number":790,"context_line":"            Used in rebuild for HA implementation and requiered for validation"},{"line_number":791,"context_line":"            of access to instance shared disk files"},{"line_number":792,"context_line":"        \"\"\""},{"line_number":793,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAM3%2F%2Fxfo%3D","line":790,"updated":"2013-01-06 05:39:08.000000000","message":"required","commit_id":"1d0d6e51bf5563589e840e895a4283d2ee050a7c"},{"author":{"_account_id":1782,"name":"Kravchenko Pavel","email":"kpavel@il.ibm.com","username":"kravchenko-pavel"},"change_message_id":"f9918ba343eea4bdd10c1e2619d1661d4569a373","unresolved":false,"context_lines":[{"line_number":787,"context_line":"        the host, False otherwise."},{"line_number":788,"context_line":""},{"line_number":789,"context_line":"        .. note::"},{"line_number":790,"context_line":"            Used in rebuild for HA implementation and requiered for validation"},{"line_number":791,"context_line":"            of access to instance shared disk files"},{"line_number":792,"context_line":"        \"\"\""},{"line_number":793,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAM3%2F%2FxdU%3D","line":790,"in_reply_to":"AAAAM3%2F%2Fxfo%3D","updated":"2013-01-06 11:20:50.000000000","message":"Done","commit_id":"1d0d6e51bf5563589e840e895a4283d2ee050a7c"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"5bd0ca1ecea531fb47d144bcdf3216b0faff50ab","unresolved":false,"context_lines":[{"line_number":790,"context_line":"            Used in rebuild for HA implementation and requiered for validation"},{"line_number":791,"context_line":"            of access to instance shared disk files"},{"line_number":792,"context_line":"        \"\"\""},{"line_number":793,"context_line":"        return False"},{"line_number":794,"context_line":""},{"line_number":795,"context_line":""},{"line_number":796,"context_line":"def load_compute_driver(virtapi, compute_driver\u003dNone):"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAM3%2F%2Fxfk%3D","line":793,"updated":"2013-01-06 05:39:08.000000000","message":"I\u0027m confused by why this always returns false. Can you explain the side effects of drivers who don\u0027t override this always returning false?","commit_id":"1d0d6e51bf5563589e840e895a4283d2ee050a7c"},{"author":{"_account_id":1782,"name":"Kravchenko Pavel","email":"kpavel@il.ibm.com","username":"kravchenko-pavel"},"change_message_id":"f9918ba343eea4bdd10c1e2619d1661d4569a373","unresolved":false,"context_lines":[{"line_number":790,"context_line":"            Used in rebuild for HA implementation and requiered for validation"},{"line_number":791,"context_line":"            of access to instance shared disk files"},{"line_number":792,"context_line":"        \"\"\""},{"line_number":793,"context_line":"        return False"},{"line_number":794,"context_line":""},{"line_number":795,"context_line":""},{"line_number":796,"context_line":"def load_compute_driver(virtapi, compute_driver\u003dNone):"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAM3%2F%2Fxc4%3D","line":793,"in_reply_to":"AAAAM3%2F%2Fxfk%3D","updated":"2013-01-06 11:20:50.000000000","message":"In the implementation of rebuild-for-ha in manager this will be called only for drivers having \"supports_recreate\" in their capabilities (which is currently will be only libvirt) . It\u0027s in the next patch. Maybe i understood it wrong from Vish, but it was preferred to return here False instead of throwing NotImplemented for other drivers.","commit_id":"1d0d6e51bf5563589e840e895a4283d2ee050a7c"}],"nova/virt/fake.py":[{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"5bd0ca1ecea531fb47d144bcdf3216b0faff50ab","unresolved":false,"context_lines":[{"line_number":395,"context_line":"        return _FAKE_NODES"},{"line_number":396,"context_line":""},{"line_number":397,"context_line":"    def instance_on_disk(self, instance):"},{"line_number":398,"context_line":"        pass"},{"line_number":399,"context_line":""},{"line_number":400,"context_line":""},{"line_number":401,"context_line":"class FakeVirtAPI(virtapi.VirtAPI):"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAM3%2F%2Fxfg%3D","line":398,"updated":"2013-01-06 05:39:08.000000000","message":"Why is this returning None?","commit_id":"1d0d6e51bf5563589e840e895a4283d2ee050a7c"},{"author":{"_account_id":1782,"name":"Kravchenko Pavel","email":"kpavel@il.ibm.com","username":"kravchenko-pavel"},"change_message_id":"f9918ba343eea4bdd10c1e2619d1661d4569a373","unresolved":false,"context_lines":[{"line_number":395,"context_line":"        return _FAKE_NODES"},{"line_number":396,"context_line":""},{"line_number":397,"context_line":"    def instance_on_disk(self, instance):"},{"line_number":398,"context_line":"        pass"},{"line_number":399,"context_line":""},{"line_number":400,"context_line":""},{"line_number":401,"context_line":"class FakeVirtAPI(virtapi.VirtAPI):"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAM3%2F%2FxdY%3D","line":398,"in_reply_to":"AAAAM3%2F%2Fxfg%3D","updated":"2013-01-06 11:20:50.000000000","message":"Changed to return False","commit_id":"1d0d6e51bf5563589e840e895a4283d2ee050a7c"}],"nova/virt/hyperv/driver.py":[{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"e4fb7526a57db90385d98ea3c83ea4be1d7f0d14","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        self._vmops.reboot(instance, network_info, reboot_type)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    def destroy(self, instance, network_info\u003dNone, cleanup\u003dTrue,"},{"line_number":102,"context_line":"                destroy_disks\u003dTrue):"},{"line_number":103,"context_line":"        self._vmops.destroy(instance, network_info, cleanup)"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    def get_info(self, instance):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAMX%2F%2F1Aw%3D","line":102,"updated":"2012-12-13 18:20:13.000000000","message":"Should this method raise an error if the caller requests \u0027destroy_disks\u003dFalse\u0027, given that you won\u0027t honour the request to keep the disks around. Likewise for all the other virt drivers where you stubbed this out.","commit_id":"307ecdc417c97874e99b6b80f32f6cdca94aad3a"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f0517eb49d942312039d5d505954122073cc9b49","unresolved":false,"context_lines":[{"line_number":557,"context_line":"                        locals(), instance\u003dinstance)"},{"line_number":558,"context_line":"            reason \u003d \"Error unfiltering instance.\""},{"line_number":559,"context_line":"            raise exception.InstanceTerminationFailure(reason\u003dreason)"},{"line_number":560,"context_line":""},{"line_number":561,"context_line":"        # NOTE(vish): we disconnect from volumes regardless"},{"line_number":562,"context_line":"        block_device_mapping \u003d driver.block_device_info_get_mapping("},{"line_number":563,"context_line":"            block_device_info)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAMX%2F%2F1Ck%3D","side":"PARENT","line":560,"updated":"2012-12-13 18:07:34.000000000","message":"Please don\u0027t change random whitespace.","commit_id":"be12f8b785f8bc95176128f68ac80af64789c1f7"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f0517eb49d942312039d5d505954122073cc9b49","unresolved":false,"context_lines":[{"line_number":450,"context_line":""},{"line_number":451,"context_line":"        # extend instance list to contain also defined domains"},{"line_number":452,"context_line":"        names.extend([vm for vm in self._conn.listDefinedDomains()"},{"line_number":453,"context_line":"                    if vm not in names])"},{"line_number":454,"context_line":""},{"line_number":455,"context_line":"        return names"},{"line_number":456,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAMX%2F%2F1Bo%3D","line":453,"updated":"2012-12-13 18:07:34.000000000","message":"This is a change in the behavior of the driver, right? Doesn\u0027t this impact other things? Instances can be STOPPED and powered off, right? Seems like the instance_on_disk() returning True and the instance being in the database is equivalent to it being defined but not running in libvirt, right?","commit_id":"307ecdc417c97874e99b6b80f32f6cdca94aad3a"},{"author":{"_account_id":1782,"name":"Kravchenko Pavel","email":"kpavel@il.ibm.com","username":"kravchenko-pavel"},"change_message_id":"0ed2b8a870af551395513fa7d49dede4620ddd13","unresolved":false,"context_lines":[{"line_number":450,"context_line":""},{"line_number":451,"context_line":"        # extend instance list to contain also defined domains"},{"line_number":452,"context_line":"        names.extend([vm for vm in self._conn.listDefinedDomains()"},{"line_number":453,"context_line":"                    if vm not in names])"},{"line_number":454,"context_line":""},{"line_number":455,"context_line":"        return names"},{"line_number":456,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAMX%2F%2F09U%3D","line":453,"in_reply_to":"AAAAMX%2F%2F1BA%3D","updated":"2012-12-13 19:00:44.000000000","message":"inactive flag sounds good, although i\u0027m not sure that it\u0027s generic enough for other drivers.","commit_id":"307ecdc417c97874e99b6b80f32f6cdca94aad3a"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"e4fb7526a57db90385d98ea3c83ea4be1d7f0d14","unresolved":false,"context_lines":[{"line_number":450,"context_line":""},{"line_number":451,"context_line":"        # extend instance list to contain also defined domains"},{"line_number":452,"context_line":"        names.extend([vm for vm in self._conn.listDefinedDomains()"},{"line_number":453,"context_line":"                    if vm not in names])"},{"line_number":454,"context_line":""},{"line_number":455,"context_line":"        return names"},{"line_number":456,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAMX%2F%2F1BA%3D","line":453,"in_reply_to":"AAAAMX%2F%2F1Bo%3D","updated":"2012-12-13 18:20:13.000000000","message":"Yep, this is a change in behaviour of the \u0027list_instances\u0027 method. I wonder if it could upset code that this method now returns  inactive VMs, as well as running VMs. I wouldn\u0027t be surprised if it did.\n\nPerhaps we need to add a param \"inactive\u003dFalse\" to the list_instances() method to allow callers to opt-in to getting inactive instances. Or even have a completely separate method for listing them","commit_id":"307ecdc417c97874e99b6b80f32f6cdca94aad3a"},{"author":{"_account_id":1782,"name":"Kravchenko Pavel","email":"kpavel@il.ibm.com","username":"kravchenko-pavel"},"change_message_id":"0ed2b8a870af551395513fa7d49dede4620ddd13","unresolved":false,"context_lines":[{"line_number":450,"context_line":""},{"line_number":451,"context_line":"        # extend instance list to contain also defined domains"},{"line_number":452,"context_line":"        names.extend([vm for vm in self._conn.listDefinedDomains()"},{"line_number":453,"context_line":"                    if vm not in names])"},{"line_number":454,"context_line":""},{"line_number":455,"context_line":"        return names"},{"line_number":456,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAMX%2F%2F09c%3D","line":453,"in_reply_to":"AAAAMX%2F%2F1Bo%3D","updated":"2012-12-13 19:00:44.000000000","message":"Yes, i think it\u0027s a fix of the wrong behavior of the driver, couldn\u0027t find yet where it can affect other things.\n\nNot exactly:\ninstance_on_disk indicates that instance files are accessible from the current compute, but it doesn\u0027t meen that it is running on this host.\n\nwhen compute service starts, instances in libvirt can be in unknown states, stopped/running...etc. during init_host service checks with db what is the correct power state for the vm (during init_instance), but in the case of evacuate we need to check against db that all (including defined) machines stil related to this host (to prevent machine to be started on two hosts)","commit_id":"307ecdc417c97874e99b6b80f32f6cdca94aad3a"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f0517eb49d942312039d5d505954122073cc9b49","unresolved":false,"context_lines":[{"line_number":593,"context_line":"                                \"%(target)s: %(e)s\") % locals())"},{"line_number":594,"context_line":""},{"line_number":595,"context_line":"                #NOTE(bfilippov): destroy all LVM disks for this instance"},{"line_number":596,"context_line":"                self._cleanup_lvm(instance)"},{"line_number":597,"context_line":""},{"line_number":598,"context_line":"    def _cleanup_lvm(self, instance):"},{"line_number":599,"context_line":"        \"\"\"Delete all LVM disks for given instance object\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAMX%2F%2F1CA%3D","line":596,"updated":"2012-12-13 18:07:34.000000000","message":"I\u0027m not sure I understand why this is necessary for rebuild-ha. Is it because you use instance_on_disk() to determine whether you can/should restart it here or something? Isn\u0027t that something you could/should keep track of elsewhere?","commit_id":"307ecdc417c97874e99b6b80f32f6cdca94aad3a"},{"author":{"_account_id":1782,"name":"Kravchenko Pavel","email":"kpavel@il.ibm.com","username":"kravchenko-pavel"},"change_message_id":"0ed2b8a870af551395513fa7d49dede4620ddd13","unresolved":false,"context_lines":[{"line_number":593,"context_line":"                                \"%(target)s: %(e)s\") % locals())"},{"line_number":594,"context_line":""},{"line_number":595,"context_line":"                #NOTE(bfilippov): destroy all LVM disks for this instance"},{"line_number":596,"context_line":"                self._cleanup_lvm(instance)"},{"line_number":597,"context_line":""},{"line_number":598,"context_line":"    def _cleanup_lvm(self, instance):"},{"line_number":599,"context_line":"        \"\"\"Delete all LVM disks for given instance object\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAMX%2F%2F084%3D","line":596,"in_reply_to":"AAAAMX%2F%2F1CA%3D","updated":"2012-12-13 19:00:44.000000000","message":"Using rebuild-for-ha if host_A fails, admin has an option to rebuild the machine on host_B. When he restarts host_A, he doesn\u0027t want that machine will be started on it or even exist as \"defined\" in libvirt. During compute startup in host_init() we synchronyze instance host from db with local instances and decide whether destroy them or not. In case it is already running on host_B we want to destroy it, but we don\u0027t want to delete the disks because rebuilded machine already running from those disks on host_B.","commit_id":"307ecdc417c97874e99b6b80f32f6cdca94aad3a"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f0517eb49d942312039d5d505954122073cc9b49","unresolved":false,"context_lines":[{"line_number":3097,"context_line":"        if os.path.exists(instance_location):"},{"line_number":3098,"context_line":"            write_check \u003d os.path.join(instance_location,"},{"line_number":3099,"context_line":"                                       \u0027_write_access_check.check\u0027)"},{"line_number":3100,"context_line":"            open(write_check, \u0027w\u0027).close()"},{"line_number":3101,"context_line":"            if os.path.exists(write_check):"},{"line_number":3102,"context_line":"                os.remove(write_check)"},{"line_number":3103,"context_line":"                return True"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAMX%2F%2F1CQ%3D","line":3100,"updated":"2012-12-13 18:07:34.000000000","message":"Why not use os.access() on the directory?","commit_id":"307ecdc417c97874e99b6b80f32f6cdca94aad3a"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f0517eb49d942312039d5d505954122073cc9b49","unresolved":false,"context_lines":[{"line_number":3100,"context_line":"            open(write_check, \u0027w\u0027).close()"},{"line_number":3101,"context_line":"            if os.path.exists(write_check):"},{"line_number":3102,"context_line":"                os.remove(write_check)"},{"line_number":3103,"context_line":"                return True"},{"line_number":3104,"context_line":""},{"line_number":3105,"context_line":"        return False"},{"line_number":3106,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAMX%2F%2F1CM%3D","line":3103,"updated":"2012-12-13 18:07:34.000000000","message":"This seems to imply that the instance is present on disk just because the directory exists. Couldn\u0027t I fool this by creating an empty directory?","commit_id":"307ecdc417c97874e99b6b80f32f6cdca94aad3a"},{"author":{"_account_id":1782,"name":"Kravchenko Pavel","email":"kpavel@il.ibm.com","username":"kravchenko-pavel"},"change_message_id":"0ed2b8a870af551395513fa7d49dede4620ddd13","unresolved":false,"context_lines":[{"line_number":3100,"context_line":"            open(write_check, \u0027w\u0027).close()"},{"line_number":3101,"context_line":"            if os.path.exists(write_check):"},{"line_number":3102,"context_line":"                os.remove(write_check)"},{"line_number":3103,"context_line":"                return True"},{"line_number":3104,"context_line":""},{"line_number":3105,"context_line":"        return False"},{"line_number":3106,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAMX%2F%2F08g%3D","line":3103,"in_reply_to":"AAAAMX%2F%2F1CM%3D","updated":"2012-12-13 19:00:44.000000000","message":"Actually it tests that only it\u0027s directory is accessible. In the rebuild-for-ha  scenario in order to rebuild instance from the existing disks we need to check that it\u0027s disks are accessible from the host the instance evacuated to.","commit_id":"307ecdc417c97874e99b6b80f32f6cdca94aad3a"}]}
