)]}'
{".testr.conf":[{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"22c3d43f7e70152d84eefebf47fc9d7c934d4b6e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[DEFAULT]"},{"line_number":2,"context_line":"test_command\u003dOS_STDOUT_CAPTURE\u003d${OS_STDOUT_CAPTURE:-1} \\"},{"line_number":3,"context_line":"             OS_STDERR_CAPTURE\u003d${OS_STDERR_CAPTURE:-1} \\"},{"line_number":4,"context_line":"             OS_TEST_TIMEOUT\u003d${OS_TEST_TIMEOUT:-1200} \\"},{"line_number":5,"context_line":"             OS_TEST_LOCK_PATH\u003d${OS_TEST_LOCK_PATH:-${TMPDIR:-\u0027/tmp\u0027}} \\"},{"line_number":6,"context_line":"             ${PYTHON:-python} -m subunit.run discover -t ${OS_TOP_LEVEL:-./} ${OS_TEST_PATH:-./tempest/test_discover} $LISTOPT $IDOPTION"},{"line_number":7,"context_line":"test_id_option\u003d--load-list $IDFILE"}],"source_content_type":"text/plain","patch_set":9,"id":"bab6814e_ceb8f477","line":4,"updated":"2016-05-22 22:27:31.000000000","message":"Not sure if we want to change the timeout value for everyone to make Ironic work.","commit_id":"fd0eb6cc41e9efe5bcee4e85f98a0ed60ade9906"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"fcec83fc7ec0a4aa226eac39bb197baea42cab44","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[DEFAULT]"},{"line_number":2,"context_line":"test_command\u003dOS_STDOUT_CAPTURE\u003d${OS_STDOUT_CAPTURE:-1} \\"},{"line_number":3,"context_line":"             OS_STDERR_CAPTURE\u003d${OS_STDERR_CAPTURE:-1} \\"},{"line_number":4,"context_line":"             OS_TEST_TIMEOUT\u003d${OS_TEST_TIMEOUT:-1200} \\"},{"line_number":5,"context_line":"             OS_TEST_LOCK_PATH\u003d${OS_TEST_LOCK_PATH:-${TMPDIR:-\u0027/tmp\u0027}} \\"},{"line_number":6,"context_line":"             ${PYTHON:-python} -m subunit.run discover -t ${OS_TOP_LEVEL:-./} ${OS_TEST_PATH:-./tempest/test_discover} $LISTOPT $IDOPTION"},{"line_number":7,"context_line":"test_id_option\u003d--load-list $IDFILE"}],"source_content_type":"text/plain","patch_set":9,"id":"bab6814e_441b3c81","line":4,"in_reply_to":"bab6814e_ceb8f477","updated":"2016-05-23 09:58:11.000000000","message":"It is set temporary, until we find a way how to pass this variable to grenade job.\nProbably it should work.\nhttps://review.openstack.org/#/c/316662","commit_id":"fd0eb6cc41e9efe5bcee4e85f98a0ed60ade9906"}],"tempest/api/compute/base.py":[{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"71fd980a298fc69b6833898556c62b0feda37b88","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    @classmethod"},{"line_number":59,"context_line":"    def setup_credentials(cls):"},{"line_number":60,"context_line":"        if CONF.baremetal.driver_enabled:"},{"line_number":61,"context_line":"            cls.credentials.append(\u0027admin\u0027)"},{"line_number":62,"context_line":"        cls.set_network_resources()"},{"line_number":63,"context_line":"        super(BaseV2ComputeTest, cls).setup_credentials()"},{"line_number":64,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"bab6814e_e7fcefb9","line":61,"range":{"start_line":60,"start_character":8,"end_line":61,"end_character":43},"updated":"2016-05-23 09:18:57.000000000","message":"This looks ok, but it has one gotcha: skip checks is the method that normally checks if admin credentials are available, and when skip checks run \u0027admin\u0027 is not in the list yet.\n\nI think it\u0027s clearer to have the admin creds added in setup_credentials as you did, but you will have to repeat the check for admin availability, like in http://git.openstack.org/cgit/openstack/tempest/tree/tempest/test.py#n334","commit_id":"4103869ac70ccad8d1dd92f3ca37e63756a92589"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"180d4818a597ca6a6952a6f9baad55efd1f971a8","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    @classmethod"},{"line_number":59,"context_line":"    def setup_credentials(cls):"},{"line_number":60,"context_line":"        if CONF.baremetal.driver_enabled:"},{"line_number":61,"context_line":"            cls.credentials.append(\u0027admin\u0027)"},{"line_number":62,"context_line":"        cls.set_network_resources()"},{"line_number":63,"context_line":"        super(BaseV2ComputeTest, cls).setup_credentials()"},{"line_number":64,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"bab6814e_8f9bbc17","line":61,"range":{"start_line":60,"start_character":8,"end_line":61,"end_character":43},"in_reply_to":"bab6814e_e7fcefb9","updated":"2016-05-26 09:47:17.000000000","message":"Andrea, thanks for review. I don\u0027t understand what problems this change introduce?","commit_id":"4103869ac70ccad8d1dd92f3ca37e63756a92589"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"72874bc962fc35eaecb047e671112630fc7c8092","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    @classmethod"},{"line_number":59,"context_line":"    def setup_credentials(cls):"},{"line_number":60,"context_line":"        if CONF.baremetal.driver_enabled:"},{"line_number":61,"context_line":"            cls.credentials.append(\u0027admin\u0027)"},{"line_number":62,"context_line":"        cls.set_network_resources()"},{"line_number":63,"context_line":"        super(BaseV2ComputeTest, cls).setup_credentials()"}],"source_content_type":"text/x-python","patch_set":12,"id":"bab6814e_3040c835","line":60,"updated":"2016-05-23 18:59:32.000000000","message":"I think should respond to Andrea\u0027s review in revision 10\n\n https://review.openstack.org/#/c/315422/10..12/tempest/api/compute/base.py","commit_id":"0d1c543791e71b7702fad72d4ebab43905786487"}],"tempest/api/compute/servers/test_create_server.py":[{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"cd54751d01d92944176196bbcb7ff4a2616ddc6e","unresolved":false,"context_lines":[{"line_number":359,"context_line":"    @classmethod"},{"line_number":360,"context_line":"    def skip_checks(cls):"},{"line_number":361,"context_line":"        super(ServersTestManualDisk, cls).skip_checks()"},{"line_number":362,"context_line":"        if not CONF.compute_feature_enabled.disk_config:"},{"line_number":363,"context_line":"            msg \u003d \"DiskConfig extension not enabled.\""},{"line_number":364,"context_line":"            raise cls.skipException(msg)"},{"line_number":365,"context_line":"        if CONF.baremetal.driver_enabled:"}],"source_content_type":"text/x-python","patch_set":13,"id":"bab6814e_5b632fb1","line":362,"updated":"2016-05-26 21:16:13.000000000","message":"Just set this false if ironic is used","commit_id":"e3a2df95a2bfd92019523aeac9fa87c5d1778305"}],"tempest/api/compute/servers/test_disk_config.py":[{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"b5a778b2b4695ff21a83c513e470f7ac93e3959a","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        if not CONF.compute_feature_enabled.disk_config:"},{"line_number":32,"context_line":"            msg \u003d \"DiskConfig extension not enabled.\""},{"line_number":33,"context_line":"            raise cls.skipException(msg)"},{"line_number":34,"context_line":"        if CONF.baremetal.driver_enabled:"},{"line_number":35,"context_line":"            msg \u003d \"Ironic does not use diskConfig\""},{"line_number":36,"context_line":"            raise cls.skipException(msg)"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_4ba30650","line":34,"updated":"2016-05-12 14:08:20.000000000","message":"No smoke tests here, can be omitted.","commit_id":"26d772dc0bb60170e368a33199427bc9d319451c"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"3df6c1de70979cfeeb7f2f941d071d40dd3c5dd3","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        if not CONF.compute_feature_enabled.disk_config:"},{"line_number":32,"context_line":"            msg \u003d \"DiskConfig extension not enabled.\""},{"line_number":33,"context_line":"            raise cls.skipException(msg)"},{"line_number":34,"context_line":"        if CONF.baremetal.driver_enabled:"},{"line_number":35,"context_line":"            msg \u003d \"Ironic does not use diskConfig\""},{"line_number":36,"context_line":"            raise cls.skipException(msg)"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_d7e67943","line":34,"in_reply_to":"dab17558_4ba30650","updated":"2016-05-13 06:21:07.000000000","message":"Done","commit_id":"26d772dc0bb60170e368a33199427bc9d319451c"}],"tempest/api/telemetry/base.py":[{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"b5a778b2b4695ff21a83c513e470f7ac93e3959a","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    @classmethod"},{"line_number":42,"context_line":"    def setup_credentials(cls):"},{"line_number":43,"context_line":"        if CONF.baremetal.driver_enabled:"},{"line_number":44,"context_line":"            cls.credentials.append(\u0027admin\u0027)"},{"line_number":45,"context_line":"        cls.set_network_resources()"},{"line_number":46,"context_line":"        super(BaseTelemetryTest, cls).setup_credentials()"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_6b6c0a09","line":44,"updated":"2016-05-12 14:08:20.000000000","message":"It seems that ceilometer is not enabled by default now, so maybe can be omitted too.","commit_id":"26d772dc0bb60170e368a33199427bc9d319451c"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"3df6c1de70979cfeeb7f2f941d071d40dd3c5dd3","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    @classmethod"},{"line_number":42,"context_line":"    def setup_credentials(cls):"},{"line_number":43,"context_line":"        if CONF.baremetal.driver_enabled:"},{"line_number":44,"context_line":"            cls.credentials.append(\u0027admin\u0027)"},{"line_number":45,"context_line":"        cls.set_network_resources()"},{"line_number":46,"context_line":"        super(BaseTelemetryTest, cls).setup_credentials()"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_375c25ed","line":44,"in_reply_to":"dab17558_6b6c0a09","updated":"2016-05-13 06:21:07.000000000","message":"Done","commit_id":"26d772dc0bb60170e368a33199427bc9d319451c"}],"tempest/common/baremetal.py":[{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"22c3d43f7e70152d84eefebf47fc9d7c934d4b6e","unresolved":false,"context_lines":[{"line_number":17,"context_line":"CONF \u003d config.CONF"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"def bm_node_state_timeout(baremetal_client, node_id, state_attr,"},{"line_number":21,"context_line":"                          target_states, timeout\u003d10, interval\u003d1):"},{"line_number":22,"context_line":"    if not isinstance(target_states, list):"},{"line_number":23,"context_line":"        target_states \u003d [target_states]"}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_0e767cd6","line":20,"updated":"2016-05-22 22:27:31.000000000","message":"Docstring please","commit_id":"fd0eb6cc41e9efe5bcee4e85f98a0ed60ade9906"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"fcec83fc7ec0a4aa226eac39bb197baea42cab44","unresolved":false,"context_lines":[{"line_number":17,"context_line":"CONF \u003d config.CONF"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"def bm_node_state_timeout(baremetal_client, node_id, state_attr,"},{"line_number":21,"context_line":"                          target_states, timeout\u003d10, interval\u003d1):"},{"line_number":22,"context_line":"    if not isinstance(target_states, list):"},{"line_number":23,"context_line":"        target_states \u003d [target_states]"}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_bffb1178","line":20,"in_reply_to":"bab6814e_0e767cd6","updated":"2016-05-23 09:58:11.000000000","message":"Done","commit_id":"fd0eb6cc41e9efe5bcee4e85f98a0ed60ade9906"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"22c3d43f7e70152d84eefebf47fc9d7c934d4b6e","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        raise exceptions.TimeoutException(msg)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def wait_bm_node_unprovisioned(baremetal_client, node_id):"},{"line_number":39,"context_line":"    \"\"\"Waits for a node to be unprovisioned.\"\"\""},{"line_number":40,"context_line":"    if not node_id:"},{"line_number":41,"context_line":"        return"}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_ce6f54fa","line":38,"updated":"2016-05-22 22:27:31.000000000","message":"Docstring please","commit_id":"fd0eb6cc41e9efe5bcee4e85f98a0ed60ade9906"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"fcec83fc7ec0a4aa226eac39bb197baea42cab44","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        raise exceptions.TimeoutException(msg)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def wait_bm_node_unprovisioned(baremetal_client, node_id):"},{"line_number":39,"context_line":"    \"\"\"Waits for a node to be unprovisioned.\"\"\""},{"line_number":40,"context_line":"    if not node_id:"},{"line_number":41,"context_line":"        return"}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_9ff60d8d","line":38,"in_reply_to":"bab6814e_ce6f54fa","updated":"2016-05-23 09:58:11.000000000","message":"Done","commit_id":"fd0eb6cc41e9efe5bcee4e85f98a0ed60ade9906"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"22c3d43f7e70152d84eefebf47fc9d7c934d4b6e","unresolved":false,"context_lines":[{"line_number":55,"context_line":"            return body[\u0027nodes\u0027][0]"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"def wait_bm_node_unprovisioned_partial(baremetal_client):"},{"line_number":59,"context_line":"    def inner(node_id):"},{"line_number":60,"context_line":"        wait_bm_node_unprovisioned(baremetal_client, node_id)"},{"line_number":61,"context_line":"    return inner"}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_ee6cd809","line":58,"updated":"2016-05-22 22:27:31.000000000","message":"Docstring please.","commit_id":"fd0eb6cc41e9efe5bcee4e85f98a0ed60ade9906"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"fcec83fc7ec0a4aa226eac39bb197baea42cab44","unresolved":false,"context_lines":[{"line_number":55,"context_line":"            return body[\u0027nodes\u0027][0]"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"def wait_bm_node_unprovisioned_partial(baremetal_client):"},{"line_number":59,"context_line":"    def inner(node_id):"},{"line_number":60,"context_line":"        wait_bm_node_unprovisioned(baremetal_client, node_id)"},{"line_number":61,"context_line":"    return inner"}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_ff48f9cd","line":58,"in_reply_to":"bab6814e_ee6cd809","updated":"2016-05-23 09:58:11.000000000","message":"This method is unsed.","commit_id":"fd0eb6cc41e9efe5bcee4e85f98a0ed60ade9906"}],"tempest/common/waiters.py":[{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"b5a778b2b4695ff21a83c513e470f7ac93e3959a","unresolved":false,"context_lines":[{"line_number":234,"context_line":""},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"def wait_for_bm_hypervisor(client, node_id):"},{"line_number":237,"context_line":"    hypervisor_id \u003d client.search_hypervisor(node_id)[\u0027hypervisors\u0027][0][\u0027id\u0027]"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"    def _check_hypervisor_status():"},{"line_number":240,"context_line":"        hp_detail \u003d client.show_hypervisor(hypervisor_id)[\u0027hypervisor\u0027]"}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_0b861e65","line":237,"updated":"2016-05-12 14:08:20.000000000","message":"We should have some exception handling here (e.g. another test deleted this node in a parallel run for some reason)","commit_id":"26d772dc0bb60170e368a33199427bc9d319451c"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"3df6c1de70979cfeeb7f2f941d071d40dd3c5dd3","unresolved":false,"context_lines":[{"line_number":234,"context_line":""},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"def wait_for_bm_hypervisor(client, node_id):"},{"line_number":237,"context_line":"    hypervisor_id \u003d client.search_hypervisor(node_id)[\u0027hypervisors\u0027][0][\u0027id\u0027]"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"    def _check_hypervisor_status():"},{"line_number":240,"context_line":"        hp_detail \u003d client.show_hypervisor(hypervisor_id)[\u0027hypervisor\u0027]"}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_dd083c30","line":237,"in_reply_to":"dab17558_0b861e65","updated":"2016-05-13 06:21:07.000000000","message":"Done","commit_id":"26d772dc0bb60170e368a33199427bc9d319451c"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"b5a778b2b4695ff21a83c513e470f7ac93e3959a","unresolved":false,"context_lines":[{"line_number":248,"context_line":"        return False"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"    start \u003d int(time.time())"},{"line_number":251,"context_line":"    while not _check_hypervisor_status():"},{"line_number":252,"context_line":"        time.sleep(client.build_interval)"},{"line_number":253,"context_line":"        if int(time.time()) - start \u003e\u003d client.build_timeout:"},{"line_number":254,"context_line":"            message \u003d (\u0027Hypervisor %(node_id) failed to update resource usage within \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_0b357ef6","line":251,"updated":"2016-05-12 14:08:20.000000000","message":"There is tempest.test.call_until_true thing, might be worth using it.","commit_id":"26d772dc0bb60170e368a33199427bc9d319451c"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"3df6c1de70979cfeeb7f2f941d071d40dd3c5dd3","unresolved":false,"context_lines":[{"line_number":248,"context_line":"        return False"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"    start \u003d int(time.time())"},{"line_number":251,"context_line":"    while not _check_hypervisor_status():"},{"line_number":252,"context_line":"        time.sleep(client.build_interval)"},{"line_number":253,"context_line":"        if int(time.time()) - start \u003e\u003d client.build_timeout:"},{"line_number":254,"context_line":"            message \u003d (\u0027Hypervisor %(node_id) failed to update resource usage within \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_18c1322f","line":251,"in_reply_to":"dab17558_0b357ef6","updated":"2016-05-13 06:21:07.000000000","message":"Done","commit_id":"26d772dc0bb60170e368a33199427bc9d319451c"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"b5a778b2b4695ff21a83c513e470f7ac93e3959a","unresolved":false,"context_lines":[{"line_number":249,"context_line":""},{"line_number":250,"context_line":"    start \u003d int(time.time())"},{"line_number":251,"context_line":"    while not _check_hypervisor_status():"},{"line_number":252,"context_line":"        time.sleep(client.build_interval)"},{"line_number":253,"context_line":"        if int(time.time()) - start \u003e\u003d client.build_timeout:"},{"line_number":254,"context_line":"            message \u003d (\u0027Hypervisor %(node_id) failed to update resource usage within \u0027"},{"line_number":255,"context_line":"                       \u0027required time (%(timeout)s s).\u0027 %"}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_0ba57eb4","line":252,"updated":"2016-05-12 14:08:20.000000000","message":"Opinion - why is it build_interval? It equals to 1. Maybe we should introduce some new value/config option? Or maybe it\u0027s fine. But the resources are not updated every second in nova.","commit_id":"26d772dc0bb60170e368a33199427bc9d319451c"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"b5a778b2b4695ff21a83c513e470f7ac93e3959a","unresolved":false,"context_lines":[{"line_number":250,"context_line":"    start \u003d int(time.time())"},{"line_number":251,"context_line":"    while not _check_hypervisor_status():"},{"line_number":252,"context_line":"        time.sleep(client.build_interval)"},{"line_number":253,"context_line":"        if int(time.time()) - start \u003e\u003d client.build_timeout:"},{"line_number":254,"context_line":"            message \u003d (\u0027Hypervisor %(node_id) failed to update resource usage within \u0027"},{"line_number":255,"context_line":"                       \u0027required time (%(timeout)s s).\u0027 %"},{"line_number":256,"context_line":"                      {\u0027node_id\u0027: node_id,"}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_4b8786d7","line":253,"updated":"2016-05-12 14:08:20.000000000","message":"This one is 60 by default, and so is the nova\u0027s default update resource interval, so a race may happen?","commit_id":"26d772dc0bb60170e368a33199427bc9d319451c"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"b5a778b2b4695ff21a83c513e470f7ac93e3959a","unresolved":false,"context_lines":[{"line_number":251,"context_line":"    while not _check_hypervisor_status():"},{"line_number":252,"context_line":"        time.sleep(client.build_interval)"},{"line_number":253,"context_line":"        if int(time.time()) - start \u003e\u003d client.build_timeout:"},{"line_number":254,"context_line":"            message \u003d (\u0027Hypervisor %(node_id) failed to update resource usage within \u0027"},{"line_number":255,"context_line":"                       \u0027required time (%(timeout)s s).\u0027 %"},{"line_number":256,"context_line":"                      {\u0027node_id\u0027: node_id,"},{"line_number":257,"context_line":"                       \u0027timeout\u0027: client.build_timeout})"}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_ab955289","line":254,"updated":"2016-05-12 14:08:20.000000000","message":"line too long","commit_id":"26d772dc0bb60170e368a33199427bc9d319451c"}],"tempest/scenario/manager.py":[{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"01a3bf14b2df1ec7021279ca0309bc74c5bebe8d","unresolved":false,"context_lines":[{"line_number":260,"context_line":"            waiter_callable\u003dwaiters.wait_for_server_termination,"},{"line_number":261,"context_line":"            thing_id\u003dbody[\u0027id\u0027], thing_id_param\u003d\u0027server_id\u0027,"},{"line_number":262,"context_line":"            cleanup_callable\u003dself.delete_wrapper,"},{"line_number":263,"context_line":"            cleanup_args\u003d[self.delete_server, self.servers_client, body[\u0027id\u0027]],"},{"line_number":264,"context_line":"            waiter_client\u003dclients.servers_client)"},{"line_number":265,"context_line":"        server \u003d clients.servers_client.show_server(body[\u0027id\u0027])[\u0027server\u0027]"},{"line_number":266,"context_line":"        return server"}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_1cdca617","line":263,"updated":"2016-05-12 15:02:10.000000000","message":"Seems like we should pass clients.servers_client.delete_server here, this code has changed after I wrote this - it breaks neutron jobs that create servers for different tenants.","commit_id":"26d772dc0bb60170e368a33199427bc9d319451c"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"3df6c1de70979cfeeb7f2f941d071d40dd3c5dd3","unresolved":false,"context_lines":[{"line_number":260,"context_line":"            waiter_callable\u003dwaiters.wait_for_server_termination,"},{"line_number":261,"context_line":"            thing_id\u003dbody[\u0027id\u0027], thing_id_param\u003d\u0027server_id\u0027,"},{"line_number":262,"context_line":"            cleanup_callable\u003dself.delete_wrapper,"},{"line_number":263,"context_line":"            cleanup_args\u003d[self.delete_server, self.servers_client, body[\u0027id\u0027]],"},{"line_number":264,"context_line":"            waiter_client\u003dclients.servers_client)"},{"line_number":265,"context_line":"        server \u003d clients.servers_client.show_server(body[\u0027id\u0027])[\u0027server\u0027]"},{"line_number":266,"context_line":"        return server"}],"source_content_type":"text/x-python","patch_set":4,"id":"dab17558_379d455a","line":263,"in_reply_to":"dab17558_1cdca617","updated":"2016-05-13 06:21:07.000000000","message":"Done","commit_id":"26d772dc0bb60170e368a33199427bc9d319451c"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"22c3d43f7e70152d84eefebf47fc9d7c934d4b6e","unresolved":false,"context_lines":[{"line_number":42,"context_line":"    \"\"\"Base class for scenario tests. Uses tempest own clients. \"\"\""},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    credentials \u003d [\u0027primary\u0027] + ("},{"line_number":45,"context_line":"        [\u0027admin\u0027] if CONF.baremetal.driver_enabled else [])"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    @classmethod"},{"line_number":48,"context_line":"    def setup_clients(cls):"}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_aebf705f","line":45,"updated":"2016-05-22 22:27:31.000000000","message":"Bike shedding comment. I think it is easier to read.\n\n credentials \u003d [\u0027primary\u0027]\n if CONF.baremetal.driver_enabled:\n   credentials.append(\u0027admin\u0027)","commit_id":"fd0eb6cc41e9efe5bcee4e85f98a0ed60ade9906"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"fcec83fc7ec0a4aa226eac39bb197baea42cab44","unresolved":false,"context_lines":[{"line_number":42,"context_line":"    \"\"\"Base class for scenario tests. Uses tempest own clients. \"\"\""},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    credentials \u003d [\u0027primary\u0027] + ("},{"line_number":45,"context_line":"        [\u0027admin\u0027] if CONF.baremetal.driver_enabled else [])"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    @classmethod"},{"line_number":48,"context_line":"    def setup_clients(cls):"}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_bf70310c","line":45,"in_reply_to":"bab6814e_aebf705f","updated":"2016-05-23 09:58:11.000000000","message":"Done","commit_id":"fd0eb6cc41e9efe5bcee4e85f98a0ed60ade9906"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"22c3d43f7e70152d84eefebf47fc9d7c934d4b6e","unresolved":false,"context_lines":[{"line_number":270,"context_line":"        if CONF.baremetal.driver_enabled:"},{"line_number":271,"context_line":"            try:"},{"line_number":272,"context_line":"                node_id \u003d self.get_bm_node(instance_id\u003dserver_id)[\u0027uuid\u0027]"},{"line_number":273,"context_line":"            except Exception:"},{"line_number":274,"context_line":"                pass"},{"line_number":275,"context_line":"        servers_client.delete_server(server_id)"},{"line_number":276,"context_line":"        if node_id:"}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_8ec26ce7","line":273,"updated":"2016-05-22 22:27:31.000000000","message":"Do we have an idea of what kind of exceptions might be raised. Can this be made more precise?","commit_id":"fd0eb6cc41e9efe5bcee4e85f98a0ed60ade9906"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"fcec83fc7ec0a4aa226eac39bb197baea42cab44","unresolved":false,"context_lines":[{"line_number":270,"context_line":"        if CONF.baremetal.driver_enabled:"},{"line_number":271,"context_line":"            try:"},{"line_number":272,"context_line":"                node_id \u003d self.get_bm_node(instance_id\u003dserver_id)[\u0027uuid\u0027]"},{"line_number":273,"context_line":"            except Exception:"},{"line_number":274,"context_line":"                pass"},{"line_number":275,"context_line":"        servers_client.delete_server(server_id)"},{"line_number":276,"context_line":"        if node_id:"}],"source_content_type":"text/x-python","patch_set":9,"id":"bab6814e_40668151","line":273,"in_reply_to":"bab6814e_8ec26ce7","updated":"2016-05-23 09:58:11.000000000","message":"Done","commit_id":"fd0eb6cc41e9efe5bcee4e85f98a0ed60ade9906"}]}
