)]}'
{"cinder/exception.py":[{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"4331caaa0828a29b3b937e5e26c54805062aeda6","unresolved":false,"context_lines":[{"line_number":307,"context_line":"    message \u003d _(\"Failed to create iscsi target for volume %(volume_id)s.\")"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"class ISCSITargetAttachFailed(CinderException):"},{"line_number":311,"context_line":"    message \u003d _(\"Failed to attach iSCSI target for volume %(volume_id)s.\")"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAN3%2F%2FviE%3D","side":"PARENT","line":310,"updated":"2013-03-14 05:46:46.000000000","message":"Any special reason why this exception was removed?","commit_id":"2d84a97df28fae40a8b5b3d422a702794284beb8"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"e4e9960c2fdd8529bb7c33574d9392caf1cdcb6d","unresolved":false,"context_lines":[{"line_number":307,"context_line":"    message \u003d _(\"Failed to create iscsi target for volume %(volume_id)s.\")"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"class ISCSITargetAttachFailed(CinderException):"},{"line_number":311,"context_line":"    message \u003d _(\"Failed to attach iSCSI target for volume %(volume_id)s.\")"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAN3%2F%2Fu94%3D","side":"PARENT","line":310,"in_reply_to":"AAAAN3%2F%2FviE%3D","updated":"2013-03-14 15:39:51.000000000","message":"gah.   Looks like my topic branch is out of date.  I didn\u0027t mean to remove this.  My local git diff didn\u0027t show this prior to my commit.","commit_id":"2d84a97df28fae40a8b5b3d422a702794284beb8"}],"cinder/volume/drivers/san/hp/hp_3par_fc.py":[{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"2d2db97b958e4b0df4b986fff38d578d8c22a977","unresolved":false,"context_lines":[{"line_number":208,"context_line":"            if \"already used by host\" in out[1]:"},{"line_number":209,"context_line":"                msg \u003d out[1].strip()"},{"line_number":210,"context_line":"                msg \u003d msg + _(\".  The hostname must be called \u0027%s\u0027\") % hostname"},{"line_number":211,"context_line":"                raise exception.Duplicate(msg)"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"    def _modify_3par_fibrechan_host(self, hostname, wwn):"},{"line_number":214,"context_line":"        # when using -add, you can not send the persona or domain options"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAN3%2F%2Fv2I%3D","line":211,"updated":"2013-03-13 22:26:59.000000000","message":"I\u0027m fine with the change except for using the raw \"Duplicate\".  Can you go ahead and add a specific exception for this and maybe derive it from the base CinderException class?","commit_id":"9a3425c52612aa9ce8fb6ff8838430a97dd065d0"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"1b706aafb5742c850a517ddcd51bdad927ec57a0","unresolved":false,"context_lines":[{"line_number":208,"context_line":"            if \"already used by host\" in out[1]:"},{"line_number":209,"context_line":"                msg \u003d out[1].strip()"},{"line_number":210,"context_line":"                msg \u003d msg + _(\".  The hostname must be called \u0027%s\u0027\") % hostname"},{"line_number":211,"context_line":"                raise exception.Duplicate(msg)"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"    def _modify_3par_fibrechan_host(self, hostname, wwn):"},{"line_number":214,"context_line":"        # when using -add, you can not send the persona or domain options"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAN3%2F%2FvlY%3D","line":211,"in_reply_to":"AAAAN3%2F%2Fv2I%3D","updated":"2013-03-14 04:08:27.000000000","message":"Done","commit_id":"9a3425c52612aa9ce8fb6ff8838430a97dd065d0"},{"author":{"_account_id":4355,"name":"Avishay Traeger","email":"avishay@stratoscale.com","username":"avishay-il"},"change_message_id":"f4a599b43b62bfa393b2160ab77a34c52633a3af","unresolved":false,"context_lines":[{"line_number":207,"context_line":"        if out and len(out) \u003e 1:"},{"line_number":208,"context_line":"            if \"already used by host\" in out[1]:"},{"line_number":209,"context_line":"                err \u003d out[1].strip()"},{"line_number":210,"context_line":"                info \u003d _(\"The hostname must be called \u0027%s\u0027\") % hostname"},{"line_number":211,"context_line":"                raise exception.Duplicate3PARHost(err\u003derr, info\u003dinfo)"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"    def _modify_3par_fibrechan_host(self, hostname, wwn):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAN3%2F%2FvR4%3D","line":210,"updated":"2013-03-14 13:12:38.000000000","message":"This info message doesn\u0027t seem accurate.","commit_id":"0aef9d093255b19d5e33715c5784c958256d23e1"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"e4e9960c2fdd8529bb7c33574d9392caf1cdcb6d","unresolved":false,"context_lines":[{"line_number":207,"context_line":"        if out and len(out) \u003e 1:"},{"line_number":208,"context_line":"            if \"already used by host\" in out[1]:"},{"line_number":209,"context_line":"                err \u003d out[1].strip()"},{"line_number":210,"context_line":"                info \u003d _(\"The hostname must be called \u0027%s\u0027\") % hostname"},{"line_number":211,"context_line":"                raise exception.Duplicate3PARHost(err\u003derr, info\u003dinfo)"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"    def _modify_3par_fibrechan_host(self, hostname, wwn):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAN3%2F%2Fu9s%3D","line":210,"in_reply_to":"AAAAN3%2F%2FvR4%3D","updated":"2013-03-14 15:39:51.000000000","message":"It is.","commit_id":"0aef9d093255b19d5e33715c5784c958256d23e1"}],"cinder/volume/drivers/san/hp/hp_3par_iscsi.py":[{"author":{"_account_id":4355,"name":"Avishay Traeger","email":"avishay@stratoscale.com","username":"avishay-il"},"change_message_id":"f4a599b43b62bfa393b2160ab77a34c52633a3af","unresolved":false,"context_lines":[{"line_number":233,"context_line":"        if out and len(out) \u003e 1:"},{"line_number":234,"context_line":"            if \"already used by host\" in out[1]:"},{"line_number":235,"context_line":"                err \u003d out[1].strip()"},{"line_number":236,"context_line":"                info \u003d _(\"The hostname must be called \u0027%s\u0027\") % hostname"},{"line_number":237,"context_line":"                raise exception.Duplicate3PARHost(err\u003derr, info\u003dinfo)"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"    def _modify_3par_iscsi_host(self, hostname, iscsi_iqn):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAN3%2F%2FvR0%3D","line":236,"updated":"2013-03-14 13:12:38.000000000","message":"Same comment as the FC driver - info message not descriptive.","commit_id":"0aef9d093255b19d5e33715c5784c958256d23e1"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"c7724e41b1edddd8bc4ee5e41a2dd119ffb62940","unresolved":false,"context_lines":[{"line_number":233,"context_line":"        if out and len(out) \u003e 1:"},{"line_number":234,"context_line":"            if \"already used by host\" in out[1]:"},{"line_number":235,"context_line":"                err \u003d out[1].strip()"},{"line_number":236,"context_line":"                info \u003d _(\"The hostname must be called \u0027%s\u0027\") % hostname"},{"line_number":237,"context_line":"                raise exception.Duplicate3PARHost(err\u003derr, info\u003dinfo)"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"    def _modify_3par_iscsi_host(self, hostname, iscsi_iqn):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAN3%2F%2Fu1Y%3D","line":236,"in_reply_to":"AAAAN3%2F%2Fu9k%3D","updated":"2013-03-14 17:12:13.000000000","message":"This is what the full exception message looks like.\n\n\"Duplicate3PARHost: 3PAR Host already exists: Host wwn 100010604B019419 already used by host ubuntu-devstackW (id \u003d 67).  The hostname must be called \u0027ubuntu-devstack\u0027\"","commit_id":"0aef9d093255b19d5e33715c5784c958256d23e1"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"e4e9960c2fdd8529bb7c33574d9392caf1cdcb6d","unresolved":false,"context_lines":[{"line_number":233,"context_line":"        if out and len(out) \u003e 1:"},{"line_number":234,"context_line":"            if \"already used by host\" in out[1]:"},{"line_number":235,"context_line":"                err \u003d out[1].strip()"},{"line_number":236,"context_line":"                info \u003d _(\"The hostname must be called \u0027%s\u0027\") % hostname"},{"line_number":237,"context_line":"                raise exception.Duplicate3PARHost(err\u003derr, info\u003dinfo)"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"    def _modify_3par_iscsi_host(self, hostname, iscsi_iqn):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAN3%2F%2Fu9k%3D","line":236,"in_reply_to":"AAAAN3%2F%2FvR0%3D","updated":"2013-03-14 15:39:51.000000000","message":"It\u0027s exactly what the hostname must be called.   This case happens when a host already exists on the 3par but doesn\u0027t have the correct name because someone manually created it.   We will reuse the incorrect host in H release, but for now we need to inform the user that they have to name the hostname the same as what we expect here.","commit_id":"0aef9d093255b19d5e33715c5784c958256d23e1"}]}
