)]}'
{"id":"openstack%2Fceilometer~792681","triplet_id":"openstack%2Fceilometer~master~I3b4ac918015b2fd3fbe24047c3eb13419f580b27","project":"openstack/ceilometer","branch":"master","topic":"fix_gnocchi_project_id_discovery_concurrency_issue-upstream","attention_set":{},"removed_from_attention_set":{"32240":{"account":{"_account_id":32240,"name":"Yadnesh Kulkarni","email":"yadnesh_kulkarni@proton.me","username":"ykulkarn"},"last_update":"2022-12-21 12:16:31.000000000","reason":"Change was submitted"},"28356":{"account":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"last_update":"2022-12-21 11:41:12.000000000","reason":"\u003cGERRIT_ACCOUNT_28356\u003e replied on the change","reason_account":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"}},"9542":{"account":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"last_update":"2022-12-21 12:16:31.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I3b4ac918015b2fd3fbe24047c3eb13419f580b27","subject":"NoUniqueMatch: ClientException on Gnocchi publisher","status":"MERGED","created":"2021-05-21 17:32:32.000000000","updated":"2022-12-21 12:17:37.000000000","submitted":"2022-12-21 12:16:31.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":39,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"792681-fix_gnocchi_project_id_discovery_concurrency_issue-upstream","meta_rev_id":"bb6727d02e611ba8cb664ccec1ace8b448276d5d","_number":792681,"virtual_id_number":792681,"owner":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":32240,"name":"Yadnesh Kulkarni","email":"yadnesh_kulkarni@proton.me","username":"ykulkarn"},{"value":0,"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},{"value":0,"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},{"value":0,"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2022-12-21 12:16:31.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":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},"recommended":{"_account_id":32240,"name":"Yadnesh Kulkarni","email":"yadnesh_kulkarni@proton.me","username":"ykulkarn"},"all":[{"value":1,"date":"2022-12-08 15:28:45.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":32240,"name":"Yadnesh Kulkarni","email":"yadnesh_kulkarni@proton.me","username":"ykulkarn"},{"value":0,"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},{"value":2,"date":"2022-12-21 11:09:14.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},{"value":0,"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},{"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":"","value":1,"default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},"all":[{"value":0,"_account_id":32240,"name":"Yadnesh Kulkarni","email":"yadnesh_kulkarni@proton.me","username":"ykulkarn"},{"value":0,"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},{"value":1,"date":"2022-12-21 11:09:23.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},{"value":0,"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},{"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":{"REVIEWER":[{"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":32240,"name":"Yadnesh Kulkarni","email":"yadnesh_kulkarni@proton.me","username":"ykulkarn"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2021-05-21 18:45:34.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":"2021-06-28 09:01:16.000000000","updated_by":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"reviewer":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"state":"REVIEWER"},{"updated":"2021-12-03 10:04:19.000000000","updated_by":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"reviewer":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"state":"CC"},{"updated":"2021-12-03 10:04:38.000000000","updated_by":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"reviewer":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"state":"REVIEWER"},{"updated":"2022-11-30 11:06:43.000000000","updated_by":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"reviewer":{"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},"state":"CC"},{"updated":"2022-12-06 14:20:23.000000000","updated_by":{"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},"reviewer":{"_account_id":32240,"name":"Yadnesh Kulkarni","email":"yadnesh_kulkarni@proton.me","username":"ykulkarn"},"state":"CC"},{"updated":"2022-12-08 15:28:45.000000000","updated_by":{"_account_id":32240,"name":"Yadnesh Kulkarni","email":"yadnesh_kulkarni@proton.me","username":"ykulkarn"},"reviewer":{"_account_id":32240,"name":"Yadnesh Kulkarni","email":"yadnesh_kulkarni@proton.me","username":"ykulkarn"},"state":"REVIEWER"},{"updated":"2022-12-21 11:09:14.000000000","updated_by":{"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},"reviewer":{"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},"state":"REVIEWER"}],"messages":[{"id":"e94fd1de1c62756c015396ce79d8a66751f9ac1d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2021-05-21 17:32:32.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"b0aafb2523e33edf2838f435c0c170cd3acac034","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-05-21 18:45:34.000000000","message":"Patch Set 1: Verified-1\n\n(7 comments)\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/1478e77b6a9a4f7da385c71bc7a4749e : SUCCESS in 7m 05s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/92ca1b2dfcf54f9f87af84634ffebd38 : FAILURE in 4m 14s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/f1262894c0924fd9b8a94cbdde7e4a96 : SUCCESS in 7m 49s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/3dc48c4f089f4bd18b6786147e4484ef : SUCCESS in 6m 27s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/420fe36b2b984b35bbbda6867c36f41e : SUCCESS in 8m 23s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/affe150e67234dfeaf1ba5668e30098c : SUCCESS in 7m 10s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/01f2fa50ce154719ab50351034594ab1 : SUCCESS in 7m 10s\n- grenade-ceilometer https://zuul.opendev.org/t/openstack/build/82ac10715ab8421bb8a5c6a46d8c17db : FAILURE in 1h 09m 18s (non-voting)\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/d3bab1371b1648c1844c56e8b6d0043f : FAILURE in 56m 06s (non-voting)\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/4cf9822216d34b2b93520599fcb216e0 : FAILURE in 57m 25s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"ce349b6add267e9e44caca5d40790f538a79f90a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2021-05-21 18:57:05.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"2b061236ef16488252a4caa38fcb4fc6aff98b29","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-05-21 20:04:19.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/3e99bc3e76c944d5bb35e3ccaa327ecf : SUCCESS in 7m 03s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a4786f99a4664df0ad458e76649f9733 : SUCCESS in 4m 34s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/b3cd0e6944a74c1f8dc1bb4d4d4e89ab : SUCCESS in 6m 32s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/9380ab562f5d4aff9040658735ca7895 : SUCCESS in 7m 01s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/6f0dbe29f5824f8390b9ef4eb12d9f38 : SUCCESS in 7m 11s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/b1bc48fb531c4cef8f472f66707b9dad : SUCCESS in 7m 28s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/ee3619d983b349d8b48da2457b48626b : SUCCESS in 7m 35s\n- grenade-ceilometer https://zuul.opendev.org/t/openstack/build/33a8098bba0b4fdcaaa385abc06aab7f : FAILURE in 1h 06m 08s (non-voting)\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/cfbc005077814056991a2aebc0f44300 : FAILURE in 56m 05s (non-voting)\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/1fda305faa674be596bb0906cb556da5 : FAILURE in 59m 10s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"a84fbda6723233fc169d9bfd9c70ccab273dc586","author":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"date":"2021-06-28 09:01:16.000000000","message":"Patch Set 2: Code-Review+1","accounts_in_message":[],"_revision_number":2},{"id":"e7e97b4b30c304ff0946fe5365fb94c017e0462c","author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"date":"2021-12-03 10:04:19.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"8c776c137c213aa3832738ae76eac786b1944f6f","author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"date":"2021-12-03 10:04:38.000000000","message":"Patch Set 2: Code-Review-1","accounts_in_message":[],"_revision_number":2},{"id":"7efccc9e59a435b0a5b1350b18aa0b26acdb6bce","tag":"autogenerated:gerrit:deleteVote","author":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"date":"2021-12-03 11:05:27.000000000","message":"Removed Code-Review+1 by Tobias Urdin \u003ctobias.urdin@binero.com\u003e\n","accounts_in_message":[],"_revision_number":2},{"id":"34b99d250bf24c434cf3c0ec8a7a6733709232c9","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2021-12-03 12:24:24.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"9007d68df752da32c88d58c30d9b4eaa2c0d985b","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2022-01-26 15:33:30.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"6dc66a2cd1f8e64108ed834a97fd435d9e21f467","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2022-02-26 00:00:03.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"114cc56829d49e8cf87dfb9684e379ce64ad29fd","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2022-06-16 15:55:15.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"9e1ed6b40a99a426bad70b95e9798b7f3f95556c","author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"date":"2022-07-13 20:08:17.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"cfa273c160b0a0534135faad2766661a94edc5f1","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2022-11-30 10:55:08.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"0933dd04e41c91932f2a992c09b9d46e2b587181","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2022-11-30 11:06:43.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"b31586c9053a9b4db601cb36cd11aa563d83a74d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2022-11-30 11:08:24.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"38b4ddcb6a9992e90e811ca26ca746bacf5444e1","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-11-30 12:10:47.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f71e3f199b334ac29e4351fa96cccf2c\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/464eeed9c6474a18b7713d7619cee70b : SUCCESS in 5m 38s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/93468e414a8d478da3e6836d72cd3f84 : SUCCESS in 3m 22s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/e2631c84352b492f86239e11e27e3952 : SUCCESS in 4m 53s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/2e8107ea99114d8da613bcf353834dcb : SUCCESS in 6m 52s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/fb38cff474904dbab102b37ab6a5eb34 : SUCCESS in 7m 27s\n- grenade-ceilometer https://zuul.opendev.org/t/openstack/build/72bbe666c06a4e14846e0ff24d5aa204 : FAILURE in 51m 00s (non-voting)\n- telemetry-dsvm-integration-centos-9s https://zuul.opendev.org/t/openstack/build/6742caae062a41799cb2ade58a5f0c6f : SUCCESS in 46m 01s\n- telemetry-dsvm-integration-centos-9s-fips https://zuul.opendev.org/t/openstack/build/9a9709b10203428b84aa70d214fe9f1a : SUCCESS in 1h 01m 22s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/2b140c48f438406aa3e278cbc8ab9e35 : SUCCESS in 50m 12s\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/d542eada6db541f8b27016ff8078d905 : SUCCESS in 40m 24s","accounts_in_message":[],"_revision_number":3},{"id":"615e0f4b08e9d82fd0756973338a0d76c14d570c","author":{"_account_id":32240,"name":"Yadnesh Kulkarni","email":"yadnesh_kulkarni@proton.me","username":"ykulkarn"},"date":"2022-12-07 11:47:36.000000000","message":"Patch Set 3:\n\n(2 comments)","accounts_in_message":[],"_revision_number":3},{"id":"56412afcbc3251a41e977d28ea10ee8c71cdd1f7","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2022-12-07 12:00:57.000000000","message":"Patch Set 3:\n\n(2 comments)","accounts_in_message":[],"_revision_number":3},{"id":"d8ad3f9d7309b045d503d1667612fafe91dc0505","author":{"_account_id":32240,"name":"Yadnesh Kulkarni","email":"yadnesh_kulkarni@proton.me","username":"ykulkarn"},"date":"2022-12-07 16:16:24.000000000","message":"Patch Set 3:\n\n(8 comments)","accounts_in_message":[],"_revision_number":3},{"id":"ad1d8b86515b8ac78ec893215d6f8fc3d9b54154","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2022-12-08 13:39:30.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"b5cf33e00d6a193394bbfbbb613ff4007a9c02e4","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2022-12-08 13:39:38.000000000","message":"Patch Set 3:\n\n(8 comments)","accounts_in_message":[],"_revision_number":3},{"id":"48ca60191a5521f7dfc22956ff4bf4040c5b648d","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-12-08 14:43:02.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/468649cee04c48e8af5082e9bd53c359\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/23ca823a4239482194824648bc0d6db1 : SUCCESS in 6m 36s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/f2c2190ba3ff4032a62eeb355694d9ef : SUCCESS in 3m 40s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/d65e1477990b4d8daaa353d5b431a7be : SUCCESS in 5m 29s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/9343cbae179948fa8851500e3b71e930 : SUCCESS in 5m 33s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d6a8031ccebe4a3aa90cdf5cd14e121d : SUCCESS in 6m 52s\n- grenade-ceilometer https://zuul.opendev.org/t/openstack/build/a87113c5216c495f9efe25e33b7b65eb : FAILURE in 26m 32s (non-voting)\n- telemetry-dsvm-integration-centos-9s https://zuul.opendev.org/t/openstack/build/209dcd578e884fd8a05e2d02e6b0cf1d : SUCCESS in 57m 03s\n- telemetry-dsvm-integration-centos-9s-fips https://zuul.opendev.org/t/openstack/build/a8a7ea726e394abaa84b888224f39abd : SUCCESS in 50m 25s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/73ac8b7386a540eea3f6f0c0ceb4de7e : SUCCESS in 36m 26s\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/611b52b7e4cb4e459b088374070ab9d0 : SUCCESS in 38m 22s","accounts_in_message":[],"_revision_number":4},{"id":"10f62931984bdc35eaba279769d53d43c32b0914","author":{"_account_id":32240,"name":"Yadnesh Kulkarni","email":"yadnesh_kulkarni@proton.me","username":"ykulkarn"},"date":"2022-12-08 15:06:25.000000000","message":"Patch Set 4:\n\n(3 comments)","accounts_in_message":[],"_revision_number":4},{"id":"b963aa507f7c700dd361068cb3295236d5283901","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2022-12-08 15:22:24.000000000","message":"Patch Set 4:\n\n(4 comments)","accounts_in_message":[],"_revision_number":4},{"id":"c678a4efac99fd88126382dd0ea4907c70910bbc","author":{"_account_id":32240,"name":"Yadnesh Kulkarni","email":"yadnesh_kulkarni@proton.me","username":"ykulkarn"},"date":"2022-12-08 15:28:45.000000000","message":"Patch Set 4: Code-Review+1","accounts_in_message":[],"_revision_number":4},{"id":"8b6b5ce0a5fef227b6898fffddbe24182aa8549d","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2022-12-09 11:45:17.000000000","message":"Patch Set 4:\n\n(2 comments)","accounts_in_message":[],"_revision_number":4},{"id":"d818b7278e831fddb49daa9c85db42f09639a595","author":{"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},"date":"2022-12-21 11:09:14.000000000","message":"Patch Set 4: Code-Review+2","accounts_in_message":[],"_revision_number":4},{"id":"2c7c3662de55123053705a36ac4b7586724e2520","author":{"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},"date":"2022-12-21 11:09:23.000000000","message":"Patch Set 4: Workflow+1","accounts_in_message":[],"_revision_number":4},{"id":"1587d16d7103c4394a374ab0db786017514a7159","author":{"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"},"date":"2022-12-21 11:09:40.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"d72191f41f28fe6909f1e08183bdd2d5b0946a69","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-12-21 11:10:03.000000000","message":"Patch Set 4: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":4},{"id":"3adc4ec6a9c14e8db2ab2ef8e9bf4a7f340b743b","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2022-12-21 11:41:12.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"ebb1b08fa16897f19ac733f8a1ebe53ceb71b716","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-12-21 12:16:31.000000000","message":"Patch Set 4: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/42d39522531c46bdb758ea38e09abb36\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/447cf3c8b0dc4a88ac2c67f0a4b3ad7c : SUCCESS in 3m 05s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/fc0d859b1ad54e47b6783cd979c74d42 : SUCCESS in 5m 18s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/b173f2ca026d43e59b49d1831939b035 : SUCCESS in 5m 50s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/dba43186320d499e9c0a978019640840 : SUCCESS in 6m 09s\n- grenade-ceilometer https://zuul.opendev.org/t/openstack/build/b3ebb05de9b64216aecc5eec8789b954 : FAILURE in 1h 01m 45s (non-voting)\n- telemetry-dsvm-integration-centos-9s https://zuul.opendev.org/t/openstack/build/76f47e9676b2415f972d41fa48c4d99e : SUCCESS in 42m 28s\n- telemetry-dsvm-integration-centos-9s-fips https://zuul.opendev.org/t/openstack/build/2e524f2bff07418cbbc1e470f13c5979 : SUCCESS in 49m 29s\n- telemetry-dsvm-integration https://zuul.opendev.org/t/openstack/build/e9c4277d5f75404bbce1414bbe71d440 : SUCCESS in 27m 52s\n- telemetry-dsvm-integration-ipv6-only https://zuul.opendev.org/t/openstack/build/0f89954843554546b81623ea226b54fe : SUCCESS in 50m 34s","accounts_in_message":[],"_revision_number":4},{"id":"a904a60a866f81f45852968d8b0c6fb0f44b06b6","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-12-21 12:16:31.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":4},{"id":"bb6727d02e611ba8cb664ccec1ace8b448276d5d","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-12-21 12:17:37.000000000","message":"Patch Set 4:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/70bcc095b78e470c93631b9c5b507231\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e88f06accd8a4604b4cd82380adb5ab6 : SUCCESS in 47s","accounts_in_message":[],"_revision_number":4}],"current_revision_number":4,"current_revision":"463594b229017b30a1c457aaf6d4cdfef2bb421c","revisions":{"623df6b03a4af40fa4189d0eb613433dee50e842":{"kind":"REWORK","_number":1,"created":"2021-05-21 17:32:32.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/81/792681/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/81/792681/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/81/792681/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/81/792681/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/81/792681/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/81/792681/1"}}},"commit":{"parents":[{"commit":"850ffc27a13f6f95da1fdb8f949a6ab646e01365","subject":"Merge \"setup.cfg: Replace dashes with underscores\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/850ffc27a13f6f95da1fdb8f949a6ab646e01365"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2021-05-21 17:23:33.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2021-05-21 17:29:10.000000000","tz":-180},"subject":"NoUniqueMatch: ClientException on Gnocchi publisher","message":"NoUniqueMatch: ClientException on Gnocchi publisher\n\nCeilometer can ignore/discard measurements that come from possible\nVMs that can be used to host Gnocchi. The assumption is that one\ncan use OpenStack itself to host the VMs that are used to run Gnocchi.\nThe configuration is called `filter_project`. This configuration can\nbe used in `event_pipeline.yaml` and `pipeline.yaml` configuration files.\n\nHowever, when this config is not used, it has a default project name\nfor Gnocchi as `service`, as we can see in the following code snippet:\n\n```\ndef __init__(self, conf, parsed_url):\n  super(GnocchiPublisher, self).__init__(conf, parsed_url)\n  # TODO(jd) allow to override Gnocchi endpoint via the host in the URL\n  options \u003d urlparse.parse_qs(parsed_url.query)\n\n  self.filter_project \u003d options.get(\u0027filter_project\u0027, [\u0027service\u0027])[-1]\n```\n\nWhich means that if somebody creates a project called `service`, this project would not push measurements to Gnocchi.\n\nThis configuration is then used by the following code:\n\n```\ndef gnocchi_project_id(self):\n       if self._gnocchi_project_id is not None:\n           return self._gnocchi_project_id\n       with self._gnocchi_project_id_lock:\n           if self._gnocchi_project_id is None:\n               try:\n                   project \u003d self._ks_client.projects.find(\n                       name\u003dself.filter_project,\n                       domain\u003dself.filter_domain)\n               except ka_exceptions.NotFound:\n                   LOG.warning(\u0027filtered project not found in keystone,\u0027\n                               \u0027 ignoring the filter_project \u0027\n                               \u0027option\u0027)\n                   self.filter_project \u003d None\n                   return None\n               except Exception:\n                   LOG.exception(\u0027fail to retrieve filtered project \u0027)\n                   raise\n               self._gnocchi_project_id \u003d project.id\n               LOG.debug(\"filtered project found: %s\",\n                         self._gnocchi_project_id)\n           return self._gnocchi_project_id\n\n```\n\nBasically, this method will look for the project ID of the project\nname that is configured in `filter_project` option. If it does not\nfind any project, it returns None, and it changes the value of\n`filter_project` to None as well. Before this `gnocchi_project_id`\nmethod/property is called, there is a verification if\n`filter_project` is None. Therefore, it is assumed that when we\nset the value of `filter_project` to None, this method\n(`gnocchi_project_id`) would not be called anymore.\nHowever, that is not taking into account concurrency parallel\nexecutions.\n\nIn the code, we can see `with self._gnocchi_project_id_lock:`\nstatement, which seems to execute locking in the execution flow.\nHowever, that will not always be the case because multiple\nconcurrent calls can be queued in that part of the code, and\nwhen the first one finishes setting the `filter_project` to None,\nthe others will execute with this variable as None, which will cause\nKeystone command `self._ks_client.projects.find` to find/list all\nprojects. That command was designed to list/find only one project;\ntherefore, when it finds more than one project, it throws an error.\nThat is the cause for the exception we were seeing from time to time\nin the log files.\n\nChange-Id: I3b4ac918015b2fd3fbe24047c3eb13419f580b27\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/623df6b03a4af40fa4189d0eb613433dee50e842"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/623df6b03a4af40fa4189d0eb613433dee50e842"}]},"branch":"refs/heads/master"},"8e3cb833b43b1d895dc644e002fdb75e00f115d4":{"kind":"REWORK","_number":2,"created":"2021-05-21 18:57:05.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/81/792681/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/81/792681/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/81/792681/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/81/792681/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/81/792681/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/81/792681/2"}}},"commit":{"parents":[{"commit":"850ffc27a13f6f95da1fdb8f949a6ab646e01365","subject":"Merge \"setup.cfg: Replace dashes with underscores\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/850ffc27a13f6f95da1fdb8f949a6ab646e01365"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2021-05-21 17:23:33.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2021-05-21 18:55:25.000000000","tz":-180},"subject":"NoUniqueMatch: ClientException on Gnocchi publisher","message":"NoUniqueMatch: ClientException on Gnocchi publisher\n\nCeilometer can ignore/discard measurements that come from possible\nVMs that can be used to host Gnocchi. The assumption is that one\ncan use OpenStack itself to host the VMs that are used to run Gnocchi.\nThe configuration is called `filter_project`. This configuration can\nbe used in `event_pipeline.yaml` and `pipeline.yaml` configuration files.\n\nHowever, when this config is not used, it has a default project name\nfor Gnocchi as `service`, as we can see in the following code snippet:\n\n```\ndef __init__(self, conf, parsed_url):\n  super(GnocchiPublisher, self).__init__(conf, parsed_url)\n  # TODO(jd) allow to override Gnocchi endpoint via the host in the URL\n  options \u003d urlparse.parse_qs(parsed_url.query)\n\n  self.filter_project \u003d options.get(\u0027filter_project\u0027, [\u0027service\u0027])[-1]\n```\n\nWhich means that if somebody creates a project called `service`, this project would not push measurements to Gnocchi.\n\nThis configuration is then used by the following code:\n\n```\ndef gnocchi_project_id(self):\n       if self._gnocchi_project_id is not None:\n           return self._gnocchi_project_id\n       with self._gnocchi_project_id_lock:\n           if self._gnocchi_project_id is None:\n               try:\n                   project \u003d self._ks_client.projects.find(\n                       name\u003dself.filter_project,\n                       domain\u003dself.filter_domain)\n               except ka_exceptions.NotFound:\n                   LOG.warning(\u0027filtered project not found in keystone,\u0027\n                               \u0027 ignoring the filter_project \u0027\n                               \u0027option\u0027)\n                   self.filter_project \u003d None\n                   return None\n               except Exception:\n                   LOG.exception(\u0027fail to retrieve filtered project \u0027)\n                   raise\n               self._gnocchi_project_id \u003d project.id\n               LOG.debug(\"filtered project found: %s\",\n                         self._gnocchi_project_id)\n           return self._gnocchi_project_id\n\n```\n\nBasically, this method will look for the project ID of the project\nname that is configured in `filter_project` option. If it does not\nfind any project, it returns None, and it changes the value of\n`filter_project` to None as well. Before this `gnocchi_project_id`\nmethod/property is called, there is a verification if\n`filter_project` is None. Therefore, it is assumed that when we\nset the value of `filter_project` to None, this method\n(`gnocchi_project_id`) would not be called anymore.\nHowever, that is not taking into account concurrency parallel\nexecutions.\n\nIn the code, we can see `with self._gnocchi_project_id_lock:`\nstatement, which seems to execute locking in the execution flow.\nHowever, that will not always be the case because multiple\nconcurrent calls can be queued in that part of the code, and\nwhen the first one finishes setting the `filter_project` to None,\nthe others will execute with this variable as None, which will cause\nKeystone command `self._ks_client.projects.find` to find/list all\nprojects. That command was designed to list/find only one project;\ntherefore, when it finds more than one project, it throws an error.\nThat is the cause for the exception we were seeing from time to time\nin the log files.\n\nChange-Id: I3b4ac918015b2fd3fbe24047c3eb13419f580b27\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/8e3cb833b43b1d895dc644e002fdb75e00f115d4"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/8e3cb833b43b1d895dc644e002fdb75e00f115d4"}]},"branch":"refs/heads/master"},"a6c00d3f6c7afbe2c6b79d48dc0f4cd53c1df3c2":{"kind":"REWORK","_number":3,"created":"2022-11-30 11:08:24.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/81/792681/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/81/792681/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/81/792681/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/81/792681/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/81/792681/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/81/792681/3"}}},"commit":{"parents":[{"commit":"060a13455cbcf759eac451c2eb923af31b08c625","subject":"Improve logging for Gnocchi publisher","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/060a13455cbcf759eac451c2eb923af31b08c625"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2022-11-30 11:07:56.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2022-11-30 11:07:56.000000000","tz":-180},"subject":"NoUniqueMatch: ClientException on Gnocchi publisher","message":"NoUniqueMatch: ClientException on Gnocchi publisher\n\nCeilometer can ignore/discard measurements that come from possible\nVMs that can be used to host Gnocchi. The assumption is that one\ncan use OpenStack itself to host the VMs that are used to run Gnocchi.\nThe configuration is called `filter_project`. This configuration can\nbe used in `event_pipeline.yaml` and `pipeline.yaml` configuration files.\n\nHowever, when this config is not used, it has a default project name\nfor Gnocchi as `service`, as we can see in the following code snippet:\n\n```\ndef __init__(self, conf, parsed_url):\n  super(GnocchiPublisher, self).__init__(conf, parsed_url)\n  # TODO(jd) allow to override Gnocchi endpoint via the host in the URL\n  options \u003d urlparse.parse_qs(parsed_url.query)\n\n  self.filter_project \u003d options.get(\u0027filter_project\u0027, [\u0027service\u0027])[-1]\n```\n\nWhich means that if somebody creates a project called `service`, this project would not push measurements to Gnocchi.\n\nThis configuration is then used by the following code:\n\n```\ndef gnocchi_project_id(self):\n       if self._gnocchi_project_id is not None:\n           return self._gnocchi_project_id\n       with self._gnocchi_project_id_lock:\n           if self._gnocchi_project_id is None:\n               try:\n                   project \u003d self._ks_client.projects.find(\n                       name\u003dself.filter_project,\n                       domain\u003dself.filter_domain)\n               except ka_exceptions.NotFound:\n                   LOG.warning(\u0027filtered project not found in keystone,\u0027\n                               \u0027 ignoring the filter_project \u0027\n                               \u0027option\u0027)\n                   self.filter_project \u003d None\n                   return None\n               except Exception:\n                   LOG.exception(\u0027fail to retrieve filtered project \u0027)\n                   raise\n               self._gnocchi_project_id \u003d project.id\n               LOG.debug(\"filtered project found: %s\",\n                         self._gnocchi_project_id)\n           return self._gnocchi_project_id\n\n```\n\nBasically, this method will look for the project ID of the project\nname that is configured in `filter_project` option. If it does not\nfind any project, it returns None, and it changes the value of\n`filter_project` to None as well. Before this `gnocchi_project_id`\nmethod/property is called, there is a verification if\n`filter_project` is None. Therefore, it is assumed that when we\nset the value of `filter_project` to None, this method\n(`gnocchi_project_id`) would not be called anymore.\nHowever, that is not taking into account concurrency parallel\nexecutions.\n\nIn the code, we can see `with self._gnocchi_project_id_lock:`\nstatement, which seems to execute locking in the execution flow.\nHowever, that will not always be the case because multiple\nconcurrent calls can be queued in that part of the code, and\nwhen the first one finishes setting the `filter_project` to None,\nthe others will execute with this variable as None, which will cause\nKeystone command `self._ks_client.projects.find` to find/list all\nprojects. That command was designed to list/find only one project;\ntherefore, when it finds more than one project, it throws an error.\nThat is the cause for the exception we were seeing from time to time\nin the log files.\n\nChange-Id: I3b4ac918015b2fd3fbe24047c3eb13419f580b27\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/a6c00d3f6c7afbe2c6b79d48dc0f4cd53c1df3c2"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/a6c00d3f6c7afbe2c6b79d48dc0f4cd53c1df3c2"}]},"branch":"refs/heads/master"},"463594b229017b30a1c457aaf6d4cdfef2bb421c":{"kind":"REWORK","_number":4,"created":"2022-12-08 13:39:30.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/81/792681/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ceilometer","ref":"refs/changes/81/792681/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/81/792681/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/81/792681/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ceilometer refs/changes/81/792681/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ceilometer refs/changes/81/792681/4"}}},"commit":{"parents":[{"commit":"341ec078279fe611c97187049139bfb5243e6d74","subject":"Merge \"Exclude metrics from \"service\" project\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/341ec078279fe611c97187049139bfb5243e6d74"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2022-12-08 11:16:14.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2022-12-08 13:39:16.000000000","tz":-180},"subject":"NoUniqueMatch: ClientException on Gnocchi publisher","message":"NoUniqueMatch: ClientException on Gnocchi publisher\n\nCeilometer can ignore/discard measurements that come from possible\nVMs that can be used to host Gnocchi. The assumption is that one\ncan use OpenStack itself to host the VMs that are used to run Gnocchi.\nThe configuration is called `filter_project`. This configuration can\nbe used in `event_pipeline.yaml` and `pipeline.yaml` configuration files.\nHowever, when this config is not used, it has a default project name\nfor Gnocchi as `service`, as we can see in the following code snippet:\n\n```\ndef __init__(self, conf, parsed_url):\n  super(GnocchiPublisher, self).__init__(conf, parsed_url)\n  # TODO(jd) allow to override Gnocchi endpoint via the host in the URL\n  options \u003d urlparse.parse_qs(parsed_url.query)\n  self.filter_project \u003d options.get(\u0027filter_project\u0027, [\u0027service\u0027])[-1]\n```\n\nWhich means that if somebody creates a project called `service`, this project would not push measurements to Gnocchi.\nThis configuration is then used by the following code:\n```\ndef gnocchi_project_id(self):\n       if self._gnocchi_project_id is not None:\n           return self._gnocchi_project_id\n       with self._gnocchi_project_id_lock:\n           if self._gnocchi_project_id is None:\n               try:\n                   project \u003d self._ks_client.projects.find(\n                       name\u003dself.filter_project,\n                       domain\u003dself.filter_domain)\n               except ka_exceptions.NotFound:\n                   LOG.warning(\u0027filtered project not found in keystone,\u0027\n                               \u0027 ignoring the filter_project \u0027\n                               \u0027option\u0027)\n                   self.filter_project \u003d None\n                   return None\n               except Exception:\n                   LOG.exception(\u0027fail to retrieve filtered project \u0027)\n                   raise\n               self._gnocchi_project_id \u003d project.id\n               LOG.debug(\"filtered project found: %s\",\n                         self._gnocchi_project_id)\n           return self._gnocchi_project_id\n```\n\nBasically, this method will look for the project ID of the project\nname that is configured in `filter_project` option. If it does not\nfind any project, it returns None, and it changes the value of\n`filter_project` to None as well. Before this `gnocchi_project_id`\nmethod/property is called, there is a verification if\n`filter_project` is None. Therefore, it is assumed that when we\nset the value of `filter_project` to None, this method\n(`gnocchi_project_id`) would not be called anymore.\nHowever, that is not taking into account concurrency parallel\nexecutions.\n\nIn the code, we can see `with self._gnocchi_project_id_lock:`\nstatement, which seems to execute locking in the execution flow.\nHowever, that will not always be the case because multiple\nconcurrent calls can be queued in that part of the code, and\nwhen the first one finishes setting the `filter_project` to None,\nthe others will execute with this variable as None, which will cause\nKeystone command `self._ks_client.projects.find` to find/list all\nprojects. That command was designed to list/find only one project;\ntherefore, when it finds more than one project, it throws an error.\nThat is the cause for the exception we were seeing from time to time\nin the log files.\n\nChange-Id: I3b4ac918015b2fd3fbe24047c3eb13419f580b27\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/463594b229017b30a1c457aaf6d4cdfef2bb421c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ceilometer/commit/463594b229017b30a1c457aaf6d4cdfef2bb421c"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","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":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"}},{"label":"Workflow","status":"OK","applied_by":{"_account_id":4264,"name":"Matthias Runge","email":"mrunge@redhat.com","username":"mrunge"}}]}],"submit_requirements":[]}
