)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"c5ca9b7a60b4ad0389cad31a6607c8d60af4bb1e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Lakhinder Walia \u003clakhinder.walia@hds.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2013-08-01 16:43:45 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add minimum feature (for Havana, and for Iceland releases)"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"1. Add create_cloned_volume() api."},{"line_number":10,"context_line":"2. Add extend_volume() api."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAQn%2F%2FP0k%3D","line":7,"updated":"2013-08-05 04:57:53.000000000","message":"/Iceland/Icehouse/\n\nChuck, you\u0027re providing some good insight for people who might not be in everyday Cinder development. How can we better explain the minimum features we\u0027re expecting from drivers as explained here:\n\nhttps://github.com/openstack/cinder/blob/master/doc/source/devref/drivers.rst","commit_id":"8fe382e87f81686058323324776b3fd9fd80c88a"},{"author":{"_account_id":24,"name":"Chuck Short","email":"charles.short@windriver.com","username":"zulcss"},"change_message_id":"72b1d49d70c0a4e511c90323d5d3b31d498db117","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Lakhinder Walia \u003clakhinder.walia@hds.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2013-08-01 16:43:45 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add minimum feature (for Havana, and for Iceland releases)"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"1. Add create_cloned_volume() api."},{"line_number":10,"context_line":"2. Add extend_volume() api."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAQn%2F%2FPBo%3D","line":7,"updated":"2013-08-05 01:07:42.000000000","message":"This commit message is not clear enough imho,","commit_id":"8fe382e87f81686058323324776b3fd9fd80c88a"},{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"6ea0f83e36b03be66a2c3fe1d13ab7ebd97dddea","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Lakhinder Walia \u003clakhinder.walia@hds.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2013-08-04 22:18:47 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add minimum feature (for Havana, and for Icehouse releases)"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"1. Add create_cloned_volume() api."},{"line_number":10,"context_line":"2. Add extend_volume() api."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAQn%2F%2FFB8%3D","line":7,"updated":"2013-08-07 14:50:00.000000000","message":"\"Add minimum features to HDS driver\" please","commit_id":"05247f3f97b602026cc663050a9c2a7f1df87fdb"},{"author":{"_account_id":7447,"name":"Lakhinder Walia","email":"lakhinder.walia@hds.com","username":"lakhindr"},"change_message_id":"7470bf9bb136d09aa349dcb52df17272b6e2ea1b","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Lakhinder Walia \u003clakhinder.walia@hds.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2013-08-04 22:18:47 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add minimum feature (for Havana, and for Icehouse releases)"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"1. Add create_cloned_volume() api."},{"line_number":10,"context_line":"2. Add extend_volume() api."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAQn%2F%2FDYQ%3D","line":7,"in_reply_to":"AAAAQn%2F%2FFB8%3D","updated":"2013-08-07 21:14:51.000000000","message":"Good point. Thank you. Shall do.","commit_id":"05247f3f97b602026cc663050a9c2a7f1df87fdb"}],"cinder/volume/drivers/hds/hds.py":[{"author":{"_account_id":24,"name":"Chuck Short","email":"charles.short@windriver.com","username":"zulcss"},"change_message_id":"72b1d49d70c0a4e511c90323d5d3b31d498db117","unresolved":false,"context_lines":[{"line_number":331,"context_line":"    def create_cloned_volume(self, dst, src):"},{"line_number":332,"context_line":"        \"\"\"Create a clone of a volume.\"\"\""},{"line_number":333,"context_line":"        if src[\u0027size\u0027] !\u003d dst[\u0027size\u0027]:"},{"line_number":334,"context_line":"            msg \u003d \u0027clone volume size mismatch\u0027"},{"line_number":335,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":336,"context_line":"        service \u003d self._get_service(dst)"},{"line_number":337,"context_line":"        (_ip, _ipp, _ctl, _port, hdp) \u003d service"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAQn%2F%2FPBg%3D","line":334,"updated":"2013-08-05 01:07:42.000000000","message":"msg \u003d _(\u0027clone volume size mismatch\u0027)","commit_id":"8fe382e87f81686058323324776b3fd9fd80c88a"},{"author":{"_account_id":7447,"name":"Lakhinder Walia","email":"lakhinder.walia@hds.com","username":"lakhindr"},"change_message_id":"5681322eb4059bb32f3ef3e84d98fa75f37aa926","unresolved":false,"context_lines":[{"line_number":331,"context_line":"    def create_cloned_volume(self, dst, src):"},{"line_number":332,"context_line":"        \"\"\"Create a clone of a volume.\"\"\""},{"line_number":333,"context_line":"        if src[\u0027size\u0027] !\u003d dst[\u0027size\u0027]:"},{"line_number":334,"context_line":"            msg \u003d \u0027clone volume size mismatch\u0027"},{"line_number":335,"context_line":"            raise exception.VolumeBackendAPIException(data\u003dmsg)"},{"line_number":336,"context_line":"        service \u003d self._get_service(dst)"},{"line_number":337,"context_line":"        (_ip, _ipp, _ctl, _port, hdp) \u003d service"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAQn%2F%2FOoA%3D","line":334,"in_reply_to":"AAAAQn%2F%2FPBg%3D","updated":"2013-08-05 05:16:52.000000000","message":"Please look at this: http://lists.openstack.org/pipermail/openstack-dev/2013-May/008881.html\n\nI thought exceptions need not be translated.","commit_id":"8fe382e87f81686058323324776b3fd9fd80c88a"},{"author":{"_account_id":4355,"name":"Avishay Traeger","email":"avishay@stratoscale.com","username":"avishay-il"},"change_message_id":"e40a1f307b2af25fe02d3909edc1cc94f84dbe88","unresolved":false,"context_lines":[{"line_number":374,"context_line":"    @utils.synchronized(\u0027hds_hus\u0027, external\u003dTrue)"},{"line_number":375,"context_line":"    def delete_volume(self, volume):"},{"line_number":376,"context_line":"        \"\"\"Delete an LU on HUS.\"\"\""},{"line_number":377,"context_line":"        prov_loc \u003d volume[\u0027provider_location\u0027]"},{"line_number":378,"context_line":"        if prov_loc is None:"},{"line_number":379,"context_line":"            return"},{"line_number":380,"context_line":"        info \u003d _loc_info(prov_loc)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAQn%2F%2FMcM%3D","line":377,"updated":"2013-08-05 17:22:06.000000000","message":"These changes below aren\u0027t in the commit message at all - please update.\n\nFrom what I understand, you are keeping state in the DB about whether or not initialize_connection has been called.  I\u0027m not sure this is what you want to do...\n\n1. What something bad happened and terminate_connection wasn\u0027t called?  I won\u0027t be able to connect the volume without going into the DB.\n\n2. What if I am migrating a VM with an attached volume, which requires attaching the volume from two hosts?  Or similarly, attaching from multiple VMs in hopefully near future when that is supported?","commit_id":"05247f3f97b602026cc663050a9c2a7f1df87fdb"},{"author":{"_account_id":7447,"name":"Lakhinder Walia","email":"lakhinder.walia@hds.com","username":"lakhindr"},"change_message_id":"7470bf9bb136d09aa349dcb52df17272b6e2ea1b","unresolved":false,"context_lines":[{"line_number":374,"context_line":"    @utils.synchronized(\u0027hds_hus\u0027, external\u003dTrue)"},{"line_number":375,"context_line":"    def delete_volume(self, volume):"},{"line_number":376,"context_line":"        \"\"\"Delete an LU on HUS.\"\"\""},{"line_number":377,"context_line":"        prov_loc \u003d volume[\u0027provider_location\u0027]"},{"line_number":378,"context_line":"        if prov_loc is None:"},{"line_number":379,"context_line":"            return"},{"line_number":380,"context_line":"        info \u003d _loc_info(prov_loc)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAQn%2F%2FDYs%3D","line":377,"in_reply_to":"AAAAQn%2F%2FMcM%3D","updated":"2013-08-07 21:14:51.000000000","message":"Avishay I shall expand the commit message. I just reorganized this keeping-state part into a cleaner (hopefully) function called _loc_info().\n\nI think #1 is not an issue. You are looking at delete_volume() and we shall delete the volume whether we were formally given the terminate_connection() call or not.\n\nI think #2 is a good point about future approach. I don\u0027t know what it will look like. Perhaps a double attach (i.e. one for for each host) or a detach and attach in close proximity (for migration). I think we should be able to handle that in the future.\n\nThanks.","commit_id":"05247f3f97b602026cc663050a9c2a7f1df87fdb"}]}
