)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"2fea167377c3a0900b2c7b929b3c6eae9cbd379f","unresolved":true,"context_lines":[{"line_number":18,"context_line":"https://github.com/openstack/watcher/blob/16131e5cac7149f07ea02387bf7ab9dabc9e1290/watcher/decision_engine/datasources/prometheus.py#L320-L322"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: I825134877088230197fb3b2f64fb437baa0f37bb"},{"line_number":21,"context_line":"Resolves: https://bugs.launchpad.net/watcher-tempest-plugin/+bug/2115408"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"25a76b28_22e1e16a","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":72},"updated":"2025-06-30 08:57:31.000000000","message":"It should be\n```\nCloses-Bug: #2115408\n```","commit_id":"1c60be8443d5be7e91972dea3b4cea7af05ca017"},{"author":{"_account_id":28647,"name":"David","display_name":"morenod","email":"dsanzmor@redhat.com","username":"morenod"},"change_message_id":"53f03b604391811409694c1ff1712f397af46f5c","unresolved":false,"context_lines":[{"line_number":18,"context_line":"https://github.com/openstack/watcher/blob/16131e5cac7149f07ea02387bf7ab9dabc9e1290/watcher/decision_engine/datasources/prometheus.py#L320-L322"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: I825134877088230197fb3b2f64fb437baa0f37bb"},{"line_number":21,"context_line":"Resolves: https://bugs.launchpad.net/watcher-tempest-plugin/+bug/2115408"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"9bdc450e_6cad1889","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":72},"in_reply_to":"25a76b28_22e1e16a","updated":"2025-06-30 08:59:32.000000000","message":"Acknowledged","commit_id":"1c60be8443d5be7e91972dea3b4cea7af05ca017"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"5bc1b82f34433fa5533a462a3c9b17f292e3aada","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"48d4048a_a4ec2174","updated":"2025-06-30 06:48:43.000000000","message":"There are techniques in prometheus to make queries handle better timestamps misalignment (see https://prometheus.io/docs/prometheus/latest/querying/operators/ and https://notes.kodekloud.com/docs/Prometheus-Certified-Associate-PCA/PromQL/Vector-Matching ), however, for the CI case, I\u0027m in favor of making injected metrics as close as possible to the real ones as done in this patch by aligning timestamps, instead of modifying the queries in the driver to cover this case.\n\nIn any case, we may consider if modifying the queries can be an improvement for cases out of CI as follow up.","commit_id":"1c60be8443d5be7e91972dea3b4cea7af05ca017"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"ea68cc100a3ca17bed309f79cdf27176c24f5a4e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"4da83215_a8336177","updated":"2025-06-30 07:49:07.000000000","message":"tested with the operator in https://logserver.rdoproject.org/a02/rdoproject.org/a02852f1684a459d8c26d357a4c5200d/controller/ci-framework-data/tests/test_operator/tempest-tests-tempest/stestr_results.html","commit_id":"1c60be8443d5be7e91972dea3b4cea7af05ca017"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"d6992bc99c34503bcbeb0e9696c17cf4598afb3a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"ee5b8eb2_75a45a54","in_reply_to":"400fbaa5_e51cb169","updated":"2025-06-30 10:23:27.000000000","message":"+1 thank you for adding this improvement.","commit_id":"1c60be8443d5be7e91972dea3b4cea7af05ca017"},{"author":{"_account_id":28647,"name":"David","display_name":"morenod","email":"dsanzmor@redhat.com","username":"morenod"},"change_message_id":"0c2452f1b040f1ff63afabd2619a37a87222ba13","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"400fbaa5_e51cb169","in_reply_to":"48d4048a_a4ec2174","updated":"2025-06-30 07:27:22.000000000","message":"I agree on patching watcher queries to protect the product on future issues related to metrics injections.\n\nThis patch help us to simulate the real prometheus scraping process, as it sets the same timestamp on all the metrics on each scrap","commit_id":"1c60be8443d5be7e91972dea3b4cea7af05ca017"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"201e743881d34a9ef4225464d658f593b543915f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"dcb85650_10bc3288","updated":"2025-06-30 11:57:42.000000000","message":"LGTM, total host ram looks correct in prometheus job:\n\n```\nJun 30 09:50:37.919285 np0041273080 watcher-decision-engine[100605]: DEBUG urllib3.connectionpool [None req-28012c30-e9b5-4afe-a314-57a792a221b6 None None] http://127.0.0.1:9090 \"GET /api/v1/query?query\u003d%28node_memory_MemTotal_bytes%7Bfqdn%3D%27np0041273080%27%7D+-+avg_over_time%28node_memory_MemAvailable_bytes%7Bfqdn%3D%27np0041273080%27%7D%5B300s%5D%29%29+%2F+1024 HTTP/1.1\" 200 328 {{(pid\u003d100605) _make_request /opt/stack/data/venv/lib/python3.12/site-packages/urllib3/connectionpool.py:475}}\nJun 30 09:50:37.920045 np0041273080 watcher-decision-engine[100605]: DEBUG watcher.decision_engine.strategy.strategies.vm_workload_consolidation [None req-28012c30-e9b5-4afe-a314-57a792a221b6 None None] node utilization: ComputeNode(disabled_reason\u003dNone,disk\u003d74,disk_gb_reserved\u003d0,disk_ratio\u003d1.0,hostname\u003d\u0027np0041273080\u0027,memory\u003d7939,memory_mb_reserved\u003d512,memory_ratio\u003d1.0,state\u003d\u0027up\u0027,status\u003d\u0027enabled\u0027,uuid\u003d\u002780b2dccd-869d-4f6c-97fc-04fc2bac6711\u0027,vcpu_ratio\u003d4.0,vcpu_reserved\u003d0,vcpus\u003d8). total instance cpu: 0.46556545901494756, total instance ram: 39.653125, total instance disk: 1.0, total host cpu: 0, total host ram: 7125.2859375, node delta usage: defaultdict(\u003cclass \u0027int\u0027\u003e, {\u0027ram\u0027: 0}). {{(pid\u003d100605) get_node_utilization /opt/stack/watcher/watcher/decision_engine/strategy/strategies/vm_workload_consolidation.py:360}}\n```","commit_id":"00b6656251659505da894b7dd9d52fc260987a6f"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"4c42ca1f6529b70330bfc678af627d7dbcc2c418","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"5263e028_b4a600ca","updated":"2025-06-30 09:41:48.000000000","message":"check-rdo","commit_id":"00b6656251659505da894b7dd9d52fc260987a6f"}],"watcher_tempest_plugin/tests/scenario/base.py":[{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"820a08ef322e308aff259624abbcbee7516434c2","unresolved":true,"context_lines":[{"line_number":743,"context_line":"                    \"instance\": instance,"},{"line_number":744,"context_line":"                    \"fqdn\": h[\u0027hypervisor_hostname\u0027],"},{"line_number":745,"context_line":"                }"},{"line_number":746,"context_line":"                mem_total_mb \u003d int(h[\u0027memory_mb\u0027])"},{"line_number":747,"context_line":"                # metric is node_memory_MemTotal_bytes which is in bytes"},{"line_number":748,"context_line":"                mem_total_bytes \u003d mem_total_mb * 1024 * 1024"},{"line_number":749,"context_line":"                ram_total_data \u003d self._generate_prometheus_metrics("}],"source_content_type":"text/x-python","patch_set":2,"id":"78a65164_8095791c","line":746,"updated":"2025-06-27 01:04:02.000000000","message":"By taking a look at node_memory_MemAvailable_bytes metric there we are adding load \n```\nload \u003d 0.8 if h[\u0027hypervisor_hostname\u0027] in loaded_hosts else 0.1\n                mem_available_mb \u003d int(h[\u0027memory_mb\u0027] * (1 - load))\n```\nDoes not we need something similar to add variation for node_memory_MemTotal_bytes so that standard delivation does not come zero.\n\nWhat do you say?","commit_id":"e832f26a469f24c3931e5af9e541b9a94885d07d"},{"author":{"_account_id":28647,"name":"David","display_name":"morenod","email":"dsanzmor@redhat.com","username":"morenod"},"change_message_id":"4d3ba1be27c0d47201f80af236805f506d0798bd","unresolved":true,"context_lines":[{"line_number":743,"context_line":"                    \"instance\": instance,"},{"line_number":744,"context_line":"                    \"fqdn\": h[\u0027hypervisor_hostname\u0027],"},{"line_number":745,"context_line":"                }"},{"line_number":746,"context_line":"                mem_total_mb \u003d int(h[\u0027memory_mb\u0027])"},{"line_number":747,"context_line":"                # metric is node_memory_MemTotal_bytes which is in bytes"},{"line_number":748,"context_line":"                mem_total_bytes \u003d mem_total_mb * 1024 * 1024"},{"line_number":749,"context_line":"                ram_total_data \u003d self._generate_prometheus_metrics("}],"source_content_type":"text/x-python","patch_set":2,"id":"a0213203_4ab24965","line":746,"in_reply_to":"78a65164_8095791c","updated":"2025-06-27 07:18:05.000000000","message":"the metric node_memory_MemTotal_bytes do not vary, it is always the same","commit_id":"e832f26a469f24c3931e5af9e541b9a94885d07d"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"3060501a5a723b67475a5943304680dd298724a8","unresolved":false,"context_lines":[{"line_number":743,"context_line":"                    \"instance\": instance,"},{"line_number":744,"context_line":"                    \"fqdn\": h[\u0027hypervisor_hostname\u0027],"},{"line_number":745,"context_line":"                }"},{"line_number":746,"context_line":"                mem_total_mb \u003d int(h[\u0027memory_mb\u0027])"},{"line_number":747,"context_line":"                # metric is node_memory_MemTotal_bytes which is in bytes"},{"line_number":748,"context_line":"                mem_total_bytes \u003d mem_total_mb * 1024 * 1024"},{"line_number":749,"context_line":"                ram_total_data \u003d self._generate_prometheus_metrics("}],"source_content_type":"text/x-python","patch_set":2,"id":"fd6c01bf_04b2aa50","line":746,"in_reply_to":"a0213203_4ab24965","updated":"2025-06-27 08:48:21.000000000","message":"Acknowledged","commit_id":"e832f26a469f24c3931e5af9e541b9a94885d07d"}]}
