)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"04241d1ca0ceb2a1fbc37be31ae61bef3a363144","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Nisha Agarwal \u003cagarwalnisha1980@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-10-10 23:10:50 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Follow-up patch for If57184d71d244cdc6f04d3f66d56c374d4336d24"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Followup patch for If57184d71d244cdc6f04d3f66d56c374d4336d24"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5f4e5783_3c80bc8b","line":7,"updated":"2017-10-11 05:43:44.000000000","message":"Please commit ID, and not the change-id.\n\nSo can do: git show \u003ccommit-id\u003e","commit_id":"8e6ba14b57731c2534dd41e4b2565f573cdc759e"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"04241d1ca0ceb2a1fbc37be31ae61bef3a363144","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Follow-up patch for If57184d71d244cdc6f04d3f66d56c374d4336d24"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Followup patch for If57184d71d244cdc6f04d3f66d56c374d4336d24"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: Ic60235834284302331e29122417d6490a3207bf8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5f4e5783_9c4a107e","line":9,"updated":"2017-10-11 05:43:44.000000000","message":"Explain what is being done in this follow-up.","commit_id":"8e6ba14b57731c2534dd41e4b2565f573cdc759e"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"4f849da3253ee2324917055402e86736cf946893","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This addresses the nit comments left over"},{"line_number":10,"context_line":"from the parent patch 8fe2904a62b0f56dc3fc3fefc5a5a746911ce891."},{"line_number":11,"context_line":"Adds the missing test case from the parent patch."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Ic60235834284302331e29122417d6490a3207bf8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"5f4e5783_8a2190b7","line":11,"updated":"2017-10-11 14:54:57.000000000","message":"I would like to see a good reason for using ddt here. To me that is more than a follow-up.","commit_id":"b5c3dc974b0bd13af7acc3738ebcc515cd3b0c94"}],"releasenotes/notes/health_literals_change-0e3fc0c439b765e3.yaml":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"521125cc7276983589e05c2b05a9713953554e26","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Changes the values for the constants ``HEALTH_STATE_ENABLED``,"},{"line_number":5,"context_line":"    ``HEALTH_STATE_DISABLED``, ``HEALTH_OK``, ``HEALTH_WARNING``"},{"line_number":6,"context_line":"    and ``HEALTH_CRITICAL``. These could be correctly used"},{"line_number":7,"context_line":"    with their mapped values in mappings.py."}],"source_content_type":"text/x-yaml","patch_set":10,"id":"df87a7cf_d6c44262","line":7,"updated":"2017-12-13 02:04:52.000000000","message":"It would be useful to better understand why the values have changed?\n\nThe literals, should be mapping to the values defined in a specification or standard, at least, ideally. If I was using the library and saw this release note, I would wonder \"Did I do something wrong?\"","commit_id":"2f746cbdad6ce3097f1db684036ce34c3e1bc05e"}],"sushy/resources/system/constants.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2e7e6703e1772ebc10e6286945c58db58835ee25","unresolved":false,"context_lines":[{"line_number":110,"context_line":"PROCESSOR_ARCH_OEM \u003d \u0027OEM-defined\u0027"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"# Health related constants."},{"line_number":113,"context_line":"HEALTH_STATE_ENABLED \u003d \u0027enabled\u0027"},{"line_number":114,"context_line":"HEALTH_STATE_DISABLED \u003d \u0027disabled\u0027"},{"line_number":115,"context_line":"HEALTH_OK \u003d \u0027ok\u0027"},{"line_number":116,"context_line":"HEALTH_WARNING \u003d \u0027warning\u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"ff82abbf_27cb8e1e","line":113,"updated":"2017-11-23 13:48:46.000000000","message":"note: this may be treated as a breaking change","commit_id":"4bd319c24fc00a22a9ae668b0247a39a625a223e"}],"sushy/resources/system/ethernet_interface.py":[{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"8940221d09ea69b99b7682a8580fcf4f600c771e","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        if self._summary is None:"},{"line_number":75,"context_line":"            mac_dict \u003d {}"},{"line_number":76,"context_line":"            for eth in self.get_members():"},{"line_number":77,"context_line":"                if eth.mac_address is not None:"},{"line_number":78,"context_line":"                    if (eth.status is not None and"},{"line_number":79,"context_line":"                            (eth.status.health \u003d\u003d"},{"line_number":80,"context_line":"                             sys_map.HEALTH_VALUE_MAP_REV.get("}],"source_content_type":"text/x-python","patch_set":5,"id":"5f4e5783_650e793c","line":77,"updated":"2017-10-12 00:41:58.000000000","message":"Could this be:\n\n if eth.mac_address is None or eth.status is None:\n    continue\n\nor\n\n if eth.mac_address is not None and eth.status is not None:\n\nMight make the next logical condition easier.","commit_id":"e3bdd8a52f356cee580e294211ab5b44251bcefe"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"f9f24590517b61b9eff8d79c7eb9b3dc319f2b1b","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        if self._summary is None:"},{"line_number":75,"context_line":"            mac_dict \u003d {}"},{"line_number":76,"context_line":"            for eth in self.get_members():"},{"line_number":77,"context_line":"                if eth.mac_address is not None:"},{"line_number":78,"context_line":"                    if (eth.status is not None and"},{"line_number":79,"context_line":"                            (eth.status.health \u003d\u003d"},{"line_number":80,"context_line":"                             sys_map.HEALTH_VALUE_MAP_REV.get("}],"source_content_type":"text/x-python","patch_set":5,"id":"3f4b6375_c83dc4bb","line":77,"in_reply_to":"5f4e5783_650e793c","updated":"2017-11-06 08:12:24.000000000","message":"Done","commit_id":"e3bdd8a52f356cee580e294211ab5b44251bcefe"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2e7e6703e1772ebc10e6286945c58db58835ee25","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        This filters the MACs whose health is OK,"},{"line_number":68,"context_line":"        which means the MACs in both \u0027Enabled\u0027 and \u0027Disabled\u0027 States"},{"line_number":69,"context_line":"        are returned."},{"line_number":70,"context_line":"        :returns dictionary in the format"},{"line_number":71,"context_line":"        {\u0027aa:bb:cc:dd:ee:ff\u0027: \u0027Enabled\u0027,"},{"line_number":72,"context_line":"        \u0027aa:bb:aa:aa:aa:aa\u0027: \u0027Disabled\u0027}"}],"source_content_type":"text/x-python","patch_set":9,"id":"ff82abbf_c7d182cf","line":69,"updated":"2017-11-23 13:48:46.000000000","message":"please insert a new line before :returns:, otherwise it does not render: http://logs.openstack.org/41/511141/9/check/build-openstack-sphinx-docs/7029e3a/html/reference/api/sushy.resources.system.ethernet_interface.html#sushy.resources.system.ethernet_interface.EthernetInterfaceCollection.summary","commit_id":"4bd319c24fc00a22a9ae668b0247a39a625a223e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2e7e6703e1772ebc10e6286945c58db58835ee25","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        This filters the MACs whose health is OK,"},{"line_number":68,"context_line":"        which means the MACs in both \u0027Enabled\u0027 and \u0027Disabled\u0027 States"},{"line_number":69,"context_line":"        are returned."},{"line_number":70,"context_line":"        :returns dictionary in the format"},{"line_number":71,"context_line":"        {\u0027aa:bb:cc:dd:ee:ff\u0027: \u0027Enabled\u0027,"},{"line_number":72,"context_line":"        \u0027aa:bb:aa:aa:aa:aa\u0027: \u0027Disabled\u0027}"},{"line_number":73,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":9,"id":"ff82abbf_e7d4c6bf","line":70,"updated":"2017-11-23 13:48:46.000000000","message":":returns: (missing 2nd colon)","commit_id":"4bd319c24fc00a22a9ae668b0247a39a625a223e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2e7e6703e1772ebc10e6286945c58db58835ee25","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        which means the MACs in both \u0027Enabled\u0027 and \u0027Disabled\u0027 States"},{"line_number":69,"context_line":"        are returned."},{"line_number":70,"context_line":"        :returns dictionary in the format"},{"line_number":71,"context_line":"        {\u0027aa:bb:cc:dd:ee:ff\u0027: \u0027Enabled\u0027,"},{"line_number":72,"context_line":"        \u0027aa:bb:aa:aa:aa:aa\u0027: \u0027Disabled\u0027}"},{"line_number":73,"context_line":"        \"\"\""},{"line_number":74,"context_line":"        if self._summary is None:"}],"source_content_type":"text/x-python","patch_set":9,"id":"ff82abbf_87db7aeb","line":71,"updated":"2017-11-23 13:48:46.000000000","message":"I think you need to indent this paragraph or it won\u0027t be rendered as part of :returns:","commit_id":"4bd319c24fc00a22a9ae668b0247a39a625a223e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"73da58776bb09d01ceb46009d3cd0898cbbaaa9a","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        if self._summary is None:"},{"line_number":76,"context_line":"            mac_dict \u003d {}"},{"line_number":77,"context_line":"            for eth in self.get_members():"},{"line_number":78,"context_line":"                if (eth.mac_address is not None and eth.status is not None):"},{"line_number":79,"context_line":"                    if (eth.status.health \u003d\u003d"},{"line_number":80,"context_line":"                            sys_map.HEALTH_VALUE_MAP_REV.get("},{"line_number":81,"context_line":"                                sys_cons.HEALTH_OK)):"}],"source_content_type":"text/x-python","patch_set":10,"id":"ff82abbf_8fa13a97","line":78,"updated":"2017-11-24 13:46:42.000000000","message":"nit: redundant brackets","commit_id":"2f746cbdad6ce3097f1db684036ce34c3e1bc05e"}],"sushy/tests/unit/test_utils.py":[{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"8940221d09ea69b99b7682a8580fcf4f600c771e","unresolved":false,"context_lines":[{"line_number":75,"context_line":"            ValueError,"},{"line_number":76,"context_line":"            \u0027\"subresource_name\" cannot be empty\u0027,"},{"line_number":77,"context_line":"            utils.get_sub_resource_path_by,"},{"line_number":78,"context_line":"            self.sys_inst, [])"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f4e5783_e531490d","line":78,"updated":"2017-10-12 00:41:58.000000000","message":"Can a check for an empty string be added.","commit_id":"e3bdd8a52f356cee580e294211ab5b44251bcefe"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"f9f24590517b61b9eff8d79c7eb9b3dc319f2b1b","unresolved":false,"context_lines":[{"line_number":75,"context_line":"            ValueError,"},{"line_number":76,"context_line":"            \u0027\"subresource_name\" cannot be empty\u0027,"},{"line_number":77,"context_line":"            utils.get_sub_resource_path_by,"},{"line_number":78,"context_line":"            self.sys_inst, [])"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f4b6375_88434c3f","line":78,"in_reply_to":"5f4e5783_e531490d","updated":"2017-11-06 08:12:24.000000000","message":"Done","commit_id":"e3bdd8a52f356cee580e294211ab5b44251bcefe"}],"sushy/utils.py":[{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"8940221d09ea69b99b7682a8580fcf4f600c771e","unresolved":false,"context_lines":[{"line_number":70,"context_line":"    :param subresource_name: name of the resource field to"},{"line_number":71,"context_line":"        fetch the \u0027@odata.id\u0027 from."},{"line_number":72,"context_line":"    \"\"\""},{"line_number":73,"context_line":"    if isinstance(subresource_name, six.string_types):"},{"line_number":74,"context_line":"        subresource_name \u003d [subresource_name]"},{"line_number":75,"context_line":"    elif not subresource_name:"},{"line_number":76,"context_line":"        raise ValueError(\u0027\"subresource_name\" cannot be empty\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f4e5783_6560b902","line":73,"updated":"2017-10-12 00:41:58.000000000","message":"So what happens if I pass in an empty string?","commit_id":"e3bdd8a52f356cee580e294211ab5b44251bcefe"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"f9f24590517b61b9eff8d79c7eb9b3dc319f2b1b","unresolved":false,"context_lines":[{"line_number":70,"context_line":"    :param subresource_name: name of the resource field to"},{"line_number":71,"context_line":"        fetch the \u0027@odata.id\u0027 from."},{"line_number":72,"context_line":"    \"\"\""},{"line_number":73,"context_line":"    if isinstance(subresource_name, six.string_types):"},{"line_number":74,"context_line":"        subresource_name \u003d [subresource_name]"},{"line_number":75,"context_line":"    elif not subresource_name:"},{"line_number":76,"context_line":"        raise ValueError(\u0027\"subresource_name\" cannot be empty\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f4b6375_e86be0b3","line":73,"in_reply_to":"5f4e5783_6560b902","updated":"2017-11-06 08:12:24.000000000","message":"added the code to cover this here. It was failing for \"Missing resource\"  if we didnt had the check here.","commit_id":"e3bdd8a52f356cee580e294211ab5b44251bcefe"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"eefa60025353c821cfe17e1e4b11dbe3ba7d699d","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        fetch the \u0027@odata.id\u0027 from."},{"line_number":72,"context_line":"    \"\"\""},{"line_number":73,"context_line":"    if (isinstance(subresource_name, six.string_types) and"},{"line_number":74,"context_line":"            len(subresource_name) \u003e 0):"},{"line_number":75,"context_line":"        subresource_name \u003d [subresource_name]"},{"line_number":76,"context_line":"    elif not subresource_name:"},{"line_number":77,"context_line":"        raise ValueError(\u0027\"subresource_name\" cannot be empty\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f4b6375_037bb6f4","line":74,"updated":"2017-11-06 15:06:10.000000000","message":"If got rid of this line and changed line 76 to an \"if\" instead of \u0027elif\u0027.\n\nWould that make it cleaner and still work?","commit_id":"6c27e912f82b644b2117c8370375bf35d00f70c7"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"47a01495a010772f4b58f4b4e25646dcb706bc53","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        fetch the \u0027@odata.id\u0027 from."},{"line_number":72,"context_line":"    \"\"\""},{"line_number":73,"context_line":"    if (isinstance(subresource_name, six.string_types) and"},{"line_number":74,"context_line":"            len(subresource_name) \u003e 0):"},{"line_number":75,"context_line":"        subresource_name \u003d [subresource_name]"},{"line_number":76,"context_line":"    elif not subresource_name:"},{"line_number":77,"context_line":"        raise ValueError(\u0027\"subresource_name\" cannot be empty\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f4b6375_e751b531","line":74,"in_reply_to":"3f4b6375_037bb6f4","updated":"2017-11-08 08:35:02.000000000","message":"If i remove six.string_types check it will still work. but i think it would be better to keep it. \n\nDO i get you rightly that you want me to remove the check for \"six.string_types\" in the code completely?","commit_id":"6c27e912f82b644b2117c8370375bf35d00f70c7"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"c2bb91676285b30628f9e9b20ee24002af4c0343","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        fetch the \u0027@odata.id\u0027 from."},{"line_number":72,"context_line":"    \"\"\""},{"line_number":73,"context_line":"    if (isinstance(subresource_name, six.string_types) and"},{"line_number":74,"context_line":"            len(subresource_name) \u003e 0):"},{"line_number":75,"context_line":"        subresource_name \u003d [subresource_name]"},{"line_number":76,"context_line":"    elif not subresource_name:"},{"line_number":77,"context_line":"        raise ValueError(\u0027\"subresource_name\" cannot be empty\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f4b6375_7e177156","line":74,"in_reply_to":"3f4b6375_e751b531","updated":"2017-11-08 14:42:32.000000000","message":"No, I was suggesting removing the part on line 74.","commit_id":"6c27e912f82b644b2117c8370375bf35d00f70c7"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"6dbefb7bb40836b5ecaf80a7d6f36ffcdefe6937","unresolved":false,"context_lines":[{"line_number":70,"context_line":"    :param subresource_name: name of the resource field to"},{"line_number":71,"context_line":"        fetch the \u0027@odata.id\u0027 from."},{"line_number":72,"context_line":"    \"\"\""},{"line_number":73,"context_line":"    if (len(subresource_name) \u003d\u003d 0 or not subresource_name):"},{"line_number":74,"context_line":"        raise ValueError(\u0027\"subresource_name\" cannot be empty\u0027)"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    if not isinstance(subresource_name, list):"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f4b6375_8c6a20ea","line":73,"updated":"2017-11-07 14:41:40.000000000","message":"Why use \u0027len\u0027?\n\nJust \u0027not subresouce_name\u0027 is enough.","commit_id":"5134cfa3a31ac947b4ee6de51b9f677998823fad"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"06e1ec232057508d539e4bcd3d03b401a5263be1","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    :param subresource_name: name of the resource field to"},{"line_number":70,"context_line":"        fetch the \u0027@odata.id\u0027 from."},{"line_number":71,"context_line":"    \"\"\""},{"line_number":72,"context_line":"    if (len(subresource_name) \u003d\u003d 0 or not subresource_name):"},{"line_number":73,"context_line":"        raise ValueError(\u0027\"subresource_name\" cannot be empty\u0027)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    if not isinstance(subresource_name, list):"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f4b6375_285aeaf0","line":72,"updated":"2017-11-08 05:17:43.000000000","message":"Why use \u0027len\u0027?\n\nJust \u0027not subresouce_name\u0027 is enough.","commit_id":"70eaf985c5ca097dc6c4fe32c4d18b2c0384c41a"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"47a01495a010772f4b58f4b4e25646dcb706bc53","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    :param subresource_name: name of the resource field to"},{"line_number":70,"context_line":"        fetch the \u0027@odata.id\u0027 from."},{"line_number":71,"context_line":"    \"\"\""},{"line_number":72,"context_line":"    if (len(subresource_name) \u003d\u003d 0 or not subresource_name):"},{"line_number":73,"context_line":"        raise ValueError(\u0027\"subresource_name\" cannot be empty\u0027)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    if not isinstance(subresource_name, list):"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f4b6375_0424b6ae","line":72,"in_reply_to":"3f4b6375_285aeaf0","updated":"2017-11-08 08:35:02.000000000","message":"Done","commit_id":"70eaf985c5ca097dc6c4fe32c4d18b2c0384c41a"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2e7e6703e1772ebc10e6286945c58db58835ee25","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    :param subresource_name: name of the resource field to"},{"line_number":70,"context_line":"        fetch the \u0027@odata.id\u0027 from."},{"line_number":71,"context_line":"    \"\"\""},{"line_number":72,"context_line":"    if (not subresource_name):"},{"line_number":73,"context_line":"        raise ValueError(\u0027\"subresource_name\" cannot be empty\u0027)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    if not isinstance(subresource_name, list):"}],"source_content_type":"text/x-python","patch_set":9,"id":"ff82abbf_07c8ca1f","line":72,"updated":"2017-11-23 13:48:46.000000000","message":"redundant brackets","commit_id":"4bd319c24fc00a22a9ae668b0247a39a625a223e"}],"test-requirements.txt":[{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"4f849da3253ee2324917055402e86736cf946893","unresolved":false,"context_lines":[{"line_number":5,"context_line":"hacking\u003e\u003d1.0.0 # Apache-2.0"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"coverage!\u003d4.4,\u003e\u003d4.0 # Apache-2.0"},{"line_number":8,"context_line":"ddt"},{"line_number":9,"context_line":"python-subunit\u003e\u003d0.0.18 # Apache-2.0/BSD"},{"line_number":10,"context_line":"sphinx\u003e\u003d1.6.2 # BSD"},{"line_number":11,"context_line":"openstackdocstheme\u003e\u003d1.17.0 # Apache-2.0"}],"source_content_type":"text/plain","patch_set":3,"id":"5f4e5783_6a59b458","line":8,"updated":"2017-10-11 14:54:57.000000000","message":"I\u0027m not sure about this. This is a testing framework that we don\u0027t use in Ironic. At least not in ironic, ironic-python-agent, and ironic-lib.\n\nI would like to see justification on why to use this.","commit_id":"b5c3dc974b0bd13af7acc3738ebcc515cd3b0c94"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"518dd63de15f3b9df7cf0a56f31e86458db1d2ab","unresolved":false,"context_lines":[{"line_number":5,"context_line":"hacking\u003e\u003d1.0.0 # Apache-2.0"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"coverage!\u003d4.4,\u003e\u003d4.0 # Apache-2.0"},{"line_number":8,"context_line":"ddt"},{"line_number":9,"context_line":"python-subunit\u003e\u003d0.0.18 # Apache-2.0/BSD"},{"line_number":10,"context_line":"sphinx\u003e\u003d1.6.2 # BSD"},{"line_number":11,"context_line":"openstackdocstheme\u003e\u003d1.17.0 # Apache-2.0"}],"source_content_type":"text/plain","patch_set":3,"id":"5f4e5783_0d46d922","line":8,"in_reply_to":"5f4e5783_6a59b458","updated":"2017-10-11 15:41:21.000000000","message":"There is no particular reason. I just used it as we can cover number of inputs and expected outputs with the same test case. If you think that i shouldnt add it here, i can change them to individual test case also.","commit_id":"b5c3dc974b0bd13af7acc3738ebcc515cd3b0c94"}]}
