)]}'
{"id":"openstack%2Fcloudkitty-specs~791245","triplet_id":"openstack%2Fcloudkitty-specs~master~I22993261010e6e7f8b5c0605efad9d4c0ec92d6c","project":"openstack/cloudkitty-specs","branch":"master","topic":"reprocessing_api_upstream","attention_set":{},"removed_from_attention_set":{"28356":{"account":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"last_update":"2022-01-10 14:55:58.000000000","reason":"Change was submitted"},"15197":{"account":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"last_update":"2022-01-10 14:55:58.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I22993261010e6e7f8b5c0605efad9d4c0ec92d6c","subject":"Propose reprocessing API","status":"MERGED","created":"2021-05-13 14:05:03.000000000","updated":"2022-01-10 14:58:35.000000000","submitted":"2022-01-10 14:55:58.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":11,"unresolved_comment_count":2,"has_review_started":true,"submission_id":"791245-reprocessing_api_upstream","meta_rev_id":"8966f82d6f38e47475d82c27751c164562ecec78","_number":791245,"virtual_id_number":791245,"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":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2022-01-10 14:55:58.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":25277,"name":"Mariusz Karpiarz","email":"mariusz.karpiarz@codethink.co.uk","username":"mkarpiarz"},{"value":0,"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"}],"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":25277,"name":"Mariusz Karpiarz","email":"mariusz.karpiarz@codethink.co.uk","username":"mkarpiarz"},"all":[{"value":0,"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2022-01-10 14:32:07.000000000","_account_id":25277,"name":"Mariusz Karpiarz","email":"mariusz.karpiarz@codethink.co.uk","username":"mkarpiarz"},{"value":2,"date":"2022-01-10 14:30:33.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"}],"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":25277,"name":"Mariusz Karpiarz","email":"mariusz.karpiarz@codethink.co.uk","username":"mkarpiarz"},"all":[{"value":0,"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2022-01-10 14:32:07.000000000","_account_id":25277,"name":"Mariusz Karpiarz","email":"mariusz.karpiarz@codethink.co.uk","username":"mkarpiarz"},{"value":0,"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":25277,"name":"Mariusz Karpiarz","email":"mariusz.karpiarz@codethink.co.uk","username":"mkarpiarz"},{"value":0,"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"}],"values":{"-1":"Branch Freeze"," 0":"No Priority","+1":"Important Change","+2":"Gate Blocker Fix / Urgent Change"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":25277,"name":"Mariusz Karpiarz","email":"mariusz.karpiarz@codethink.co.uk","username":"mkarpiarz"},{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2021-05-13 14:11:55.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-05-25 11:19:12.000000000","updated_by":{"_account_id":25277,"name":"Mariusz Karpiarz","email":"mariusz.karpiarz@codethink.co.uk","username":"mkarpiarz"},"reviewer":{"_account_id":25277,"name":"Mariusz Karpiarz","email":"mariusz.karpiarz@codethink.co.uk","username":"mkarpiarz"},"state":"REVIEWER"},{"updated":"2021-05-31 14:56:15.000000000","updated_by":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"reviewer":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"state":"REVIEWER"}],"messages":[{"id":"8f2a70dd839238cf16036bffecfa48b6c22db639","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2021-05-13 14:05:03.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"5e6ebc02443b6b3158dd4ad1719ee5cf17a783ea","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-05-13 14:11:55.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\n\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f7d47763612948f1803cbc4f747b360a : FAILURE in 5m 55s","accounts_in_message":[],"_revision_number":1},{"id":"12885c9728e8792242aa16c7135552d6cc149278","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2021-05-13 15:55:09.000000000","message":"Patch Set 1:\n\nrecheck","accounts_in_message":[],"_revision_number":1},{"id":"0a8547e76714d205e6b0bb7160f6efa353b01389","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-05-13 16:03:17.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\n\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9ac85db1a92243ecaa5fe43a4cfe8443 : FAILURE in 6m 20s","accounts_in_message":[],"_revision_number":1},{"id":"659d9ced8069bba55fac938de96682848f678e91","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2021-05-17 14:10:17.000000000","message":"Patch Set 1: Review-Priority+1","accounts_in_message":[],"_revision_number":1},{"id":"301a33dcffd030d446b2583198395c069b556265","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2021-05-17 14:22:49.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"bd97a5ef781d474d113b7b8e3fb186b709a1e455","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2021-05-17 14:23:52.000000000","message":"Uploaded patch set 3: Patch Set 2 was rebased.","accounts_in_message":[],"_revision_number":3},{"id":"fc0e71eec937a688a0c0a912e86f6cb7e78270c9","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-05-17 14:34:37.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/a691dd9e4c754ccd97b286e373d91a33 : SUCCESS in 6m 41s","accounts_in_message":[],"_revision_number":3},{"id":"45173dd376dfd018ab555bf7fa5f0ba154126eb1","author":{"_account_id":25277,"name":"Mariusz Karpiarz","email":"mariusz.karpiarz@codethink.co.uk","username":"mkarpiarz"},"date":"2021-05-25 11:19:12.000000000","message":"Patch Set 3: Code-Review+2\n\nAs per our conversation, I feel this is a good idea for a useful feature and would like to see (and start testing) the implementation.","accounts_in_message":[],"_revision_number":3},{"id":"b3bcba77f948960265ba67c90b7ba734a222df24","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"date":"2021-05-31 14:56:15.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"da4ac1b8ba827cf906f97f62dcff639d466bc3f4","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"date":"2021-05-31 14:59:49.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"dba89cae8e6018d16b14fe8c78f23d00655632a6","author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"date":"2021-05-31 15:00:49.000000000","message":"Patch Set 5: Code-Review-1\n\nThis new version has formatting fixes.\n\nSpec comment: I thought the API would allow to specify the periods of time that you want to reprocess. From what I understand, you would have to set the start date via the existing scope reset API, and the reprocessing would run until it reaches the current time?\n\nAnd I don\u0027t quite understand the value of setting a reprocessing time, compared to starting it at the time the request is received.","accounts_in_message":[],"_revision_number":5},{"id":"ed16ff0761b61175521ba93422af9272c784943f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-05-31 15:08:15.000000000","message":"Patch Set 5: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/80c85d3fc79f4ea5a703824cfd92662c : SUCCESS in 7m 24s","accounts_in_message":[],"_revision_number":5},{"id":"e24bd4a0da9b923e2c4ad6de1ea11487cecf0225","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2021-06-02 12:48:44.000000000","message":"Patch Set 5:\n\n\u003e Patch Set 5: Code-Review-1\n\u003e \n\u003e This new version has formatting fixes.\n\u003e \n\u003e Spec comment: I thought the API would allow to specify the periods of time that you want to reprocess. From what I understand, you would have to set the start date via the existing scope reset API, and the reprocessing would run until it reaches the current time?\n\u003e \n\u003e And I don\u0027t quite understand the value of setting a reprocessing time, compared to starting it at the time the request is received.\n\nThe problem is the current processing that might be happening. We need somehow to deal with it. When we do it manually, we do stop CloudKitty processors. To achieve that, I am proposing to introduce this new field, which would indicate when a processing/reprocessing can happen/start again.\n\nI see what you mean, what about introducing a another parameter to the reprocessing API? something to indicate the first timestamp when the reprocessing must start. Then, we would have the following.\n\n - `PUT` `/v2/schedule/reprocess`\n   - :param: scope_id -- a list of scope IDs to schedule reprocessing to.\n   - :param: reprocess_timestamp -- a timestamp to start the reprocessing\n   - :param: reprocess_start_timestamp -- the scope processing timestamp from which we begin the reprocessing.\n\nWhat do you think?\n\nThis would allow us to schedule a timestamp to start the work, and also define the scope timestamp to resume processing from.","accounts_in_message":[],"_revision_number":5},{"id":"8e9e0ebff58ab73191b4c189b563aba2ffd5901f","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2021-06-04 14:24:05.000000000","message":"Uploaded patch set 6.","accounts_in_message":[],"_revision_number":6},{"id":"4187f4a518418f09f17658e519ed2594ef499eb9","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2021-06-04 14:26:06.000000000","message":"Patch Set 6:\n\nHello Pierre and Mariusz, \nAfter starting implementation, and testing a bit with the proposed solution, I decided to improve it further. I think that this new specification is a bit better and more comprehensive, to allow extensions in the future, such as, the reprocessing of only specific metrics for given scopes and time ranges. Can you review it, and provide some feedback?","accounts_in_message":[],"_revision_number":6},{"id":"1a261159ba033991273f572c4108173adfd5d2ce","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-06-04 14:35:42.000000000","message":"Patch Set 6: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/4ad079b7b70c45e1836ef926aa1c64a2 : SUCCESS in 6m 03s","accounts_in_message":[],"_revision_number":6},{"id":"84d189dd60171e3a6ae249167c0dc3865ddd4a36","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2021-06-04 19:32:30.000000000","message":"Uploaded patch set 7.","accounts_in_message":[],"_revision_number":7},{"id":"caa98115e7fd736c93167290032eb19a278ecd48","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-06-04 19:43:23.000000000","message":"Patch Set 7: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d6ea5b8b8b044d90819a925a644ab39b : SUCCESS in 8m 24s","accounts_in_message":[],"_revision_number":7},{"id":"af706d3138441f12f84e523659ca93cf41f79c76","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2021-06-08 14:24:39.000000000","message":"Uploaded patch set 8.","accounts_in_message":[],"_revision_number":8},{"id":"39c8a0b6c6b5e460abffc03da4d0c8919cfccd57","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2021-06-08 14:31:32.000000000","message":"Uploaded patch set 9.","accounts_in_message":[],"_revision_number":9},{"id":"e55ff3eb15b170a7c54c2d4ee9ba32c030f6d46a","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-06-08 14:41:52.000000000","message":"Patch Set 9: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/54a46132145e47da8959704bf4d0c717 : SUCCESS in 5m 05s","accounts_in_message":[],"_revision_number":9},{"id":"070a120a31eccc5d16e188cf1fe345f4fbd936d6","author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"date":"2021-06-11 17:05:47.000000000","message":"Patch Set 9: Code-Review-1\n\n(2 comments)\n\nThis new API is not really REST-like. I think we should have an endpoint that allows POST requests, which would create a reprocessing object (mapped to a DB row) for each request. GET on this endpoint would list all reprocessing requests. You would call GET /url/id to get the status of a specific reprocessing request\n\nThis way you could list all historical reprocessing requests and get the associated reasons.\n\nI am deliberately vague on the URL because I don\u0027t think /v2/schedule/reprocess is REST-like as well. We may want to simply use /v2/tasks, include a \"type\": \"reprocessing\" field in the request, to allow other types of tasks to be implemented in the future.\n\nDid you get rid of the scheduled time to start the reprocessing work? (which I think is fine to remove)","accounts_in_message":[],"_revision_number":9},{"id":"9700e7e94516cd47244acc19dbd445310d979f9e","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2021-06-11 18:16:00.000000000","message":"Patch Set 9:\n\n(2 comments)\n\nThanks for the review Pierre!\n\nWell, if the API is or not REST-like, I guess that it depends on the perspective. I am proposing this endpoint style because I was thinking similar to you. An API to schedule tasks. However, instead of defining the type of the task in a property of the object, I am using it in the path. Then we could have the following:\n\n- /v2/schedule/reprocess -- to schedule reprocessing tasks\n- /v2/schedule/process -- to schedule processing tasks, where we can, for instance, use custom metrics that are not defined in the metrics.yaml, or that are defined in a different fashion\n- /v2/schedule/cleanup -- to execute some storage scope cleanup\n\nTherefore, for instance, GET /v2/schedule/reprocess, would list all reprocessing tasks that were scheduled; /v2/schedule/reprocess/{id}, would return a specific task.\n\nThe only thing is that I proposed to use a PUT, instead of a POST to create the reprocessing task there. That is quite simple to change if you think that a POST would fit better in this context.\n\nWe do believe that it is more friendly for developers, and more REST adherent this way, than the other method you proposed, using a task object that has an attribute type to define its type (reprocessing, or others), and then that (the type property) guides the execution flow in the system. Looking at the path, developers can already see what is going to happen; semantically, that makes things easier (in our opinion and experience).\n\nWhat do you think? Would it be enough to change the HTTP method from PUT to POST? Or, would you like to see other changes as well?","accounts_in_message":[],"_revision_number":9},{"id":"96c5a320b3bc79939f5b3ad745171bea06f3f9fb","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2021-06-11 18:18:39.000000000","message":"Uploaded patch set 10.","accounts_in_message":[],"_revision_number":10},{"id":"66dd81deae9c57cef7703f7b73b795b58edfb5f0","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-06-11 18:34:05.000000000","message":"Patch Set 10: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e4f97c95ad7d4520b83e7200fcd252af : SUCCESS in 6m 29s","accounts_in_message":[],"_revision_number":10},{"id":"4d984b98c5a739659b8fc6443362f01b9789241e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2021-06-11 19:52:11.000000000","message":"Uploaded patch set 11.","accounts_in_message":[],"_revision_number":11},{"id":"26cd0f71106f12fe65161f650212a694c038fc87","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-06-11 20:01:01.000000000","message":"Patch Set 11: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/96998ba69909400dbdff4887816fa652 : SUCCESS in 5m 04s","accounts_in_message":[],"_revision_number":11},{"id":"75ab1140add8ebacfeeb136e9c96cfc99a66220e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2021-06-11 20:02:44.000000000","message":"Uploaded patch set 12.","accounts_in_message":[],"_revision_number":12},{"id":"c78f0be815cafdc4ef955da520233958b453240e","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-06-11 20:11:47.000000000","message":"Patch Set 12: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/70de4cae7fbd43569ac2ba74fb07d701 : SUCCESS in 4m 59s","accounts_in_message":[],"_revision_number":12},{"id":"61059b55cc21669c74df10ca1f042d67958c1f81","author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"date":"2021-06-14 12:59:48.000000000","message":"Patch Set 12:\n\n\u003e Patch Set 9:\n\u003e \n\u003e (2 comments)\n\u003e \n\u003e Thanks for the review Pierre!\n\u003e \n\u003e Well, if the API is or not REST-like, I guess that it depends on the perspective. I am proposing this endpoint style because I was thinking similar to you. An API to schedule tasks. However, instead of defining the type of the task in a property of the object, I am using it in the path. Then we could have the following:\n\u003e \n\u003e - /v2/schedule/reprocess -- to schedule reprocessing tasks\n\u003e - /v2/schedule/process -- to schedule processing tasks, where we can, for instance, use custom metrics that are not defined in the metrics.yaml, or that are defined in a different fashion\n\u003e - /v2/schedule/cleanup -- to execute some storage scope cleanup\n\u003e \n\u003e Therefore, for instance, GET /v2/schedule/reprocess, would list all reprocessing tasks that were scheduled; /v2/schedule/reprocess/{id}, would return a specific task.\n\u003e \n\u003e The only thing is that I proposed to use a PUT, instead of a POST to create the reprocessing task there. That is quite simple to change if you think that a POST would fit better in this context.\n\u003e \n\u003e We do believe that it is more friendly for developers, and more REST adherent this way, than the other method you proposed, using a task object that has an attribute type to define its type (reprocessing, or others), and then that (the type property) guides the execution flow in the system. Looking at the path, developers can already see what is going to happen; semantically, that makes things easier (in our opinion and experience).\n\u003e \n\u003e What do you think? Would it be enough to change the HTTP method from PUT to POST? Or, would you like to see other changes as well?\n\nHi Rafael, thanks for the detailed answer.\n\nI am not strongly in favour of a generic task resource, that was just a suggestion which I thought could help with future extensions, but I see your point about developer friendliness.\n\nThanks for changing PUT to POST, this was one of my main objections. My disagreement on RESTful design may have been caused by a misunderstanding on the description of the API: I thought your GET request was only on a specific resource, i.e. that you could do only one reprocessing at a time.\n\nWill we be able to call GET /v2/schedule/reprocess/\u003creprocessing_id\u003e, so we could check the task of a single reprocessing task without listing them all?\n\nFinally, I am still not keen on the URL, mainly because I don\u0027t think \"schedule\" makes much sense anymore without the concept of scheduled time to start. What about /v2/tasks/reprocess or /v2/tasks/reprocessing?","accounts_in_message":[],"_revision_number":12},{"id":"cfb91805d197c545a05623612e3a425b7951a0a5","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2021-06-17 14:31:56.000000000","message":"Uploaded patch set 13.","accounts_in_message":[],"_revision_number":13},{"id":"4093f511f888d6cbbcfd8c0593b4f981fced2eaa","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2021-06-17 14:36:52.000000000","message":"Patch Set 13:\n\n\u003e Patch Set 12:\n\u003e \n\u003e \u003e Patch Set 9:\n\u003e \u003e \n\u003e \u003e (2 comments)\n\u003e \u003e \n\u003e \u003e Thanks for the review Pierre!\n\u003e \u003e \n\u003e \u003e Well, if the API is or not REST-like, I guess that it depends on the perspective. I am proposing this endpoint style because I was thinking similar to you. An API to schedule tasks. However, instead of defining the type of the task in a property of the object, I am using it in the path. Then we could have the following:\n\u003e \u003e \n\u003e \u003e - /v2/schedule/reprocess -- to schedule reprocessing tasks\n\u003e \u003e - /v2/schedule/process -- to schedule processing tasks, where we can, for instance, use custom metrics that are not defined in the metrics.yaml, or that are defined in a different fashion\n\u003e \u003e - /v2/schedule/cleanup -- to execute some storage scope cleanup\n\u003e \u003e \n\u003e \u003e Therefore, for instance, GET /v2/schedule/reprocess, would list all reprocessing tasks that were scheduled; /v2/schedule/reprocess/{id}, would return a specific task.\n\u003e \u003e \n\u003e \u003e The only thing is that I proposed to use a PUT, instead of a POST to create the reprocessing task there. That is quite simple to change if you think that a POST would fit better in this context.\n\u003e \u003e \n\u003e \u003e We do believe that it is more friendly for developers, and more REST adherent this way, than the other method you proposed, using a task object that has an attribute type to define its type (reprocessing, or others), and then that (the type property) guides the execution flow in the system. Looking at the path, developers can already see what is going to happen; semantically, that makes things easier (in our opinion and experience).\n\u003e \u003e \n\u003e \u003e What do you think? Would it be enough to change the HTTP method from PUT to POST? Or, would you like to see other changes as well?\n\u003e \n\u003e Hi Rafael, thanks for the detailed answer.\n\u003e \n\u003e I am not strongly in favour of a generic task resource, that was just a suggestion which I thought could help with future extensions, but I see your point about developer friendliness.\n\u003e \n\u003e Thanks for changing PUT to POST, this was one of my main objections. My disagreement on RESTful design may have been caused by a misunderstanding on the description of the API: I thought your GET request was only on a specific resource, i.e. that you could do only one reprocessing at a time.\n\u003e \n\u003e Will we be able to call GET /v2/schedule/reprocess/\u003creprocessing_id\u003e, so we could check the task of a single reprocessing task without listing them all?\n\u003e \n\u003e Finally, I am still not keen on the URL, mainly because I don\u0027t think \"schedule\" makes much sense anymore without the concept of scheduled time to start. What about /v2/tasks/reprocess or /v2/tasks/reprocessing?\n\n\u003e Will we be able to call GET /v2/schedule/reprocess/\u003creprocessing_id\u003e, so we could check the task of a single reprocessing task without listing them all?\n\nYes, that is the idea, and that is what I implemented. Also, I implemented a `GET /v2/schedule/reprocesses`, so one can filter schedules for multiple scope IDs\n\n\u003e Finally, I am still not keen on the URL, mainly because I don\u0027t think \"schedule\" makes much sense anymore without the concept of scheduled time to start. What about /v2/tasks/reprocess or /v2/tasks/reprocessing?\n\nI see your point. I do not mind changing from `schedule` to `tasks`. Can we agree on using `/v2/tasks/reprocess`? Then, I can go and apply the changes in the changeset I have here.","accounts_in_message":[],"_revision_number":13},{"id":"45d76268a53d3285a7368f7717aa83a97a6ab06b","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-06-17 14:41:40.000000000","message":"Patch Set 13: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/29722e21857b4fc4906e21b352aa23e7 : SUCCESS in 5m 48s","accounts_in_message":[],"_revision_number":13},{"id":"52b438e145261786274a56a5e027fb3201a8bbe4","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2021-06-17 16:34:44.000000000","message":"Uploaded patch set 14.","accounts_in_message":[],"_revision_number":14},{"id":"02a477000352d84c32bd7f5f7f04f4a14e5e905d","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-06-17 16:42:27.000000000","message":"Patch Set 14: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/dcd43c4946a24ae39829bbf5de7b797c : SUCCESS in 6m 47s","accounts_in_message":[],"_revision_number":14},{"id":"00aa8fccc94f4b251a3e12b5ada89df4e0b0b572","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2022-01-06 15:12:26.000000000","message":"Patch Set 14:\n\n(1 comment)","accounts_in_message":[],"_revision_number":14},{"id":"a24bfc86da589d7c1be9b4c650ffb1114778f1c0","author":{"_account_id":25277,"name":"Mariusz Karpiarz","email":"mariusz.karpiarz@codethink.co.uk","username":"mkarpiarz"},"date":"2022-01-06 15:47:43.000000000","message":"Patch Set 14: Code-Review+2","accounts_in_message":[],"_revision_number":14},{"id":"25587e32a0b594691c255d50b67a671f01d10add","author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"date":"2022-01-10 13:45:22.000000000","message":"Patch Set 14: Code-Review-1\n\n(3 comments)","accounts_in_message":[],"_revision_number":14},{"id":"353a837bd9c18f41453e2d09cac04011abf0b1d0","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2022-01-10 14:05:49.000000000","message":"Patch Set 14:\n\n(3 comments)","accounts_in_message":[],"_revision_number":14},{"id":"2c8602074cc88b83d6d84d955ee561a4cec50af6","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2022-01-10 14:06:09.000000000","message":"Uploaded patch set 15.","accounts_in_message":[],"_revision_number":15},{"id":"7db67e188fd4010dc14b4c6074ce339004cddcb4","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2022-01-10 14:09:08.000000000","message":"Uploaded patch set 16.","accounts_in_message":[],"_revision_number":16},{"id":"91d3e3a7b94e801ca2f9706fff188dbff3e893c0","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"date":"2022-01-10 14:10:33.000000000","message":"Uploaded patch set 17.","accounts_in_message":[],"_revision_number":17},{"id":"83557c71bb759906215bd40c890a57d56feebcc3","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-01-10 14:23:15.000000000","message":"Patch Set 17: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/5b4b7f7a2e204cc4aa6ad14246958c2f : SUCCESS in 7m 01s","accounts_in_message":[],"_revision_number":17},{"id":"dd77f14304328b352d8bf2776cc6d17e1177f3fe","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"date":"2022-01-10 14:28:46.000000000","message":"Uploaded patch set 18.","accounts_in_message":[],"_revision_number":18},{"id":"55fcffef7e95eff2e6a589a70f6c04e098f70231","author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"date":"2022-01-10 14:30:33.000000000","message":"Patch Set 18: Code-Review+2","accounts_in_message":[],"_revision_number":18},{"id":"981ae02db8b615c13d57f1f28fabc63a2550fad6","author":{"_account_id":25277,"name":"Mariusz Karpiarz","email":"mariusz.karpiarz@codethink.co.uk","username":"mkarpiarz"},"date":"2022-01-10 14:32:07.000000000","message":"Patch Set 18: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":18},{"id":"f45ff1b211547b13019cee23696511d7b1590f3c","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-01-10 14:46:34.000000000","message":"Patch Set 18: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d5254d415fe64466be38a5baf3b9c250 : SUCCESS in 5m 31s","accounts_in_message":[],"_revision_number":18},{"id":"b51eed635378cb95638bee9ded83f1df2b1cbb93","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-01-10 14:47:14.000000000","message":"Patch Set 18: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":18},{"id":"e2b4d9c33fa717d948d852b9d317e00503979f54","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-01-10 14:55:58.000000000","message":"Patch Set 18: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/70c698f229d04ef0984a64c13e7e9a10 : SUCCESS in 7m 33s","accounts_in_message":[],"_revision_number":18},{"id":"c5edde4554887e193cf9bf44a207e6c54bd8d6d0","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-01-10 14:55:58.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":18},{"id":"8966f82d6f38e47475d82c27751c164562ecec78","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-01-10 14:58:35.000000000","message":"Patch Set 18:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-specs https://zuul.opendev.org/t/openstack/build/ea56a9047d9d4cbea24a5c8e72bc5e44 : SUCCESS in 1m 42s","accounts_in_message":[],"_revision_number":18}],"current_revision_number":18,"current_revision":"3848c30c093405965ff2b6200516049b1eacb5ad","revisions":{"cfba49e6120142e9a3c42a308b78923455eb90f5":{"kind":"REWORK","_number":1,"created":"2021-05-13 14:05:03.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/45/791245/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cloudkitty-specs","ref":"refs/changes/45/791245/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/1"}}},"commit":{"parents":[{"commit":"8748b631d7ec23df9939f7cf25ee444edf810da1","subject":"Merge \"Add \"active\" column to storage scope, and API to manage it\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/8748b631d7ec23df9939f7cf25ee444edf810da1"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2021-05-13 14:04:53.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2021-05-13 14:04:53.000000000","tz":-180},"subject":"Propose reprocessing API","message":"Propose reprocessing API\n\nThis specification proposes an API to enable reprocessing.\n\nChange-Id: I22993261010e6e7f8b5c0605efad9d4c0ec92d6c\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/cfba49e6120142e9a3c42a308b78923455eb90f5"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/cfba49e6120142e9a3c42a308b78923455eb90f5"}]},"branch":"refs/heads/master"},"e86bc364195420cc816bb4716a00d376855f7ccf":{"kind":"REWORK","_number":2,"created":"2021-05-17 14:22:49.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/45/791245/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cloudkitty-specs","ref":"refs/changes/45/791245/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/2"}}},"commit":{"parents":[{"commit":"8748b631d7ec23df9939f7cf25ee444edf810da1","subject":"Merge \"Add \"active\" column to storage scope, and API to manage it\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/8748b631d7ec23df9939f7cf25ee444edf810da1"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2021-05-13 14:04:53.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2021-05-17 14:22:32.000000000","tz":-180},"subject":"Propose reprocessing API","message":"Propose reprocessing API\n\nThis specification proposes an API to enable reprocessing.\n\nChange-Id: I22993261010e6e7f8b5c0605efad9d4c0ec92d6c\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/e86bc364195420cc816bb4716a00d376855f7ccf"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/e86bc364195420cc816bb4716a00d376855f7ccf"}]},"branch":"refs/heads/master"},"3655b8a0e228dce7bc500c4ff01915815419833a":{"kind":"TRIVIAL_REBASE","_number":3,"created":"2021-05-17 14:23:52.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/45/791245/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cloudkitty-specs","ref":"refs/changes/45/791245/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/3"}}},"commit":{"parents":[{"commit":"d1803c94ef2ecb616d7bbb153eaa29bb2e51c6cd","subject":"Update tox config","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/d1803c94ef2ecb616d7bbb153eaa29bb2e51c6cd"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2021-05-13 14:04:53.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2021-05-17 14:23:40.000000000","tz":-180},"subject":"Propose reprocessing API","message":"Propose reprocessing API\n\nThis specification proposes an API to enable reprocessing.\n\nChange-Id: I22993261010e6e7f8b5c0605efad9d4c0ec92d6c\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/3655b8a0e228dce7bc500c4ff01915815419833a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/3655b8a0e228dce7bc500c4ff01915815419833a"}]},"branch":"refs/heads/master"},"eed9c3808bb61be4ae4eb467dc9d5a43294e7e0f":{"kind":"REWORK","_number":4,"created":"2021-05-31 14:56:15.000000000","uploader":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"ref":"refs/changes/45/791245/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cloudkitty-specs","ref":"refs/changes/45/791245/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/4"}}},"commit":{"parents":[{"commit":"3e2aed78585009049b36cef92a8e2802282d39b2","subject":"[ussuri][goal] Update contributor documentation","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/3e2aed78585009049b36cef92a8e2802282d39b2"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2021-05-13 14:04:53.000000000","tz":-180},"committer":{"name":"Pierre Riteau","email":"pierre@stackhpc.com","date":"2021-05-31 14:56:07.000000000","tz":120},"subject":"Propose reprocessing API","message":"Propose reprocessing API\n\nThis specification proposes an API to enable reprocessing.\n\nChange-Id: I22993261010e6e7f8b5c0605efad9d4c0ec92d6c\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/eed9c3808bb61be4ae4eb467dc9d5a43294e7e0f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/eed9c3808bb61be4ae4eb467dc9d5a43294e7e0f"}]},"branch":"refs/heads/master"},"db51619bd205c1a547ccaec22c90c57b38565eb6":{"kind":"REWORK","_number":5,"created":"2021-05-31 14:59:49.000000000","uploader":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"ref":"refs/changes/45/791245/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cloudkitty-specs","ref":"refs/changes/45/791245/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/5"}}},"commit":{"parents":[{"commit":"3e2aed78585009049b36cef92a8e2802282d39b2","subject":"[ussuri][goal] Update contributor documentation","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/3e2aed78585009049b36cef92a8e2802282d39b2"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2021-05-13 14:04:53.000000000","tz":-180},"committer":{"name":"Pierre Riteau","email":"pierre@stackhpc.com","date":"2021-05-31 14:59:42.000000000","tz":120},"subject":"Propose reprocessing API","message":"Propose reprocessing API\n\nThis specification proposes an API to enable reprocessing.\n\nChange-Id: I22993261010e6e7f8b5c0605efad9d4c0ec92d6c\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/db51619bd205c1a547ccaec22c90c57b38565eb6"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/db51619bd205c1a547ccaec22c90c57b38565eb6"}]},"branch":"refs/heads/master"},"c62b0dbf3a6e45f2a9a248732f2f7747f95ff56f":{"kind":"REWORK","_number":6,"created":"2021-06-04 14:24:05.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/45/791245/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cloudkitty-specs","ref":"refs/changes/45/791245/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/6"}}},"commit":{"parents":[{"commit":"d1803c94ef2ecb616d7bbb153eaa29bb2e51c6cd","subject":"Update tox config","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/d1803c94ef2ecb616d7bbb153eaa29bb2e51c6cd"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2021-05-13 14:04:53.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2021-06-04 14:23:51.000000000","tz":-180},"subject":"Propose reprocessing API","message":"Propose reprocessing API\n\nThis specification proposes an API to enable reprocessing.\n\nChange-Id: I22993261010e6e7f8b5c0605efad9d4c0ec92d6c\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/c62b0dbf3a6e45f2a9a248732f2f7747f95ff56f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/c62b0dbf3a6e45f2a9a248732f2f7747f95ff56f"}]},"branch":"refs/heads/master"},"f906850f42ebb8912b4dc05318651da3e6336376":{"kind":"REWORK","_number":7,"created":"2021-06-04 19:32:30.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/45/791245/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cloudkitty-specs","ref":"refs/changes/45/791245/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/7"}}},"commit":{"parents":[{"commit":"d1803c94ef2ecb616d7bbb153eaa29bb2e51c6cd","subject":"Update tox config","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/d1803c94ef2ecb616d7bbb153eaa29bb2e51c6cd"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2021-05-13 14:04:53.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2021-06-04 19:32:12.000000000","tz":-180},"subject":"Propose reprocessing API","message":"Propose reprocessing API\n\nThis specification proposes an API to enable reprocessing.\n\nChange-Id: I22993261010e6e7f8b5c0605efad9d4c0ec92d6c\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/f906850f42ebb8912b4dc05318651da3e6336376"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/f906850f42ebb8912b4dc05318651da3e6336376"}]},"branch":"refs/heads/master"},"e4b7a218a59ad2d268ac9fa6caec70fe5b099222":{"kind":"REWORK","_number":8,"created":"2021-06-08 14:24:39.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/45/791245/8","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cloudkitty-specs","ref":"refs/changes/45/791245/8","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/8"}}},"commit":{"parents":[{"commit":"d1803c94ef2ecb616d7bbb153eaa29bb2e51c6cd","subject":"Update tox config","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/d1803c94ef2ecb616d7bbb153eaa29bb2e51c6cd"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2021-05-13 14:04:53.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2021-06-08 14:24:29.000000000","tz":-180},"subject":"Propose reprocessing API","message":"Propose reprocessing API\n\nThis specification proposes an API to enable reprocessing.\n\nChange-Id: I22993261010e6e7f8b5c0605efad9d4c0ec92d6c\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/e4b7a218a59ad2d268ac9fa6caec70fe5b099222"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/e4b7a218a59ad2d268ac9fa6caec70fe5b099222"}]},"branch":"refs/heads/master"},"86ca75af8790ee49ea6f8adf96ae12dae048e9ad":{"kind":"REWORK","_number":9,"created":"2021-06-08 14:31:32.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/45/791245/9","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cloudkitty-specs","ref":"refs/changes/45/791245/9","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/9 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/9 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/9 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/9"}}},"commit":{"parents":[{"commit":"d1803c94ef2ecb616d7bbb153eaa29bb2e51c6cd","subject":"Update tox config","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/d1803c94ef2ecb616d7bbb153eaa29bb2e51c6cd"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2021-05-13 14:04:53.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2021-06-08 14:31:13.000000000","tz":-180},"subject":"Propose reprocessing API","message":"Propose reprocessing API\n\nThis specification proposes an API to enable reprocessing.\n\nChange-Id: I22993261010e6e7f8b5c0605efad9d4c0ec92d6c\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/86ca75af8790ee49ea6f8adf96ae12dae048e9ad"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/86ca75af8790ee49ea6f8adf96ae12dae048e9ad"}]},"branch":"refs/heads/master"},"0df23ba9656e6ac7abf64ba3e4b8a969c0f8709a":{"kind":"REWORK","_number":10,"created":"2021-06-11 18:18:39.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/45/791245/10","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cloudkitty-specs","ref":"refs/changes/45/791245/10","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/10 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/10 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/10 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/10"}}},"commit":{"parents":[{"commit":"d1803c94ef2ecb616d7bbb153eaa29bb2e51c6cd","subject":"Update tox config","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/d1803c94ef2ecb616d7bbb153eaa29bb2e51c6cd"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2021-05-13 14:04:53.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2021-06-11 18:18:20.000000000","tz":-180},"subject":"Propose reprocessing API","message":"Propose reprocessing API\n\nThis specification proposes an API to enable reprocessing.\n\nChange-Id: I22993261010e6e7f8b5c0605efad9d4c0ec92d6c\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/0df23ba9656e6ac7abf64ba3e4b8a969c0f8709a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/0df23ba9656e6ac7abf64ba3e4b8a969c0f8709a"}]},"branch":"refs/heads/master"},"da81d4cb8b953c8467a2f0253a3cdead3446bf83":{"kind":"REWORK","_number":11,"created":"2021-06-11 19:52:11.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/45/791245/11","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cloudkitty-specs","ref":"refs/changes/45/791245/11","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/11 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/11 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/11 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/11"}}},"commit":{"parents":[{"commit":"d1803c94ef2ecb616d7bbb153eaa29bb2e51c6cd","subject":"Update tox config","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/d1803c94ef2ecb616d7bbb153eaa29bb2e51c6cd"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2021-05-13 14:04:53.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2021-06-11 19:51:55.000000000","tz":-180},"subject":"Propose reprocessing API","message":"Propose reprocessing API\n\nThis specification proposes an API to enable reprocessing.\n\nChange-Id: I22993261010e6e7f8b5c0605efad9d4c0ec92d6c\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/da81d4cb8b953c8467a2f0253a3cdead3446bf83"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/da81d4cb8b953c8467a2f0253a3cdead3446bf83"}]},"branch":"refs/heads/master"},"a1a1e0c3b42d7563f4854c31bc5f3527ad09b4b2":{"kind":"REWORK","_number":12,"created":"2021-06-11 20:02:44.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/45/791245/12","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cloudkitty-specs","ref":"refs/changes/45/791245/12","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/12 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/12 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/12 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/12"}}},"commit":{"parents":[{"commit":"d1803c94ef2ecb616d7bbb153eaa29bb2e51c6cd","subject":"Update tox config","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/d1803c94ef2ecb616d7bbb153eaa29bb2e51c6cd"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2021-05-13 14:04:53.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2021-06-11 20:02:33.000000000","tz":-180},"subject":"Propose reprocessing API","message":"Propose reprocessing API\n\nThis specification proposes an API to enable reprocessing.\n\nChange-Id: I22993261010e6e7f8b5c0605efad9d4c0ec92d6c\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/a1a1e0c3b42d7563f4854c31bc5f3527ad09b4b2"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/a1a1e0c3b42d7563f4854c31bc5f3527ad09b4b2"}]},"branch":"refs/heads/master"},"a0fc5fd1ce6fa0ee2de42189416ddeba2e0ada31":{"kind":"REWORK","_number":13,"created":"2021-06-17 14:31:56.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/45/791245/13","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cloudkitty-specs","ref":"refs/changes/45/791245/13","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/13 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/13 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/13 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/13"}}},"commit":{"parents":[{"commit":"d1803c94ef2ecb616d7bbb153eaa29bb2e51c6cd","subject":"Update tox config","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/d1803c94ef2ecb616d7bbb153eaa29bb2e51c6cd"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2021-05-13 14:04:53.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2021-06-17 14:31:41.000000000","tz":-180},"subject":"Propose reprocessing API","message":"Propose reprocessing API\n\nThis specification proposes an API to enable reprocessing.\n\nChange-Id: I22993261010e6e7f8b5c0605efad9d4c0ec92d6c\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/a0fc5fd1ce6fa0ee2de42189416ddeba2e0ada31"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/a0fc5fd1ce6fa0ee2de42189416ddeba2e0ada31"}]},"branch":"refs/heads/master"},"70e5acb44a3ee01ef1ae4c620f07ee54a6bcf38e":{"kind":"REWORK","_number":14,"created":"2021-06-17 16:34:44.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/45/791245/14","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cloudkitty-specs","ref":"refs/changes/45/791245/14","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/14 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/14 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/14 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/14"}}},"commit":{"parents":[{"commit":"d1803c94ef2ecb616d7bbb153eaa29bb2e51c6cd","subject":"Update tox config","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/d1803c94ef2ecb616d7bbb153eaa29bb2e51c6cd"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2021-05-13 14:04:53.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2021-06-17 16:34:25.000000000","tz":-180},"subject":"Propose reprocessing API","message":"Propose reprocessing API\n\nThis specification proposes an API to enable reprocessing.\n\nChange-Id: I22993261010e6e7f8b5c0605efad9d4c0ec92d6c\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/70e5acb44a3ee01ef1ae4c620f07ee54a6bcf38e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/70e5acb44a3ee01ef1ae4c620f07ee54a6bcf38e"}]},"branch":"refs/heads/master"},"ee2fcbf0ce6ba274030479c1a4f380f7d1ca5840":{"kind":"REWORK","_number":15,"created":"2022-01-10 14:06:09.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/45/791245/15","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cloudkitty-specs","ref":"refs/changes/45/791245/15","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/15 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/15 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/15 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/15"}}},"commit":{"parents":[{"commit":"d1803c94ef2ecb616d7bbb153eaa29bb2e51c6cd","subject":"Update tox config","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/d1803c94ef2ecb616d7bbb153eaa29bb2e51c6cd"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2021-05-13 14:04:53.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2022-01-10 14:05:59.000000000","tz":-180},"subject":"Propose reprocessing API","message":"Propose reprocessing API\n\nThis specification proposes an API to enable reprocessing.\n\nChange-Id: I22993261010e6e7f8b5c0605efad9d4c0ec92d6c\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/ee2fcbf0ce6ba274030479c1a4f380f7d1ca5840"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/ee2fcbf0ce6ba274030479c1a4f380f7d1ca5840"}]},"branch":"refs/heads/master"},"92cdd776beea4c5c528fca82709348a769dfc879":{"kind":"REWORK","_number":16,"created":"2022-01-10 14:09:08.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/45/791245/16","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cloudkitty-specs","ref":"refs/changes/45/791245/16","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/16 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/16 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/16 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/16"}}},"commit":{"parents":[{"commit":"d1803c94ef2ecb616d7bbb153eaa29bb2e51c6cd","subject":"Update tox config","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/d1803c94ef2ecb616d7bbb153eaa29bb2e51c6cd"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2021-05-13 14:04:53.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2022-01-10 14:08:59.000000000","tz":-180},"subject":"Propose reprocessing API","message":"Propose reprocessing API\n\nThis specification proposes an API to enable reprocessing.\n\nChange-Id: I22993261010e6e7f8b5c0605efad9d4c0ec92d6c\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/92cdd776beea4c5c528fca82709348a769dfc879"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/92cdd776beea4c5c528fca82709348a769dfc879"}]},"branch":"refs/heads/master"},"89b27bd8622ba158b051efb75fa69d73a27cf66b":{"kind":"REWORK","_number":17,"created":"2022-01-10 14:10:33.000000000","uploader":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"ref":"refs/changes/45/791245/17","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cloudkitty-specs","ref":"refs/changes/45/791245/17","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/17 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/17 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/17 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/17"}}},"commit":{"parents":[{"commit":"d1803c94ef2ecb616d7bbb153eaa29bb2e51c6cd","subject":"Update tox config","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/d1803c94ef2ecb616d7bbb153eaa29bb2e51c6cd"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2021-05-13 14:04:53.000000000","tz":-180},"committer":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2022-01-10 14:10:25.000000000","tz":-180},"subject":"Propose reprocessing API","message":"Propose reprocessing API\n\nThis specification proposes an API to enable reprocessing.\n\nChange-Id: I22993261010e6e7f8b5c0605efad9d4c0ec92d6c\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/89b27bd8622ba158b051efb75fa69d73a27cf66b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/89b27bd8622ba158b051efb75fa69d73a27cf66b"}]},"branch":"refs/heads/master"},"3848c30c093405965ff2b6200516049b1eacb5ad":{"kind":"REWORK","_number":18,"created":"2022-01-10 14:28:46.000000000","uploader":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"ref":"refs/changes/45/791245/18","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cloudkitty-specs","ref":"refs/changes/45/791245/18","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/18 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/18 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/18 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cloudkitty-specs refs/changes/45/791245/18"}}},"commit":{"parents":[{"commit":"2b1fbc56570239edda4dc3cce9d6ced2a388e07b","subject":"Merge \"setup.cfg: Replace dashes with underscores\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/2b1fbc56570239edda4dc3cce9d6ced2a388e07b"}]}],"author":{"name":"Rafael Weingärtner","email":"rafael@apache.org","date":"2021-05-13 14:04:53.000000000","tz":-180},"committer":{"name":"Pierre Riteau","email":"pierre@stackhpc.com","date":"2022-01-10 14:28:40.000000000","tz":60},"subject":"Propose reprocessing API","message":"Propose reprocessing API\n\nThis specification proposes an API to enable reprocessing.\n\nChange-Id: I22993261010e6e7f8b5c0605efad9d4c0ec92d6c\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/3848c30c093405965ff2b6200516049b1eacb5ad"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cloudkitty-specs/commit/3848c30c093405965ff2b6200516049b1eacb5ad"}]},"branch":"refs/heads/master"}},"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":25277,"name":"Mariusz Karpiarz","email":"mariusz.karpiarz@codethink.co.uk","username":"mkarpiarz"}},{"label":"Workflow","status":"OK","applied_by":{"_account_id":25277,"name":"Mariusz Karpiarz","email":"mariusz.karpiarz@codethink.co.uk","username":"mkarpiarz"}},{"label":"Review-Priority","status":"MAY"}]}],"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":{}}}]}
