)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"b3f89dea038804c1ef1e6b9dbdeabff532f54c2f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"30a22cf4_171f9e12","updated":"2022-05-04 09:40:43.000000000","message":"Thanks 😊 Nice integration test!","commit_id":"f38deb29781a82ef25141d4d32f72da2a998c94d"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"e1bd6dd5890e196ccef9033e33bd2f7bbdeb032a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"ede03b94_8d1e0a92","updated":"2022-05-24 10:34:11.000000000","message":"Just a few nits for tests","commit_id":"b5ebd9fdf396d82d1d682c5050ef5c451bcab740"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"124a02f6a056d1588799a0857fda497ac08f66ac","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"54237924_bcfb54d1","updated":"2022-05-30 09:09:30.000000000","message":"Thanks!","commit_id":"d97e4806b708618c905ebf22e54ced71b6339a99"},{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"43e2b228b22979ace41f97db11b49d43f8e1e9d8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"f46d7569_4abbdba8","updated":"2022-06-23 08:04:59.000000000","message":"Nice","commit_id":"7c7e61d36b56debccdcc02695bbe6f06010bb487"}],"ci/roles/catalog_service/tasks/main.yml":[{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"b2f7319ee9bc585849f3b12ab2a0e1a8a661cd06","unresolved":true,"context_lines":[{"line_number":14,"context_line":"    service_type: test"},{"line_number":15,"context_line":"    name: test"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"- name: Verify returned values"},{"line_number":18,"context_line":"  assert:"},{"line_number":19,"context_line":"    that:"},{"line_number":20,"context_line":"      item in service_test.service"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"d7d12e81_08465c73","line":17,"range":{"start_line":17,"start_character":1,"end_line":17,"end_character":30},"updated":"2022-04-27 08:00:37.000000000","message":"You can see this test failing: https://f145c8dca3b60f0fafad-9beebeff17cfb07b17a7c13d62e79f1e.ssl.cf1.rackcdn.com/839352/2/check/ansible-collections-openstack-functional-devstack/f763e30/controller/logs/test_output_log.txt","commit_id":"31ba599a0422d758526e066229b8ab37fe0d2fd3"},{"author":{"_account_id":8367,"name":"Arx Cruz","email":"arxcruz@redhat.com","username":"arxcruz"},"change_message_id":"5366be9a7b02e1ab38601825f2ba1d711e05aa22","unresolved":false,"context_lines":[{"line_number":14,"context_line":"    service_type: test"},{"line_number":15,"context_line":"    name: test"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"- name: Verify returned values"},{"line_number":18,"context_line":"  assert:"},{"line_number":19,"context_line":"    that:"},{"line_number":20,"context_line":"      item in service_test.service"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"8f3ce33a_3f76e70f","line":17,"range":{"start_line":17,"start_character":1,"end_line":17,"end_character":30},"in_reply_to":"d7d12e81_08465c73","updated":"2022-04-27 12:27:07.000000000","message":"Done","commit_id":"31ba599a0422d758526e066229b8ab37fe0d2fd3"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"b2f7319ee9bc585849f3b12ab2a0e1a8a661cd06","unresolved":true,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"- name: Verify returned values"},{"line_number":18,"context_line":"  assert:"},{"line_number":19,"context_line":"    that:"},{"line_number":20,"context_line":"      item in service_test.service"},{"line_number":21,"context_line":"    loop:"},{"line_number":22,"context_line":"      - id"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"a27e1430_2fbcd8cc","line":19,"range":{"start_line":19,"start_character":3,"end_line":19,"end_character":4},"updated":"2022-04-27 08:00:37.000000000","message":"list","commit_id":"31ba599a0422d758526e066229b8ab37fe0d2fd3"},{"author":{"_account_id":8367,"name":"Arx Cruz","email":"arxcruz@redhat.com","username":"arxcruz"},"change_message_id":"5366be9a7b02e1ab38601825f2ba1d711e05aa22","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"- name: Verify returned values"},{"line_number":18,"context_line":"  assert:"},{"line_number":19,"context_line":"    that:"},{"line_number":20,"context_line":"      item in service_test.service"},{"line_number":21,"context_line":"    loop:"},{"line_number":22,"context_line":"      - id"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"66990439_f23eca47","line":19,"range":{"start_line":19,"start_character":3,"end_line":19,"end_character":4},"in_reply_to":"a27e1430_2fbcd8cc","updated":"2022-04-27 12:27:07.000000000","message":"Done","commit_id":"31ba599a0422d758526e066229b8ab37fe0d2fd3"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"b2f7319ee9bc585849f3b12ab2a0e1a8a661cd06","unresolved":true,"context_lines":[{"line_number":18,"context_line":"  assert:"},{"line_number":19,"context_line":"    that:"},{"line_number":20,"context_line":"      item in service_test.service"},{"line_number":21,"context_line":"    loop:"},{"line_number":22,"context_line":"      - id"},{"line_number":23,"context_line":"      - name"},{"line_number":24,"context_line":"      - type"},{"line_number":25,"context_line":"      - description"},{"line_number":26,"context_line":"      - is_enabled"},{"line_number":27,"context_line":"      - links"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"- name: Update service test"},{"line_number":30,"context_line":"  openstack.cloud.catalog_service:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"6e3d84a0_62dc8e59","line":27,"range":{"start_line":21,"start_character":4,"end_line":27,"end_character":13},"updated":"2022-04-27 08:00:37.000000000","message":"identation","commit_id":"31ba599a0422d758526e066229b8ab37fe0d2fd3"},{"author":{"_account_id":8367,"name":"Arx Cruz","email":"arxcruz@redhat.com","username":"arxcruz"},"change_message_id":"5366be9a7b02e1ab38601825f2ba1d711e05aa22","unresolved":false,"context_lines":[{"line_number":18,"context_line":"  assert:"},{"line_number":19,"context_line":"    that:"},{"line_number":20,"context_line":"      item in service_test.service"},{"line_number":21,"context_line":"    loop:"},{"line_number":22,"context_line":"      - id"},{"line_number":23,"context_line":"      - name"},{"line_number":24,"context_line":"      - type"},{"line_number":25,"context_line":"      - description"},{"line_number":26,"context_line":"      - is_enabled"},{"line_number":27,"context_line":"      - links"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"- name: Update service test"},{"line_number":30,"context_line":"  openstack.cloud.catalog_service:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"90745541_9064af19","line":27,"range":{"start_line":21,"start_character":4,"end_line":27,"end_character":13},"in_reply_to":"6e3d84a0_62dc8e59","updated":"2022-04-27 12:27:07.000000000","message":"Done","commit_id":"31ba599a0422d758526e066229b8ab37fe0d2fd3"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"b2f7319ee9bc585849f3b12ab2a0e1a8a661cd06","unresolved":true,"context_lines":[{"line_number":52,"context_line":"- name: Verify if service was deleted"},{"line_number":53,"context_line":"  assert:"},{"line_number":54,"context_line":"    that:"},{"line_number":55,"context_line":"      service_delete.changed \u003d\u003d True"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"aa9dabc5_47b309df","line":55,"range":{"start_line":55,"start_character":5,"end_line":55,"end_character":6},"updated":"2022-04-27 08:00:37.000000000","message":"list?","commit_id":"31ba599a0422d758526e066229b8ab37fe0d2fd3"},{"author":{"_account_id":8367,"name":"Arx Cruz","email":"arxcruz@redhat.com","username":"arxcruz"},"change_message_id":"5366be9a7b02e1ab38601825f2ba1d711e05aa22","unresolved":false,"context_lines":[{"line_number":52,"context_line":"- name: Verify if service was deleted"},{"line_number":53,"context_line":"  assert:"},{"line_number":54,"context_line":"    that:"},{"line_number":55,"context_line":"      service_delete.changed \u003d\u003d True"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"3038fb7a_685b584e","line":55,"range":{"start_line":55,"start_character":5,"end_line":55,"end_character":6},"in_reply_to":"aa9dabc5_47b309df","updated":"2022-04-27 12:27:07.000000000","message":"Done","commit_id":"31ba599a0422d758526e066229b8ab37fe0d2fd3"},{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"b3f89dea038804c1ef1e6b9dbdeabff532f54c2f","unresolved":true,"context_lines":[{"line_number":18,"context_line":"  assert:"},{"line_number":19,"context_line":"    that:"},{"line_number":20,"context_line":"      - item in service_test.service"},{"line_number":21,"context_line":"  loop:"},{"line_number":22,"context_line":"    - id"},{"line_number":23,"context_line":"    - name"},{"line_number":24,"context_line":"    - type"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"37dc86bb_4961fb7d","line":21,"updated":"2022-05-04 09:40:43.000000000","message":"please sort by name","commit_id":"50319e29c587f5e38daec11c0d8f65e311a2468e"},{"author":{"_account_id":8367,"name":"Arx Cruz","email":"arxcruz@redhat.com","username":"arxcruz"},"change_message_id":"eb6b83ebecab8f0587d8f1d6ff903e379f954af6","unresolved":false,"context_lines":[{"line_number":18,"context_line":"  assert:"},{"line_number":19,"context_line":"    that:"},{"line_number":20,"context_line":"      - item in service_test.service"},{"line_number":21,"context_line":"  loop:"},{"line_number":22,"context_line":"    - id"},{"line_number":23,"context_line":"    - name"},{"line_number":24,"context_line":"    - type"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"23662c45_fa0bba74","line":21,"in_reply_to":"37dc86bb_4961fb7d","updated":"2022-06-09 12:47:35.000000000","message":"Done","commit_id":"50319e29c587f5e38daec11c0d8f65e311a2468e"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"b21ec8b3a9eda54caba69bd989f0cd3b30fe218e","unresolved":true,"context_lines":[{"line_number":39,"context_line":"  assert:"},{"line_number":40,"context_line":"    that:"},{"line_number":41,"context_line":"      - service_test.service.description \u003d\u003d \"A new description\""},{"line_number":42,"context_line":"      - service_test.service.is_enabled \u003d\u003d False"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"- name: Delete service test"},{"line_number":45,"context_line":"  openstack.cloud.catalog_service:"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"431a77bd_eafbf6e9","line":42,"range":{"start_line":42,"start_character":39,"end_line":42,"end_character":48},"updated":"2022-05-24 10:33:48.000000000","message":"can be \"- not (service_test.service.is_enabled | bool)\"","commit_id":"b5ebd9fdf396d82d1d682c5050ef5c451bcab740"},{"author":{"_account_id":8367,"name":"Arx Cruz","email":"arxcruz@redhat.com","username":"arxcruz"},"change_message_id":"eb6b83ebecab8f0587d8f1d6ff903e379f954af6","unresolved":false,"context_lines":[{"line_number":39,"context_line":"  assert:"},{"line_number":40,"context_line":"    that:"},{"line_number":41,"context_line":"      - service_test.service.description \u003d\u003d \"A new description\""},{"line_number":42,"context_line":"      - service_test.service.is_enabled \u003d\u003d False"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"- name: Delete service test"},{"line_number":45,"context_line":"  openstack.cloud.catalog_service:"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"d8193118_5a93848d","line":42,"range":{"start_line":42,"start_character":39,"end_line":42,"end_character":48},"in_reply_to":"431a77bd_eafbf6e9","updated":"2022-06-09 12:47:35.000000000","message":"Done","commit_id":"b5ebd9fdf396d82d1d682c5050ef5c451bcab740"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"b21ec8b3a9eda54caba69bd989f0cd3b30fe218e","unresolved":true,"context_lines":[{"line_number":52,"context_line":"- name: Verify if service was deleted"},{"line_number":53,"context_line":"  assert:"},{"line_number":54,"context_line":"    that:"},{"line_number":55,"context_line":"      - service_delete.changed \u003d\u003d True"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":9,"id":"6f817117_15dc66b6","line":55,"range":{"start_line":55,"start_character":31,"end_line":55,"end_character":38},"updated":"2022-05-24 10:33:48.000000000","message":"can be dropped","commit_id":"b5ebd9fdf396d82d1d682c5050ef5c451bcab740"},{"author":{"_account_id":8367,"name":"Arx Cruz","email":"arxcruz@redhat.com","username":"arxcruz"},"change_message_id":"eb6b83ebecab8f0587d8f1d6ff903e379f954af6","unresolved":false,"context_lines":[{"line_number":52,"context_line":"- name: Verify if service was deleted"},{"line_number":53,"context_line":"  assert:"},{"line_number":54,"context_line":"    that:"},{"line_number":55,"context_line":"      - service_delete.changed \u003d\u003d True"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":9,"id":"38e8b8f1_79069c4f","line":55,"range":{"start_line":55,"start_character":31,"end_line":55,"end_character":38},"in_reply_to":"6f817117_15dc66b6","updated":"2022-06-09 12:47:35.000000000","message":"Done","commit_id":"b5ebd9fdf396d82d1d682c5050ef5c451bcab740"},{"author":{"_account_id":34208,"name":"Rafael Castillo","email":"rcastill@redhat.com","username":"rcastill"},"change_message_id":"4bda449f0b70c12e10a3d75b47d1d3af617b4916","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: Create a service for test"},{"line_number":3,"context_line":"  openstack.cloud.catalog_service:"},{"line_number":4,"context_line":"    cloud: \"{{ cloud }}\""}],"source_content_type":"text/x-yaml","patch_set":10,"id":"b6e3627e_92c84a30","line":1,"updated":"2022-05-30 22:56:19.000000000","message":"It\u0027d be good to delete the service _before_ the test as well to ensure the it runs correctly (i.e. we get the right `changed` vales)","commit_id":"d97e4806b708618c905ebf22e54ced71b6339a99"},{"author":{"_account_id":8367,"name":"Arx Cruz","email":"arxcruz@redhat.com","username":"arxcruz"},"change_message_id":"eb6b83ebecab8f0587d8f1d6ff903e379f954af6","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: Create a service for test"},{"line_number":3,"context_line":"  openstack.cloud.catalog_service:"},{"line_number":4,"context_line":"    cloud: \"{{ cloud }}\""}],"source_content_type":"text/x-yaml","patch_set":10,"id":"1dceabb9_11e219bf","line":1,"in_reply_to":"b6e3627e_92c84a30","updated":"2022-06-09 12:47:35.000000000","message":"Done","commit_id":"d97e4806b708618c905ebf22e54ced71b6339a99"},{"author":{"_account_id":34208,"name":"Rafael Castillo","email":"rcastill@redhat.com","username":"rcastill"},"change_message_id":"4bda449f0b70c12e10a3d75b47d1d3af617b4916","unresolved":true,"context_lines":[{"line_number":9,"context_line":"  register: service_test"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"- name: Check if the service test was created successfully"},{"line_number":12,"context_line":"  openstack.cloud.catalog_service:"},{"line_number":13,"context_line":"    cloud: \"{{ cloud }}\""},{"line_number":14,"context_line":"    service_type: test"},{"line_number":15,"context_line":"    name: test"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"acfb85aa_6db59a68","line":12,"updated":"2022-05-30 22:56:19.000000000","message":"This one isn\u0027t as useful without asserts. We should check changed for this and the task above this.","commit_id":"d97e4806b708618c905ebf22e54ced71b6339a99"},{"author":{"_account_id":8367,"name":"Arx Cruz","email":"arxcruz@redhat.com","username":"arxcruz"},"change_message_id":"eb6b83ebecab8f0587d8f1d6ff903e379f954af6","unresolved":false,"context_lines":[{"line_number":9,"context_line":"  register: service_test"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"- name: Check if the service test was created successfully"},{"line_number":12,"context_line":"  openstack.cloud.catalog_service:"},{"line_number":13,"context_line":"    cloud: \"{{ cloud }}\""},{"line_number":14,"context_line":"    service_type: test"},{"line_number":15,"context_line":"    name: test"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"2c8025d8_2535a02f","line":12,"in_reply_to":"acfb85aa_6db59a68","updated":"2022-06-09 12:47:35.000000000","message":"Done","commit_id":"d97e4806b708618c905ebf22e54ced71b6339a99"},{"author":{"_account_id":34208,"name":"Rafael Castillo","email":"rcastill@redhat.com","username":"rcastill"},"change_message_id":"4bda449f0b70c12e10a3d75b47d1d3af617b4916","unresolved":true,"context_lines":[{"line_number":53,"context_line":"  assert:"},{"line_number":54,"context_line":"    that:"},{"line_number":55,"context_line":"      - service_delete.changed"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":10,"id":"f29973ac_12f90abd","line":56,"updated":"2022-05-30 22:56:19.000000000","message":"Please add a test for deleting the service twice.","commit_id":"d97e4806b708618c905ebf22e54ced71b6339a99"},{"author":{"_account_id":8367,"name":"Arx Cruz","email":"arxcruz@redhat.com","username":"arxcruz"},"change_message_id":"eb6b83ebecab8f0587d8f1d6ff903e379f954af6","unresolved":false,"context_lines":[{"line_number":53,"context_line":"  assert:"},{"line_number":54,"context_line":"    that:"},{"line_number":55,"context_line":"      - service_delete.changed"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":10,"id":"7cfaf121_4800b430","line":56,"in_reply_to":"f29973ac_12f90abd","updated":"2022-06-09 12:47:35.000000000","message":"Done","commit_id":"d97e4806b708618c905ebf22e54ced71b6339a99"},{"author":{"_account_id":34208,"name":"Rafael Castillo","email":"rcastill@redhat.com","username":"rcastill"},"change_message_id":"ba2688b7cb69fd0bcf98a20bfce09aae5d01225c","unresolved":true,"context_lines":[{"line_number":91,"context_line":"- name: Assert changed is set to false"},{"line_number":92,"context_line":"  assert:"},{"line_number":93,"context_line":"    that:"},{"line_number":94,"context_line":"      - not service_deleted.changed"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"77718c62_cd98ba06","line":94,"updated":"2022-05-31 22:24:22.000000000","message":"s/service_deleted/service_delete/","commit_id":"4879044508251f64a2fced9a7f8fe484115e2bb8"},{"author":{"_account_id":8367,"name":"Arx Cruz","email":"arxcruz@redhat.com","username":"arxcruz"},"change_message_id":"eb6b83ebecab8f0587d8f1d6ff903e379f954af6","unresolved":false,"context_lines":[{"line_number":91,"context_line":"- name: Assert changed is set to false"},{"line_number":92,"context_line":"  assert:"},{"line_number":93,"context_line":"    that:"},{"line_number":94,"context_line":"      - not service_deleted.changed"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"cb969a58_ce916374","line":94,"in_reply_to":"77718c62_cd98ba06","updated":"2022-06-09 12:47:35.000000000","message":"Done","commit_id":"4879044508251f64a2fced9a7f8fe484115e2bb8"}],"plugins/modules/catalog_service.py":[{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"b3f89dea038804c1ef1e6b9dbdeabff532f54c2f","unresolved":true,"context_lines":[{"line_number":21,"context_line":"     description:"},{"line_number":22,"context_line":"        - Description of the service"},{"line_number":23,"context_line":"     type: str"},{"line_number":24,"context_line":"   enabled:"},{"line_number":25,"context_line":"     description:"},{"line_number":26,"context_line":"        - Is the service enabled"},{"line_number":27,"context_line":"     type: bool"}],"source_content_type":"text/x-python","patch_set":4,"id":"41d2d231_ad618866","line":24,"updated":"2022-05-04 09:40:43.000000000","message":"Rename to is_enabled and add enabled as alias, to match SDK.","commit_id":"f38deb29781a82ef25141d4d32f72da2a998c94d"},{"author":{"_account_id":8367,"name":"Arx Cruz","email":"arxcruz@redhat.com","username":"arxcruz"},"change_message_id":"eb6b83ebecab8f0587d8f1d6ff903e379f954af6","unresolved":false,"context_lines":[{"line_number":21,"context_line":"     description:"},{"line_number":22,"context_line":"        - Description of the service"},{"line_number":23,"context_line":"     type: str"},{"line_number":24,"context_line":"   enabled:"},{"line_number":25,"context_line":"     description:"},{"line_number":26,"context_line":"        - Is the service enabled"},{"line_number":27,"context_line":"     type: bool"}],"source_content_type":"text/x-python","patch_set":4,"id":"15984c60_f759f893","line":24,"in_reply_to":"41d2d231_ad618866","updated":"2022-06-09 12:47:35.000000000","message":"Done","commit_id":"f38deb29781a82ef25141d4d32f72da2a998c94d"},{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"b3f89dea038804c1ef1e6b9dbdeabff532f54c2f","unresolved":true,"context_lines":[{"line_number":26,"context_line":"        - Is the service enabled"},{"line_number":27,"context_line":"     type: bool"},{"line_number":28,"context_line":"     default: \u0027yes\u0027"},{"line_number":29,"context_line":"   service_type:"},{"line_number":30,"context_line":"     description:"},{"line_number":31,"context_line":"        - The type of service"},{"line_number":32,"context_line":"     required: true"}],"source_content_type":"text/x-python","patch_set":4,"id":"8385208a_c1475bdd","line":29,"updated":"2022-05-04 09:40:43.000000000","message":"Rename to type and add service_type as alias, to match SDK.","commit_id":"f38deb29781a82ef25141d4d32f72da2a998c94d"},{"author":{"_account_id":8367,"name":"Arx Cruz","email":"arxcruz@redhat.com","username":"arxcruz"},"change_message_id":"eb6b83ebecab8f0587d8f1d6ff903e379f954af6","unresolved":false,"context_lines":[{"line_number":26,"context_line":"        - Is the service enabled"},{"line_number":27,"context_line":"     type: bool"},{"line_number":28,"context_line":"     default: \u0027yes\u0027"},{"line_number":29,"context_line":"   service_type:"},{"line_number":30,"context_line":"     description:"},{"line_number":31,"context_line":"        - The type of service"},{"line_number":32,"context_line":"     required: true"}],"source_content_type":"text/x-python","patch_set":4,"id":"ee7dfa41_c6650d8f","line":29,"in_reply_to":"8385208a_c1475bdd","updated":"2022-06-09 12:47:35.000000000","message":"Done","commit_id":"f38deb29781a82ef25141d4d32f72da2a998c94d"},{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"b3f89dea038804c1ef1e6b9dbdeabff532f54c2f","unresolved":true,"context_lines":[{"line_number":51,"context_line":"     cloud: mycloud"},{"line_number":52,"context_line":"     state: present"},{"line_number":53,"context_line":"     name: glance"},{"line_number":54,"context_line":"     service_type: image"},{"line_number":55,"context_line":"     description: OpenStack Image Service"},{"line_number":56,"context_line":"# Delete a service"},{"line_number":57,"context_line":"- openstack.cloud.catalog_service:"}],"source_content_type":"text/x-python","patch_set":4,"id":"d1e42164_3f9a041a","line":54,"updated":"2022-05-04 09:40:43.000000000","message":"Change example to type after renaming attribute.","commit_id":"f38deb29781a82ef25141d4d32f72da2a998c94d"},{"author":{"_account_id":8367,"name":"Arx Cruz","email":"arxcruz@redhat.com","username":"arxcruz"},"change_message_id":"eb6b83ebecab8f0587d8f1d6ff903e379f954af6","unresolved":false,"context_lines":[{"line_number":51,"context_line":"     cloud: mycloud"},{"line_number":52,"context_line":"     state: present"},{"line_number":53,"context_line":"     name: glance"},{"line_number":54,"context_line":"     service_type: image"},{"line_number":55,"context_line":"     description: OpenStack Image Service"},{"line_number":56,"context_line":"# Delete a service"},{"line_number":57,"context_line":"- openstack.cloud.catalog_service:"}],"source_content_type":"text/x-python","patch_set":4,"id":"5ae365cb_c91c8b0f","line":54,"in_reply_to":"d1e42164_3f9a041a","updated":"2022-06-09 12:47:35.000000000","message":"Done","commit_id":"f38deb29781a82ef25141d4d32f72da2a998c94d"},{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"b3f89dea038804c1ef1e6b9dbdeabff532f54c2f","unresolved":true,"context_lines":[{"line_number":58,"context_line":"     cloud: mycloud"},{"line_number":59,"context_line":"     state: absent"},{"line_number":60,"context_line":"     name: glance"},{"line_number":61,"context_line":"     service_type: image"},{"line_number":62,"context_line":"\u0027\u0027\u0027"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"RETURN \u003d \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"fe3484fa_07b51bec","line":61,"updated":"2022-05-04 09:40:43.000000000","message":"Change example to type after renaming attribute.","commit_id":"f38deb29781a82ef25141d4d32f72da2a998c94d"},{"author":{"_account_id":8367,"name":"Arx Cruz","email":"arxcruz@redhat.com","username":"arxcruz"},"change_message_id":"eb6b83ebecab8f0587d8f1d6ff903e379f954af6","unresolved":false,"context_lines":[{"line_number":58,"context_line":"     cloud: mycloud"},{"line_number":59,"context_line":"     state: absent"},{"line_number":60,"context_line":"     name: glance"},{"line_number":61,"context_line":"     service_type: image"},{"line_number":62,"context_line":"\u0027\u0027\u0027"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"RETURN \u003d \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"c3891c38_56b95a64","line":61,"in_reply_to":"fe3484fa_07b51bec","updated":"2022-06-09 12:47:35.000000000","message":"Done","commit_id":"f38deb29781a82ef25141d4d32f72da2a998c94d"},{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"b3f89dea038804c1ef1e6b9dbdeabff532f54c2f","unresolved":true,"context_lines":[{"line_number":65,"context_line":"service:"},{"line_number":66,"context_line":"    description: Dictionary describing the service."},{"line_number":67,"context_line":"    returned: On success when I(state) is \u0027present\u0027"},{"line_number":68,"context_line":"    type: complex"},{"line_number":69,"context_line":"    contains:"},{"line_number":70,"context_line":"        id:"},{"line_number":71,"context_line":"            description: Service ID."}],"source_content_type":"text/x-python","patch_set":4,"id":"f06be57f_79eb801e","line":68,"updated":"2022-05-04 09:40:43.000000000","message":"type: dict","commit_id":"f38deb29781a82ef25141d4d32f72da2a998c94d"},{"author":{"_account_id":8367,"name":"Arx Cruz","email":"arxcruz@redhat.com","username":"arxcruz"},"change_message_id":"eb6b83ebecab8f0587d8f1d6ff903e379f954af6","unresolved":false,"context_lines":[{"line_number":65,"context_line":"service:"},{"line_number":66,"context_line":"    description: Dictionary describing the service."},{"line_number":67,"context_line":"    returned: On success when I(state) is \u0027present\u0027"},{"line_number":68,"context_line":"    type: complex"},{"line_number":69,"context_line":"    contains:"},{"line_number":70,"context_line":"        id:"},{"line_number":71,"context_line":"            description: Service ID."}],"source_content_type":"text/x-python","patch_set":4,"id":"cf87c9f8_431fb03a","line":68,"in_reply_to":"f06be57f_79eb801e","updated":"2022-06-09 12:47:35.000000000","message":"Done","commit_id":"f38deb29781a82ef25141d4d32f72da2a998c94d"},{"author":{"_account_id":32962,"name":"Jakob Meng","email":"code@jakobmeng.de","username":"jakobmeng@web.de"},"change_message_id":"b3f89dea038804c1ef1e6b9dbdeabff532f54c2f","unresolved":true,"context_lines":[{"line_number":120,"context_line":"        if service.description is not None and \\"},{"line_number":121,"context_line":"           service.description !\u003d self.params[\u0027description\u0027]:"},{"line_number":122,"context_line":"            return True"},{"line_number":123,"context_line":"        return False"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def _system_state_change(self, service):"},{"line_number":126,"context_line":"        state \u003d self.params[\u0027state\u0027]"}],"source_content_type":"text/x-python","patch_set":4,"id":"bec035b4_cbdc6c14","line":123,"updated":"2022-05-04 09:40:43.000000000","message":"Please check other attributes as well because one can actually update more than just enabled and description. Or just add a TODO here for later.","commit_id":"f38deb29781a82ef25141d4d32f72da2a998c94d"},{"author":{"_account_id":34208,"name":"Rafael Castillo","email":"rcastill@redhat.com","username":"rcastill"},"change_message_id":"4bda449f0b70c12e10a3d75b47d1d3af617b4916","unresolved":false,"context_lines":[{"line_number":120,"context_line":"        if service.description is not None and \\"},{"line_number":121,"context_line":"           service.description !\u003d self.params[\u0027description\u0027]:"},{"line_number":122,"context_line":"            return True"},{"line_number":123,"context_line":"        return False"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def _system_state_change(self, service):"},{"line_number":126,"context_line":"        state \u003d self.params[\u0027state\u0027]"}],"source_content_type":"text/x-python","patch_set":4,"id":"11d5fd2a_47ac0de7","line":123,"in_reply_to":"bec035b4_cbdc6c14","updated":"2022-05-30 22:56:19.000000000","message":"Done","commit_id":"f38deb29781a82ef25141d4d32f72da2a998c94d"},{"author":{"_account_id":34208,"name":"Rafael Castillo","email":"rcastill@redhat.com","username":"rcastill"},"change_message_id":"b316fe64f1395ac73a3f786484bbd99870a3c5ed","unresolved":true,"context_lines":[{"line_number":21,"context_line":"     description:"},{"line_number":22,"context_line":"        - Description of the service"},{"line_number":23,"context_line":"     type: str"},{"line_number":24,"context_line":"   is_enabled:"},{"line_number":25,"context_line":"     description:"},{"line_number":26,"context_line":"        - Is the service enabled"},{"line_number":27,"context_line":"     type: bool"}],"source_content_type":"text/x-python","patch_set":5,"id":"82dde204_aee78a80","line":24,"updated":"2022-05-12 15:47:42.000000000","message":"Do we want to rename this? If so, we need to add `is_enabled` as an alias of enabled in the args spec.","commit_id":"560cbd3c01bcf0a3bea571487f432cc047b2a595"},{"author":{"_account_id":34208,"name":"Rafael Castillo","email":"rcastill@redhat.com","username":"rcastill"},"change_message_id":"4bda449f0b70c12e10a3d75b47d1d3af617b4916","unresolved":false,"context_lines":[{"line_number":21,"context_line":"     description:"},{"line_number":22,"context_line":"        - Description of the service"},{"line_number":23,"context_line":"     type: str"},{"line_number":24,"context_line":"   is_enabled:"},{"line_number":25,"context_line":"     description:"},{"line_number":26,"context_line":"        - Is the service enabled"},{"line_number":27,"context_line":"     type: bool"}],"source_content_type":"text/x-python","patch_set":5,"id":"8ab78a20_ef4fa2a9","line":24,"in_reply_to":"82dde204_aee78a80","updated":"2022-05-30 22:56:19.000000000","message":"Done","commit_id":"560cbd3c01bcf0a3bea571487f432cc047b2a595"},{"author":{"_account_id":34208,"name":"Rafael Castillo","email":"rcastill@redhat.com","username":"rcastill"},"change_message_id":"b316fe64f1395ac73a3f786484bbd99870a3c5ed","unresolved":true,"context_lines":[{"line_number":116,"context_line":"    )"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    def _needs_update(self, service):"},{"line_number":119,"context_line":"        if service.enabled !\u003d self.params[\u0027enabled\u0027]:"},{"line_number":120,"context_line":"            return True"},{"line_number":121,"context_line":"        if service.description is not None and \\"},{"line_number":122,"context_line":"           service.description !\u003d self.params[\u0027description\u0027]:"}],"source_content_type":"text/x-python","patch_set":5,"id":"65f456b9_a68e52d5","line":119,"updated":"2022-05-12 15:47:42.000000000","message":"This is checking enough fields that it would look neater with a for loop imo. What do you think?","commit_id":"560cbd3c01bcf0a3bea571487f432cc047b2a595"},{"author":{"_account_id":8367,"name":"Arx Cruz","email":"arxcruz@redhat.com","username":"arxcruz"},"change_message_id":"eb6b83ebecab8f0587d8f1d6ff903e379f954af6","unresolved":false,"context_lines":[{"line_number":116,"context_line":"    )"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    def _needs_update(self, service):"},{"line_number":119,"context_line":"        if service.enabled !\u003d self.params[\u0027enabled\u0027]:"},{"line_number":120,"context_line":"            return True"},{"line_number":121,"context_line":"        if service.description is not None and \\"},{"line_number":122,"context_line":"           service.description !\u003d self.params[\u0027description\u0027]:"}],"source_content_type":"text/x-python","patch_set":5,"id":"dd998798_6fa24872","line":119,"in_reply_to":"65f456b9_a68e52d5","updated":"2022-06-09 12:47:35.000000000","message":"Done","commit_id":"560cbd3c01bcf0a3bea571487f432cc047b2a595"},{"author":{"_account_id":10969,"name":"Shnaidman Sagi (Sergey)","display_name":"Shnaidman Sagi","email":"sshnaidm@redhat.com","username":"sergsh"},"change_message_id":"3fa4390a3594324704c05eb4b412a13c6ac21348","unresolved":true,"context_lines":[{"line_number":86,"context_line":"            type: str"},{"line_number":87,"context_line":"            sample: \"OpenStack Image Service\""},{"line_number":88,"context_line":"        is_enabled:"},{"line_number":89,"context_line":"            aliases: [enabled]"},{"line_number":90,"context_line":"            description: Service status."},{"line_number":91,"context_line":"            type: bool"},{"line_number":92,"context_line":"            sample: True"}],"source_content_type":"text/x-python","patch_set":7,"id":"5628f8dd_10fde1bd","line":89,"range":{"start_line":89,"start_character":0,"end_line":89,"end_character":1},"updated":"2022-05-18 16:15:32.000000000","message":"this is retutned data, it can\u0027t be alias here.","commit_id":"37283577da6e3b4e0746a57ec2e70b792d5c35ce"},{"author":{"_account_id":8367,"name":"Arx Cruz","email":"arxcruz@redhat.com","username":"arxcruz"},"change_message_id":"eb6b83ebecab8f0587d8f1d6ff903e379f954af6","unresolved":false,"context_lines":[{"line_number":86,"context_line":"            type: str"},{"line_number":87,"context_line":"            sample: \"OpenStack Image Service\""},{"line_number":88,"context_line":"        is_enabled:"},{"line_number":89,"context_line":"            aliases: [enabled]"},{"line_number":90,"context_line":"            description: Service status."},{"line_number":91,"context_line":"            type: bool"},{"line_number":92,"context_line":"            sample: True"}],"source_content_type":"text/x-python","patch_set":7,"id":"6d425f22_eee575f4","line":89,"range":{"start_line":89,"start_character":0,"end_line":89,"end_character":1},"in_reply_to":"5628f8dd_10fde1bd","updated":"2022-06-09 12:47:35.000000000","message":"Done","commit_id":"37283577da6e3b4e0746a57ec2e70b792d5c35ce"},{"author":{"_account_id":34208,"name":"Rafael Castillo","email":"rcastill@redhat.com","username":"rcastill"},"change_message_id":"4bda449f0b70c12e10a3d75b47d1d3af617b4916","unresolved":true,"context_lines":[{"line_number":142,"context_line":"        type \u003d self.params[\u0027type\u0027]"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"        filters \u003d {\u0027name\u0027: name}"},{"line_number":145,"context_line":"        if type:"},{"line_number":146,"context_line":"            filters[\u0027type\u0027] \u003d type"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"        services \u003d list(self.conn.identity.services(**filters))"}],"source_content_type":"text/x-python","patch_set":10,"id":"22621f1f_2db648bd","line":145,"updated":"2022-05-30 22:56:19.000000000","message":"This condition is redundant as type is required.","commit_id":"d97e4806b708618c905ebf22e54ced71b6339a99"},{"author":{"_account_id":8367,"name":"Arx Cruz","email":"arxcruz@redhat.com","username":"arxcruz"},"change_message_id":"eb6b83ebecab8f0587d8f1d6ff903e379f954af6","unresolved":false,"context_lines":[{"line_number":142,"context_line":"        type \u003d self.params[\u0027type\u0027]"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"        filters \u003d {\u0027name\u0027: name}"},{"line_number":145,"context_line":"        if type:"},{"line_number":146,"context_line":"            filters[\u0027type\u0027] \u003d type"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"        services \u003d list(self.conn.identity.services(**filters))"}],"source_content_type":"text/x-python","patch_set":10,"id":"b861b44f_4518c128","line":145,"in_reply_to":"22621f1f_2db648bd","updated":"2022-06-09 12:47:35.000000000","message":"Done","commit_id":"d97e4806b708618c905ebf22e54ced71b6339a99"},{"author":{"_account_id":34208,"name":"Rafael Castillo","email":"rcastill@redhat.com","username":"rcastill"},"change_message_id":"4bda449f0b70c12e10a3d75b47d1d3af617b4916","unresolved":true,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":"        if state \u003d\u003d \u0027present\u0027:"},{"line_number":162,"context_line":"            if service is None:"},{"line_number":163,"context_line":"                service \u003d self.conn.identity.create_service("},{"line_number":164,"context_line":"                    name\u003dname, description\u003ddescription, type\u003dtype,"},{"line_number":165,"context_line":"                    enabled\u003denabled)"},{"line_number":166,"context_line":"                changed \u003d True"}],"source_content_type":"text/x-python","patch_set":10,"id":"24635097_82d3d788","line":163,"updated":"2022-05-30 22:56:19.000000000","message":"We should use the pattern where we pass in a dict so we avoid passing in None values to the sdk","commit_id":"d97e4806b708618c905ebf22e54ced71b6339a99"},{"author":{"_account_id":8367,"name":"Arx Cruz","email":"arxcruz@redhat.com","username":"arxcruz"},"change_message_id":"eb6b83ebecab8f0587d8f1d6ff903e379f954af6","unresolved":false,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":"        if state \u003d\u003d \u0027present\u0027:"},{"line_number":162,"context_line":"            if service is None:"},{"line_number":163,"context_line":"                service \u003d self.conn.identity.create_service("},{"line_number":164,"context_line":"                    name\u003dname, description\u003ddescription, type\u003dtype,"},{"line_number":165,"context_line":"                    enabled\u003denabled)"},{"line_number":166,"context_line":"                changed \u003d True"}],"source_content_type":"text/x-python","patch_set":10,"id":"ff7f5104_2ede5612","line":163,"in_reply_to":"24635097_82d3d788","updated":"2022-06-09 12:47:35.000000000","message":"Done","commit_id":"d97e4806b708618c905ebf22e54ced71b6339a99"},{"author":{"_account_id":34208,"name":"Rafael Castillo","email":"rcastill@redhat.com","username":"rcastill"},"change_message_id":"4bda449f0b70c12e10a3d75b47d1d3af617b4916","unresolved":true,"context_lines":[{"line_number":169,"context_line":"                    # The self.conn.update_service calls get_service that"},{"line_number":170,"context_line":"                    # checks if the service is duplicated or not. We don\u0027t need"},{"line_number":171,"context_line":"                    # to do it here b ecause it was already checked above"},{"line_number":172,"context_line":"                    service \u003d self.conn.identity.update_service("},{"line_number":173,"context_line":"                        service, name\u003dname, type\u003dtype, enabled\u003denabled,"},{"line_number":174,"context_line":"                        description\u003ddescription)"},{"line_number":175,"context_line":"                    changed \u003d True"}],"source_content_type":"text/x-python","patch_set":10,"id":"de22b482_a3bba42e","line":172,"updated":"2022-05-30 22:56:19.000000000","message":"Same here","commit_id":"d97e4806b708618c905ebf22e54ced71b6339a99"},{"author":{"_account_id":8367,"name":"Arx Cruz","email":"arxcruz@redhat.com","username":"arxcruz"},"change_message_id":"eb6b83ebecab8f0587d8f1d6ff903e379f954af6","unresolved":false,"context_lines":[{"line_number":169,"context_line":"                    # The self.conn.update_service calls get_service that"},{"line_number":170,"context_line":"                    # checks if the service is duplicated or not. We don\u0027t need"},{"line_number":171,"context_line":"                    # to do it here b ecause it was already checked above"},{"line_number":172,"context_line":"                    service \u003d self.conn.identity.update_service("},{"line_number":173,"context_line":"                        service, name\u003dname, type\u003dtype, enabled\u003denabled,"},{"line_number":174,"context_line":"                        description\u003ddescription)"},{"line_number":175,"context_line":"                    changed \u003d True"}],"source_content_type":"text/x-python","patch_set":10,"id":"dbcf07da_4fc872dd","line":172,"in_reply_to":"de22b482_a3bba42e","updated":"2022-06-09 12:47:35.000000000","message":"Done","commit_id":"d97e4806b708618c905ebf22e54ced71b6339a99"},{"author":{"_account_id":34208,"name":"Rafael Castillo","email":"rcastill@redhat.com","username":"rcastill"},"change_message_id":"bf9ad87bdf3d34410b37fb53f55336fb51ff9112","unresolved":true,"context_lines":[{"line_number":117,"context_line":"    )"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    def _needs_update(self, service):"},{"line_number":120,"context_line":"        for parameter in (\u0027is_enabled\u0027, \u0027description\u0027, \u0027links\u0027, \u0027type\u0027):"},{"line_number":121,"context_line":"            if service[parameter] !\u003d self.params[parameter]:"},{"line_number":122,"context_line":"                return True"},{"line_number":123,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":13,"id":"e7e3ec72_6da413a9","line":120,"updated":"2022-06-08 20:24:25.000000000","message":"links is not writeable","commit_id":"241aee1ed98c7df295702754906de83d417bf708"},{"author":{"_account_id":8367,"name":"Arx Cruz","email":"arxcruz@redhat.com","username":"arxcruz"},"change_message_id":"37d87fc38dbe74cdbe05aa5892e5c5a661cbe09a","unresolved":false,"context_lines":[{"line_number":117,"context_line":"    )"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    def _needs_update(self, service):"},{"line_number":120,"context_line":"        for parameter in (\u0027is_enabled\u0027, \u0027description\u0027, \u0027links\u0027, \u0027type\u0027):"},{"line_number":121,"context_line":"            if service[parameter] !\u003d self.params[parameter]:"},{"line_number":122,"context_line":"                return True"},{"line_number":123,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":13,"id":"42f2855d_7c50bc6a","line":120,"in_reply_to":"e7e3ec72_6da413a9","updated":"2022-06-09 12:49:50.000000000","message":"Done","commit_id":"241aee1ed98c7df295702754906de83d417bf708"}]}
