)]}'
{"nova/compute/api.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"ea047f8a59c1ff8af10beaf0dcda43f581996119","unresolved":false,"context_lines":[{"line_number":977,"context_line":"        if pci_request_info and pci_request_info.requests:"},{"line_number":978,"context_line":"            filter_properties[\u0027pci_requests\u0027] \u003d pci_request_info"},{"line_number":979,"context_line":"        if block_device_mapping:"},{"line_number":980,"context_line":"            filter_properties[\u0027bdms\u0027] \u003d block_device_mapping"},{"line_number":981,"context_line":"        return filter_properties"},{"line_number":982,"context_line":""},{"line_number":983,"context_line":"    def _provision_instances(self, context, instance_type, min_count,"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_5cfbdb47","line":980,"updated":"2015-09-01 21:16:46.000000000","message":"I actually don\u0027t really like the idea to provide the BDMs to the scheduler for just knowing if we should count or not root_gb","commit_id":"f0c61236c4ac3d34fadc479576363aab1c336d73"}],"nova/scheduler/filters/disk_filter.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"516b583c989aa6f368d772fef600dfd12d51c35b","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        instance_type \u003d filter_properties.get(\u0027instance_type\u0027)"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"        is_booted_from_vol \u003d False"},{"line_number":43,"context_line":"        bdms \u003d filter_properties.get(\u0027bdms\u0027)"},{"line_number":44,"context_line":"        if bdms:"},{"line_number":45,"context_line":"            for bdm in bdms:"},{"line_number":46,"context_line":"                if (bdm.get(\u0027boot_index\u0027, -1) \u003d\u003d 0 and"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_1cdc8317","line":43,"updated":"2015-09-01 21:10:06.000000000","message":"I have some concerns by seeing that you\u0027re providing a new key for the filter_properties. We\u0027re trying to provide a new NovaObject called RequestSpec for providing the needed fields to the scheduler, and this one would need to be discussed whether it\u0027s needed or not.","commit_id":"f0c61236c4ac3d34fadc479576363aab1c336d73"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"7d30ddb6c56cbde8ef06af46226727b579b3a3c5","unresolved":false,"context_lines":[{"line_number":45,"context_line":"            for bdm in bdms:"},{"line_number":46,"context_line":"                if (bdm.get(\u0027boot_index\u0027, -1) \u003d\u003d 0 and"},{"line_number":47,"context_line":"                        bdm.get(\u0027destination_type\u0027) \u003d\u003d \u0027volume\u0027):"},{"line_number":48,"context_line":"                    is_booted_from_vol \u003d True"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        if is_booted_from_vol:"},{"line_number":51,"context_line":"            requested_disk \u003d (1024 * instance_type[\u0027ephemeral_gb\u0027] +"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_bc7317e7","line":48,"updated":"2015-09-01 21:18:31.000000000","message":"There should not be logic in the scheduler for determining whether the instance has been spawned from a volume.  I would suggest that either root_gb be 0 in that case, or there be another flag passed in to indicate this.  But since we\u0027re working to define a strict interface between the scheduler and the rest of Nova it would be good to have a blueprint on this, and maybe a spec.  filter_properties has had too many things added to it over time and we would like to carefully consider any further additions to it.","commit_id":"f0c61236c4ac3d34fadc479576363aab1c336d73"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"dd975b7c6948955534c36c287c0af3dffe3a2433","unresolved":false,"context_lines":[{"line_number":45,"context_line":"            for bdm in bdms:"},{"line_number":46,"context_line":"                if (bdm.get(\u0027boot_index\u0027, -1) \u003d\u003d 0 and"},{"line_number":47,"context_line":"                        bdm.get(\u0027destination_type\u0027) \u003d\u003d \u0027volume\u0027):"},{"line_number":48,"context_line":"                    is_booted_from_vol \u003d True"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        if is_booted_from_vol:"},{"line_number":51,"context_line":"            requested_disk \u003d (1024 * instance_type[\u0027ephemeral_gb\u0027] +"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_50fe5f06","line":48,"in_reply_to":"da20952f_bc7317e7","updated":"2015-09-01 21:20:52.000000000","message":"Yeah, a blueprint is really needed here. Honestly, I would go in the direction where the RT would just update the correct root_gb value given whether the disk is BDM\u0027d or not, but there would be no reason why the scheduler should know about that IMHO","commit_id":"f0c61236c4ac3d34fadc479576363aab1c336d73"}],"nova/tests/unit/scheduler/filters/test_disk_filters.py":[{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"5146a44aa5d5ae12b0192bd2f3ae0bf4facf20f9","unresolved":false,"context_lines":[{"line_number":31,"context_line":"                {\u0027free_disk_mb\u0027: 11 * 1024, \u0027total_usable_disk_gb\u0027: 13})"},{"line_number":32,"context_line":"        self.assertTrue(filt_cls.host_passes(host, filter_properties))"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def test_disk_filter_volume_passes(self):"},{"line_number":35,"context_line":"        self.flags(disk_allocation_ratio\u003d1.0)"},{"line_number":36,"context_line":"        filt_cls \u003d disk_filter.DiskFilter()"},{"line_number":37,"context_line":"        block_device_mapping \u003d [{"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_13141742","line":34,"updated":"2015-06-23 01:58:25.000000000","message":"A description of the test case would be nice.","commit_id":"393a5fad8e7183c9e0c60528b4c8df6f93cc06cc"},{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"8db6eb10da37e371c314c67f3521ec53af627e33","unresolved":false,"context_lines":[{"line_number":31,"context_line":"                {\u0027free_disk_mb\u0027: 11 * 1024, \u0027total_usable_disk_gb\u0027: 13})"},{"line_number":32,"context_line":"        self.assertTrue(filt_cls.host_passes(host, filter_properties))"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def test_disk_filter_volume_passes(self):"},{"line_number":35,"context_line":"        self.flags(disk_allocation_ratio\u003d1.0)"},{"line_number":36,"context_line":"        filt_cls \u003d disk_filter.DiskFilter()"},{"line_number":37,"context_line":"        block_device_mapping \u003d [{"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_b33fd886","line":34,"updated":"2015-09-01 15:28:55.000000000","message":"Test name could be more specific to indicate you\u0027re testing the volume case.","commit_id":"f0c61236c4ac3d34fadc479576363aab1c336d73"}]}
