)]}'
{"ironic_python_agent/hardware.py":[{"author":{"_account_id":11929,"name":"Michael Turek","email":"mjturek@linux.vnet.ibm.com","username":"mjturek"},"change_message_id":"16949a7ffab503fef1e1df3487f91b75c52ba967","unresolved":false,"context_lines":[{"line_number":1297,"context_line":"        except TypeError:"},{"line_number":1298,"context_line":"            continue"},{"line_number":1299,"context_line":"        if sys_cls \u003d\u003d \u0027system\u0027 and sys_type \u003d\u003d \u0027kernel\u0027:"},{"line_number":1300,"context_line":"            if sys_subtype \u003d\u003d \u0027arch\u0027:"},{"line_number":1301,"context_line":"                arch \u003d value"},{"line_number":1302,"context_line":"        if sys_cls \u003d\u003d \u0027system\u0027 and sys_type \u003d\u003d \u0027product\u0027:"},{"line_number":1303,"context_line":"            if sys_subtype \u003d\u003d \u0027uuid\u0027:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_b8714aab","line":1300,"updated":"2018-09-11 21:50:30.000000000","message":"Unless I\u0027m missing something, I believe this clause can be moved into the above if with an and.","commit_id":"1871420b9962c50bd39913cfd2a941436129c6df"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"78b176ce96794b6793a2410309892b09ac3c5af9","unresolved":false,"context_lines":[{"line_number":1297,"context_line":"        except TypeError:"},{"line_number":1298,"context_line":"            continue"},{"line_number":1299,"context_line":"        if sys_cls \u003d\u003d \u0027system\u0027 and sys_type \u003d\u003d \u0027kernel\u0027:"},{"line_number":1300,"context_line":"            if sys_subtype \u003d\u003d \u0027arch\u0027:"},{"line_number":1301,"context_line":"                arch \u003d value"},{"line_number":1302,"context_line":"        if sys_cls \u003d\u003d \u0027system\u0027 and sys_type \u003d\u003d \u0027product\u0027:"},{"line_number":1303,"context_line":"            if sys_subtype \u003d\u003d \u0027uuid\u0027:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_29188e1c","line":1300,"in_reply_to":"3f79a3b5_b8714aab","updated":"2018-09-11 23:48:04.000000000","message":"It can but I thought the 2 blocks of code read better as the had a similar flow \"If the class and type match look at the sub type\".","commit_id":"1871420b9962c50bd39913cfd2a941436129c6df"},{"author":{"_account_id":11929,"name":"Michael Turek","email":"mjturek@linux.vnet.ibm.com","username":"mjturek"},"change_message_id":"16949a7ffab503fef1e1df3487f91b75c52ba967","unresolved":false,"context_lines":[{"line_number":1302,"context_line":"        if sys_cls \u003d\u003d \u0027system\u0027 and sys_type \u003d\u003d \u0027product\u0027:"},{"line_number":1303,"context_line":"            if sys_subtype \u003d\u003d \u0027uuid\u0027:"},{"line_number":1304,"context_line":"                uuid \u003d value"},{"line_number":1305,"context_line":"            if sys_subtype \u003d\u003d \u0027serial\u0027:"},{"line_number":1306,"context_line":"                serial \u003d value"},{"line_number":1307,"context_line":"            if sys_subtype \u003d\u003d \u0027vendor\u0027:"},{"line_number":1308,"context_line":"                vendor \u003d value"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_388bfa68","line":1305,"updated":"2018-09-11 21:50:30.000000000","message":"would prefer an elif here. Would short circuit and skip the below if (if it evaluates as true).","commit_id":"1871420b9962c50bd39913cfd2a941436129c6df"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"78b176ce96794b6793a2410309892b09ac3c5af9","unresolved":false,"context_lines":[{"line_number":1302,"context_line":"        if sys_cls \u003d\u003d \u0027system\u0027 and sys_type \u003d\u003d \u0027product\u0027:"},{"line_number":1303,"context_line":"            if sys_subtype \u003d\u003d \u0027uuid\u0027:"},{"line_number":1304,"context_line":"                uuid \u003d value"},{"line_number":1305,"context_line":"            if sys_subtype \u003d\u003d \u0027serial\u0027:"},{"line_number":1306,"context_line":"                serial \u003d value"},{"line_number":1307,"context_line":"            if sys_subtype \u003d\u003d \u0027vendor\u0027:"},{"line_number":1308,"context_line":"                vendor \u003d value"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_4915cae4","line":1305,"in_reply_to":"3f79a3b5_388bfa68","updated":"2018-09-11 23:48:04.000000000","message":"Done","commit_id":"1871420b9962c50bd39913cfd2a941436129c6df"},{"author":{"_account_id":11929,"name":"Michael Turek","email":"mjturek@linux.vnet.ibm.com","username":"mjturek"},"change_message_id":"16949a7ffab503fef1e1df3487f91b75c52ba967","unresolved":false,"context_lines":[{"line_number":1304,"context_line":"                uuid \u003d value"},{"line_number":1305,"context_line":"            if sys_subtype \u003d\u003d \u0027serial\u0027:"},{"line_number":1306,"context_line":"                serial \u003d value"},{"line_number":1307,"context_line":"            if sys_subtype \u003d\u003d \u0027vendor\u0027:"},{"line_number":1308,"context_line":"                vendor \u003d value"},{"line_number":1309,"context_line":""},{"line_number":1310,"context_line":"    if uuid is None:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_98efae1c","line":1307,"updated":"2018-09-11 21:50:30.000000000","message":"Would need to happen here too","commit_id":"1871420b9962c50bd39913cfd2a941436129c6df"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"78b176ce96794b6793a2410309892b09ac3c5af9","unresolved":false,"context_lines":[{"line_number":1304,"context_line":"                uuid \u003d value"},{"line_number":1305,"context_line":"            if sys_subtype \u003d\u003d \u0027serial\u0027:"},{"line_number":1306,"context_line":"                serial \u003d value"},{"line_number":1307,"context_line":"            if sys_subtype \u003d\u003d \u0027vendor\u0027:"},{"line_number":1308,"context_line":"                vendor \u003d value"},{"line_number":1309,"context_line":""},{"line_number":1310,"context_line":"    if uuid is None:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_e9cff688","line":1307,"in_reply_to":"3f79a3b5_98efae1c","updated":"2018-09-11 23:48:04.000000000","message":"Done","commit_id":"1871420b9962c50bd39913cfd2a941436129c6df"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"ebb96d08338e7369434153c51ca609c56b48bd8d","unresolved":false,"context_lines":[{"line_number":1264,"context_line":"    return NODE"},{"line_number":1265,"context_line":""},{"line_number":1266,"context_line":""},{"line_number":1267,"context_line":"def generate_uuid(vendor\u003dNone, serial\u003dNone):"},{"line_number":1268,"context_line":"    system_uuid \u003d None"},{"line_number":1269,"context_line":"    if vendor is not None and serial is not None:"},{"line_number":1270,"context_line":"        root \u003d uuid.UUID(bytes\u003db\u0027\\x00\u0027 * 16)"},{"line_number":1271,"context_line":"        vendor_uuid \u003d uuid.uuid5(root, utils.ensure_str(vendor))"},{"line_number":1272,"context_line":"        system_uuid \u003d str(uuid.uuid5(vendor_uuid, utils.ensure_str(serial)))"},{"line_number":1273,"context_line":"    return system_uuid"},{"line_number":1274,"context_line":""},{"line_number":1275,"context_line":""},{"line_number":1276,"context_line":"def ppc64le_get_uuid(vendor\u003dNone, serial\u003dNone):"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_654ef0c2","line":1273,"range":{"start_line":1267,"start_character":0,"end_line":1273,"end_character":22},"updated":"2018-10-16 09:20:16.000000000","message":"I guess on inspector side we\u0027ll have vendor and serial available, right?","commit_id":"f392d4813f44fd339d13f858b8e5bb9e0833dcad"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"c9b8be8debefcd1387f51ec38c96e3888cf81f30","unresolved":false,"context_lines":[{"line_number":1264,"context_line":"    return NODE"},{"line_number":1265,"context_line":""},{"line_number":1266,"context_line":""},{"line_number":1267,"context_line":"def generate_uuid(vendor\u003dNone, serial\u003dNone):"},{"line_number":1268,"context_line":"    system_uuid \u003d None"},{"line_number":1269,"context_line":"    if vendor is not None and serial is not None:"},{"line_number":1270,"context_line":"        root \u003d uuid.UUID(bytes\u003db\u0027\\x00\u0027 * 16)"},{"line_number":1271,"context_line":"        vendor_uuid \u003d uuid.uuid5(root, utils.ensure_str(vendor))"},{"line_number":1272,"context_line":"        system_uuid \u003d str(uuid.uuid5(vendor_uuid, utils.ensure_str(serial)))"},{"line_number":1273,"context_line":"    return system_uuid"},{"line_number":1274,"context_line":""},{"line_number":1275,"context_line":""},{"line_number":1276,"context_line":"def ppc64le_get_uuid(vendor\u003dNone, serial\u003dNone):"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_b0cf3327","line":1273,"range":{"start_line":1267,"start_character":0,"end_line":1273,"end_character":22},"in_reply_to":"3f79a3b5_654ef0c2","updated":"2018-10-18 01:19:58.000000000","message":"Yes on the inspector side we will have the serial and vendor as we can extract it from python-hardware however ....","commit_id":"f392d4813f44fd339d13f858b8e5bb9e0833dcad"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"c9b8be8debefcd1387f51ec38c96e3888cf81f30","unresolved":false,"context_lines":[{"line_number":1274,"context_line":""},{"line_number":1275,"context_line":""},{"line_number":1276,"context_line":"def ppc64le_get_uuid(vendor\u003dNone, serial\u003dNone):"},{"line_number":1277,"context_line":"    system_uuid_fname \u003d \u0027/sys/firmware/devicetree/base/system-uuid\u0027"},{"line_number":1278,"context_line":"    if os.access(system_uuid_fname, os.R_OK):"},{"line_number":1279,"context_line":"        LOG.debug(\u0027ppc64le_get_uuid has %(system_uuid_fname)s\u0027,"},{"line_number":1280,"context_line":"                  {\u0027system_uuid_fname\u0027: system_uuid_fname})"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_70d19bca","line":1277,"updated":"2018-10-18 01:19:58.000000000","message":"We don\u0027t have access to this content and it should be preferred over the serial and vendor data.","commit_id":"f392d4813f44fd339d13f858b8e5bb9e0833dcad"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"ebb96d08338e7369434153c51ca609c56b48bd8d","unresolved":false,"context_lines":[{"line_number":1289,"context_line":"    return uuid"},{"line_number":1290,"context_line":""},{"line_number":1291,"context_line":""},{"line_number":1292,"context_line":"# NOTE(tonyb): This *should* come from the hardware library and can be removed"},{"line_number":1293,"context_line":"# once there is a hardware release that handles this for us."},{"line_number":1294,"context_line":"def add_uuid(hw_data):"},{"line_number":1295,"context_line":"    arch \u003d vendor \u003d serial \u003d uuid \u003d None"},{"line_number":1296,"context_line":"    for entry in hw_data:"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_e5c76010","line":1293,"range":{"start_line":1292,"start_character":0,"end_line":1293,"end_character":60},"updated":"2018-10-16 09:20:16.000000000","message":"Are there any plans to do so? I wonder if the right path is to update the library, not IPA.","commit_id":"f392d4813f44fd339d13f858b8e5bb9e0833dcad"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b6e725ae2307fe5799dbe9e22f5d7b7cf542df0e","unresolved":false,"context_lines":[{"line_number":1289,"context_line":"    return uuid"},{"line_number":1290,"context_line":""},{"line_number":1291,"context_line":""},{"line_number":1292,"context_line":"# NOTE(tonyb): This *should* come from the hardware library and can be removed"},{"line_number":1293,"context_line":"# once there is a hardware release that handles this for us."},{"line_number":1294,"context_line":"def add_uuid(hw_data):"},{"line_number":1295,"context_line":"    arch \u003d vendor \u003d serial \u003d uuid \u003d None"},{"line_number":1296,"context_line":"    for entry in hw_data:"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_b2ff3368","line":1293,"range":{"start_line":1292,"start_character":0,"end_line":1293,"end_character":60},"in_reply_to":"3f79a3b5_104947b7","updated":"2018-10-18 08:30:09.000000000","message":"Could you try whoever is responsible for python-hardware re your PR? If they abandoned the project (it may be the case), we can take over or fork it. I don\u0027t quite like to have hacks here related to the internals of python-hardware.","commit_id":"f392d4813f44fd339d13f858b8e5bb9e0833dcad"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"8524f1c565bf00b6e693471c8f314abd02232076","unresolved":false,"context_lines":[{"line_number":1289,"context_line":"    return uuid"},{"line_number":1290,"context_line":""},{"line_number":1291,"context_line":""},{"line_number":1292,"context_line":"# NOTE(tonyb): This *should* come from the hardware library and can be removed"},{"line_number":1293,"context_line":"# once there is a hardware release that handles this for us."},{"line_number":1294,"context_line":"def add_uuid(hw_data):"},{"line_number":1295,"context_line":"    arch \u003d vendor \u003d serial \u003d uuid \u003d None"},{"line_number":1296,"context_line":"    for entry in hw_data:"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_52d1ffc9","line":1293,"range":{"start_line":1292,"start_character":0,"end_line":1293,"end_character":60},"in_reply_to":"3f79a3b5_b2ff3368","updated":"2018-10-18 08:37:30.000000000","message":"Raised https://github.com/redhat-cip/hardware/issues/47. I hope we can figure this out without putting workarounds into IPA/inspector.","commit_id":"f392d4813f44fd339d13f858b8e5bb9e0833dcad"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"c9b8be8debefcd1387f51ec38c96e3888cf81f30","unresolved":false,"context_lines":[{"line_number":1289,"context_line":"    return uuid"},{"line_number":1290,"context_line":""},{"line_number":1291,"context_line":""},{"line_number":1292,"context_line":"# NOTE(tonyb): This *should* come from the hardware library and can be removed"},{"line_number":1293,"context_line":"# once there is a hardware release that handles this for us."},{"line_number":1294,"context_line":"def add_uuid(hw_data):"},{"line_number":1295,"context_line":"    arch \u003d vendor \u003d serial \u003d uuid \u003d None"},{"line_number":1296,"context_line":"    for entry in hw_data:"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_104947b7","line":1293,"range":{"start_line":1292,"start_character":0,"end_line":1293,"end_character":60},"in_reply_to":"3f79a3b5_e5c76010","updated":"2018-10-18 01:19:58.000000000","message":"Plans?  No, but I have a PR (see the commit messages) as I feel it\u0027s the right place to do the work.\n\nUpstream seems lightly maintained and I\u0027d like to be able to do this sooner than later so I\u0027ve taken the scatter-gun approach of doing it in both places and I\u0027ll clean up the mess if the python-hardware patch ever merges","commit_id":"f392d4813f44fd339d13f858b8e5bb9e0833dcad"}],"ironic_python_agent/utils.py":[{"author":{"_account_id":11929,"name":"Michael Turek","email":"mjturek@linux.vnet.ibm.com","username":"mjturek"},"change_message_id":"16949a7ffab503fef1e1df3487f91b75c52ba967","unresolved":false,"context_lines":[{"line_number":438,"context_line":""},{"line_number":439,"context_line":"# Copied from:"},{"line_number":440,"context_line":"#  https://github.com/benjaminp/six/commit/db3d0d678b422614d5de0f9ed76a2112a28c7b19"},{"line_number":441,"context_line":"# which shoudl be in the next release of six"},{"line_number":442,"context_line":"def ensure_str(s, encoding\u003d\u0027utf-8\u0027, errors\u003d\u0027strict\u0027):"},{"line_number":443,"context_line":"    \"\"\"Coerce *s* to `str`."},{"line_number":444,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_d82446b5","line":441,"updated":"2018-09-11 21:50:30.000000000","message":"Maybe include a TODO here documenting when we should remove this","commit_id":"1871420b9962c50bd39913cfd2a941436129c6df"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"78b176ce96794b6793a2410309892b09ac3c5af9","unresolved":false,"context_lines":[{"line_number":438,"context_line":""},{"line_number":439,"context_line":"# Copied from:"},{"line_number":440,"context_line":"#  https://github.com/benjaminp/six/commit/db3d0d678b422614d5de0f9ed76a2112a28c7b19"},{"line_number":441,"context_line":"# which shoudl be in the next release of six"},{"line_number":442,"context_line":"def ensure_str(s, encoding\u003d\u0027utf-8\u0027, errors\u003d\u0027strict\u0027):"},{"line_number":443,"context_line":"    \"\"\"Coerce *s* to `str`."},{"line_number":444,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_09d5921b","line":441,"in_reply_to":"3f79a3b5_d82446b5","updated":"2018-09-11 23:48:04.000000000","message":"Done","commit_id":"1871420b9962c50bd39913cfd2a941436129c6df"}]}
