)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"d97044db354044c01606a4509e6e84930acdfe04","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Vilobh Meshram \u003cvilobhmm@yahoo-inc.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-11-11 14:21:39 -0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Aggregate Extra Specs Filter should return if extra_specs is empty"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Aggregate Extra Specs Filter should return if extra_specs is"},{"line_number":10,"context_line":"empty. Aggregate Extra Specs Filter checks if extra specs attribute"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"da85f559_90ab8dd6","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":21},"updated":"2015-11-12 23:12:06.000000000","message":"AFAIK, there is also the ComputeCapabilitiesFilter which does the same check","commit_id":"ab82413f26c473628fc1babbd5b3b4c20142c410"}],"nova/scheduler/filters/aggregate_instance_extra_specs.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"bef107116155910e1ce4205616067842aa9854c2","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        the metadata provided by aggregates.  If not present return False."},{"line_number":41,"context_line":"        \"\"\""},{"line_number":42,"context_line":"        instance_type \u003d filter_properties.get(\u0027instance_type\u0027)"},{"line_number":43,"context_line":"        # If \u0027extra_specs\u0027 is not present or extra_specs are empty then we"},{"line_number":44,"context_line":"        # need not proceed further"},{"line_number":45,"context_line":"        if not instance_type.get(\u0027extra_specs\u0027, False):"},{"line_number":46,"context_line":"            return True"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"da85f559_ad06f81a","line":44,"range":{"start_line":43,"start_character":67,"end_line":44,"end_character":26},"updated":"2015-11-10 21:20:24.000000000","message":"nit spelling (even if I\u0027m not a native English guy) : \"then we do not need to process further\"","commit_id":"62e6cf51d81242b058f04a54f9f6318c8c7b3dad"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"bef107116155910e1ce4205616067842aa9854c2","unresolved":false,"context_lines":[{"line_number":42,"context_line":"        instance_type \u003d filter_properties.get(\u0027instance_type\u0027)"},{"line_number":43,"context_line":"        # If \u0027extra_specs\u0027 is not present or extra_specs are empty then we"},{"line_number":44,"context_line":"        # need not proceed further"},{"line_number":45,"context_line":"        if not instance_type.get(\u0027extra_specs\u0027, False):"},{"line_number":46,"context_line":"            return True"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        metadata \u003d utils.aggregate_metadata_get_by_host(host_state)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da85f559_4d6c2cd0","line":45,"range":{"start_line":45,"start_character":46,"end_line":45,"end_character":53},"updated":"2015-11-10 21:20:24.000000000","message":"that\u0027s not needed, you should just :\n\n  if not instance_type.get(\u0027extra_specs\u0027)\n\nbecause the default value if not there is None","commit_id":"62e6cf51d81242b058f04a54f9f6318c8c7b3dad"},{"author":{"_account_id":10263,"name":"Vilobh Meshram","email":"vilobhmm@yahoo-inc.com","username":"vilobhmm"},"change_message_id":"0d5a323b9ccfd6d5ae8a8068643dcef055aba70e","unresolved":false,"context_lines":[{"line_number":42,"context_line":"        instance_type \u003d filter_properties.get(\u0027instance_type\u0027)"},{"line_number":43,"context_line":"        # If \u0027extra_specs\u0027 is not present or extra_specs are empty then we"},{"line_number":44,"context_line":"        # need not proceed further"},{"line_number":45,"context_line":"        if not instance_type.get(\u0027extra_specs\u0027, False):"},{"line_number":46,"context_line":"            return True"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        metadata \u003d utils.aggregate_metadata_get_by_host(host_state)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da85f559_82b2a8e3","line":45,"in_reply_to":"da85f559_4d6c2cd0","updated":"2015-11-11 22:20:01.000000000","message":"Done","commit_id":"62e6cf51d81242b058f04a54f9f6318c8c7b3dad"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"d97044db354044c01606a4509e6e84930acdfe04","unresolved":false,"context_lines":[{"line_number":42,"context_line":"        instance_type \u003d filter_properties.get(\u0027instance_type\u0027)"},{"line_number":43,"context_line":"        # If \u0027extra_specs\u0027 is not present or extra_specs are empty then we"},{"line_number":44,"context_line":"        # need not proceed further"},{"line_number":45,"context_line":"        if not instance_type.get(\u0027extra_specs\u0027):"},{"line_number":46,"context_line":"            return True"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        metadata \u003d utils.aggregate_metadata_get_by_host(host_state)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da85f559_f099b9d1","line":45,"updated":"2015-11-12 23:12:06.000000000","message":"So I verified and it\u0027s possible to indeed have a Flavor with an empty dict of extra_specs","commit_id":"ab82413f26c473628fc1babbd5b3b4c20142c410"}]}
