)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"6e8fc544eb8aea50be079f6b7bfb2fc2df43bca5","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Use proxy layer in identity_user module"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch changes the module to use the sdk proxy layer and does some"},{"line_number":10,"context_line":"general refactoring to simplify the code."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I97ee9b626f269abde3be7b2b9211d2bb5b7b3c26"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":22,"id":"339565a4_a1052a63","line":9,"updated":"2022-04-27 09:43:51.000000000","message":"Please add a note here that this patch changes the behavior on updates: Previously, if one would leave out description when calling the module, it would not update the description. Now, if one does not give a description, then the description will be updated. Please also document what value the description will have after such an update. Null or empty string?","commit_id":"e5b53dc3d783468eee950e182979b12ad9f8459a"},{"author":{"_account_id":34208,"name":"Rafael Castillo","email":"rcastill@redhat.com","username":"rcastill"},"change_message_id":"b8cda1fa8f26c3b58ae35b932c5bbecceea699bc","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Use proxy layer in identity_user module"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch changes the module to use the sdk proxy layer and does some"},{"line_number":10,"context_line":"general refactoring to simplify the code."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I97ee9b626f269abde3be7b2b9211d2bb5b7b3c26"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":22,"id":"7e7e3cbf_51cf9326","line":9,"in_reply_to":"339565a4_a1052a63","updated":"2022-04-27 14:29:27.000000000","message":"Went ahead and restored the previous behavior instead, it seems to make more sense that way.","commit_id":"e5b53dc3d783468eee950e182979b12ad9f8459a"},{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"1b19fb5d1cb4688fec0bd8fb9f9f1dad1673ce46","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Use proxy layer in identity_user module"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch changes the module to use the sdk proxy layer and does some"},{"line_number":10,"context_line":"general refactoring to simplify the code."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I97ee9b626f269abde3be7b2b9211d2bb5b7b3c26"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":22,"id":"9435d66c_eee8b29c","line":9,"in_reply_to":"7e7e3cbf_51cf9326","updated":"2022-04-28 09:26:49.000000000","message":"I am okay with both ^^","commit_id":"e5b53dc3d783468eee950e182979b12ad9f8459a"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":34208,"name":"Rafael Castillo","email":"rcastill@redhat.com","username":"rcastill"},"change_message_id":"4cddc5c7d45547bc72d6eff394b43452dd46f1aa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"cd08ef7a_22c231fb","updated":"2022-02-11 02:17:10.000000000","message":"This passes right now but the current tests for this seem a little thin. I\u0027d like to add some tasks that exercise some more of the code branches before moving this forward.","commit_id":"b9bc3b05cdf74c22081afacd0c3a31d9508363f9"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"7d9508570d036d7a6b8490dfe143eada4382c994","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"fd269b34_97e74f74","updated":"2022-03-07 18:11:45.000000000","message":"Testing in https://review.opendev.org/c/openstack/ansible-collections-openstack/+/832302/1","commit_id":"21f258a58a34b80f7d607289f8f5ab77caa65b6e"},{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"3df652b48021d503824ccf498044acbeaa3a9c02","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"4f54012b_804316d3","updated":"2022-03-08 19:27:10.000000000","message":"Hello Rafael, thanks for your patch 😊\n\nAttached some comments to the code. Please also commit a \"draft\" patch which only runs the CI tests which are relevant for your particular module because atm most CI tests against the newest SDK fail so Zuul CI fails for the newest SDK before it even touches your changes. Please refer to the bottom of this file for details: https://hackmd.io/PI10x-iCTBuO09duvpeWgQ?view","commit_id":"473179dc5922e338e9a077ed6e0802fecc9d0c0f"},{"author":{"_account_id":34208,"name":"Rafael Castillo","email":"rcastill@redhat.com","username":"rcastill"},"change_message_id":"9bb71f27de11f50acb9994974cf8751521c9c150","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"2666ae00_3085ceeb","in_reply_to":"4f54012b_804316d3","updated":"2022-03-09 22:39:23.000000000","message":"This exists at https://review.opendev.org/c/openstack/ansible-collections-openstack/+/832302","commit_id":"473179dc5922e338e9a077ed6e0802fecc9d0c0f"},{"author":{"_account_id":34208,"name":"Rafael Castillo","email":"rcastill@redhat.com","username":"rcastill"},"change_message_id":"006812fa6c0b866caeaf6ddbe37f4a08794d64bd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"4557027c_e0ad0d37","updated":"2022-04-07 14:16:23.000000000","message":"recheck","commit_id":"7568001559b251aae1719b3b422d77f6eceec3b9"},{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"6e8fc544eb8aea50be079f6b7bfb2fc2df43bca5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":22,"id":"a310a270_bf58606c","updated":"2022-04-27 09:43:51.000000000","message":"Nice condensed refactoring and awesome tests!","commit_id":"e5b53dc3d783468eee950e182979b12ad9f8459a"},{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"1b19fb5d1cb4688fec0bd8fb9f9f1dad1673ce46","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":26,"id":"41aeb760_f798e0f1","updated":"2022-04-28 09:26:49.000000000","message":"Great! Will merge once CI is fixed, e.g. this one has been merged and we can actually run your tests https://review.opendev.org/c/openstack/ansible-collections-openstack/+/839374","commit_id":"5410d8f2b5d20b57a413536e280da7ec5f239fe6"},{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"cb19a545004c2f51907d8e65400445d541ef101d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":26,"id":"8e6fd305_c9df10d3","updated":"2022-04-28 13:51:50.000000000","message":"Please rebase and rename tag in tox_extra_args in .zuul.yaml, so that your tests are actually run.","commit_id":"5410d8f2b5d20b57a413536e280da7ec5f239fe6"},{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"d5d7922db677640748204af29d337d62b69997a9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":28,"id":"7e061541_e5240bc4","updated":"2022-05-02 07:44:59.000000000","message":"Thank you, Rafael 😊 Our ci is working as expected and actually managed to discover a bug ^^","commit_id":"e37c48b5c53c343fa48f51972b95d559b86cf8fe"}],"ci/roles/user/tasks/main.yml":[{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"3df652b48021d503824ccf498044acbeaa3a9c02","unresolved":true,"context_lines":[{"line_number":9,"context_line":"     domain: default"},{"line_number":10,"context_line":"     default_project: demo"},{"line_number":11,"context_line":"  register: user"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"- debug: var\u003duser"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"- name: Update user"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"80268b0f_c8f735a8","line":12,"updated":"2022-03-08 19:27:10.000000000","message":"Please add assertions on return values after each call to the identity_user module. On one hand they should verify that all keys which we except are actually returned. On the other hand they should verify that the changes which the module is supposed to apply are applied actually.\n\nFor assertions on the returned keys, please refer to https://hackmd.io/szgyWa5qSUOWw3JJBXLmOQ?view","commit_id":"473179dc5922e338e9a077ed6e0802fecc9d0c0f"},{"author":{"_account_id":34208,"name":"Rafael Castillo","email":"rcastill@redhat.com","username":"rcastill"},"change_message_id":"9bb71f27de11f50acb9994974cf8751521c9c150","unresolved":false,"context_lines":[{"line_number":9,"context_line":"     domain: default"},{"line_number":10,"context_line":"     default_project: demo"},{"line_number":11,"context_line":"  register: user"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"- debug: var\u003duser"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"- name: Update user"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"6ffe44ae_157e3431","line":12,"in_reply_to":"80268b0f_c8f735a8","updated":"2022-03-09 22:39:23.000000000","message":"Done","commit_id":"473179dc5922e338e9a077ed6e0802fecc9d0c0f"}],"plugins/modules/identity_user.py":[{"author":{"_account_id":8367,"name":"Arx Cruz","email":"arxcruz@redhat.com","username":"arxcruz"},"change_message_id":"cfb42b98c57a02e97065515cd0bcf9260140fbe7","unresolved":true,"context_lines":[{"line_number":221,"context_line":"        changed \u003d False"},{"line_number":222,"context_line":"        if state \u003d\u003d \u0027present\u0027:"},{"line_number":223,"context_line":"            if update_password \u003d\u003d \u0027always\u0027 and not password:"},{"line_number":224,"context_line":"                msg \u003d \"update_password is {0} but a password value is missing\".format(update_password)"},{"line_number":225,"context_line":"                self.fail_json(msg\u003dmsg)"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"            user_args \u003d {"}],"source_content_type":"text/x-python","patch_set":20,"id":"ed3b063f_cbd4ce98","line":224,"range":{"start_line":224,"start_character":26,"end_line":224,"end_character":74},"updated":"2022-04-20 10:38:49.000000000","message":"Question, should we print the password here?","commit_id":"ac5c9e548ea2b03c9d77adde692904c99fbde33e"},{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"2617f028968eb360ff5e60cd7180f76e2e7e292c","unresolved":false,"context_lines":[{"line_number":221,"context_line":"        changed \u003d False"},{"line_number":222,"context_line":"        if state \u003d\u003d \u0027present\u0027:"},{"line_number":223,"context_line":"            if update_password \u003d\u003d \u0027always\u0027 and not password:"},{"line_number":224,"context_line":"                msg \u003d \"update_password is {0} but a password value is missing\".format(update_password)"},{"line_number":225,"context_line":"                self.fail_json(msg\u003dmsg)"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"            user_args \u003d {"}],"source_content_type":"text/x-python","patch_set":20,"id":"965e048d_68d9eb6e","line":224,"range":{"start_line":224,"start_character":26,"end_line":224,"end_character":74},"in_reply_to":"70d9f9d4_29db4015","updated":"2022-04-27 09:20:52.000000000","message":"The password is not printed here. The value of update_password is printed and that is not sensitive.","commit_id":"ac5c9e548ea2b03c9d77adde692904c99fbde33e"},{"author":{"_account_id":34208,"name":"Rafael Castillo","email":"rcastill@redhat.com","username":"rcastill"},"change_message_id":"7f65e9ae01e4a2db1fbf31d2f461feee9ae3c2de","unresolved":true,"context_lines":[{"line_number":221,"context_line":"        changed \u003d False"},{"line_number":222,"context_line":"        if state \u003d\u003d \u0027present\u0027:"},{"line_number":223,"context_line":"            if update_password \u003d\u003d \u0027always\u0027 and not password:"},{"line_number":224,"context_line":"                msg \u003d \"update_password is {0} but a password value is missing\".format(update_password)"},{"line_number":225,"context_line":"                self.fail_json(msg\u003dmsg)"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"            user_args \u003d {"}],"source_content_type":"text/x-python","patch_set":20,"id":"70d9f9d4_29db4015","line":224,"range":{"start_line":224,"start_character":26,"end_line":224,"end_character":74},"in_reply_to":"ed3b063f_cbd4ce98","updated":"2022-04-25 13:47:53.000000000","message":"This is a case where password is not set, so it wouldn\u0027t be very usefulthe","commit_id":"ac5c9e548ea2b03c9d77adde692904c99fbde33e"},{"author":{"_account_id":8367,"name":"Arx Cruz","email":"arxcruz@redhat.com","username":"arxcruz"},"change_message_id":"cfb42b98c57a02e97065515cd0bcf9260140fbe7","unresolved":true,"context_lines":[{"line_number":231,"context_line":"                \u0027domain_id\u0027: domain_id,"},{"line_number":232,"context_line":"                \u0027is_enabled\u0027: enabled,"},{"line_number":233,"context_line":"            }"},{"line_number":234,"context_line":"            if description is not None:"},{"line_number":235,"context_line":"                user_args[\u0027description\u0027] \u003d description"},{"line_number":236,"context_line":"            if domain_id is not None:"},{"line_number":237,"context_line":"                user_args[\u0027domain_id\u0027] \u003d domain_id"},{"line_number":238,"context_line":"            if default_project:"},{"line_number":239,"context_line":"                default_project_id \u003d self._get_default_project_id("},{"line_number":240,"context_line":"                    default_project, domain_id)"}],"source_content_type":"text/x-python","patch_set":20,"id":"832fce10_1e8c64e2","line":237,"range":{"start_line":234,"start_character":12,"end_line":237,"end_character":50},"updated":"2022-04-20 10:38:49.000000000","message":"Why this check here but you already have domain_id set on the user_args? Why not also add description?","commit_id":"ac5c9e548ea2b03c9d77adde692904c99fbde33e"},{"author":{"_account_id":34208,"name":"Rafael Castillo","email":"rcastill@redhat.com","username":"rcastill"},"change_message_id":"7f65e9ae01e4a2db1fbf31d2f461feee9ae3c2de","unresolved":false,"context_lines":[{"line_number":231,"context_line":"                \u0027domain_id\u0027: domain_id,"},{"line_number":232,"context_line":"                \u0027is_enabled\u0027: enabled,"},{"line_number":233,"context_line":"            }"},{"line_number":234,"context_line":"            if description is not None:"},{"line_number":235,"context_line":"                user_args[\u0027description\u0027] \u003d description"},{"line_number":236,"context_line":"            if domain_id is not None:"},{"line_number":237,"context_line":"                user_args[\u0027domain_id\u0027] \u003d domain_id"},{"line_number":238,"context_line":"            if default_project:"},{"line_number":239,"context_line":"                default_project_id \u003d self._get_default_project_id("},{"line_number":240,"context_line":"                    default_project, domain_id)"}],"source_content_type":"text/x-python","patch_set":20,"id":"63fe4870_7810c89c","line":237,"range":{"start_line":234,"start_character":12,"end_line":237,"end_character":50},"in_reply_to":"832fce10_1e8c64e2","updated":"2022-04-25 13:47:53.000000000","message":"Done","commit_id":"ac5c9e548ea2b03c9d77adde692904c99fbde33e"},{"author":{"_account_id":8367,"name":"Arx Cruz","email":"arxcruz@redhat.com","username":"arxcruz"},"change_message_id":"cfb42b98c57a02e97065515cd0bcf9260140fbe7","unresolved":true,"context_lines":[{"line_number":255,"context_line":"                    user \u003d self.conn.identity.update_user(user[\u0027id\u0027], **user_args)"},{"line_number":256,"context_line":"                    changed \u003d True"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"            user \u003d user.to_dict()"},{"line_number":259,"context_line":"            self.exit_json(changed\u003dchanged, user\u003duser)"},{"line_number":260,"context_line":"        elif state \u003d\u003d \u0027absent\u0027 and user is not None:"},{"line_number":261,"context_line":"            self.conn.identity.delete_user(user)"}],"source_content_type":"text/x-python","patch_set":20,"id":"59faf242_fd964638","line":258,"updated":"2022-04-20 10:38:49.000000000","message":"computed\u003dFalse","commit_id":"ac5c9e548ea2b03c9d77adde692904c99fbde33e"},{"author":{"_account_id":34208,"name":"Rafael Castillo","email":"rcastill@redhat.com","username":"rcastill"},"change_message_id":"7f65e9ae01e4a2db1fbf31d2f461feee9ae3c2de","unresolved":false,"context_lines":[{"line_number":255,"context_line":"                    user \u003d self.conn.identity.update_user(user[\u0027id\u0027], **user_args)"},{"line_number":256,"context_line":"                    changed \u003d True"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"            user \u003d user.to_dict()"},{"line_number":259,"context_line":"            self.exit_json(changed\u003dchanged, user\u003duser)"},{"line_number":260,"context_line":"        elif state \u003d\u003d \u0027absent\u0027 and user is not None:"},{"line_number":261,"context_line":"            self.conn.identity.delete_user(user)"}],"source_content_type":"text/x-python","patch_set":20,"id":"c1c1e380_3f233756","line":258,"in_reply_to":"59faf242_fd964638","updated":"2022-04-25 13:47:53.000000000","message":"Done","commit_id":"ac5c9e548ea2b03c9d77adde692904c99fbde33e"}]}
