)]}'
{"nova/compute/resource_tracker.py":[{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"d4dc80f61ef12490a193958f84ff461ddb74b19c","unresolved":false,"context_lines":[{"line_number":504,"context_line":"        resources[\u0027free_disk_gb\u0027] \u003d (resources[\u0027local_gb\u0027] -"},{"line_number":505,"context_line":"                                     resources[\u0027local_gb_used\u0027])"},{"line_number":506,"context_line":""},{"line_number":507,"context_line":"        resources[\u0027running_vms\u0027] \u003d self.stats.num_instances"},{"line_number":508,"context_line":"        self.ext_resources_handler.update_from_instance(usage, sign)"},{"line_number":509,"context_line":""},{"line_number":510,"context_line":"    def _update_usage_from_migration(self, context, instance, resources,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_274bb25a","line":507,"updated":"2014-08-14 07:15:49.000000000","message":"In order for this to be truly usable (in the NUMA case, but also in general) we would need to persist the request data and get it on every periodic task run for this method and pass it in here, AND we would need to be smart about it and avoid falling in the same trap that pci resources fell wehere we stash them in system_metadata which has been proven to be a scalability issue especially for something that happens once per compute host per minute by default (get_available_resources).","commit_id":"cf152a9db40f5624af53e73bdab081a5e3b1ef35"}],"nova/compute/resources/flavors.py":[{"author":{"_account_id":7641,"name":"Shuangtai Tian","email":"hitianst@gmail.com","username":"shuangtai"},"change_message_id":"820ddc07bafd1395113ac1c7ad17f8341559ab21","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        # list of flavors is reset to the default value"},{"line_number":38,"context_line":"        # NOTE(sbauza): We don\u0027t need to call the list of flavors as there"},{"line_number":39,"context_line":"        #               is a call to add_instance() below for each instance"},{"line_number":40,"context_line":"        self._flavors \u003d {}"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def _get_limit(self, limits):"},{"line_number":43,"context_line":"        if limits and \u0027flavor_max_keys\u0027 in limits:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_c39007ef","line":40,"updated":"2014-08-15 01:35:00.000000000","message":"the reset is called every periodic task in update_avariable_resource,  if reset here, the _flavors just contain flavors\u0027 metadata that added/removed in a periodic task time.","commit_id":"cf152a9db40f5624af53e73bdab081a5e3b1ef35"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"d4dc80f61ef12490a193958f84ff461ddb74b19c","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        if instance_type_id:"},{"line_number":65,"context_line":"            self._flavors[instance_type_id] \u003d flavor.extra_specs"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    def remove_instance(self, usage):"},{"line_number":68,"context_line":"        instance_type_id \u003d usage.get(\u0027instance_type_id\u0027)"},{"line_number":69,"context_line":"        if instance_type_id and instance_type_id in self._flavors:"},{"line_number":70,"context_line":"            del self._flavors[instance_type_id]"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_6495a8e3","line":67,"updated":"2014-08-14 07:15:49.000000000","message":"small but irrelevant to the bigger discussion - we shouldn\u0027t remove the flavor on instance removal since there may be more instances using it.\n\nThat said - caching like this needs to have a way to survive restarts.","commit_id":"cf152a9db40f5624af53e73bdab081a5e3b1ef35"}]}
