)]}'
{"astara/api/astara_client.py":[{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"5425ebae47b14abdada0d62c6d3564e1b7b37bd4","unresolved":false,"context_lines":[{"line_number":51,"context_line":"                    LOG.warn(_LW("},{"line_number":52,"context_line":"                        \u0027astara-appliance request failed, attempt %d\u0027), i)"},{"line_number":53,"context_line":"                time.sleep(cfg.CONF.retry_delay)"},{"line_number":54,"context_line":"        raise Exception("},{"line_number":55,"context_line":"            \u0027astara-appliance request failed after %s attempts\u0027 % (i + 1))"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    return wrapper"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa69d971_b3eac372","line":54,"range":{"start_line":54,"start_character":14,"end_line":54,"end_character":23},"updated":"2016-01-05 17:32:49.000000000","message":"Wondering if we should make an named exception out of this?\n\nTooManyAttempts?","commit_id":"63be7c936b7c7932c1a610f29a579ea58a38231b"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"5425ebae47b14abdada0d62c6d3564e1b7b37bd4","unresolved":false,"context_lines":[{"line_number":52,"context_line":"                        \u0027astara-appliance request failed, attempt %d\u0027), i)"},{"line_number":53,"context_line":"                time.sleep(cfg.CONF.retry_delay)"},{"line_number":54,"context_line":"        raise Exception("},{"line_number":55,"context_line":"            \u0027astara-appliance request failed after %s attempts\u0027 % (i + 1))"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    return wrapper"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"fa69d971_736c4b35","line":55,"range":{"start_line":55,"start_character":66,"end_line":55,"end_character":74},"updated":"2016-01-05 17:32:49.000000000","message":"Why not use cfg.CONF.max_retries here?  Not seeing the need to calc a number we know.","commit_id":"63be7c936b7c7932c1a610f29a579ea58a38231b"},{"author":{"_account_id":19133,"name":"Yang Hongyang","email":"hongyang.yang@easystack.cn","username":"macrosheep"},"change_message_id":"f3887de172b5c0d7011dda0c395345d52a2ec31f","unresolved":false,"context_lines":[{"line_number":53,"context_line":"            except Exception:"},{"line_number":54,"context_line":"                if i \u003d\u003d attempts - 1:"},{"line_number":55,"context_line":"                    # Only log the traceback if we encounter it many times."},{"line_number":56,"context_line":"                    LOG.exception(_LE(\u0027failed to update config\u0027))"},{"line_number":57,"context_line":"                else:"},{"line_number":58,"context_line":"                    LOG.warn(_LW("},{"line_number":59,"context_line":"                        \u0027astara-appliance request failed, attempt %d\u0027), i)"}],"source_content_type":"text/x-python","patch_set":6,"id":"da6ed579_293aa499","line":56,"updated":"2016-01-15 13:48:35.000000000","message":"Maybe log message \"astara-appliance request failed\"? may this wrapper func be used later for other operations?","commit_id":"9285f0a247b1cd60fc7d86f7d43709801075c8c3"}],"astara/state.py":[{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"04821242ff9c7b294cb7b89f2daa2ca78cdd9136","unresolved":false,"context_lines":[{"line_number":95,"context_line":"                list(itertools.islice(queue, 0, 60))"},{"line_number":96,"context_line":"            )"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"            if action \u003d\u003d UPDATE and queue[0] \u003d\u003d CREATE:"},{"line_number":99,"context_line":"                # upgrade to CREATE from UPDATE by taking the next"},{"line_number":100,"context_line":"                # item from the queue"},{"line_number":101,"context_line":"                self.params.driver.log.debug(\u0027upgrading from update to create\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa69d971_27c20935","line":98,"range":{"start_line":98,"start_character":12,"end_line":98,"end_character":14},"updated":"2016-01-05 18:50:14.000000000","message":"refactor this if and next elif into one:\n\nif action in (CREATE, UPDATE, TAKEOVER) and queue[0] in (CREATE, REBUILD):\n  self.params.driver.log.debug()\n  action \u003d queue.popleft()\n  continue","commit_id":"63be7c936b7c7932c1a610f29a579ea58a38231b"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"04821242ff9c7b294cb7b89f2daa2ca78cdd9136","unresolved":false,"context_lines":[{"line_number":110,"context_line":"                action \u003d queue.popleft()"},{"line_number":111,"context_line":"                continue"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"            elif action \u003d\u003d CREATE and queue[0] \u003d\u003d UPDATE:"},{"line_number":114,"context_line":"                # CREATE implies an UPDATE so eat the update event"},{"line_number":115,"context_line":"                # without changing the action"},{"line_number":116,"context_line":"                self.params.driver.log.debug(\u0027merging create and update\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa69d971_47a85d77","line":113,"range":{"start_line":113,"start_character":50,"end_line":113,"end_character":56},"updated":"2016-01-05 18:50:14.000000000","message":"in (UPDATE, TAKEOVER)","commit_id":"63be7c936b7c7932c1a610f29a579ea58a38231b"},{"author":{"_account_id":19133,"name":"Yang Hongyang","email":"hongyang.yang@easystack.cn","username":"macrosheep"},"change_message_id":"f3887de172b5c0d7011dda0c395345d52a2ec31f","unresolved":false,"context_lines":[{"line_number":209,"context_line":"            return StopInstance(self.params)"},{"line_number":210,"context_line":"        elif self.instance.state \u003d\u003d states.DOWN:"},{"line_number":211,"context_line":"            return CreateInstance(self.params)"},{"line_number":212,"context_line":"        elif action in POLL and \\"},{"line_number":213,"context_line":"                self.instance.state \u003d\u003d states.CONFIGURED:"},{"line_number":214,"context_line":"            return CalcAction(self.params)"},{"line_number":215,"context_line":"        elif action \u003d\u003d READ and \\"}],"source_content_type":"text/x-python","patch_set":6,"id":"da6ed579_fc844cd3","line":212,"updated":"2016-01-15 13:48:35.000000000","message":"action \u003d\u003d POLL ?","commit_id":"9285f0a247b1cd60fc7d86f7d43709801075c8c3"}],"astara/test/unit/test_state.py":[{"author":{"_account_id":19133,"name":"Yang Hongyang","email":"hongyang.yang@easystack.cn","username":"macrosheep"},"change_message_id":"f3887de172b5c0d7011dda0c395345d52a2ec31f","unresolved":false,"context_lines":[{"line_number":244,"context_line":"            event.POLL,"},{"line_number":245,"context_line":"            state.CalcAction,"},{"line_number":246,"context_line":"            states.ERROR,"},{"line_number":247,"context_line":"        )"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"class TestAliveState(BaseTestStateCase):"}],"source_content_type":"text/x-python","patch_set":6,"id":"da6ed579_bff6c68c","line":247,"updated":"2016-01-15 13:48:35.000000000","message":"Exact the same case as test_transition_poll_error_instance?Means takeover error instance?","commit_id":"9285f0a247b1cd60fc7d86f7d43709801075c8c3"}],"docs/source/orchestrator.rst":[{"author":{"_account_id":19133,"name":"Yang Hongyang","email":"hongyang.yang@easystack.cn","username":"macrosheep"},"change_message_id":"f3887de172b5c0d7011dda0c395345d52a2ec31f","unresolved":false,"context_lines":[{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    :rEbuild: Recreate a router from scratch."},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    :Takeover: Takeover management of a router from a clustered orchestrator."},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"VM Variables are:"},{"line_number":120,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"da6ed579_3c32e4a7","line":117,"updated":"2016-01-15 13:48:35.000000000","message":"s/router/appliance/ would be better? as well as above ACTs...","commit_id":"9285f0a247b1cd60fc7d86f7d43709801075c8c3"}]}
