)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"1c6e417862586d8cbf526ed643f2d79dbb2598f7","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"I have detected that the test errors on this strategy are related to inyecting fake metrics on gnocchi."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"When we create the fake metrics from now until 5 minutes in the past, then we sometimes move the instances to other hypervisor and wait for the model. If this process takes one or two minutes, when decision engine collects the metrics, gnocchi execute a rate between the start point and the end. if metric is empty at the end, collect fails and decision engine set the load to 0"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Moving the metrics 2 minutes to the future allow us to always get valid metrics"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"887c4a89_e45e606e","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":378},"updated":"2025-05-30 18:02:33.000000000","message":"That\u0027s something that we will probably fix by setting the destination host[1] in instance creation.\n\n[1] https://review.opendev.org/c/openstack/watcher-tempest-plugin/+/950389","commit_id":"334109a18e5e66b14d13ae8c1ef5b4f9079a3639"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ecd570210d28d7fe13743b7ad79c5466c8e8f40a","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"I have detected that the test errors on this strategy are related to inyecting fake metrics on gnocchi."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"When we create the fake metrics from now until 5 minutes in the past, then we sometimes move the instances to other hypervisor and wait for the model. If this process takes one or two minutes, when decision engine collects the metrics, gnocchi execute a rate between the start point and the end. if metric is empty at the end, collect fails and decision engine set the load to 0"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Moving the metrics 2 minutes to the future allow us to always get valid metrics"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"6f45c36d_70c330cd","line":11,"range":{"start_line":11,"start_character":327,"end_line":11,"end_character":378},"updated":"2025-06-03 14:14:45.000000000","message":"`collect fails and decision engine set the load to 0`\n\ni wonder if this is a seperate bug.\n\ni can see why defaultign ot 0 could make sense but i could also see tking the most recent value we have and using that. its kind of complex to determin how we should\ndeal with that.","commit_id":"334109a18e5e66b14d13ae8c1ef5b4f9079a3639"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":28647,"name":"David","display_name":"morenod","email":"dsanzmor@redhat.com","username":"morenod"},"change_message_id":"3e2c3c789a3d249434b58df5c38f6fb8caa98c59","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"346344c7_65821fe2","updated":"2025-05-27 13:37:48.000000000","message":"recheck","commit_id":"1df4a38674aaf53b5a7174942945bbf7a6a593e1"},{"author":{"_account_id":28647,"name":"David","display_name":"morenod","email":"dsanzmor@redhat.com","username":"morenod"},"change_message_id":"43cfbfc46509fa0fd21b998d7dc73c99943a4ce8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"63e17a25_6fccb8fb","updated":"2025-05-28 12:56:51.000000000","message":"recheck","commit_id":"42b6339b1db8e0d54755becf2c6bda5bc3f703b6"},{"author":{"_account_id":28647,"name":"David","display_name":"morenod","email":"dsanzmor@redhat.com","username":"morenod"},"change_message_id":"dbefef7743c103a84212dfadf6c625054c018cda","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"e29d57c3_7bdb8b32","updated":"2025-05-28 13:07:00.000000000","message":"I will recheck a few more times to verify if the results are consistent","commit_id":"e889f37512219fd958e14a89fb73316981547e04"},{"author":{"_account_id":28647,"name":"David","display_name":"morenod","email":"dsanzmor@redhat.com","username":"morenod"},"change_message_id":"51647816c51cd96cf8bc6af47fab617614516e38","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"283fa865_01ff82b0","updated":"2025-05-29 09:24:49.000000000","message":"recheck","commit_id":"05bbf1e180eb2747617fb1af938b42f6c262a6c0"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"f71953e2acfce2b421852167783101eb098bd7ad","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"742816a8_f4582f3b","updated":"2025-05-30 06:25:37.000000000","message":"lgtm","commit_id":"a326659a8e5418be00535c3d26c1021a68313695"},{"author":{"_account_id":28647,"name":"David","display_name":"morenod","email":"dsanzmor@redhat.com","username":"morenod"},"change_message_id":"21553142caa78382f544a066db7937fe1a1aab98","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"04ff4629_6eb79518","updated":"2025-05-29 14:11:32.000000000","message":"recheck","commit_id":"a326659a8e5418be00535c3d26c1021a68313695"},{"author":{"_account_id":28647,"name":"David","display_name":"morenod","email":"dsanzmor@redhat.com","username":"morenod"},"change_message_id":"b334fd7066a4daae7cf49da1f4846a472b5aa03a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"0eaa3d4c_8156fb2e","updated":"2025-05-29 11:18:03.000000000","message":"recheck","commit_id":"a326659a8e5418be00535c3d26c1021a68313695"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"ba844e2b8e011932b1458f4184ac221019ef0858","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"6f2c485b_b7396b70","updated":"2025-05-30 10:01:06.000000000","message":"seems reasonable to me!","commit_id":"a326659a8e5418be00535c3d26c1021a68313695"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"1c6e417862586d8cbf526ed643f2d79dbb2598f7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"931b1c62_16eac67f","updated":"2025-05-30 18:02:33.000000000","message":"I think that makes sense for now, we may want to revert this if [1] merges and fix the problem.\n\n\n[1] https://review.opendev.org/c/openstack/watcher-tempest-plugin/+/950389","commit_id":"334109a18e5e66b14d13ae8c1ef5b4f9079a3639"},{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"f4ffdfa64d0e34165d39c5029dd332a678247fe3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"9d7884bd_b97ff87b","updated":"2025-06-03 10:06:08.000000000","message":"lgtm","commit_id":"334109a18e5e66b14d13ae8c1ef5b4f9079a3639"},{"author":{"_account_id":28647,"name":"David","display_name":"morenod","email":"dsanzmor@redhat.com","username":"morenod"},"change_message_id":"ba25ef58789a1a7b6fc140274f0c65ed5f8cf136","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"f64b9c38_6ff9602b","updated":"2025-06-03 14:56:32.000000000","message":"ok, if we keep getting errors with 2 minutes, I will refactor to extract it as configuration parameter","commit_id":"334109a18e5e66b14d13ae8c1ef5b4f9079a3639"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ecd570210d28d7fe13743b7ad79c5466c8e8f40a","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":13,"id":"dd391fec_cee17746","updated":"2025-06-03 14:14:45.000000000","message":"this does not feel like a particularly robust solution\n\nsince this seams to be infra dependent i feel like it shoudl be configurable rather then hardcoded.","commit_id":"334109a18e5e66b14d13ae8c1ef5b4f9079a3639"}],"watcher_tempest_plugin/tests/scenario/base.py":[{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"1c6e417862586d8cbf526ed643f2d79dbb2598f7","unresolved":true,"context_lines":[{"line_number":341,"context_line":""},{"line_number":342,"context_line":"    def _make_measures_host(self, measures_count, time_step, min\u003d10, max\u003d20):"},{"line_number":343,"context_line":"        measures_body \u003d []"},{"line_number":344,"context_line":"        now \u003d datetime.now(timezone.utc) + timedelta(minutes\u003d2)"},{"line_number":345,"context_line":"        for i in range(0, measures_count):"},{"line_number":346,"context_line":"            dt \u003d now - timedelta(minutes\u003di * time_step)"},{"line_number":347,"context_line":"            measures_body.append("}],"source_content_type":"text/x-python","patch_set":13,"id":"a2fb53a9_1de73989","line":344,"range":{"start_line":344,"start_character":53,"end_line":344,"end_character":60},"updated":"2025-05-30 18:02:33.000000000","message":"we could pass this value as an argument too I think.\nit is ok to move to the future ab it, I remember that Prometheus doesn\u0027t accept data if is too much in the future.","commit_id":"334109a18e5e66b14d13ae8c1ef5b4f9079a3639"},{"author":{"_account_id":28647,"name":"David","display_name":"morenod","email":"dsanzmor@redhat.com","username":"morenod"},"change_message_id":"ba25ef58789a1a7b6fc140274f0c65ed5f8cf136","unresolved":false,"context_lines":[{"line_number":341,"context_line":""},{"line_number":342,"context_line":"    def _make_measures_host(self, measures_count, time_step, min\u003d10, max\u003d20):"},{"line_number":343,"context_line":"        measures_body \u003d []"},{"line_number":344,"context_line":"        now \u003d datetime.now(timezone.utc) + timedelta(minutes\u003d2)"},{"line_number":345,"context_line":"        for i in range(0, measures_count):"},{"line_number":346,"context_line":"            dt \u003d now - timedelta(minutes\u003di * time_step)"},{"line_number":347,"context_line":"            measures_body.append("}],"source_content_type":"text/x-python","patch_set":13,"id":"714d6ac9_1b23a590","line":344,"range":{"start_line":344,"start_character":53,"end_line":344,"end_character":60},"in_reply_to":"273cf2aa_53045778","updated":"2025-06-03 14:56:32.000000000","message":"Acknowledged","commit_id":"334109a18e5e66b14d13ae8c1ef5b4f9079a3639"},{"author":{"_account_id":28647,"name":"David","display_name":"morenod","email":"dsanzmor@redhat.com","username":"morenod"},"change_message_id":"7bcad20e98715b86c122c4af38d513b590d82d3f","unresolved":true,"context_lines":[{"line_number":341,"context_line":""},{"line_number":342,"context_line":"    def _make_measures_host(self, measures_count, time_step, min\u003d10, max\u003d20):"},{"line_number":343,"context_line":"        measures_body \u003d []"},{"line_number":344,"context_line":"        now \u003d datetime.now(timezone.utc) + timedelta(minutes\u003d2)"},{"line_number":345,"context_line":"        for i in range(0, measures_count):"},{"line_number":346,"context_line":"            dt \u003d now - timedelta(minutes\u003di * time_step)"},{"line_number":347,"context_line":"            measures_body.append("}],"source_content_type":"text/x-python","patch_set":13,"id":"583bd1dc_01ca12a3","line":344,"range":{"start_line":344,"start_character":53,"end_line":344,"end_character":60},"in_reply_to":"2ccc3ed7_c171033e","updated":"2025-06-03 14:29:59.000000000","message":"this function is only being used when backend is gnocchi. when working with prometheus we havent detected this kind of issues, probably because of the way prometheus calculates the mean","commit_id":"334109a18e5e66b14d13ae8c1ef5b4f9079a3639"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"51e4cdfa984b05e8f265a285ab3f00849bf0f0d5","unresolved":true,"context_lines":[{"line_number":341,"context_line":""},{"line_number":342,"context_line":"    def _make_measures_host(self, measures_count, time_step, min\u003d10, max\u003d20):"},{"line_number":343,"context_line":"        measures_body \u003d []"},{"line_number":344,"context_line":"        now \u003d datetime.now(timezone.utc) + timedelta(minutes\u003d2)"},{"line_number":345,"context_line":"        for i in range(0, measures_count):"},{"line_number":346,"context_line":"            dt \u003d now - timedelta(minutes\u003di * time_step)"},{"line_number":347,"context_line":"            measures_body.append("}],"source_content_type":"text/x-python","patch_set":13,"id":"273cf2aa_53045778","line":344,"range":{"start_line":344,"start_character":53,"end_line":344,"end_character":60},"in_reply_to":"583bd1dc_01ca12a3","updated":"2025-06-03 14:41:04.000000000","message":"ah its only called form make_host_statistic_gnocchi\n\nif this is not generic it should be suffixed with the backend that uses it.\n\ni was expecting it to be used by make_host_statistic_prometheus as well\n\ni guess we can proceed with this for now and we can revist if we should make this configureable.\n\nif we need to tweak these value again for gnoicci please fator them out to config options.","commit_id":"334109a18e5e66b14d13ae8c1ef5b4f9079a3639"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ecd570210d28d7fe13743b7ad79c5466c8e8f40a","unresolved":true,"context_lines":[{"line_number":341,"context_line":""},{"line_number":342,"context_line":"    def _make_measures_host(self, measures_count, time_step, min\u003d10, max\u003d20):"},{"line_number":343,"context_line":"        measures_body \u003d []"},{"line_number":344,"context_line":"        now \u003d datetime.now(timezone.utc) + timedelta(minutes\u003d2)"},{"line_number":345,"context_line":"        for i in range(0, measures_count):"},{"line_number":346,"context_line":"            dt \u003d now - timedelta(minutes\u003di * time_step)"},{"line_number":347,"context_line":"            measures_body.append("}],"source_content_type":"text/x-python","patch_set":13,"id":"2ccc3ed7_c171033e","line":344,"range":{"start_line":344,"start_character":53,"end_line":344,"end_character":60},"in_reply_to":"a2fb53a9_1de73989","updated":"2025-06-03 14:14:45.000000000","message":"i tend to agree.\nthis feel perhaps a bit too backend specific ot do genericly \n\ni feel like we may only want to do this for the gnocci backend.\nwe can perhaps add an offset value as a kwarg,\n\nwhat may be better is to make this a config option and default it to None or 0\nthen in the gnocci job set it to the relevent offset in seconds.\n\ni also wonder if the time_span we generate metrics for should be configurable.\n\n5mins or 300 seconds may be a reasonable default but for ci we may need to adjust based on the perfromaceof the vms.","commit_id":"334109a18e5e66b14d13ae8c1ef5b4f9079a3639"}]}
