)]}'
{"id":"openstack%2Fpython-neutronclient~834942","triplet_id":"openstack%2Fpython-neutronclient~stable%2Fwallaby~I4fe6fabc4f745e2c9a366e30dbea7e7200151f12","project":"openstack/python-neutronclient","branch":"stable/wallaby","topic":"safe_hasattr-stable/wallaby","attention_set":{},"removed_from_attention_set":{"4694":{"account":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"last_update":"2022-03-29 12:46:35.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I4fe6fabc4f745e2c9a366e30dbea7e7200151f12","subject":"tests: change safe_hasattr to hasattr","status":"MERGED","created":"2022-03-23 21:40:41.000000000","updated":"2022-03-29 12:49:50.000000000","submitted":"2022-03-29 12:46:35.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":1,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"834942-safe_hasattr-stable/wallaby","cherry_pick_of_change":802306,"cherry_pick_of_patch_set":3,"meta_rev_id":"698721a510eeeb74017b522db43a44d2ccea8d62","_number":834942,"virtual_id_number":834942,"owner":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"},{"value":0,"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2022-03-29 12:46:35.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"},"all":[{"value":2,"date":"2022-03-29 12:49:50.000000000","post_submit":true,"permitted_voting_range":{"min":2,"max":2},"_account_id":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"},{"value":2,"date":"2022-03-29 11:16:57.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"all":[{"value":0,"_account_id":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"},{"value":1,"date":"2022-03-29 11:16:57.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"CC":[{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"}],"REVIEWER":[{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},{"_account_id":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2022-03-23 21:40:41.000000000","updated_by":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"reviewer":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"state":"CC"},{"updated":"2022-03-23 23:03:05.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2022-03-25 15:53:30.000000000","updated_by":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"reviewer":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"state":"REVIEWER"},{"updated":"2022-03-25 17:55:11.000000000","updated_by":{"_account_id":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"},"reviewer":{"_account_id":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"},"state":"REVIEWER"}],"messages":[{"id":"5c2708c922940f63fcbd93fcde5d51e286cc2cc4","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"date":"2022-03-23 21:40:41.000000000","message":"Patch Set 1: Cherry Picked from branch master.","accounts_in_message":[],"_revision_number":1},{"id":"de090eec599f4db1a3202a1b8fc65cccfa1992eb","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"date":"2022-03-23 21:50:27.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"35881e92a574a8d50f0fce95f7380dca5dbebb73","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-03-23 23:03:05.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/48ceea0bfcd2488cb0f1ae2c0c78d36e : SUCCESS in 5m 34s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/0735d36ccdb14d8c8c67d06a3d40ce1b : FAILURE in 4m 34s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/3d8927186a0d40bc9cab5f4cafdf6c39 : SUCCESS in 5m 03s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/c7e59caa5bb543b6a98d7a8ff7e22832 : SUCCESS in 5m 29s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/0f5bd4a00aeb42a19964967037154942 : SUCCESS in 5m 07s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/24e82a9ae912487788846cc024f647a5 : SUCCESS in 6m 35s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/a30f98f05e134af3888c089d136c4782 : SUCCESS in 1h 10m 54s\n- neutronclient-functional https://zuul.opendev.org/t/openstack/build/57f4709567c24eb9935bc3538959d902 : SUCCESS in 28m 22s","accounts_in_message":[],"_revision_number":2},{"id":"55f48ec674b38d39ae1ee7b504dda13a4310e554","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"date":"2022-03-24 22:13:48.000000000","message":"Uploaded patch set 3: Patch Set 2 was rebased.","accounts_in_message":[],"_revision_number":3},{"id":"eb9ae82e95abf6de32f664a76ef3200f78b12e18","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-03-24 23:53:57.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/5b03c7db7af84716b3014dba3aaa7c6f : SUCCESS in 5m 35s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/6d17d5f67b954f029a238cdffc473e30 : SUCCESS in 5m 04s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/b1675e94227548e9b0601b067eee4acd : SUCCESS in 5m 23s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/5fb61de52d3b40d8b89581489e456a8e : SUCCESS in 5m 29s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/d7b230d15e164b4287304df47533ff78 : SUCCESS in 5m 29s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1fc1c348230044f287219e3a5ebee0b2 : SUCCESS in 7m 00s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/fb7b021fdef7441a8928421cbb9686ea : SUCCESS in 1h 35m 22s\n- neutronclient-functional https://zuul.opendev.org/t/openstack/build/42034b8b89bf4b729cadf8d5188b62eb : SUCCESS in 36m 18s","accounts_in_message":[],"_revision_number":3},{"id":"eb190cb5e6e03860dbe0107e31014f22e0f25912","author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"date":"2022-03-25 15:53:30.000000000","message":"Patch Set 3: Code-Review+2","accounts_in_message":[],"_revision_number":3},{"id":"68b1f4fc14bfb33e589873f8fe96df220b0f573d","author":{"_account_id":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"},"date":"2022-03-25 17:55:11.000000000","message":"Patch Set 3: Code-Review+2 Workflow+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"e931a505eb6cf54e286fbfefc61abb85a5b53e9c","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"date":"2022-03-25 21:54:14.000000000","message":"Uploaded patch set 4: Patch Set 3 was rebased.","accounts_in_message":[],"_revision_number":4},{"id":"559276fbdab714b4d0aeced08689b677c1331603","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-03-25 23:21:26.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/8faa46215ae04c488540b731e7e6484b : SUCCESS in 5m 05s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/ffee89afd6ef4f7eb9d5bd6c071e57ce : SUCCESS in 5m 36s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/d4a07d09a2724b779a363524338c3933 : SUCCESS in 5m 11s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/a8465251ba5b4bebb5436891345367b7 : SUCCESS in 5m 26s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/0fd439ee8af342209e3a9f3da6c1fd2a : SUCCESS in 5m 47s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/0447d4b914344980ba2ce693cafb0d75 : SUCCESS in 7m 13s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/3322714967234b299e9ec08b3841e398 : SUCCESS in 1h 25m 46s\n- neutronclient-functional https://zuul.opendev.org/t/openstack/build/908d9c303455435a9462bad0ec21cae8 : SUCCESS in 30m 23s","accounts_in_message":[],"_revision_number":4},{"id":"58f1e37179146dc2c9c09f6124ebc6cdbf7b1630","author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"date":"2022-03-29 11:16:57.000000000","message":"Patch Set 4: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":4},{"id":"4e53733a2f9a4532390468eb14fc81675f999f29","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-03-29 11:17:40.000000000","message":"Patch Set 4: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":4},{"id":"36c7986cd8cfae74d369f9efaf50e62ba624bb35","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-03-29 12:46:35.000000000","message":"Patch Set 4: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/41df7b37cc62461d8aabbab0194adf29 : SUCCESS in 4m 51s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/0886c57188e342f2bb97dee5983c40eb : SUCCESS in 5m 09s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/03c4a5720738430d97d2e054d7d618e5 : SUCCESS in 5m 26s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/3aaea8a5ba1a40a7ab878619e970d710 : SUCCESS in 6m 54s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/644312e362cf48a789fa66f7ad2d6e67 : SUCCESS in 1h 26m 13s\n- neutronclient-functional https://zuul.opendev.org/t/openstack/build/2cbcbf3b610846dcb6cacc33e83bc7f2 : SUCCESS in 35m 28s","accounts_in_message":[],"_revision_number":4},{"id":"f2074a276c9a7fbebc34c7d3240097b887e9177c","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-03-29 12:46:35.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":4},{"id":"2caa61c2db9b6b1a1c76d541f0e3c05308a0954e","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-03-29 12:49:50.000000000","message":"Patch Set 4:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/ec41c946dd9f483ca064fec0f8c88eea : SUCCESS in 58s","accounts_in_message":[],"_revision_number":4}],"current_revision_number":4,"current_revision":"9ba92c219f2dd44c85978d414395e6152d2be409","revisions":{"ad46a6e8d6f9e6d006094453eccfdae483f73bc5":{"kind":"REWORK","_number":1,"created":"2022-03-23 21:40:41.000000000","uploader":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"ref":"refs/changes/42/834942/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-neutronclient","ref":"refs/changes/42/834942/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-neutronclient refs/changes/42/834942/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-neutronclient refs/changes/42/834942/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-neutronclient refs/changes/42/834942/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-neutronclient refs/changes/42/834942/1"}}},"commit":{"parents":[{"commit":"c58eaf1b15e8b68dd8579f68cac940e7909fe7ef","subject":"Update TOX_CONSTRAINTS_FILE for stable/wallaby","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-neutronclient/commit/c58eaf1b15e8b68dd8579f68cac940e7909fe7ef"}]}],"author":{"name":"elajkat","email":"lajos.katona@est.tech","date":"2021-07-26 12:54:15.000000000","tz":120},"committer":{"name":"Miguel Lavalle","email":"miguel@mlavalle.com","date":"2022-03-23 21:40:41.000000000","tz":0},"subject":"tests: change safe_hasattr to hasattr","message":"tests: change safe_hasattr to hasattr\n\ntesttools 2.5.0 removed the helper (see [0]) safe_hasattr, and assumes\nthat the hasattr implementation in python reliable enough now.\n\ntest_neutron_dhcp_agent_list_hosting_net is skipped temporarily\nas there is no DHCP agent with ML2/OVN. It will be re-enabled [1].\n\n[0] https://github.com/testing-cabal/testtools/blob/2.5.0/NEWS#L31\n[1] https://review.opendev.org/c/openstack/python-neutronclient/+/801997\n\nChange-Id: I4fe6fabc4f745e2c9a366e30dbea7e7200151f12\n(cherry picked from commit 23fb666f923e9fa117ce5744e9abe00d3874d3fc)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-neutronclient/commit/ad46a6e8d6f9e6d006094453eccfdae483f73bc5"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-neutronclient/commit/ad46a6e8d6f9e6d006094453eccfdae483f73bc5"}]},"branch":"refs/heads/stable/wallaby"},"35cac654191e6822aed13c3832e72a5a9fb3f77e":{"kind":"REWORK","_number":2,"created":"2022-03-23 21:50:27.000000000","uploader":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"ref":"refs/changes/42/834942/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-neutronclient","ref":"refs/changes/42/834942/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-neutronclient refs/changes/42/834942/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-neutronclient refs/changes/42/834942/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-neutronclient refs/changes/42/834942/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-neutronclient refs/changes/42/834942/2"}}},"commit":{"parents":[{"commit":"9e032fedb4205ff17edb143ad825ddd9a0f46faf","subject":"Dropping lower constraints testing (stable Wallaby)","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-neutronclient/commit/9e032fedb4205ff17edb143ad825ddd9a0f46faf"}]}],"author":{"name":"elajkat","email":"lajos.katona@est.tech","date":"2021-07-26 12:54:15.000000000","tz":120},"committer":{"name":"Miguel Lavalle","email":"mlavalle@redhat.com","date":"2022-03-23 21:45:19.000000000","tz":-300},"subject":"tests: change safe_hasattr to hasattr","message":"tests: change safe_hasattr to hasattr\n\ntesttools 2.5.0 removed the helper (see [0]) safe_hasattr, and assumes\nthat the hasattr implementation in python reliable enough now.\n\nNOTE(mlavalle): The patch from which this one was cherry-picked from\nalso disbled a test case in\nneutronclient/tests/functional/core/test_readonly_neutron.py. That is\nnot needed in this back port.\n\n[0] https://github.com/testing-cabal/testtools/blob/2.5.0/NEWS#L31\n\nChange-Id: I4fe6fabc4f745e2c9a366e30dbea7e7200151f12\n(cherry picked from commit 23fb666f923e9fa117ce5744e9abe00d3874d3fc)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-neutronclient/commit/35cac654191e6822aed13c3832e72a5a9fb3f77e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-neutronclient/commit/35cac654191e6822aed13c3832e72a5a9fb3f77e"}]},"branch":"refs/heads/stable/wallaby"},"410849e2ddd70bc7efddd40b027be6eb2189b537":{"kind":"TRIVIAL_REBASE","_number":3,"created":"2022-03-24 22:13:48.000000000","uploader":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"ref":"refs/changes/42/834942/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-neutronclient","ref":"refs/changes/42/834942/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-neutronclient refs/changes/42/834942/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-neutronclient refs/changes/42/834942/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-neutronclient refs/changes/42/834942/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-neutronclient refs/changes/42/834942/3"}}},"commit":{"parents":[{"commit":"740884f931d2945bdc039c5ad1737f849ed8ff06","subject":"Dropping lower constraints testing (stable Wallaby)","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-neutronclient/commit/740884f931d2945bdc039c5ad1737f849ed8ff06"}]}],"author":{"name":"elajkat","email":"lajos.katona@est.tech","date":"2021-07-26 12:54:15.000000000","tz":120},"committer":{"name":"Miguel Lavalle","email":"mlavalle@redhat.com","date":"2022-03-24 22:12:57.000000000","tz":-300},"subject":"tests: change safe_hasattr to hasattr","message":"tests: change safe_hasattr to hasattr\n\ntesttools 2.5.0 removed the helper (see [0]) safe_hasattr, and assumes\nthat the hasattr implementation in python reliable enough now.\n\nNOTE(mlavalle): The patch from which this one was cherry-picked from\nalso disbled a test case in\nneutronclient/tests/functional/core/test_readonly_neutron.py. That is\nnot needed in this back port.\n\n[0] https://github.com/testing-cabal/testtools/blob/2.5.0/NEWS#L31\n\nChange-Id: I4fe6fabc4f745e2c9a366e30dbea7e7200151f12\n(cherry picked from commit 23fb666f923e9fa117ce5744e9abe00d3874d3fc)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-neutronclient/commit/410849e2ddd70bc7efddd40b027be6eb2189b537"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-neutronclient/commit/410849e2ddd70bc7efddd40b027be6eb2189b537"}]},"branch":"refs/heads/stable/wallaby"},"9ba92c219f2dd44c85978d414395e6152d2be409":{"kind":"TRIVIAL_REBASE","_number":4,"created":"2022-03-25 21:54:14.000000000","uploader":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"ref":"refs/changes/42/834942/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-neutronclient","ref":"refs/changes/42/834942/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-neutronclient refs/changes/42/834942/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-neutronclient refs/changes/42/834942/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-neutronclient refs/changes/42/834942/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-neutronclient refs/changes/42/834942/4"}}},"commit":{"parents":[{"commit":"e28d08a5c1573865eb51667ec1b3ba14401f4a8d","subject":"Dropping lower constraints testing (stable Wallaby)","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-neutronclient/commit/e28d08a5c1573865eb51667ec1b3ba14401f4a8d"}]}],"author":{"name":"elajkat","email":"lajos.katona@est.tech","date":"2021-07-26 12:54:15.000000000","tz":120},"committer":{"name":"Miguel Lavalle","email":"mlavalle@redhat.com","date":"2022-03-25 21:53:37.000000000","tz":-300},"subject":"tests: change safe_hasattr to hasattr","message":"tests: change safe_hasattr to hasattr\n\ntesttools 2.5.0 removed the helper (see [0]) safe_hasattr, and assumes\nthat the hasattr implementation in python reliable enough now.\n\nNOTE(mlavalle): The patch from which this one was cherry-picked from\nalso disbled a test case in\nneutronclient/tests/functional/core/test_readonly_neutron.py. That is\nnot needed in this back port.\n\n[0] https://github.com/testing-cabal/testtools/blob/2.5.0/NEWS#L31\n\nChange-Id: I4fe6fabc4f745e2c9a366e30dbea7e7200151f12\n(cherry picked from commit 23fb666f923e9fa117ce5744e9abe00d3874d3fc)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-neutronclient/commit/9ba92c219f2dd44c85978d414395e6152d2be409"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-neutronclient/commit/9ba92c219f2dd44c85978d414395e6152d2be409"}]},"branch":"refs/heads/stable/wallaby"}},"requirements":[],"submit_records":[{"status":"CLOSED","labels":[{"label":"Verified","status":"OK","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"OK","applied_by":{"_account_id":21798,"name":"Bernard Cafarelli","email":"bcafarel@redhat.com","username":"bcafarel"}},{"label":"Workflow","status":"OK","applied_by":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"}}]}],"submit_requirements":[{"name":"Verified","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Verified\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}},{"name":"Workflow","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Workflow\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}},{"name":"Code-Review","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Code-Review\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}}]}
