)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":32458,"name":"Ananya","display_name":"Ananya Banerjee","email":"anbanerj@redhat.com","username":"frenzyfriday"},"change_message_id":"32e8fad7eb29ac203560c51a34f436018dcc0f09","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"ac4661c2_16921a84","updated":"2022-08-08 08:54:11.000000000","message":"recheck","commit_id":"b42fd195b4f5466ad4e6a2b0431ef363d27b7391"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"03c228224f3a6657c5cc97ec685b6bf75a3f123e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"7a937d13_57bc4d56","updated":"2022-08-16 14:20:17.000000000","message":"Just galaxy changes.","commit_id":"5476d4796a5c3e698272ecd2b1aa77a94c45f939"},{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"96916d4d7eba9c96e85297cecc940738c9c202ff","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":16,"id":"2dcb93a8_0249632f","updated":"2022-09-06 13:25:43.000000000","message":"Thank you, Ananya :)\n\nVoted -1 simply to mark this patch as \"requires more work\".\n\nSome requests:\n\n* Since ID is already part of the resource dict that is returned by the module, we can safely drop dedicated id attributes in self.exit_json() calls. We will not loose data and we break backward compatibility anyway.\n\n* Ensure RETURN docs and self.exit_json() statements match. / For example, not all attributes returned by a module are of \u0027type: str\u0027. Please refer to openstacksdk\u0027s resource objects to find the actual types. / Some branches do not return a stack object, so \u0027returned: always\u0027 is not true.\n\n* Version checks are no longer necessary since we globally require openstacksdk \u003e\u003d0.99.0 anyway.\n\n* Check manual error handling or parameter checking code can be moved to argument_spec or module_kwargs. module_kwargs allows to define dependencies between module options such as mutually_exclusive, required_together, required_if and much more: https://docs.ansible.com/ansible/latest/dev_guide/developing_program_flow_modules.html#argument-spec-dependencies\n\n* A couple of self.conn.get_*/delete_*/... functions can be replaced with their self.conn.orchestration.* counterparts\n\n* When a resource exist and should be deleted (absent), then pass the resource to the delete_* function, not its name. Passing a name requires openstacksdk to find that resource again, doing a unnecessary api call, because we queried the resource before.\n\n* Calling get_stack after self.conn.create_stack is not necessary because the latter already does that: https://opendev.org/openstack/openstacksdk/src/commit/9fa6603d4e5104fb33e3688967cd128c0b8ad019/openstack/cloud/_orchestration.py#L95\n\n* _system_state_change returns False when stack is present but that is not true, it will update the stack. \n\nThe following list of suggested changes is optional but much appreciated:\n\n* Sorting module options in DOCUMENTATION, attributes in RETURN, entries in argument_spec and expected fields in integration tests will make reviewing easier and faster.\n\n* We should document which attribute cannot be updated in DOCUMENTATION variable. For example, insert \u0027This attribute cannot be updated.\u0027 to DOCUMENTATION like we did for the server module and others.\n\n* EXAMPLES for our modules (and Ansible\u0027s own modules) consist of a list of tasks. They do not contain YAML directives end marker line (---) and do not define playbooks (e.g. hosts keyword). They shall be simple, e.g. do not do fancy loops, heavy use of variables or use Ansible directives for no apparent reason such as ignore_errors or register.\n\n","commit_id":"460042451b4f0c6c7760af4bbd7445a0d531c6ce"},{"author":{"_account_id":32458,"name":"Ananya","display_name":"Ananya Banerjee","email":"anbanerj@redhat.com","username":"frenzyfriday"},"change_message_id":"d4a0d4fc4af4ee8b92b51fa24a88757f632f4b02","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":16,"id":"f16a8d13_88c3150f","in_reply_to":"0ab4b4ab_fa9f98e6","updated":"2022-09-19 12:17:35.000000000","message":"addressed the priority tasks. I\u0027ll create a follow up patch for the documentation improvement","commit_id":"460042451b4f0c6c7760af4bbd7445a0d531c6ce"},{"author":{"_account_id":32458,"name":"Ananya","display_name":"Ananya Banerjee","email":"anbanerj@redhat.com","username":"frenzyfriday"},"change_message_id":"048c5b8a8d8e6c85bdd78555c53f37372b08a256","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":16,"id":"0ab4b4ab_fa9f98e6","in_reply_to":"2dcb93a8_0249632f","updated":"2022-09-12 13:23:51.000000000","message":"done for removing ID in exit_json, return values doc and version check. Working on the rest","commit_id":"460042451b4f0c6c7760af4bbd7445a0d531c6ce"},{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"a90fc0fdd312eb635e81119cecf09e63373c4792","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":22,"id":"99e0abd3_e25e1999","updated":"2022-09-27 07:20:53.000000000","message":"Latest patchset is rebased on top of master, fixes linter issues, simplified examples and sorted return values.","commit_id":"db99b84be3ee21997567b2beda82d0bd8618430c"},{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"6b97761d61187407b1e82c75c15c5eaeddd28722","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"f0dc66d4_8d2dac0e","updated":"2022-09-27 08:29:37.000000000","message":"Latest patchset drops \u0027id\u0027 from RETURN, calls to_dict(computed\u003dFalse) before return stack and reverted self.conn.orchestration.delete_stack back to self.conn.delete_stack. The cloud layer delete_stack waits for the stack to reach status DELETE when wait is true which proxy layer\u0027s delete_stack does not to.","commit_id":"41f3007a80ea4410bc7a91ed616276d654a8a97f"},{"author":{"_account_id":34208,"name":"Rafael Castillo","email":"rcastill@redhat.com","username":"rcastill"},"change_message_id":"d2189b0a35c4254244a70d5beb877319221bc703","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"c3811eb8_0242462a","updated":"2022-09-27 14:52:06.000000000","message":"Thanks for this patch!","commit_id":"41f3007a80ea4410bc7a91ed616276d654a8a97f"}],"galaxy.yml":[{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"03c228224f3a6657c5cc97ec685b6bf75a3f123e","unresolved":true,"context_lines":[{"line_number":34,"context_line":"  - ansible_collections_openstack.egg-info"},{"line_number":35,"context_line":"  - contrib"},{"line_number":36,"context_line":"  - changelogs"},{"line_number":37,"context_line":"version: 1.7.2-dev120"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"6350232e_599e6041","line":37,"range":{"start_line":37,"start_character":0,"end_line":37,"end_character":4},"updated":"2022-08-16 14:20:17.000000000","message":"seems like leftovers?","commit_id":"5476d4796a5c3e698272ecd2b1aa77a94c45f939"},{"author":{"_account_id":32458,"name":"Ananya","display_name":"Ananya Banerjee","email":"anbanerj@redhat.com","username":"frenzyfriday"},"change_message_id":"dcf2cbfb2b1dd712350c5e497a535b64baf81ee7","unresolved":false,"context_lines":[{"line_number":34,"context_line":"  - ansible_collections_openstack.egg-info"},{"line_number":35,"context_line":"  - contrib"},{"line_number":36,"context_line":"  - changelogs"},{"line_number":37,"context_line":"version: 1.7.2-dev120"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"10851708_ae005ede","line":37,"range":{"start_line":37,"start_character":0,"end_line":37,"end_character":4},"in_reply_to":"6350232e_599e6041","updated":"2022-09-06 11:33:20.000000000","message":"ack, missed this","commit_id":"5476d4796a5c3e698272ecd2b1aa77a94c45f939"}],"plugins/modules/stack.py":[{"author":{"_account_id":35208,"name":"Frikin Evgenii","email":"frikin.evgenii@huawei.com","username":"efrikin"},"change_message_id":"90030c0471f0179aa44f33660d2f71aead0cf35b","unresolved":true,"context_lines":[{"line_number":259,"context_line":"            **parameters)"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"        stack \u003d self.conn.orchestration.get_stack(stack.id, None)"},{"line_number":262,"context_line":"        if stack.status \u003d\u003d \u0027CREATE_COMPLETE\u0027:"},{"line_number":263,"context_line":"            return stack"},{"line_number":264,"context_line":"        else:"},{"line_number":265,"context_line":"            self.fail_json(msg\u003d\"Failure in creating stack: {0}\".format(stack))"}],"source_content_type":"text/x-python","patch_set":12,"id":"033ff3d9_b8e3d014","line":262,"updated":"2022-08-25 12:15:15.000000000","message":"Hello, Ananya\nI have problem with opentack.cloud.stack module. I fixed it and created patch\nhttps://review.opendev.org/c/openstack/ansible-collections-openstack/+/853768/\nCan you please check my patch?\nI will really appreciate that!","commit_id":"5476d4796a5c3e698272ecd2b1aa77a94c45f939"},{"author":{"_account_id":32458,"name":"Ananya","display_name":"Ananya Banerjee","email":"anbanerj@redhat.com","username":"frenzyfriday"},"change_message_id":"dcf2cbfb2b1dd712350c5e497a535b64baf81ee7","unresolved":true,"context_lines":[{"line_number":259,"context_line":"            **parameters)"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"        stack \u003d self.conn.orchestration.get_stack(stack.id, None)"},{"line_number":262,"context_line":"        if stack.status \u003d\u003d \u0027CREATE_COMPLETE\u0027:"},{"line_number":263,"context_line":"            return stack"},{"line_number":264,"context_line":"        else:"},{"line_number":265,"context_line":"            self.fail_json(msg\u003d\"Failure in creating stack: {0}\".format(stack))"}],"source_content_type":"text/x-python","patch_set":12,"id":"ba527ecf_dd66f0b4","line":262,"in_reply_to":"033ff3d9_b8e3d014","updated":"2022-09-06 11:33:20.000000000","message":"Pls lemme know if https://review.opendev.org/c/openstack/ansible-collections-openstack/+/848266/13/plugins/modules/stack.py#b179 this works for you","commit_id":"5476d4796a5c3e698272ecd2b1aa77a94c45f939"},{"author":{"_account_id":35208,"name":"Frikin Evgenii","email":"frikin.evgenii@huawei.com","username":"efrikin"},"change_message_id":"07c8d0fed45cadccdd37e6ec53eb1d18a0a1cce7","unresolved":true,"context_lines":[{"line_number":259,"context_line":"            **parameters)"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"        stack \u003d self.conn.orchestration.get_stack(stack.id, None)"},{"line_number":262,"context_line":"        if stack.status \u003d\u003d \u0027CREATE_COMPLETE\u0027:"},{"line_number":263,"context_line":"            return stack"},{"line_number":264,"context_line":"        else:"},{"line_number":265,"context_line":"            self.fail_json(msg\u003d\"Failure in creating stack: {0}\".format(stack))"}],"source_content_type":"text/x-python","patch_set":12,"id":"cad6522b_f12e78ef","line":262,"in_reply_to":"ba527ecf_dd66f0b4","updated":"2022-09-08 15:08:06.000000000","message":"Thanks a lot for your answer. \nI checked your patch and it\u0027s works.\nMy environment:\nansible\u003d\u003d4.3.0 [core 2.11.12]","commit_id":"5476d4796a5c3e698272ecd2b1aa77a94c45f939"},{"author":{"_account_id":34208,"name":"Rafael Castillo","email":"rcastill@redhat.com","username":"rcastill"},"change_message_id":"d2189b0a35c4254244a70d5beb877319221bc703","unresolved":false,"context_lines":[{"line_number":238,"context_line":""},{"line_number":239,"context_line":"    module_kwargs \u003d dict("},{"line_number":240,"context_line":"        supports_check_mode\u003dTrue,"},{"line_number":241,"context_line":"        required_if\u003d["},{"line_number":242,"context_line":"            (\u0027state\u0027, \u0027present\u0027, (\u0027template\u0027,), True)]"},{"line_number":243,"context_line":"    )"},{"line_number":244,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"5eda5c03_1ee031c4","line":241,"updated":"2022-09-27 14:52:06.000000000","message":"Just wanted to point out that I love it when we can just do validation in the module kwargs.","commit_id":"41f3007a80ea4410bc7a91ed616276d654a8a97f"}]}
