)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"75c8a1456f1e356983f133b96bfb82eebba957d0","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Some of the config option types were StrOpt when they should more"},{"line_number":10,"context_line":"appropriately be BoolOpt or IntOpt."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"The tests for tenant_networks also had to be repaired. There were"},{"line_number":13,"context_line":"false positives due to the improper compare of a boolean and string."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: Idc7e4e6bd93aa30ea3b4442c66a5d8c3db1fe04f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"da9b358b_67886b23","line":12,"updated":"2015-03-30 08:33:45.000000000","message":"The fix for the test should be in a separate commit. You should first fix the test then fix config.","commit_id":"122f63ed01454b24e93e9e0f117168cab640c9ba"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"cd358cd83b63ff3cd4072e455f1793ec871666f9","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Some of the config option types were StrOpt when they should more"},{"line_number":10,"context_line":"appropriately be BoolOpt or IntOpt."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Idc7e4e6bd93aa30ea3b4442c66a5d8c3db1fe04f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"7a016987_e5eb37af","line":11,"updated":"2015-05-14 16:06:19.000000000","message":"It may be worthwhile having a DocImpact here.\nAll of the changes look good and seem like they may not break anything. If you respin then please add a DocImpact","commit_id":"c3dba73d01c096954cc74d705c99416c5e605513"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"6b9e8bc47fe9bcd5dbaa532f6bd732d69fde0311","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Fix config option types"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Some of the config option types were StrOpt when they should more"},{"line_number":10,"context_line":"appropriately be IntOpt."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Idc7e4e6bd93aa30ea3b4442c66a5d8c3db1fe04f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"7a740942_b92bfc93","line":10,"updated":"2015-12-10 00:48:42.000000000","message":"PortOpt should be added.\nFor example, \u0027be IntOpt or PortOpt\u0027.","commit_id":"f37df7a4966ca8900530441c5e45680e8a997272"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"2a73547d26c55c443c2e004b69f379f0cd9edddc","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Fix config option types"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Some of the config option types were StrOpt when they should more"},{"line_number":10,"context_line":"appropriately be IntOpt."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Idc7e4e6bd93aa30ea3b4442c66a5d8c3db1fe04f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"7a740942_5ce8c616","line":10,"in_reply_to":"7a740942_b92bfc93","updated":"2015-12-10 00:53:35.000000000","message":"Done","commit_id":"f37df7a4966ca8900530441c5e45680e8a997272"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"ec7acefa33b78f2d0ef33b4e694da0fd13716d49","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Some of the config option types were StrOpt when they should more"},{"line_number":10,"context_line":"appropriately be IntOpt or PortOpt."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Idc7e4e6bd93aa30ea3b4442c66a5d8c3db1fe04f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":27,"id":"1a95cdbc_ef8aa0be","line":11,"updated":"2016-10-06 13:32:09.000000000","message":"Can you update it so it includes blueprint centralize-config-options-ocata ? This patch was relevant for so long but was not findable in any easy way.","commit_id":"8cb799487c3b8b08f570ce8505efc0711e5f35f6"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"518045298a7c59256b45912cc9544bddaa115ba4","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Some of the config option types were StrOpt when they should more"},{"line_number":10,"context_line":"appropriately be IntOpt or PortOpt."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Idc7e4e6bd93aa30ea3b4442c66a5d8c3db1fe04f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":27,"id":"fa6399be_8bcdef5f","line":11,"in_reply_to":"1a95cdbc_ef8aa0be","updated":"2016-10-17 20:04:00.000000000","message":"This patch started well before that blueprint, but sure.","commit_id":"8cb799487c3b8b08f570ce8505efc0711e5f35f6"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"3941f0a039f13c4fb31ce63ea1d2ecbffad25810","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Fix config option types"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Some of the config option types were StrOpt when they should more"},{"line_number":10,"context_line":"appropriately be IntOpt or PortOpt."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"blueprint centralize-config-options-ocata"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":29,"id":"5a74a57a_05dfa20d","line":10,"range":{"start_line":10,"start_character":27,"end_line":10,"end_character":34},"updated":"2016-11-25 13:49:30.000000000","message":"Nit: the port opts have been removed, but I don\u0027t want to block on that.","commit_id":"c3ac2a3f554927ae25d1c7fc042153a24c93a6a9"}],"nova/api/openstack/compute/contrib/os_tenant_networks.py":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"75c8a1456f1e356983f133b96bfb82eebba957d0","unresolved":false,"context_lines":[{"line_number":38,"context_line":"                help\u003d\u0027Enables or disables quota checking for tenant \u0027"},{"line_number":39,"context_line":"                     \u0027networks\u0027),"},{"line_number":40,"context_line":"    cfg.BoolOpt(\u0027use_neutron_default_nets\u0027,"},{"line_number":41,"context_line":"                     default\u003dFalse,"},{"line_number":42,"context_line":"                     help\u003d\u0027Control for checking for default networks\u0027),"},{"line_number":43,"context_line":"    cfg.StrOpt(\u0027neutron_default_tenant_id\u0027,"},{"line_number":44,"context_line":"                     default\u003d\"default\","}],"source_content_type":"text/x-python","patch_set":6,"id":"da9b358b_2741430c","line":41,"updated":"2015-03-30 08:33:45.000000000","message":"I guess cfg correctly handle \"False\" to False so that should not be a problem.","commit_id":"122f63ed01454b24e93e9e0f117168cab640c9ba"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"891e4113a130ef97b6f1f9ff33f0a2f9117e57e4","unresolved":false,"context_lines":[{"line_number":38,"context_line":"                help\u003d\u0027Enables or disables quota checking for tenant \u0027"},{"line_number":39,"context_line":"                     \u0027networks\u0027),"},{"line_number":40,"context_line":"    cfg.BoolOpt(\u0027use_neutron_default_nets\u0027,"},{"line_number":41,"context_line":"                     default\u003dFalse,"},{"line_number":42,"context_line":"                     help\u003d\u0027Control for checking for default networks\u0027),"},{"line_number":43,"context_line":"    cfg.StrOpt(\u0027neutron_default_tenant_id\u0027,"},{"line_number":44,"context_line":"                     default\u003d\"default\","}],"source_content_type":"text/x-python","patch_set":6,"id":"da9b358b_518752b5","line":41,"in_reply_to":"da9b358b_2741430c","updated":"2015-03-30 17:41:05.000000000","message":"Its still error prone, since someone could pass a none boolean like string like \"abcd\"","commit_id":"122f63ed01454b24e93e9e0f117168cab640c9ba"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"c1d870f765e2f8fb72aebf14ba7a9fc12fc736db","unresolved":false,"context_lines":[{"line_number":38,"context_line":"                help\u003d\u0027Enables or disables quota checking for tenant \u0027"},{"line_number":39,"context_line":"                     \u0027networks\u0027),"},{"line_number":40,"context_line":"    cfg.BoolOpt(\u0027use_neutron_default_nets\u0027,"},{"line_number":41,"context_line":"                     default\u003dFalse,"},{"line_number":42,"context_line":"                     help\u003d\u0027Control for checking for default networks\u0027),"},{"line_number":43,"context_line":"    cfg.StrOpt(\u0027neutron_default_tenant_id\u0027,"},{"line_number":44,"context_line":"                     default\u003d\"default\","}],"source_content_type":"text/x-python","patch_set":9,"id":"7a016987_ca76073e","line":41,"updated":"2015-05-14 16:46:32.000000000","message":"Won\u0027t this break users config files? If they previously had \n\nset this to \"True\"? Or does BoolOpt take care of that ?","commit_id":"c3dba73d01c096954cc74d705c99416c5e605513"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"03bc4370195b17383b368de8e7873758360c61ce","unresolved":false,"context_lines":[{"line_number":38,"context_line":"                help\u003d\u0027Enables or disables quota checking for tenant \u0027"},{"line_number":39,"context_line":"                     \u0027networks\u0027),"},{"line_number":40,"context_line":"    cfg.BoolOpt(\u0027use_neutron_default_nets\u0027,"},{"line_number":41,"context_line":"                     default\u003dFalse,"},{"line_number":42,"context_line":"                     help\u003d\u0027Control for checking for default networks\u0027),"},{"line_number":43,"context_line":"    cfg.StrOpt(\u0027neutron_default_tenant_id\u0027,"},{"line_number":44,"context_line":"                     default\u003d\"default\","}],"source_content_type":"text/x-python","patch_set":9,"id":"7a2fa921_6023a956","line":41,"in_reply_to":"7a016987_ca76073e","updated":"2015-10-10 21:34:47.000000000","message":"Done","commit_id":"c3dba73d01c096954cc74d705c99416c5e605513"}],"nova/api/openstack/compute/plugins/v3/tenant_networks.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"1438fb90a66b12e75c6675ee6df8b89900c027ca","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    def _refresh_default_networks(self):"},{"line_number":69,"context_line":"        self._default_networks \u003d []"},{"line_number":70,"context_line":"        if CONF.use_neutron_default_nets:"},{"line_number":71,"context_line":"            try:"},{"line_number":72,"context_line":"                self._default_networks \u003d self._get_default_networks()"},{"line_number":73,"context_line":"            except Exception:"}],"source_content_type":"text/x-python","patch_set":8,"id":"9aa53dc9_e6454fb3","line":70,"updated":"2015-04-08 16:19:22.000000000","message":"nit: I prefer the syntaxic sugar :\n\n   if something is True:\n     do_()","commit_id":"5ee2f3680173c8df88c25d7466eca3efa1e040c9"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"212b8b3c273113205daf232fdf8b8422b530aca2","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    def _refresh_default_networks(self):"},{"line_number":69,"context_line":"        self._default_networks \u003d []"},{"line_number":70,"context_line":"        if CONF.use_neutron_default_nets:"},{"line_number":71,"context_line":"            try:"},{"line_number":72,"context_line":"                self._default_networks \u003d self._get_default_networks()"},{"line_number":73,"context_line":"            except Exception:"}],"source_content_type":"text/x-python","patch_set":8,"id":"9aa53dc9_01ca5d6d","line":70,"in_reply_to":"9aa53dc9_e6454fb3","updated":"2015-04-08 16:24:58.000000000","message":"I\u0027ve never been clear what the openstack dev pattern is for this.  I think I\u0027ve seen a mix of both being used, but I\u0027d be more than happy to change to whatever the guideline is.","commit_id":"5ee2f3680173c8df88c25d7466eca3efa1e040c9"}],"nova/network/ldapdns.py":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"75c8a1456f1e356983f133b96bfb82eebba957d0","unresolved":false,"context_lines":[{"line_number":56,"context_line":"               help\u003d\u0027Refresh interval (in seconds) for LDAP DNS driver \u0027"},{"line_number":57,"context_line":"                    \u0027Statement of Authority\u0027),"},{"line_number":58,"context_line":"    cfg.StrOpt(\u0027ldap_dns_soa_retry\u0027,"},{"line_number":59,"context_line":"               default\u003d\u00273600\u0027,"},{"line_number":60,"context_line":"               help\u003d\u0027Retry interval (in seconds) for LDAP DNS driver \u0027"},{"line_number":61,"context_line":"                    \u0027Statement of Authority\u0027),"},{"line_number":62,"context_line":"    cfg.StrOpt(\u0027ldap_dns_soa_expiry\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"da9b358b_674d0b72","side":"PARENT","line":59,"updated":"2015-03-30 08:33:45.000000000","message":"I can see other options that can be converted here?","commit_id":"efce5ca36568395440f0e21b759de5ddfd108e1d"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"891e4113a130ef97b6f1f9ff33f0a2f9117e57e4","unresolved":false,"context_lines":[{"line_number":56,"context_line":"               help\u003d\u0027Refresh interval (in seconds) for LDAP DNS driver \u0027"},{"line_number":57,"context_line":"                    \u0027Statement of Authority\u0027),"},{"line_number":58,"context_line":"    cfg.StrOpt(\u0027ldap_dns_soa_retry\u0027,"},{"line_number":59,"context_line":"               default\u003d\u00273600\u0027,"},{"line_number":60,"context_line":"               help\u003d\u0027Retry interval (in seconds) for LDAP DNS driver \u0027"},{"line_number":61,"context_line":"                    \u0027Statement of Authority\u0027),"},{"line_number":62,"context_line":"    cfg.StrOpt(\u0027ldap_dns_soa_expiry\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"da9b358b_1191caf0","side":"PARENT","line":59,"in_reply_to":"da9b358b_674d0b72","updated":"2015-03-30 17:41:05.000000000","message":"Done","commit_id":"efce5ca36568395440f0e21b759de5ddfd108e1d"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"c1d870f765e2f8fb72aebf14ba7a9fc12fc736db","unresolved":false,"context_lines":[{"line_number":52,"context_line":"               default\u003d\u0027ou\u003dhosts,dc\u003dexample,dc\u003dorg\u0027,"},{"line_number":53,"context_line":"               help\u003d\u0027Base DN for DNS entries in LDAP\u0027),"},{"line_number":54,"context_line":"    cfg.IntOpt(\u0027ldap_dns_soa_refresh\u0027,"},{"line_number":55,"context_line":"               default\u003d1800,"},{"line_number":56,"context_line":"               help\u003d\u0027Refresh interval (in seconds) for LDAP DNS driver \u0027"},{"line_number":57,"context_line":"                    \u0027Statement of Authority\u0027),"},{"line_number":58,"context_line":"    cfg.IntOpt(\u0027ldap_dns_soa_retry\u0027,"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a016987_aa73cb4c","line":55,"updated":"2015-05-14 16:46:32.000000000","message":"Same question here? Does IntOpt convert strings to ints?","commit_id":"c3dba73d01c096954cc74d705c99416c5e605513"}],"nova/scheduler/filters/trusted_filter.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"fea249e2566a8b51dfdd0fa002ba55b5c34aa32b","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        # :returns: result data"},{"line_number":83,"context_line":"        # :raises: IOError if the request fails"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        action_url \u003d \"https://%s:%d%s/%s\" % (self.host, self.port,"},{"line_number":86,"context_line":"                                             self.api_url, action_url)"},{"line_number":87,"context_line":"        try:"},{"line_number":88,"context_line":"            res \u003d requests.request(method, action_url, data\u003dbody,"}],"source_content_type":"text/x-python","patch_set":28,"id":"ba5da102_7576bf07","line":85,"range":{"start_line":85,"start_character":0,"end_line":85,"end_character":66},"updated":"2016-11-04 11:30:33.000000000","message":"This seems unrelated, though it is a correct fix. Might be worth highlighting in the commit message","commit_id":"3d1ae103ff8a55e07ce5f49ae3b24580c038fc09"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"3941f0a039f13c4fb31ce63ea1d2ecbffad25810","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        # :returns: result data"},{"line_number":83,"context_line":"        # :raises: IOError if the request fails"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        action_url \u003d \"https://%s:%d%s/%s\" % (self.host, self.port,"},{"line_number":86,"context_line":"                                             self.api_url, action_url)"},{"line_number":87,"context_line":"        try:"},{"line_number":88,"context_line":"            res \u003d requests.request(method, action_url, data\u003dbody,"}],"source_content_type":"text/x-python","patch_set":29,"id":"5a74a57a_4580baf7","line":85,"updated":"2016-11-25 13:49:30.000000000","message":"Nit: This seems like an unrelated change we should probably exclude from this commit, but I don\u0027t want to block on that. Also looking back in the history, its more to do with this being fixed in a different patch.","commit_id":"c3ac2a3f554927ae25d1c7fc042153a24c93a6a9"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"6a46520c7482f6189dfde5cb85b7e4fe7c382e7b","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        # :returns: result data"},{"line_number":83,"context_line":"        # :raises: IOError if the request fails"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        action_url \u003d \"https://%s:%d%s/%s\" % (self.host, self.port,"},{"line_number":86,"context_line":"                                             self.api_url, action_url)"},{"line_number":87,"context_line":"        try:"},{"line_number":88,"context_line":"            res \u003d requests.request(method, action_url, data\u003dbody,"}],"source_content_type":"text/x-python","patch_set":29,"id":"5a74a57a_b1e51e39","line":85,"in_reply_to":"5a74a57a_4580baf7","updated":"2016-11-28 11:59:08.000000000","message":"Yea, its more clear to divide patch.","commit_id":"c3ac2a3f554927ae25d1c7fc042153a24c93a6a9"}],"nova/tests/unit/api/openstack/compute/contrib/test_tenant_networks.py":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"75c8a1456f1e356983f133b96bfb82eebba957d0","unresolved":false,"context_lines":[{"line_number":161,"context_line":"            expected \u003d NETWORKS_WITH_DEFAULT_NET"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"        res \u003d self.controller.index(self.req)"},{"line_number":164,"context_line":"        self.assertEqual(expected, res[\u0027networks\u0027])"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"    def test_network_index_with_default_net(self):"},{"line_number":167,"context_line":"        self._test_network_index()"}],"source_content_type":"text/x-python","patch_set":6,"id":"da9b358b_07e2bf03","line":164,"updated":"2015-03-30 08:33:45.000000000","message":"+1 :)","commit_id":"122f63ed01454b24e93e9e0f117168cab640c9ba"}],"nova/virt/xenapi/driver.py":[{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"8938c5903d63e3fe9a9ae522ed0e48a5f5a7418a","unresolved":false,"context_lines":[{"line_number":75,"context_line":"    cfg.StrOpt(\u0027target_host\u0027,"},{"line_number":76,"context_line":"               help\u003d\u0027The iSCSI Target Host\u0027),"},{"line_number":77,"context_line":"    cfg.IntOpt(\u0027target_port\u0027,"},{"line_number":78,"context_line":"               default\u003d3260,"},{"line_number":79,"context_line":"               help\u003d\u0027The iSCSI Target Port, default is port 3260\u0027),"},{"line_number":80,"context_line":"    cfg.StrOpt(\u0027iqn_prefix\u0027,"},{"line_number":81,"context_line":"               default\u003d\u0027iqn.2010-10.org.openstack\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa963961_e24689be","line":78,"updated":"2015-03-27 20:47:54.000000000","message":"Eric, need to fix a spot where this is used? https://github.com/openstack/nova/blob/master/nova/virt/xenapi/volume_utils.py#L80","commit_id":"591af74461db7dc6e5e1c8677e346d35045c5552"}],"nova/virt/xenapi/volume_utils.py":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"75c8a1456f1e356983f133b96bfb82eebba957d0","unresolved":false,"context_lines":[{"line_number":112,"context_line":"    if iscsi_string and \u0027:\u0027 in iscsi_string:"},{"line_number":113,"context_line":"        return iscsi_string.split(\u0027:\u0027)[1]"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    return str(CONF.xenserver.target_port)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"def introduce_sr(session, sr_uuid, label, params):"}],"source_content_type":"text/x-python","patch_set":6,"id":"da9b358b_e7959b40","line":115,"updated":"2015-03-30 08:33:45.000000000","message":"Something seems not good here, can you explain why did you do that?","commit_id":"122f63ed01454b24e93e9e0f117168cab640c9ba"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"891e4113a130ef97b6f1f9ff33f0a2f9117e57e4","unresolved":false,"context_lines":[{"line_number":112,"context_line":"    if iscsi_string and \u0027:\u0027 in iscsi_string:"},{"line_number":113,"context_line":"        return iscsi_string.split(\u0027:\u0027)[1]"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    return str(CONF.xenserver.target_port)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"def introduce_sr(session, sr_uuid, label, params):"}],"source_content_type":"text/x-python","patch_set":6,"id":"da9b358b_715ff641","line":115,"in_reply_to":"da9b358b_e7959b40","updated":"2015-03-30 17:41:05.000000000","message":"Did this because iscsi_string.split(\u0027:\u0027)[1] will return a string.  I can change the entire function to return an int, but it causes a ripple effect.  And I\u0027m unclear whether some code will break as a result.  Let me know your thoughts, I can look into returning as int.","commit_id":"122f63ed01454b24e93e9e0f117168cab640c9ba"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"1438fb90a66b12e75c6675ee6df8b89900c027ca","unresolved":false,"context_lines":[{"line_number":112,"context_line":"    if iscsi_string and \u0027:\u0027 in iscsi_string:"},{"line_number":113,"context_line":"        return iscsi_string.split(\u0027:\u0027)[1]"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    return str(CONF.xenserver.target_port)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"def introduce_sr(session, sr_uuid, label, params):"}],"source_content_type":"text/x-python","patch_set":8,"id":"9aa53dc9_c64b6b86","line":115,"updated":"2015-04-08 16:19:22.000000000","message":"nit: I\u0027m not that convinced of the need to change this opt to be an IntOpt if we later cast it to a string, but that\u0027s okay as the other ports are also IntOpt.\n\nLonger term, I would prefer to change the XenAPI to use correcly an int instead of a string for a port number.","commit_id":"5ee2f3680173c8df88c25d7466eca3efa1e040c9"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"212b8b3c273113205daf232fdf8b8422b530aca2","unresolved":false,"context_lines":[{"line_number":112,"context_line":"    if iscsi_string and \u0027:\u0027 in iscsi_string:"},{"line_number":113,"context_line":"        return iscsi_string.split(\u0027:\u0027)[1]"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    return str(CONF.xenserver.target_port)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"def introduce_sr(session, sr_uuid, label, params):"}],"source_content_type":"text/x-python","patch_set":8,"id":"9aa53dc9_a10971df","line":115,"in_reply_to":"9aa53dc9_c64b6b86","updated":"2015-04-08 16:24:58.000000000","message":"The value of the Opt being an Int is to better check user provided options in nova.conf.  So a user could only specify a number rather than some random string.","commit_id":"5ee2f3680173c8df88c25d7466eca3efa1e040c9"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"6955148763e2a0e611cc6471cc4c049ba25c5ea0","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        \"port\": target_port,"},{"line_number":77,"context_line":"        \"iqn\": target_iqn"},{"line_number":78,"context_line":"    }"},{"line_number":79,"context_line":"    LOG.debug(\u0027(vol_id,host,port,iqn): \u0027"},{"line_number":80,"context_line":"              \u0027(%(vol_id)s,%(host)s,%(port)s,%(iqn)s)\u0027, log_params)"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    if (volume_id is None or"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a8ffd7b_986df9ce","line":79,"updated":"2015-11-24 11:49:45.000000000","message":"%(port)d","commit_id":"88afa694d28c4584a5727a1b46e3b122bd35da89"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"7c18dbcf1dc1a7349ba1df7b801aae0c32e256b8","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        \"port\": target_port,"},{"line_number":77,"context_line":"        \"iqn\": target_iqn"},{"line_number":78,"context_line":"    }"},{"line_number":79,"context_line":"    LOG.debug(\u0027(vol_id,host,port,iqn): \u0027"},{"line_number":80,"context_line":"              \u0027(%(vol_id)s,%(host)s,%(port)s,%(iqn)s)\u0027, log_params)"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    if (volume_id is None or"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a8ffd7b_e30fe834","line":79,"in_reply_to":"9a8ffd7b_986df9ce","updated":"2015-11-28 02:26:59.000000000","message":"Done","commit_id":"88afa694d28c4584a5727a1b46e3b122bd35da89"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"6955148763e2a0e611cc6471cc4c049ba25c5ea0","unresolved":false,"context_lines":[{"line_number":87,"context_line":"                        connection_data)"},{"line_number":88,"context_line":"    volume_info \u003d {}"},{"line_number":89,"context_line":"    volume_info[\u0027id\u0027] \u003d volume_id"},{"line_number":90,"context_line":"    volume_info[\u0027target\u0027] \u003d target_host"},{"line_number":91,"context_line":"    volume_info[\u0027port\u0027] \u003d target_port"},{"line_number":92,"context_line":"    volume_info[\u0027targetIQN\u0027] \u003d target_iqn"},{"line_number":93,"context_line":"    if (\u0027auth_method\u0027 in connection_data and"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a8ffd7b_d87381b3","line":90,"updated":"2015-11-24 11:49:45.000000000","message":"str(target_port)","commit_id":"88afa694d28c4584a5727a1b46e3b122bd35da89"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"7c18dbcf1dc1a7349ba1df7b801aae0c32e256b8","unresolved":false,"context_lines":[{"line_number":87,"context_line":"                        connection_data)"},{"line_number":88,"context_line":"    volume_info \u003d {}"},{"line_number":89,"context_line":"    volume_info[\u0027id\u0027] \u003d volume_id"},{"line_number":90,"context_line":"    volume_info[\u0027target\u0027] \u003d target_host"},{"line_number":91,"context_line":"    volume_info[\u0027port\u0027] \u003d target_port"},{"line_number":92,"context_line":"    volume_info[\u0027targetIQN\u0027] \u003d target_iqn"},{"line_number":93,"context_line":"    if (\u0027auth_method\u0027 in connection_data and"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a8ffd7b_5e02470b","line":90,"in_reply_to":"9a8ffd7b_d87381b3","updated":"2015-11-28 02:26:59.000000000","message":"Done","commit_id":"88afa694d28c4584a5727a1b46e3b122bd35da89"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"6955148763e2a0e611cc6471cc4c049ba25c5ea0","unresolved":false,"context_lines":[{"line_number":112,"context_line":"    if iscsi_string and \u0027:\u0027 in iscsi_string:"},{"line_number":113,"context_line":"        return iscsi_string.split(\u0027:\u0027)[1]"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    return str(CONF.xenserver.target_port)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"def introduce_sr(session, sr_uuid, label, params):"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a8ffd7b_18b9092f","line":115,"updated":"2015-11-24 11:49:45.000000000","message":"I get why the str() is here; but it shouldn\u0027t be.  Nova should be treating the port as an int up to the point we pass it to XAPI (which requires a string).\n\nI\u0027d prefer to see the str() moved to the _parse_volume_info method above","commit_id":"88afa694d28c4584a5727a1b46e3b122bd35da89"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"7c18dbcf1dc1a7349ba1df7b801aae0c32e256b8","unresolved":false,"context_lines":[{"line_number":112,"context_line":"    if iscsi_string and \u0027:\u0027 in iscsi_string:"},{"line_number":113,"context_line":"        return iscsi_string.split(\u0027:\u0027)[1]"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    return str(CONF.xenserver.target_port)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"def introduce_sr(session, sr_uuid, label, params):"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a8ffd7b_030b0c2b","line":115,"in_reply_to":"9a8ffd7b_18b9092f","updated":"2015-11-28 02:26:59.000000000","message":"Done","commit_id":"88afa694d28c4584a5727a1b46e3b122bd35da89"}]}
