)]}'
{"cinder/volume/drivers/smbfs.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"412c68bae1219c727e780db01e255957af313f46","unresolved":false,"context_lines":[{"line_number":637,"context_line":"        return flags.strip(\u0027,\u0027)"},{"line_number":638,"context_line":""},{"line_number":639,"context_line":"    def _get_volume_format_spec(self, volume):"},{"line_number":640,"context_line":"        # This method needs to be able to parse metadata/volume type"},{"line_number":641,"context_line":"        # specs for volume SQLAlchemy objects and versioned objects,"},{"line_number":642,"context_line":"        # as the transition to versioned objects is not complete and the"},{"line_number":643,"context_line":"        # driver may receive either of them."},{"line_number":644,"context_line":"        volume_metadata_specs \u003d {}"},{"line_number":645,"context_line":"        volume_type_specs \u003d {}"},{"line_number":646,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5aef4532_d2c7ff93","line":643,"range":{"start_line":640,"start_character":0,"end_line":643,"end_character":44},"updated":"2016-03-10 14:00:48.000000000","message":"Adding \"TODO(lpetrut): \" in the beginning of the comment would make it easier to find in the future.","commit_id":"0bc973fbcaaa6f57f199ed9aaaed3af14730682c"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"bde69da61883795ae22ec8e72a5a2f3732f1e347","unresolved":false,"context_lines":[{"line_number":637,"context_line":"        return flags.strip(\u0027,\u0027)"},{"line_number":638,"context_line":""},{"line_number":639,"context_line":"    def _get_volume_format_spec(self, volume):"},{"line_number":640,"context_line":"        # This method needs to be able to parse metadata/volume type"},{"line_number":641,"context_line":"        # specs for volume SQLAlchemy objects and versioned objects,"},{"line_number":642,"context_line":"        # as the transition to versioned objects is not complete and the"},{"line_number":643,"context_line":"        # driver may receive either of them."},{"line_number":644,"context_line":"        volume_metadata_specs \u003d {}"},{"line_number":645,"context_line":"        volume_type_specs \u003d {}"},{"line_number":646,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5aef4532_d2709f0d","line":643,"range":{"start_line":640,"start_character":0,"end_line":643,"end_character":44},"in_reply_to":"5aef4532_d2c7ff93","updated":"2016-03-10 14:12:48.000000000","message":"Good point.","commit_id":"0bc973fbcaaa6f57f199ed9aaaed3af14730682c"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"412c68bae1219c727e780db01e255957af313f46","unresolved":false,"context_lines":[{"line_number":644,"context_line":"        volume_metadata_specs \u003d {}"},{"line_number":645,"context_line":"        volume_type_specs \u003d {}"},{"line_number":646,"context_line":""},{"line_number":647,"context_line":"        if volume.get(\u0027metadata\u0027) and isinstance(volume.metadata, dict):"},{"line_number":648,"context_line":"            volume_metadata_specs.update(volume.metadata)"},{"line_number":649,"context_line":"        elif volume.get(\u0027volume_metadata\u0027):"},{"line_number":650,"context_line":"            volume_metadata_specs.update("},{"line_number":651,"context_line":"                {spec.key: spec.value for spec in volume.volume_metadata})"},{"line_number":652,"context_line":""},{"line_number":653,"context_line":"        vol_type \u003d volume.get(\u0027volume_type\u0027)"},{"line_number":654,"context_line":"        if vol_type:"}],"source_content_type":"text/x-python","patch_set":3,"id":"5aef4532_f2b31b4b","line":651,"range":{"start_line":647,"start_character":0,"end_line":651,"end_character":74},"updated":"2016-03-10 14:00:48.000000000","message":"I think in this case you can always use elif case, am I wrong?","commit_id":"0bc973fbcaaa6f57f199ed9aaaed3af14730682c"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"bde69da61883795ae22ec8e72a5a2f3732f1e347","unresolved":false,"context_lines":[{"line_number":644,"context_line":"        volume_metadata_specs \u003d {}"},{"line_number":645,"context_line":"        volume_type_specs \u003d {}"},{"line_number":646,"context_line":""},{"line_number":647,"context_line":"        if volume.get(\u0027metadata\u0027) and isinstance(volume.metadata, dict):"},{"line_number":648,"context_line":"            volume_metadata_specs.update(volume.metadata)"},{"line_number":649,"context_line":"        elif volume.get(\u0027volume_metadata\u0027):"},{"line_number":650,"context_line":"            volume_metadata_specs.update("},{"line_number":651,"context_line":"                {spec.key: spec.value for spec in volume.volume_metadata})"},{"line_number":652,"context_line":""},{"line_number":653,"context_line":"        vol_type \u003d volume.get(\u0027volume_type\u0027)"},{"line_number":654,"context_line":"        if vol_type:"}],"source_content_type":"text/x-python","patch_set":3,"id":"5aef4532_b27513cc","line":651,"range":{"start_line":647,"start_character":0,"end_line":651,"end_character":74},"in_reply_to":"5aef4532_f2b31b4b","updated":"2016-03-10 14:12:48.000000000","message":"Umm, not sure I get it. Do you mean that \u0027elif\u0027 should be an \u0027else\u0027? or do you mean that we should only care about the volume_metadata field?","commit_id":"0bc973fbcaaa6f57f199ed9aaaed3af14730682c"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"70089ffdbc87a28081ecf39131230bb1c9b31ade","unresolved":false,"context_lines":[{"line_number":647,"context_line":"        volume_metadata_specs \u003d {}"},{"line_number":648,"context_line":"        volume_type_specs \u003d {}"},{"line_number":649,"context_line":""},{"line_number":650,"context_line":"        if volume.get(\u0027metadata\u0027) and isinstance(volume.metadata, dict):"},{"line_number":651,"context_line":"            volume_metadata_specs.update(volume.metadata)"},{"line_number":652,"context_line":"        elif volume.get(\u0027volume_metadata\u0027):"},{"line_number":653,"context_line":"            volume_metadata_specs.update("},{"line_number":654,"context_line":"                {spec.key: spec.value for spec in volume.volume_metadata})"}],"source_content_type":"text/x-python","patch_set":4,"id":"5aef4532_6b0f0437","line":651,"range":{"start_line":650,"start_character":0,"end_line":651,"end_character":57},"updated":"2016-03-10 18:34:27.000000000","message":"I\u0027ve just meant that as now both o.vo and SQLA objects have \"volume_metadata\" property in the form you\u0027re expecting to get [1], then you don\u0027t need to probe for metadata and just use volume_metadata.\n\nBut I\u0027ve noticed my TODO above, the property [2], so yeah, that\u0027s fine. :)\n\nSorry for confusing you!\n\n[1] https://github.com/openstack/cinder/blob/master/cinder/objects/volume.py#L149-L152\n[2] https://github.com/openstack/cinder/blob/master/cinder/objects/volume.py#L145-L148","commit_id":"4666091fafff507020171ad2deefd7fdeaccf1d3"}]}
