)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"f0ecd0908f1cf6ac0bd37b0ed41d0157459641b3","unresolved":false,"context_lines":[{"line_number":10,"context_line":"attaching. This used to basically default to CONF.my_ip. This patch"},{"line_number":11,"context_line":"allows the host to have a separate config option in the case the storage"},{"line_number":12,"context_line":"traffic is on a separate network."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Closes-Bug: #1347025"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I2bab7226376acd7da78e038a230bf65613547ba6"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"baada198_22b5b918","line":13,"updated":"2014-08-03 05:00:34.000000000","message":"Please add DocImpact here and describe the new configuration variable","commit_id":"31737e39127ae6c99c6c5e98b5865326ef32d666"},{"author":{"_account_id":4159,"name":"Cory Stone","email":"corystone@gmail.com","username":"corystone"},"change_message_id":"c18521cd2edb58c14db9ab00fc15ba80ba44f6d9","unresolved":false,"context_lines":[{"line_number":10,"context_line":"attaching. This used to basically default to CONF.my_ip. This patch"},{"line_number":11,"context_line":"allows the host to have a separate config option in the case the storage"},{"line_number":12,"context_line":"traffic is on a separate network."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Closes-Bug: #1347025"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I2bab7226376acd7da78e038a230bf65613547ba6"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"baada198_a1e22b2e","line":13,"in_reply_to":"baada198_22b5b918","updated":"2014-08-06 16:22:00.000000000","message":"Done","commit_id":"31737e39127ae6c99c6c5e98b5865326ef32d666"}],"nova/netconf.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"f0ecd0908f1cf6ac0bd37b0ed41d0157459641b3","unresolved":false,"context_lines":[{"line_number":47,"context_line":"               default\u003d_get_my_ip(),"},{"line_number":48,"context_line":"               help\u003d\u0027IP address of this host\u0027),"},{"line_number":49,"context_line":"    cfg.StrOpt(\u0027my_storage_ip\u0027,"},{"line_number":50,"context_line":"               help\u003d\u0027Storage IP address of this host\u0027),"},{"line_number":51,"context_line":"    cfg.StrOpt(\u0027host\u0027,"},{"line_number":52,"context_line":"               default\u003dsocket.gethostname(),"},{"line_number":53,"context_line":"               help\u003d\u0027Name of this node.  This can be an opaque identifier.  \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_42ce2db8","line":50,"updated":"2014-08-03 05:00:34.000000000","message":"please add DocImpact to the commit message","commit_id":"31737e39127ae6c99c6c5e98b5865326ef32d666"},{"author":{"_account_id":4159,"name":"Cory Stone","email":"corystone@gmail.com","username":"corystone"},"change_message_id":"c18521cd2edb58c14db9ab00fc15ba80ba44f6d9","unresolved":false,"context_lines":[{"line_number":47,"context_line":"               default\u003d_get_my_ip(),"},{"line_number":48,"context_line":"               help\u003d\u0027IP address of this host\u0027),"},{"line_number":49,"context_line":"    cfg.StrOpt(\u0027my_storage_ip\u0027,"},{"line_number":50,"context_line":"               help\u003d\u0027Storage IP address of this host\u0027),"},{"line_number":51,"context_line":"    cfg.StrOpt(\u0027host\u0027,"},{"line_number":52,"context_line":"               default\u003dsocket.gethostname(),"},{"line_number":53,"context_line":"               help\u003d\u0027Name of this node.  This can be an opaque identifier.  \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_e1cb43a5","line":50,"in_reply_to":"baada198_42ce2db8","updated":"2014-08-06 16:22:00.000000000","message":"Done","commit_id":"31737e39127ae6c99c6c5e98b5865326ef32d666"},{"author":{"_account_id":8531,"name":"Yu Zhang","email":"zhangyu11@huawei.com","username":"zhyu"},"change_message_id":"74cfcdeacf9a4c9390cfe7c5cb5d4b9bbe49d696","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    cfg.StrOpt(\u0027my_ip\u0027,"},{"line_number":47,"context_line":"               default\u003d_get_my_ip(),"},{"line_number":48,"context_line":"               help\u003d\u0027IP address of this host\u0027),"},{"line_number":49,"context_line":"    cfg.StrOpt(\u0027my_block_storage_ip\u0027,"},{"line_number":50,"context_line":"               help\u003d\u0027Block storage IP address of this host\u0027),"},{"line_number":51,"context_line":"    cfg.StrOpt(\u0027host\u0027,"},{"line_number":52,"context_line":"               default\u003dsocket.gethostname(),"}],"source_content_type":"text/x-python","patch_set":4,"id":"1abeadc6_97aeede4","line":49,"updated":"2014-08-21 02:03:54.000000000","message":"IMHO, The name \"my_block_storage_ip\" might be a little misleading here. People may think this indicates the IP of the targeted IPSAN or something. Will \"my_storage_plane_ip\" or \"my_storage_network_IP\" be better?","commit_id":"3a091c3c738c33564138a25cb699c02bb7702ccc"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"14f6a481234190f71b4a85e52516a0f02fe31813","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    cfg.StrOpt(\u0027my_ip\u0027,"},{"line_number":47,"context_line":"               default\u003d_get_my_ip(),"},{"line_number":48,"context_line":"               help\u003d\u0027IP address of this host\u0027),"},{"line_number":49,"context_line":"    cfg.StrOpt(\u0027my_block_storage_ip\u0027,"},{"line_number":50,"context_line":"               help\u003d\u0027Block storage IP address of this host\u0027),"},{"line_number":51,"context_line":"    cfg.StrOpt(\u0027host\u0027,"},{"line_number":52,"context_line":"               default\u003dsocket.gethostname(),"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa98f980_50ebfaaf","line":49,"in_reply_to":"1abeadc6_97aeede4","updated":"2014-09-17 21:00:40.000000000","message":"this should default to my_ip","commit_id":"3a091c3c738c33564138a25cb699c02bb7702ccc"},{"author":{"_account_id":4159,"name":"Cory Stone","email":"corystone@gmail.com","username":"corystone"},"change_message_id":"2a4ec2dd24fac176f131acf067bc3c6a80373375","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    cfg.StrOpt(\u0027my_ip\u0027,"},{"line_number":47,"context_line":"               default\u003d_get_my_ip(),"},{"line_number":48,"context_line":"               help\u003d\u0027IP address of this host\u0027),"},{"line_number":49,"context_line":"    cfg.StrOpt(\u0027my_block_storage_ip\u0027,"},{"line_number":50,"context_line":"               help\u003d\u0027Block storage IP address of this host\u0027),"},{"line_number":51,"context_line":"    cfg.StrOpt(\u0027host\u0027,"},{"line_number":52,"context_line":"               default\u003dsocket.gethostname(),"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa98f980_1099721f","line":49,"in_reply_to":"fa98f980_50ebfaaf","updated":"2014-09-17 21:12:55.000000000","message":"That doesn\u0027t work the way the xen driver is currently written.","commit_id":"3a091c3c738c33564138a25cb699c02bb7702ccc"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"0c5732c019782bc9576341983a795c768c29c969","unresolved":false,"context_lines":[{"line_number":47,"context_line":"               default\u003d_get_my_ip(),"},{"line_number":48,"context_line":"               help\u003d\u0027IP address of this host\u0027),"},{"line_number":49,"context_line":"    cfg.StrOpt(\u0027my_block_storage_ip\u0027,"},{"line_number":50,"context_line":"               default\u003d\u0027$my_ip\u0027,"},{"line_number":51,"context_line":"               help\u003d\u0027Block storage IP address of this host\u0027),"},{"line_number":52,"context_line":"    cfg.StrOpt(\u0027host\u0027,"},{"line_number":53,"context_line":"               default\u003dsocket.gethostname(),"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_38f3a09f","line":50,"updated":"2014-11-12 13:19:00.000000000","message":"I was not aware of this capability.  Very cool.","commit_id":"8e2b172a2648b61350f8b35935cf74ca5c1c732c"}],"nova/tests/virt/hyperv/test_hypervapi.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"f0ecd0908f1cf6ac0bd37b0ed41d0157459641b3","unresolved":false,"context_lines":[{"line_number":1386,"context_line":"        self.assertEqual(fake_host, data.get(\u0027host\u0027))"},{"line_number":1387,"context_line":"        self.assertEqual(fake_initiator, data.get(\u0027initiator\u0027))"},{"line_number":1388,"context_line":""},{"line_number":1389,"context_line":"    def test_get_volume_connector_storage_ip(self):"},{"line_number":1390,"context_line":"        self._instance_data \u003d self._get_instance_data()"},{"line_number":1391,"context_line":"        instance \u003d db.instance_create(self._context, self._instance_data)"},{"line_number":1392,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_82c4c594","line":1389,"updated":"2014-08-03 05:00:34.000000000","message":"can you please use mock for the new tests and not mock","commit_id":"31737e39127ae6c99c6c5e98b5865326ef32d666"},{"author":{"_account_id":4159,"name":"Cory Stone","email":"corystone@gmail.com","username":"corystone"},"change_message_id":"c18521cd2edb58c14db9ab00fc15ba80ba44f6d9","unresolved":false,"context_lines":[{"line_number":1386,"context_line":"        self.assertEqual(fake_host, data.get(\u0027host\u0027))"},{"line_number":1387,"context_line":"        self.assertEqual(fake_initiator, data.get(\u0027initiator\u0027))"},{"line_number":1388,"context_line":""},{"line_number":1389,"context_line":"    def test_get_volume_connector_storage_ip(self):"},{"line_number":1390,"context_line":"        self._instance_data \u003d self._get_instance_data()"},{"line_number":1391,"context_line":"        instance \u003d db.instance_create(self._context, self._instance_data)"},{"line_number":1392,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_e12c23b5","line":1389,"in_reply_to":"baada198_82c4c594","updated":"2014-08-06 16:22:00.000000000","message":"Done","commit_id":"31737e39127ae6c99c6c5e98b5865326ef32d666"}],"nova/tests/virt/libvirt/test_driver.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"f0ecd0908f1cf6ac0bd37b0ed41d0157459641b3","unresolved":false,"context_lines":[{"line_number":828,"context_line":"        }"},{"line_number":829,"context_line":"        conn \u003d libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)"},{"line_number":830,"context_line":"        result \u003d conn.get_volume_connector(volume)"},{"line_number":831,"context_line":"        self.assertEqual(result[\u0027ip\u0027], storage_ip)"},{"line_number":832,"context_line":""},{"line_number":833,"context_line":"    def test_lifecycle_event_registration(self):"},{"line_number":834,"context_line":"        calls \u003d []"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_c2c15d82","line":831,"updated":"2014-08-03 05:00:34.000000000","message":"please use \nself.assertEqual(storage_ip, result[\u0027ip\u0027])\nthe expected result should be first","commit_id":"31737e39127ae6c99c6c5e98b5865326ef32d666"},{"author":{"_account_id":4159,"name":"Cory Stone","email":"corystone@gmail.com","username":"corystone"},"change_message_id":"c18521cd2edb58c14db9ab00fc15ba80ba44f6d9","unresolved":false,"context_lines":[{"line_number":828,"context_line":"        }"},{"line_number":829,"context_line":"        conn \u003d libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)"},{"line_number":830,"context_line":"        result \u003d conn.get_volume_connector(volume)"},{"line_number":831,"context_line":"        self.assertEqual(result[\u0027ip\u0027], storage_ip)"},{"line_number":832,"context_line":""},{"line_number":833,"context_line":"    def test_lifecycle_event_registration(self):"},{"line_number":834,"context_line":"        calls \u003d []"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_bc4df03d","line":831,"in_reply_to":"baada198_c2c15d82","updated":"2014-08-06 16:22:00.000000000","message":"Done","commit_id":"31737e39127ae6c99c6c5e98b5865326ef32d666"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"ba2be0ea635e6b210937487958203fe2f4f2d475","unresolved":false,"context_lines":[{"line_number":813,"context_line":"        self.assertThat(expected, matchers.DictMatches(result))"},{"line_number":814,"context_line":""},{"line_number":815,"context_line":"    def test_get_connector_storage_ip(self):"},{"line_number":816,"context_line":"        ip \u003d \u0027my_ip\u0027"},{"line_number":817,"context_line":"        storage_ip \u003d \u0027storage_ip\u0027"},{"line_number":818,"context_line":"        self.flags(my_block_storage_ip\u003dstorage_ip, my_ip\u003dip)"},{"line_number":819,"context_line":"        volume \u003d {"}],"source_content_type":"text/x-python","patch_set":4,"id":"1abeadc6_0a9e3907","line":816,"updated":"2014-08-20 23:34:07.000000000","message":"Minor nit, but using actual ips here(and other places) would be nice.  Then if any config validation is added later this would still be fine.","commit_id":"3a091c3c738c33564138a25cb699c02bb7702ccc"},{"author":{"_account_id":9569,"name":"Sergey Nikitin","email":"nikitinserv@gmail.com","username":"snikitin"},"change_message_id":"64ca7d1423a5d691c11c8a0ced16e8651f3dc2e5","unresolved":false,"context_lines":[{"line_number":855,"context_line":"        self.assertThat(expected, matchers.DictMatches(result))"},{"line_number":856,"context_line":""},{"line_number":857,"context_line":"    def test_get_connector_storage_ip(self):"},{"line_number":858,"context_line":"        ip \u003d \u0027100.100.100.100"},{"line_number":859,"context_line":"        storage_ip \u003d \u0027101.101.101.101\u0027"},{"line_number":860,"context_line":"        self.flags(my_block_storage_ip\u003dstorage_ip, my_ip\u003dip)"},{"line_number":861,"context_line":"        volume \u003d {"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a8c0949_d3589134","line":858,"updated":"2014-11-07 10:39:45.000000000","message":"i think you forgot to insert here \u0027\n\n  ip \u003d \u0027100.100.100.100\u0027","commit_id":"a30c308e03c68696f0426bc2ec426d1b8a41ed81"},{"author":{"_account_id":4159,"name":"Cory Stone","email":"corystone@gmail.com","username":"corystone"},"change_message_id":"ffe7410e082d77bbd795d1a7876766a8840dd5e2","unresolved":false,"context_lines":[{"line_number":855,"context_line":"        self.assertThat(expected, matchers.DictMatches(result))"},{"line_number":856,"context_line":""},{"line_number":857,"context_line":"    def test_get_connector_storage_ip(self):"},{"line_number":858,"context_line":"        ip \u003d \u0027100.100.100.100"},{"line_number":859,"context_line":"        storage_ip \u003d \u0027101.101.101.101\u0027"},{"line_number":860,"context_line":"        self.flags(my_block_storage_ip\u003dstorage_ip, my_ip\u003dip)"},{"line_number":861,"context_line":"        volume \u003d {"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_ddd640c5","line":858,"in_reply_to":"7a8c0949_d3589134","updated":"2014-11-10 17:30:38.000000000","message":"Done","commit_id":"a30c308e03c68696f0426bc2ec426d1b8a41ed81"}],"nova/tests/virt/test_virt_drivers.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"f0ecd0908f1cf6ac0bd37b0ed41d0157459641b3","unresolved":false,"context_lines":[{"line_number":422,"context_line":"        self.assertIn(\u0027initiator\u0027, result)"},{"line_number":423,"context_line":"        self.assertIn(\u0027host\u0027, result)"},{"line_number":424,"context_line":"        self.assertEqual(result[\u0027ip\u0027], storage_ip)"},{"line_number":425,"context_line":""},{"line_number":426,"context_line":"    @catch_notimplementederror"},{"line_number":427,"context_line":"    def test_attach_detach_volume(self):"},{"line_number":428,"context_line":"        instance_ref, network_info \u003d self._get_running_instance()"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_e2be61ff","line":425,"updated":"2014-08-03 05:00:34.000000000","message":"same as before","commit_id":"31737e39127ae6c99c6c5e98b5865326ef32d666"},{"author":{"_account_id":4159,"name":"Cory Stone","email":"corystone@gmail.com","username":"corystone"},"change_message_id":"c18521cd2edb58c14db9ab00fc15ba80ba44f6d9","unresolved":false,"context_lines":[{"line_number":422,"context_line":"        self.assertIn(\u0027initiator\u0027, result)"},{"line_number":423,"context_line":"        self.assertIn(\u0027host\u0027, result)"},{"line_number":424,"context_line":"        self.assertEqual(result[\u0027ip\u0027], storage_ip)"},{"line_number":425,"context_line":""},{"line_number":426,"context_line":"    @catch_notimplementederror"},{"line_number":427,"context_line":"    def test_attach_detach_volume(self):"},{"line_number":428,"context_line":"        instance_ref, network_info \u003d self._get_running_instance()"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_dc270465","line":425,"in_reply_to":"baada198_e2be61ff","updated":"2014-08-06 16:22:00.000000000","message":"Done","commit_id":"31737e39127ae6c99c6c5e98b5865326ef32d666"}],"nova/virt/hyperv/volumeops.py":[{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"14f6a481234190f71b4a85e52516a0f02fe31813","unresolved":false,"context_lines":[{"line_number":196,"context_line":"                LOG.warn(_(\u0027Could not determine iscsi initiator name\u0027),"},{"line_number":197,"context_line":"                         instance\u003dinstance)"},{"line_number":198,"context_line":"        return {"},{"line_number":199,"context_line":"            \u0027ip\u0027: CONF.my_block_storage_ip or CONF.my_ip,"},{"line_number":200,"context_line":"            \u0027host\u0027: CONF.host,"},{"line_number":201,"context_line":"            \u0027initiator\u0027: self._initiator,"},{"line_number":202,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa98f980_b0d98624","line":199,"updated":"2014-09-17 21:00:40.000000000","message":"my_block_storage_ip defaulting to my_ip would get rid of this.","commit_id":"3a091c3c738c33564138a25cb699c02bb7702ccc"},{"author":{"_account_id":4159,"name":"Cory Stone","email":"corystone@gmail.com","username":"corystone"},"change_message_id":"49dfda99646522033c19145259f2f8df72989877","unresolved":false,"context_lines":[{"line_number":196,"context_line":"                LOG.warn(_(\u0027Could not determine iscsi initiator name\u0027),"},{"line_number":197,"context_line":"                         instance\u003dinstance)"},{"line_number":198,"context_line":"        return {"},{"line_number":199,"context_line":"            \u0027ip\u0027: CONF.my_block_storage_ip or CONF.my_ip,"},{"line_number":200,"context_line":"            \u0027host\u0027: CONF.host,"},{"line_number":201,"context_line":"            \u0027initiator\u0027: self._initiator,"},{"line_number":202,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":4,"id":"9aa7fdbe_427a8988","line":199,"in_reply_to":"fa98f980_b0d98624","updated":"2014-10-28 19:50:30.000000000","message":"That breaks the xen driver.","commit_id":"3a091c3c738c33564138a25cb699c02bb7702ccc"}],"nova/virt/xenapi/driver.py":[{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"c347af7a42b73f937a39e12d431a817e6f9b4aa2","unresolved":false,"context_lines":[{"line_number":398,"context_line":"                         instance\u003dinstance)"},{"line_number":399,"context_line":"                self._initiator \u003d None"},{"line_number":400,"context_line":"        return {"},{"line_number":401,"context_line":"            \u0027ip\u0027: CONF.my_block_storage_ip or self.get_host_ip_addr(),"},{"line_number":402,"context_line":"            \u0027initiator\u0027: self._initiator,"},{"line_number":403,"context_line":"            \u0027host\u0027: self._hypervisor_hostname"},{"line_number":404,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a890539_511dd80e","line":401,"updated":"2014-11-10 21:57:44.000000000","message":"What about defaulting \u0027my_block_storage_ip\u0027 to \u0027my_ip\u0027 but then only using it here if \u0027my_block_storage_ip\u0027 !\u003d \u0027my_ip\u0027?  That simplifies the other drivers, and since \u0027my_block_storage_ip\u0027 should never match the compute ip on xenserver it should be safe to assume that they\u0027ll never be equal if overridden.","commit_id":"ec2dcfc5d8525680e7502dabe143ca1b44152b75"},{"author":{"_account_id":4159,"name":"Cory Stone","email":"corystone@gmail.com","username":"corystone"},"change_message_id":"d7e9cf68cdb22e55750f818a7ac3c4679d986534","unresolved":false,"context_lines":[{"line_number":398,"context_line":"                         instance\u003dinstance)"},{"line_number":399,"context_line":"                self._initiator \u003d None"},{"line_number":400,"context_line":"        return {"},{"line_number":401,"context_line":"            \u0027ip\u0027: CONF.my_block_storage_ip or self.get_host_ip_addr(),"},{"line_number":402,"context_line":"            \u0027initiator\u0027: self._initiator,"},{"line_number":403,"context_line":"            \u0027host\u0027: self._hypervisor_hostname"},{"line_number":404,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a890539_919ca06b","line":401,"in_reply_to":"5a890539_511dd80e","updated":"2014-11-10 22:06:26.000000000","message":"This is a good idea, I\u0027ll do that.","commit_id":"ec2dcfc5d8525680e7502dabe143ca1b44152b75"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"0c5732c019782bc9576341983a795c768c29c969","unresolved":false,"context_lines":[{"line_number":404,"context_line":"        }"},{"line_number":405,"context_line":""},{"line_number":406,"context_line":"    def _get_block_storage_ip(self):"},{"line_number":407,"context_line":"        # If CONF.my_block_storagte_ip is set, use it."},{"line_number":408,"context_line":"        if CONF.my_block_storage_ip !\u003d CONF.my_ip:"},{"line_number":409,"context_line":"            return CONF.my_block_storage_ip"},{"line_number":410,"context_line":"        return self.get_host_ip_addr()"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_d85e1c76","line":407,"updated":"2014-11-12 13:19:00.000000000","message":"s/storagte/storage/","commit_id":"8e2b172a2648b61350f8b35935cf74ca5c1c732c"},{"author":{"_account_id":4159,"name":"Cory Stone","email":"corystone@gmail.com","username":"corystone"},"change_message_id":"2bafcd4ef2a01ddd7d872b9346dc0251681234b6","unresolved":false,"context_lines":[{"line_number":404,"context_line":"        }"},{"line_number":405,"context_line":""},{"line_number":406,"context_line":"    def _get_block_storage_ip(self):"},{"line_number":407,"context_line":"        # If CONF.my_block_storagte_ip is set, use it."},{"line_number":408,"context_line":"        if CONF.my_block_storage_ip !\u003d CONF.my_ip:"},{"line_number":409,"context_line":"            return CONF.my_block_storage_ip"},{"line_number":410,"context_line":"        return self.get_host_ip_addr()"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a890539_1fd7a0ee","line":407,"in_reply_to":"5a890539_d85e1c76","updated":"2014-11-12 17:59:09.000000000","message":"Dangit. That\u0027s what I get for retyping this comment 4 or 5 times...","commit_id":"8e2b172a2648b61350f8b35935cf74ca5c1c732c"}]}
