)]}'
{"id":"openstack%2Ftacker~1002000","triplet_id":"openstack%2Ftacker~master~I32100adf271fb2f800605b1fa444b84866d65230","project":"openstack/tacker","branch":"master","attention_set":{"36672":{"account":{"_account_id":36672,"name":"Shivam Shukla","display_name":"Shivam Shukla","email":"shivam.shukla3@india.nec.com","username":"shivam.shukla3"},"last_update":"2026-08-24 12:26:58.000000000","reason":"\u003cGERRIT_ACCOUNT_25701\u003e replied on the change","reason_account":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"}},"17255":{"account":{"_account_id":17255,"name":"Toshiaki Takahashi","email":"ts-takahashi@nec.com","username":"takahashi_ts"},"last_update":"2026-08-24 12:26:58.000000000","reason":"\u003cGERRIT_ACCOUNT_25701\u003e replied on the change","reason_account":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"}},"13192":{"account":{"_account_id":13192,"name":"Souville","display_name":"Bertrand Souville","email":"souville@docomolab-euro.com","username":"bertys"},"last_update":"2026-08-24 12:26:58.000000000","reason":"\u003cGERRIT_ACCOUNT_25701\u003e replied on the change","reason_account":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"}}},"removed_from_attention_set":{"25701":{"account":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"last_update":"2026-08-24 12:26:58.000000000","reason":"\u003cGERRIT_ACCOUNT_25701\u003e replied on the change","reason_account":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"}}},"hashtags":[],"change_id":"I32100adf271fb2f800605b1fa444b84866d65230","subject":"Add WSGI application entry point for tacker-api","status":"NEW","created":"2026-08-24 03:17:33.000000000","updated":"2026-08-24 12:26:58.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":1,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"236fe6fcaec44361b5d168769e29839bbf686898","_number":1002000,"virtual_id_number":1002000,"owner":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":36672,"name":"Shivam Shukla","display_name":"Shivam Shukla","email":"shivam.shukla3@india.nec.com","username":"shivam.shukla3"},{"_account_id":17255,"name":"Toshiaki Takahashi","email":"ts-takahashi@nec.com","username":"takahashi_ts"},{"_account_id":13192,"name":"Souville","display_name":"Bertrand Souville","email":"souville@docomolab-euro.com","username":"bertys"},{"tag":"autogenerated:zuul:check","value":1,"date":"2026-08-24 11:55:02.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":"","value":1,"default_value":0,"optional":true},"Code-Review":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":36672,"name":"Shivam Shukla","display_name":"Shivam Shukla","email":"shivam.shukla3@india.nec.com","username":"shivam.shukla3"},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":17255,"name":"Toshiaki Takahashi","email":"ts-takahashi@nec.com","username":"takahashi_ts"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":13192,"name":"Souville","display_name":"Bertrand Souville","email":"souville@docomolab-euro.com","username":"bertys"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_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":{"all":[{"_account_id":36672,"name":"Shivam Shukla","display_name":"Shivam Shukla","email":"shivam.shukla3@india.nec.com","username":"shivam.shukla3"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":17255,"name":"Toshiaki Takahashi","email":"ts-takahashi@nec.com","username":"takahashi_ts"},{"_account_id":13192,"name":"Souville","display_name":"Bertrand Souville","email":"souville@docomolab-euro.com","username":"bertys"},{"_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":13192,"name":"Souville","display_name":"Bertrand Souville","email":"souville@docomolab-euro.com","username":"bertys"},{"_account_id":17255,"name":"Toshiaki Takahashi","email":"ts-takahashi@nec.com","username":"takahashi_ts"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":36672,"name":"Shivam Shukla","display_name":"Shivam Shukla","email":"shivam.shukla3@india.nec.com","username":"shivam.shukla3"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-08-24 05:02: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":"2026-08-24 12:26:58.000000000","updated_by":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"reviewer":{"_account_id":13192,"name":"Souville","display_name":"Bertrand Souville","email":"souville@docomolab-euro.com","username":"bertys"},"state":"REVIEWER"},{"updated":"2026-08-24 12:26:58.000000000","updated_by":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"reviewer":{"_account_id":36672,"name":"Shivam Shukla","display_name":"Shivam Shukla","email":"shivam.shukla3@india.nec.com","username":"shivam.shukla3"},"state":"REVIEWER"},{"updated":"2026-08-24 12:26:58.000000000","updated_by":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"reviewer":{"_account_id":17255,"name":"Toshiaki Takahashi","email":"ts-takahashi@nec.com","username":"takahashi_ts"},"state":"REVIEWER"}],"messages":[{"id":"2ef69b2430260de8a251f1620108ed7242f2f966","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"date":"2026-08-24 03:17:33.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"bf5d8d8ed01108f65d89609e9918bf47310308a4","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-24 05:02:34.000000000","message":"Patch Set 1: 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\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/d2c53c7459f04ee38ad61f5d64fe758e\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/f6399f8cac244037b3a7be072a8d029a : SUCCESS in 2m 06s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/96ba1bd9cc044ee69f62d75385129dd1 : SUCCESS in 7m 31s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c12928c100ea4799baa8f6d177a886ab : SUCCESS in 2m 52s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/00da957f55d8467691ccb80887b48309 : SUCCESS in 5m 58s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/6d21943101744fbd84b3a8ff381bc0c2 : SUCCESS in 7m 34s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/ab452f9738ab4cf38f6f9cdd994863c0 : SUCCESS in 11m 06s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/40974c69b5ef4bd391e14ace15fc0057 : FAILURE in 7m 58s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/9d235524e19343ceb578e8e1f5d072ef : SUCCESS in 2m 57s\n- tacker-ft-v2-k8s https://zuul.opendev.org/t/openstack/build/15664d06a3144944867235868429ca62 : SUCCESS in 1h 15m 34s\n- tacker-ft-v2-df-userdata-basic-min https://zuul.opendev.org/t/openstack/build/c21f3685d9ae4421ba79fcbde20160c2 : SUCCESS in 43m 02s\n- tacker-ft-v2-df-userdata-update https://zuul.opendev.org/t/openstack/build/a885a4b276194c47b0a4a77c29c8c009 : SUCCESS in 30m 08s\n- tacker-ft-v2-df-userdata-scale https://zuul.opendev.org/t/openstack/build/fa1884156f9b4f72a097f3e5e4849046 : SUCCESS in 32m 26s\n- tacker-ft-v2-df-userdata-ccvp https://zuul.opendev.org/t/openstack/build/6933cb1d274f47818bf68106e54a27c2 : SUCCESS in 31m 30s\n- tacker-ft-v2-df-userdata-err-handling https://zuul.opendev.org/t/openstack/build/9fd016b9cf9f4a6e901403608068ee5d : SUCCESS in 31m 17s\n- tacker-ft-v2-st-userdata-basic https://zuul.opendev.org/t/openstack/build/b8d1153aea4c46adba8703a32e7ec53c : SUCCESS in 59m 54s\n- tacker-ft-v2-st-userdata-basic-min https://zuul.opendev.org/t/openstack/build/25d94252a6a44f879853526fd5b60f34 : SUCCESS in 50m 42s\n- tacker-ft-v2-st-userdata-ccvp https://zuul.opendev.org/t/openstack/build/d19a7d98d14b469caf2ca71d42c4af7e : SUCCESS in 32m 57s\n- tacker-ft-v2-df-userdata-https https://zuul.opendev.org/t/openstack/build/86ecc349f923411386a0d9d1500fb117 : FAILURE in 25m 49s (non-voting)\n- tacker-ft-v2-df-userdata-notification https://zuul.opendev.org/t/openstack/build/fa9064672f8c410784b5e0e6d08ee8fe : SUCCESS in 1h 06m 06s (non-voting)\n- tacker-ft-v2-terraform https://zuul.opendev.org/t/openstack/build/408743edd00c4d17afb34860495b2738 : RETRY_LIMIT in 7m 50s (non-voting)\n- tacker-ft-v1-vnfpkgm https://zuul.opendev.org/t/openstack/build/8fab3c2921604b329db2d48416abbaff : FAILURE in 54m 39s\n- tacker-ft-v1-k8s https://zuul.opendev.org/t/openstack/build/b9e5e1b2f6784c8fb8970c2962514636 : SUCCESS in 1h 21m 53s\n- tacker-ft-v1-compliance-sol https://zuul.opendev.org/t/openstack/build/49bc2385f2ee459b87b841a3ad409c1e : FAILURE in 1h 42m 22s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"24ce092b648fbeffdf4a385ab4f4205b6ade3f44","author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"date":"2026-08-24 06:02:47.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"6baff2873891f5b2c433e85e3caafbc15146aef1","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-24 08:21:47.000000000","message":"Patch Set 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\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/abe999c3bb664195bc155505008de442\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/e3a54eed87ea4379aa07da1e215725b8 : SUCCESS in 2m 13s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/53e94518340d4d699bb8326bb23e8710 : SUCCESS in 7m 15s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/657d4a6679c94f11bb898604583370f5 : SUCCESS in 3m 04s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/a3acb47ed9504b88b85b84dc318aec93 : SUCCESS in 8m 07s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/dedca49bc2d2464c973b7ad80fd0f97b : SUCCESS in 7m 29s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/63c6ca003a6349158fe0d86b1d9df2a3 : SUCCESS in 11m 57s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/601a691ac83a4fa890f0e65d4ff71f34 : FAILURE in 7m 33s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/d9b5afd4d56e4c828217a02f4fdf41ed : SUCCESS in 5m 41s\n- tacker-ft-v2-k8s https://zuul.opendev.org/t/openstack/build/632c8d0b97e64277b27a9e462602436e : SUCCESS in 1h 15m 13s\n- tacker-ft-v2-df-userdata-basic-min https://zuul.opendev.org/t/openstack/build/f971087c45264e15ac58e97a3e117cd1 : SUCCESS in 24m 50s\n- tacker-ft-v2-df-userdata-update https://zuul.opendev.org/t/openstack/build/44417f711ff947e582e58002439d21aa : SUCCESS in 53m 30s\n- tacker-ft-v2-df-userdata-scale https://zuul.opendev.org/t/openstack/build/0dc7caa6fdaf43f0a00e6e832bafffd0 : SUCCESS in 48m 27s\n- tacker-ft-v2-df-userdata-ccvp https://zuul.opendev.org/t/openstack/build/20d2d3e0475646cbb0fbb847d60380aa : SUCCESS in 56m 49s\n- tacker-ft-v2-df-userdata-err-handling https://zuul.opendev.org/t/openstack/build/21903fe2623c420caf5024e6446959ff : SUCCESS in 56m 06s\n- tacker-ft-v2-st-userdata-basic https://zuul.opendev.org/t/openstack/build/7f39085893954bbcba27a0b7eba289b9 : SUCCESS in 1h 00m 00s\n- tacker-ft-v2-st-userdata-basic-min https://zuul.opendev.org/t/openstack/build/421db7fe7a6943cf907811c2896b366f : SUCCESS in 53m 53s\n- tacker-ft-v2-st-userdata-ccvp https://zuul.opendev.org/t/openstack/build/4748f3355c3341a5bf83babdcaa2463b : SUCCESS in 1h 00m 26s\n- tacker-ft-v2-df-userdata-https https://zuul.opendev.org/t/openstack/build/7a36adc50a6244a58f2c462da90601b3 : FAILURE in 51m 21s (non-voting)\n- tacker-ft-v2-df-userdata-notification https://zuul.opendev.org/t/openstack/build/199b35ca7518462cbc6700ed37d5f6a1 : SUCCESS in 1h 07m 16s (non-voting)\n- tacker-ft-v2-terraform https://zuul.opendev.org/t/openstack/build/e75d338aeb724ac1881639e21aee8c7e : RETRY_LIMIT in 16m 51s (non-voting)\n- tacker-ft-v1-vnfpkgm https://zuul.opendev.org/t/openstack/build/26bde9cc69f6430388569927ea71810a : FAILURE in 50m 58s\n- tacker-ft-v1-k8s https://zuul.opendev.org/t/openstack/build/5e5b0cf26d5e4f9182c6990a102ca1cf : SUCCESS in 49m 27s\n- tacker-ft-v1-compliance-sol https://zuul.opendev.org/t/openstack/build/632c07378d1640a69de4d99fa2abe9a0 : FAILURE in 2h 12m 58s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"6cd030ce04f069e0c6fd6731f8e9084c4a89160a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"date":"2026-08-24 09:36:00.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"7341c95d82f5426049413d4a391a11822025fdca","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-24 11:55:02.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/65229dff019e4a7ba89ad12e3ac30118\n\n- test-release-openstack https://zuul.opendev.org/t/openstack/build/43378a3e82e046609299bce178c40986 : SUCCESS in 3m 20s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/42d660ca83674fb7bd418bec51179101 : SUCCESS in 5m 43s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/456134e5e5f8450a9f5a6eedaa72116d : SUCCESS in 4m 10s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/efa9e561e81f4c7ea2d07f47fe221f52 : SUCCESS in 7m 57s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/4f8a85232839435491ceff9979090c66 : SUCCESS in 8m 25s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/c9a5ae58ba4048ad9419edb012518140 : SUCCESS in 7m 50s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/5ecaf67a9cf24641ac94af6b8a8b31f9 : SUCCESS in 5m 48s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/ed1110e1eef3473baa294e309ef8ae2a : SUCCESS in 7m 00s\n- tacker-ft-v2-k8s https://zuul.opendev.org/t/openstack/build/8d6e001db9f84e3cae436f9d68bbc302 : SUCCESS in 1h 18m 21s\n- tacker-ft-v2-df-userdata-basic-min https://zuul.opendev.org/t/openstack/build/82f8380fb562431bbb553995dbc25db8 : SUCCESS in 42m 32s\n- tacker-ft-v2-df-userdata-update https://zuul.opendev.org/t/openstack/build/4e2bea5c7a714628a30082eeccca7227 : SUCCESS in 32m 27s\n- tacker-ft-v2-df-userdata-scale https://zuul.opendev.org/t/openstack/build/c88e6f13d7f14abab2336de82f2f8a25 : SUCCESS in 35m 06s\n- tacker-ft-v2-df-userdata-ccvp https://zuul.opendev.org/t/openstack/build/2b7f6ac0373047c99ac59e9c80e1cd77 : SUCCESS in 1h 03m 41s\n- tacker-ft-v2-df-userdata-err-handling https://zuul.opendev.org/t/openstack/build/4cd61c0868ac4af585e374b5b1ff2c7c : SUCCESS in 59m 07s\n- tacker-ft-v2-st-userdata-basic https://zuul.opendev.org/t/openstack/build/49eaf3bd6d1f4ae9aeecf19d92d2c194 : SUCCESS in 50m 10s\n- tacker-ft-v2-st-userdata-basic-min https://zuul.opendev.org/t/openstack/build/37ee8a30af8444f0af06625966ca2ddb : SUCCESS in 55m 35s\n- tacker-ft-v2-st-userdata-ccvp https://zuul.opendev.org/t/openstack/build/33cff7fe08624b42a50f8193b6bd1b76 : SUCCESS in 42m 45s\n- tacker-ft-v2-df-userdata-https https://zuul.opendev.org/t/openstack/build/3e10d5721b5f4e669ef8ed2bfed16fe7 : FAILURE in 51m 02s (non-voting)\n- tacker-ft-v2-df-userdata-notification https://zuul.opendev.org/t/openstack/build/5fc5c6159d314d25a94ebfe680436634 : SUCCESS in 1h 09m 16s (non-voting)\n- tacker-ft-v2-terraform https://zuul.opendev.org/t/openstack/build/e2555133dfd444d1bbbefa7d191b8a3b : RETRY_LIMIT in 17m 33s (non-voting)\n- tacker-ft-v1-vnfpkgm https://zuul.opendev.org/t/openstack/build/e59af40911bc4aec9173c2e7a4f08068 : SUCCESS in 59m 06s\n- tacker-ft-v1-k8s https://zuul.opendev.org/t/openstack/build/795e4919b2564b388d349375e30e397b : SUCCESS in 1h 14m 38s\n- tacker-ft-v1-compliance-sol https://zuul.opendev.org/t/openstack/build/692ce96733b24ccdbf0bf389c4f5a99a : FAILURE in 2h 02m 10s (non-voting)","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"6390307a1f249aa91532f61e54c3a8a86eb5eba9","revisions":{"1bb176d949e9237406d1d8a05415648ecf681631":{"kind":"REWORK","_number":1,"created":"2026-08-24 03:17:33.000000000","uploader":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"ref":"refs/changes/00/1002000/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/tacker","ref":"refs/changes/00/1002000/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/tacker refs/changes/00/1002000/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/tacker refs/changes/00/1002000/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/tacker refs/changes/00/1002000/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/tacker refs/changes/00/1002000/1"}}},"commit":{"parents":[{"commit":"6135e688bcd231e54cf2b52a32e0b044ea7fe327","subject":"Merge \"tacker-conductor with oslo.service threading\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tacker/commit/6135e688bcd231e54cf2b52a32e0b044ea7fe327"}]}],"author":{"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","date":"2026-08-11 23:35:27.000000000","tz":540},"committer":{"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","date":"2026-08-23 23:38:51.000000000","tz":540},"subject":"Add WSGI application entry point for tacker-api","message":"Add WSGI application entry point for tacker-api\n\nAdd a WSGI application module tacker.api.wsgi_app exposed as the\ntacker-api-wsgi script via the wsgi_scripts entry point, so that the\nAPI can run under a WSGI server such as uWSGI or mod_wsgi with native\nthreads, following the same approach as Nova and Neutron. The\napplication loads the existing api-paste.ini pipeline, so all API\nendpoints including the Prometheus alert receivers are unchanged.\n\nThe devstack plugin now runs the Tacker API under uWSGI by default,\nbinding the same host and port as before so that the keystone endpoint\ndoes not change. The eventlet based server can still be selected with\nTACKER_USE_UWSGI\u003dFalse and is deprecated.\n\nNote that the legacy VNFM/NFVO v1 plugins still create an eventlet\nGreenPool at load time. It is not used by the SOL interfaces and its\nremoval is handled separately.\n\nChange-Id: I32100adf271fb2f800605b1fa444b84866d65230\nSigned-off-by: Yasufumi Ogawa \u003cyasufum.o@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tacker/commit/1bb176d949e9237406d1d8a05415648ecf681631"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tacker/commit/1bb176d949e9237406d1d8a05415648ecf681631"}]},"branch":"refs/heads/master"},"6390307a1f249aa91532f61e54c3a8a86eb5eba9":{"kind":"REWORK","_number":2,"created":"2026-08-24 09:36:00.000000000","uploader":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"ref":"refs/changes/00/1002000/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/tacker","ref":"refs/changes/00/1002000/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/tacker refs/changes/00/1002000/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/tacker refs/changes/00/1002000/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/tacker refs/changes/00/1002000/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/tacker refs/changes/00/1002000/2"}}},"commit":{"parents":[{"commit":"6135e688bcd231e54cf2b52a32e0b044ea7fe327","subject":"Merge \"tacker-conductor with oslo.service threading\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tacker/commit/6135e688bcd231e54cf2b52a32e0b044ea7fe327"}]}],"author":{"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","date":"2026-08-11 23:35:27.000000000","tz":540},"committer":{"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","date":"2026-08-24 09:35:43.000000000","tz":540},"subject":"Add WSGI application entry point for tacker-api","message":"Add WSGI application entry point for tacker-api\n\nAdd a WSGI application module tacker.api.wsgi_app exposed as the\ntacker-api-wsgi script via the wsgi_scripts entry point, so that the\nAPI can run under a WSGI server such as uWSGI or mod_wsgi with native\nthreads, following the same approach as Nova and Neutron. The\napplication loads the existing api-paste.ini pipeline, so all API\nendpoints including the Prometheus alert receivers are unchanged.\n\nThe devstack plugin now runs the Tacker API under uWSGI by default,\nbinding the same host and port as before so that the keystone endpoint\ndoes not change. The eventlet based server can still be selected with\nTACKER_USE_UWSGI\u003dFalse and is deprecated.\n\nNote that the legacy VNFM/NFVO v1 plugins still create an eventlet\nGreenPool at load time. It is not used by the SOL interfaces and its\nremoval is handled separately.\n\nTwo fixes found by the first CI run are included:\n\n- Exclude tacker.api.wsgi from apidoc since the WSGI application is\n  initialized at module import time and cannot be imported by autodoc.\n\n- Set the Content-Length header of the VNF package artifact fetch\n  response as a string. The eventlet wsgi server tolerates an integer\n  value but uWSGI drops such a header (PEP 3333 requires a string),\n  which broke tacker-ft-v1-vnfpkgm.\n\nChange-Id: I32100adf271fb2f800605b1fa444b84866d65230\nSigned-off-by: Yasufumi Ogawa \u003cyasufum.o@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tacker/commit/6390307a1f249aa91532f61e54c3a8a86eb5eba9"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/tacker/commit/6390307a1f249aa91532f61e54c3a8a86eb5eba9"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"OK","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY"},{"label":"Workflow","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Verified\u003dMAX","label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Workflow\u003dMAX","label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
