)]}'
{"designate_tempest_plugin/services/dns/v2/json/service_client.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"23d305e4b10fd2ac51e2c276f79d334446031342","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright 2021 RedHat|IBM"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"# not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":5,"id":"21dcf4e3_27fce66b","line":1,"range":{"start_line":1,"start_character":17,"end_line":1,"end_character":27},"updated":"2021-04-27 21:25:04.000000000","message":"This should probably be updated per your company policies.","commit_id":"bc5068bdcf61528809da73fa031072863e623cb2"}],"designate_tempest_plugin/tests/api/v2/test_service_statuses.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"23d305e4b10fd2ac51e2c276f79d334446031342","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright 2021 RedHat|IBM"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"# not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":5,"id":"46578f02_51378c8e","line":1,"range":{"start_line":1,"start_character":17,"end_line":1,"end_character":27},"updated":"2021-04-27 21:25:04.000000000","message":"Same","commit_id":"bc5068bdcf61528809da73fa031072863e623cb2"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"321a8ddca581eb4f2336c5075db9d5dd34877f7d","unresolved":true,"context_lines":[{"line_number":45,"context_line":"        statuses \u003d self.admin_client.list_statuses()"},{"line_number":46,"context_line":"        LOG.info(\u0027Retrieved statuses are: {} \u0027.format(statuses))"},{"line_number":47,"context_line":"        listed_services_names \u003d [item[\u0027service_name\u0027] for item in statuses]"},{"line_number":48,"context_line":"        self.assertNotEmpty("},{"line_number":49,"context_line":"            listed_services_names,"},{"line_number":50,"context_line":"            \u0027Failed, no service names has been detected in received\u0027"},{"line_number":51,"context_line":"            \u0027 services: {} \u0027.format(listed_services_names))"}],"source_content_type":"text/x-python","patch_set":5,"id":"d64a8de5_32f0547e","line":48,"updated":"2021-03-24 23:30:00.000000000","message":"Can we expand this to actually look inside the response?\n\nReally an API test should cover all of the expected fields per the API reference. API tests are used to validate that a cloud is compliant with the OpenStack API specification.\n\nGranted the API reference \"response parameters\" section is incomplete, but you could go off of the \"response example\" to validate the expected fields.","commit_id":"bc5068bdcf61528809da73fa031072863e623cb2"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"23d305e4b10fd2ac51e2c276f79d334446031342","unresolved":true,"context_lines":[{"line_number":45,"context_line":"        statuses \u003d self.admin_client.list_statuses()"},{"line_number":46,"context_line":"        LOG.info(\u0027Retrieved statuses are: {} \u0027.format(statuses))"},{"line_number":47,"context_line":"        listed_services_names \u003d [item[\u0027service_name\u0027] for item in statuses]"},{"line_number":48,"context_line":"        self.assertNotEmpty("},{"line_number":49,"context_line":"            listed_services_names,"},{"line_number":50,"context_line":"            \u0027Failed, no service names has been detected in received\u0027"},{"line_number":51,"context_line":"            \u0027 services: {} \u0027.format(listed_services_names))"}],"source_content_type":"text/x-python","patch_set":5,"id":"798e30e3_7a0a0e77","line":48,"in_reply_to":"2d7b1751_cbb5a7c0","updated":"2021-04-27 21:25:04.000000000","message":"I think at a minimum: central, mdns, worker, and producer should be present.\nSink and agent are definitely optional.","commit_id":"bc5068bdcf61528809da73fa031072863e623cb2"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"3a91f295bcdd4d9ace7d1eada069ec6707ce21e7","unresolved":true,"context_lines":[{"line_number":45,"context_line":"        statuses \u003d self.admin_client.list_statuses()"},{"line_number":46,"context_line":"        LOG.info(\u0027Retrieved statuses are: {} \u0027.format(statuses))"},{"line_number":47,"context_line":"        listed_services_names \u003d [item[\u0027service_name\u0027] for item in statuses]"},{"line_number":48,"context_line":"        self.assertNotEmpty("},{"line_number":49,"context_line":"            listed_services_names,"},{"line_number":50,"context_line":"            \u0027Failed, no service names has been detected in received\u0027"},{"line_number":51,"context_line":"            \u0027 services: {} \u0027.format(listed_services_names))"}],"source_content_type":"text/x-python","patch_set":5,"id":"2d7b1751_cbb5a7c0","line":48,"in_reply_to":"d64a8de5_32f0547e","updated":"2021-03-25 13:27:00.000000000","message":"Hi All!\n\nYep Michael you are right, we should check more and I\u0027ve actually did it in patchset #3 https://review.opendev.org/c/openstack/designate-tempest-plugin/+/780567/3/designate_tempest_plugin/tests/api/v2/test_service.py\nIt was fine on my setup and for all Gerrit gates except one:\nhttps://abc0488e063f5fa92dad-c4c8c9f72d027ee98f5da4950dd6b423.ssl.cf1.rackcdn.com/780567/3/check/designate-grenade-pdns4/c9834ac/job-output.txt\n\nThe \"Root Cause\" was:\n2021-03-15 18:16:17.121720 | controller | reference \u003d [\u0027central\u0027, \u0027mdns\u0027, \u0027agent\u0027, \u0027sink\u0027, \u0027worker\u0027, \u0027producer\u0027]\n2021-03-15 18:16:17.121776 | controller | actual    \u003d [\u0027central\u0027, \u0027mdns\u0027, \u0027agent\u0027, \u0027sink\u0027, \u0027worker\u0027, \u0027producer\u0027, \u0027api\u0027]\n2021-03-15 18:16:17.121795 | controller | : Failed, received services: [\u0027central\u0027, \u0027mdns\u0027, \u0027agent\u0027, \u0027sink\u0027, \u0027worker\u0027, \u0027producer\u0027, \u0027api\u0027] are not as expected: [\u0027central\u0027, \u0027mdns\u0027, \u0027agent\u0027, \u0027sink\u0027, \u0027worker\u0027, \u0027producer\u0027]\n\nSo it seems like sometimes API service is listed and sometimes it\u0027s not.\nI\u0027ve decided then to change the test logic and validate that the list of retrieved services is not empty, it wasn\u0027t a good idea :-)\n\nNow I\u0027m curious how to proceed?\nI need to know which servers are mandatory and should always be listed in this API, so then maybe I\u0027ll check only that the mandatory servers are listed?\n\nAny other ideas will be much appreciated!","commit_id":"bc5068bdcf61528809da73fa031072863e623cb2"}]}
