)]}'
{"ironic/drivers/modules/ansible/playbooks/library/facts_wwn.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"5854f83372f49f0fcd782ae9d6c8d1be016eae52","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        dev_dict[device] \u003d {}"},{"line_number":45,"context_line":"        for key, udev_key in COLLECT_INFO:"},{"line_number":46,"context_line":"            candidate \u003d udev.get(\u0027ID_%s\u0027 % udev_key)"},{"line_number":47,"context_line":"            if isinstance(candidate, six.string_types):"},{"line_number":48,"context_line":"                candidate \u003d candidate.lower()"},{"line_number":49,"context_line":"            dev_dict[device][key] \u003d candidate"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_2b24f6c5","line":47,"updated":"2019-07-25 16:36:38.000000000","message":"do we expect anything except for string or None? if no, then to avoid six we could just do\n\n if candidate:\n     candidate \u003d candidate.lower()","commit_id":"6be5b60c42e16d2211cb41a114e6c41f46df7ac3"},{"author":{"_account_id":15064,"name":"raphael.glon","email":"raphael.glon@corp.ovh.com","username":"raphael"},"change_message_id":"38969938ed351c7807e4885a8dbe485c32028fd8","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        dev_dict[device] \u003d {}"},{"line_number":45,"context_line":"        for key, udev_key in COLLECT_INFO:"},{"line_number":46,"context_line":"            candidate \u003d udev.get(\u0027ID_%s\u0027 % udev_key)"},{"line_number":47,"context_line":"            if isinstance(candidate, six.string_types):"},{"line_number":48,"context_line":"                candidate \u003d candidate.lower()"},{"line_number":49,"context_line":"            dev_dict[device][key] \u003d candidate"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_85162ea7","line":47,"in_reply_to":"7faddb67_2b24f6c5","updated":"2019-07-26 08:02:50.000000000","message":"From the pyudev code it looks like the returned field is (currently) a string. But I felt safer doing this than wondering, since six is a requirement of pyudev.","commit_id":"6be5b60c42e16d2211cb41a114e6c41f46df7ac3"},{"author":{"_account_id":15064,"name":"raphael.glon","email":"raphael.glon@corp.ovh.com","username":"raphael"},"change_message_id":"8488ebc41a23230b93b8d2dcf37d6287852fbb2a","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        dev_dict[device] \u003d {}"},{"line_number":45,"context_line":"        for key, udev_key in COLLECT_INFO:"},{"line_number":46,"context_line":"            candidate \u003d udev.get(\u0027ID_%s\u0027 % udev_key)"},{"line_number":47,"context_line":"            if isinstance(candidate, six.string_types):"},{"line_number":48,"context_line":"                candidate \u003d candidate.lower()"},{"line_number":49,"context_line":"            dev_dict[device][key] \u003d candidate"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_b0160a49","line":47,"in_reply_to":"7faddb67_85162ea7","updated":"2019-07-26 08:10:50.000000000","message":"Another option could be to test callable(getattr(candidate, \u0027lower\u0027, None)). Then we would not be using six. What do you think is best ?","commit_id":"6be5b60c42e16d2211cb41a114e6c41f46df7ac3"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"3df84f83686cb0f6af59f3c2761b8cc0cbb96cfe","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        dev_dict[device] \u003d {}"},{"line_number":45,"context_line":"        for key, udev_key in COLLECT_INFO:"},{"line_number":46,"context_line":"            candidate \u003d udev.get(\u0027ID_%s\u0027 % udev_key)"},{"line_number":47,"context_line":"            if isinstance(candidate, six.string_types):"},{"line_number":48,"context_line":"                candidate \u003d candidate.lower()"},{"line_number":49,"context_line":"            dev_dict[device][key] \u003d candidate"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_d03f06b3","line":47,"in_reply_to":"7faddb67_b0160a49","updated":"2019-07-26 08:15:26.000000000","message":"I like the current variant (ps 3), to be honest","commit_id":"6be5b60c42e16d2211cb41a114e6c41f46df7ac3"}],"releasenotes/notes/bug-2006275-a5ca234683ca4c32.yaml":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"5854f83372f49f0fcd782ae9d6c8d1be016eae52","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"    |"},{"line_number":4,"context_line":"      Fixes a bug regarding the ``ansible`` deploy interface."},{"line_number":5,"context_line":"      Using the serial as root device hint broke deployment."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_8b3deade","line":5,"updated":"2019-07-25 16:36:38.000000000","message":"nit: \"Fixes an issue with using serial number as root device hints with the ``ansible`` deploy interface.\"","commit_id":"6be5b60c42e16d2211cb41a114e6c41f46df7ac3"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"e0a97fc5e5e7abf0a01adffb09b22b4ad8e80c12","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"    |"},{"line_number":4,"context_line":"      Fixes an issue with using serial number as root device hints"},{"line_number":5,"context_line":"      with the ``ansible`` deploy interface."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"7faddb67_32c1a9e5","line":5,"updated":"2019-07-29 06:44:19.000000000","message":"the note is not very clear on what the issue is, just my feeling.","commit_id":"ba207ba3720c501499c990bcf6c3ca335055c589"}]}
