)]}'
{"nova/scheduler/filters/ram_filter.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"9092496b6e369568ec841620ea9dddba99732c79","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class BaseRamFilter(filters.BaseHostFilter):"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    def _get_ram_allocation_ratio(self, host_state, spec_obj):"},{"line_number":29,"context_line":"        raise NotImplementedError"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"ff0f0b1f_95b95acd","side":"PARENT","line":27,"updated":"2017-05-23 10:28:28.000000000","message":"unrelated","commit_id":"7280f4fc4c5a2203ac2f59a9df0525488ac2c1ff"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"9092496b6e369568ec841620ea9dddba99732c79","unresolved":false,"context_lines":[{"line_number":54,"context_line":"                      \"usable ram, it only has %(usable_ram)s MB usable ram.\","},{"line_number":55,"context_line":"                      {\u0027host_state\u0027: host_state,"},{"line_number":56,"context_line":"                       \u0027requested_ram\u0027: requested_ram,"},{"line_number":57,"context_line":"                       \u0027usable_ram\u0027: usable_ram})"},{"line_number":58,"context_line":"            return False"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        # save oversubscription limit for compute node to test against:"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff0f0b1f_35028e70","line":57,"updated":"2017-05-23 10:28:28.000000000","message":"unrelated indent modification.","commit_id":"832c9f292644e78a5d676121ccb6c28555153da1"}],"nova/scheduler/host_manager.py":[{"author":{"_account_id":11642,"name":"Jesse J. Cook","email":"jesse.cook@rackspace.com","username":"crashenx"},"change_message_id":"e5485e0295dcb85628a489166d0fa9d02c48b0c2","unresolved":false,"context_lines":[{"line_number":117,"context_line":"        self.total_usable_disk_gb \u003d 0"},{"line_number":118,"context_line":"        self.disk_mb_used \u003d 0"},{"line_number":119,"context_line":"        self.memory_mb_used \u003d 0"},{"line_number":120,"context_line":"        self.free_ram_mb \u003d 0"},{"line_number":121,"context_line":"        self.free_disk_mb \u003d 0"},{"line_number":122,"context_line":"        self.vcpus_total \u003d 0"},{"line_number":123,"context_line":"        self.vcpus_used \u003d 0"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba5da102_5fa38d9e","line":120,"updated":"2016-10-26 23:35:53.000000000","message":"Given this change, should free_ram_mb be removed and instead calculated anywhere it is needed?","commit_id":"f9ea43e888a46c695189274aa08c370c04806de3"},{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"88b1b592cd5d83cf5a4df589ef5e03ecd887b633","unresolved":false,"context_lines":[{"line_number":195,"context_line":"        if (self.updated and compute.updated_at"},{"line_number":196,"context_line":"                and self.updated \u003e compute.updated_at):"},{"line_number":197,"context_line":"            return"},{"line_number":198,"context_line":"        all_ram_mb \u003d compute.memory_mb"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"        # Assume virtual size is all consumed by instances if use qcow2 disk."},{"line_number":201,"context_line":"        free_gb \u003d compute.free_disk_gb"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff0f0b1f_4bdb85ec","line":198,"updated":"2017-05-19 05:29:09.000000000","message":"- CONF.compute.reserved_host_memory_mb","commit_id":"832c9f292644e78a5d676121ccb6c28555153da1"}],"nova/scheduler/weights/ram.py":[{"author":{"_account_id":11642,"name":"Jesse J. Cook","email":"jesse.cook@rackspace.com","username":"crashenx"},"change_message_id":"e5485e0295dcb85628a489166d0fa9d02c48b0c2","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def _weigh_object(self, host_state, weight_properties):"},{"line_number":37,"context_line":"        \"\"\"Higher weights win.  We want spreading to be the default.\"\"\""},{"line_number":38,"context_line":"        return host_state.total_usable_ram_mb - host_state.memory_mb_used"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba5da102_9fdb651b","line":38,"updated":"2016-10-26 23:35:53.000000000","message":"Negative weights can have undesirable effects, and I believe are possible here given that memory_mb_used only needs to be less than memory_mb_limit. Maybe this should be memory_mb_limit - memory_mb_used?","commit_id":"f9ea43e888a46c695189274aa08c370c04806de3"},{"author":{"_account_id":11642,"name":"Jesse J. Cook","email":"jesse.cook@rackspace.com","username":"crashenx"},"change_message_id":"38c27919d7a86fddaa2011a9fc2b70b48df0aa81","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def _weigh_object(self, host_state, weight_properties):"},{"line_number":37,"context_line":"        \"\"\"Higher weights win.  We want spreading to be the default.\"\"\""},{"line_number":38,"context_line":"        return host_state.total_usable_ram_mb - host_state.memory_mb_used"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba5da102_89eebb89","line":38,"updated":"2016-10-27 21:52:23.000000000","message":"I still think this poses a possible problem with negative weights. Carrying comment from previous patchset forward:\n\nNegative weights can have undesirable effects, and I believe are possible here given that memory_mb_used only needs to be less than memory_mb_limit. Maybe this should be memory_mb_limit - memory_mb_used?","commit_id":"e4071882a5d7ed80f192c5a86c746f868fb6a151"}],"nova/tests/unit/conductor/tasks/test_live_migrate.py":[{"author":{"_account_id":11642,"name":"Jesse J. Cook","email":"jesse.cook@rackspace.com","username":"crashenx"},"change_message_id":"38c27919d7a86fddaa2011a9fc2b70b48df0aa81","unresolved":false,"context_lines":[{"line_number":159,"context_line":"            hypervisor_type\u003d\"a\","},{"line_number":160,"context_line":"            hypervisor_version\u003d6.1,"},{"line_number":161,"context_line":"            memory_mb\u003d513,"},{"line_number":162,"context_line":"            memory_mb_used\u003d0,"},{"line_number":163,"context_line":"            ram_allocation_ratio\u003d1.0,"},{"line_number":164,"context_line":"        )"},{"line_number":165,"context_line":"        self.task._get_compute_info(self.destination)\\"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba5da102_a9cc5f36","line":162,"updated":"2016-10-27 21:52:23.000000000","message":"I\u0027m not sure I understand what\u0027s going on here. What\u0027s up with free_ram_mb being more than memory_mb before change. Is this some special case it\u0027s checking for? If so, not sure it\u0027s captured here with the change.","commit_id":"e4071882a5d7ed80f192c5a86c746f868fb6a151"},{"author":{"_account_id":11642,"name":"Jesse J. Cook","email":"jesse.cook@rackspace.com","username":"crashenx"},"change_message_id":"38c27919d7a86fddaa2011a9fc2b70b48df0aa81","unresolved":false,"context_lines":[{"line_number":204,"context_line":"        objects.ComputeNode.get_first_node_by_host_for_old_compat(self.context,"},{"line_number":205,"context_line":"            self.destination).AndReturn("},{"line_number":206,"context_line":"                objects.ComputeNode(memory_mb\u003d1024,"},{"line_number":207,"context_line":"                                    memory_mb_used\u003d512,"},{"line_number":208,"context_line":"                                    ram_allocation_ratio\u003d0.9,"},{"line_number":209,"context_line":"                                    ))"},{"line_number":210,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ba5da102_e9d657c4","line":207,"updated":"2016-10-27 21:52:23.000000000","message":"Think memory_mb_used is supposed to be 511 here.","commit_id":"e4071882a5d7ed80f192c5a86c746f868fb6a151"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"9d2acf005a2f52ff223d3e7f187c1b1c33af7ac6","unresolved":false,"context_lines":[{"line_number":159,"context_line":"            hypervisor_type\u003d\"a\","},{"line_number":160,"context_line":"            hypervisor_version\u003d6.1,"},{"line_number":161,"context_line":"            free_ram_mb\u003d513,"},{"line_number":162,"context_line":"            memory_mb\u003d512,"},{"line_number":163,"context_line":"            ram_allocation_ratio\u003d1.0,"},{"line_number":164,"context_line":"        )"},{"line_number":165,"context_line":"        self.task._get_compute_info(self.destination)\\"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6eadb0_f639fe42","side":"PARENT","line":162,"updated":"2016-12-12 15:29:42.000000000","message":"LOL. More RAM free than existed on this node... :)","commit_id":"012f822992030c98c57333c4975ff0c7e9c184e5"}],"nova/tests/unit/scheduler/test_host_manager.py":[{"author":{"_account_id":11642,"name":"Jesse J. Cook","email":"jesse.cook@rackspace.com","username":"crashenx"},"change_message_id":"38c27919d7a86fddaa2011a9fc2b70b48df0aa81","unresolved":false,"context_lines":[{"line_number":957,"context_line":"        compute \u003d objects.ComputeNode("},{"line_number":958,"context_line":"            stats\u003dstats, memory_mb\u003d1, free_disk_gb\u003d0, local_gb\u003d0,"},{"line_number":959,"context_line":"            local_gb_used\u003d0, free_ram_mb\u003d0, vcpus\u003d0, vcpus_used\u003d0,"},{"line_number":960,"context_line":"            disk_available_least\u003dNone, memory_mb_used\u003d0,"},{"line_number":961,"context_line":"            updated_at\u003ddatetime.datetime(2015, 11, 11, 11, 0, 0),"},{"line_number":962,"context_line":"            host_ip\u003d\u0027127.0.0.1\u0027, hypervisor_type\u003d\u0027htype\u0027,"},{"line_number":963,"context_line":"            hypervisor_hostname\u003d\u0027hostname\u0027, cpu_info\u003d\u0027cpu_info\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba5da102_e9ed778c","line":960,"updated":"2016-10-27 21:52:23.000000000","message":"Should this be memory_mb_used\u003d1?","commit_id":"e4071882a5d7ed80f192c5a86c746f868fb6a151"}],"nova/tests/unit/scheduler/weights/test_weights_ram.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"9092496b6e369568ec841620ea9dddba99732c79","unresolved":false,"context_lines":[{"line_number":47,"context_line":"                                \u0027ram_allocation_ratio\u0027: 1}),"},{"line_number":48,"context_line":"            (\u0027host4\u0027, \u0027node4\u0027, {\u0027total_usable_ram_mb\u0027: 8192,"},{"line_number":49,"context_line":"                                \u0027memory_mb_used\u0027: 0,"},{"line_number":50,"context_line":"                                \u0027ram_allocation_ratio\u0027: 1})"},{"line_number":51,"context_line":"        ]"},{"line_number":52,"context_line":"        return [fakes.FakeHostState(host, node, values)"},{"line_number":53,"context_line":"                for host, node, values in host_values]"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff0f0b1f_7552463d","line":50,"updated":"2017-05-23 10:28:28.000000000","message":"math look good to me: free_ram_mb \u003d total_usable * ratio - used","commit_id":"832c9f292644e78a5d676121ccb6c28555153da1"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"9092496b6e369568ec841620ea9dddba99732c79","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        hostinfo_list \u003d self._get_all_hosts()"},{"line_number":98,"context_line":"        host_attr \u003d {\u0027id\u0027: 100, \u0027total_usable_ram_mb\u0027: 8192,"},{"line_number":99,"context_line":"                     \u0027memory_mb_used\u0027: 16384,"},{"line_number":100,"context_line":"                     \u0027ram_allocation_ratio\u0027: 2}"},{"line_number":101,"context_line":"        host_state \u003d fakes.FakeHostState(\u0027oversubscribed\u0027,"},{"line_number":102,"context_line":"                                         \u0027oversubscribed\u0027, host_attr)"},{"line_number":103,"context_line":"        hostinfo_list \u003d list(hostinfo_list) + [host_state]"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff0f0b1f_5bdad34a","line":100,"updated":"2017-05-23 10:28:28.000000000","message":"I\u0027d like to make sure we could still have more memory used than usable one. Yeah, I know, it looks weird, but that\u0027s because we can have reserved memory.","commit_id":"832c9f292644e78a5d676121ccb6c28555153da1"}]}
