)]}'
{"nova/virt/ironic/driver.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f886a30764e140ddbb79d5de0a88b58b4ad99256","unresolved":false,"context_lines":[{"line_number":558,"context_line":"            # which may result in transient failures, particularly on start up."},{"line_number":559,"context_line":"            # As get_available_nodes is called on the compute start, we can\u0027t"},{"line_number":560,"context_line":"            # affort raising here, so use stale empty cache."},{"line_number":561,"context_line":"            if self.node_cache:"},{"line_number":562,"context_line":"                raise"},{"line_number":563,"context_line":"            else:"},{"line_number":564,"context_line":"                LOG.exception(_LE(\u0027Unable to update node cache, using stale \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a5de9d1_286831f5","line":561,"updated":"2016-01-27 15:42:39.000000000","message":"If we are only concerned about start time, we could use self.node_cache_time \u003d\u003d 0. If ironic doesn\u0027t have any nodes, self.node_cache will always be empty.\n\nbtw, what kind of exceptions might occur here? I looked at self._get_node_list() and it handles NovaExceptions.\n\nMy other thought is what about moving this exception handling into self._refresh_cache()?","commit_id":"b69a1bbb5aa22fda92214834f89078d3ca2be961"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"556f68b1507c9abfc32fd3b9e9ad3284849df7eb","unresolved":false,"context_lines":[{"line_number":586,"context_line":"        if not self.node_cache:"},{"line_number":587,"context_line":"            # Well, it\u0027s also called from init_host(), so if we have empty"},{"line_number":588,"context_line":"            # cache, let\u0027s try to populate it."},{"line_number":589,"context_line":"            self._refresh_cache()"},{"line_number":590,"context_line":""},{"line_number":591,"context_line":"        cache_age \u003d time.time() - self.node_cache_time"},{"line_number":592,"context_line":"        if nodename in self.node_cache:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a5de9d1_5420aef7","line":589,"updated":"2016-01-27 14:35:04.000000000","message":"It is called here too, and the comment says that get_available_resource() is called right after get_available_nodes(). How much time after startup, do we need to be concerned about?","commit_id":"b69a1bbb5aa22fda92214834f89078d3ca2be961"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"f886a30764e140ddbb79d5de0a88b58b4ad99256","unresolved":false,"context_lines":[{"line_number":586,"context_line":"        if not self.node_cache:"},{"line_number":587,"context_line":"            # Well, it\u0027s also called from init_host(), so if we have empty"},{"line_number":588,"context_line":"            # cache, let\u0027s try to populate it."},{"line_number":589,"context_line":"            self._refresh_cache()"},{"line_number":590,"context_line":""},{"line_number":591,"context_line":"        cache_age \u003d time.time() - self.node_cache_time"},{"line_number":592,"context_line":"        if nodename in self.node_cache:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a5de9d1_88e7e511","line":589,"in_reply_to":"7a5de9d1_34365204","updated":"2016-01-27 15:42:39.000000000","message":"Ah. Thx for clarifying!","commit_id":"b69a1bbb5aa22fda92214834f89078d3ca2be961"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"0843b19d5e83f93248ad687a23525ea46a4e250b","unresolved":false,"context_lines":[{"line_number":586,"context_line":"        if not self.node_cache:"},{"line_number":587,"context_line":"            # Well, it\u0027s also called from init_host(), so if we have empty"},{"line_number":588,"context_line":"            # cache, let\u0027s try to populate it."},{"line_number":589,"context_line":"            self._refresh_cache()"},{"line_number":590,"context_line":""},{"line_number":591,"context_line":"        cache_age \u003d time.time() - self.node_cache_time"},{"line_number":592,"context_line":"        if nodename in self.node_cache:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a5de9d1_34365204","line":589,"in_reply_to":"7a5de9d1_5420aef7","updated":"2016-01-27 14:38:33.000000000","message":"we fail in this code: https://github.com/openstack/nova/blob/master/nova/compute/manager.py#L6293 and if it returns empty result, nothing else seems to get called","commit_id":"b69a1bbb5aa22fda92214834f89078d3ca2be961"}]}
