)]}'
{".zuul.yaml":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"e7e06670484b50424781785c394412913255b462","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"3543a175_973dc342","in_reply_to":"209a4883_affcce01","updated":"2025-11-13 17:19:03.000000000","message":"\u003e Standardize timeout configurations across similar jobs - (Severity: suggestion, Confidence: 0.6) | Recommendation: Consider using consistent timeout values for similar multinode jobs\n\nby the way i realsised tha tthis is operatatin gon the merge commit that is generated form applying your change to master\n\nso the line number are off as a result.\n\nalso it snot inclduing all of the  context in the comments that i has in teh html report.\n\nso i shoudl be able to fix both of those things and improve the review output a bit btu i might disable the inline reporting for a week or two until i have time to work on that\n\n\nthe full commet was \n\n```\n[severity: suggestion] Standardize timeout configurations across similar jobs - Confidence: 0.6\nLocation: .zuul.yaml:92,161\nBenefit: More predictable CI execution times\nRecommendation: Consider using consistent timeout values for similar multinode jobs\n```\nhttps://minio-api.teim.app/zuul-logs/275/main/27591fc4d9884d6395bc3964be4b5ae3/code-review/review-report.html","commit_id":"9b62c731a5d2b3f9c8a58a852450a330e01b53b1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"e7e06670484b50424781785c394412913255b462","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"bec49b94_856cf4b8","in_reply_to":"2871ca79_df0e19c9","updated":"2025-11-13 17:19:03.000000000","message":"\u003e Typo in irrelevant-files variable name - (Severity: warning, Confidence: 0.9)\n\nso for example this is apprently `.zuul.yaml:138 (previous version)`","commit_id":"9b62c731a5d2b3f9c8a58a852450a330e01b53b1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"da65b963d14cf564a9f9b8686ced287afe366d0a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"b72cc6e4_fdc2e72b","in_reply_to":"bec49b94_856cf4b8","updated":"2025-11-13 23:17:39.000000000","message":"Done","commit_id":"9b62c731a5d2b3f9c8a58a852450a330e01b53b1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"e7e06670484b50424781785c394412913255b462","unresolved":true,"context_lines":[{"line_number":89,"context_line":"    description: |"},{"line_number":90,"context_line":"      Watcher single node devstack tempest base job template."},{"line_number":91,"context_line":"    abstract: true"},{"line_number":92,"context_line":"    timeout: 7200"},{"line_number":93,"context_line":"    required-projects: \u0026tempest_base_required_projects"},{"line_number":94,"context_line":"      - openstack/ceilometer"},{"line_number":95,"context_line":"      - openstack/python-openstackclient"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"886464ed_a2f1dd8d","line":92,"updated":"2025-11-13 17:19:03.000000000","message":"so here it sees we are seting a timeout of 7200","commit_id":"9b62c731a5d2b3f9c8a58a852450a330e01b53b1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"e7e06670484b50424781785c394412913255b462","unresolved":true,"context_lines":[{"line_number":135,"context_line":"    vars:"},{"line_number":136,"context_line":"      \u003c\u003c: *tempest_base_vars"},{"line_number":137,"context_line":"      tempest_test_regex: watcher_tempest_plugin.tests.api"},{"line_number":138,"context_line":"    irrelevant-files: \u0026irrelevant_files"},{"line_number":139,"context_line":"      - ^(test-|)requirements.txt$"},{"line_number":140,"context_line":"      - ^.*\\.rst$"},{"line_number":141,"context_line":"      - ^api-ref/.*$"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"7f640793_4b830620","line":138,"updated":"2025-11-13 17:19:03.000000000","message":"so yes `\u0026irrelevent_files` was renamed to  `\u0026irrelevant_files`\nfixing the typo.\n\nit reproted the warning as `.zuul.yaml:138 (previous version)`\n```\n[severity: warning] Typo in irrelevant-files variable name - Confidence: 0.9\nLocation: .zuul.yaml:138 (previous version)\nImpact: Variable name consistency in YAML aliases\nSuggestion: The variable was named irrelevent_files (misspelled) and corrected to irrelevant_files\n```\n\nwhat it missed is that you fixed the error\n\nits correct to highlight that there was a spelling error but it shoudl not have flagged it as a warning as you ver fixing it.","commit_id":"9b62c731a5d2b3f9c8a58a852450a330e01b53b1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"da65b963d14cf564a9f9b8686ced287afe366d0a","unresolved":false,"context_lines":[{"line_number":135,"context_line":"    vars:"},{"line_number":136,"context_line":"      \u003c\u003c: *tempest_base_vars"},{"line_number":137,"context_line":"      tempest_test_regex: watcher_tempest_plugin.tests.api"},{"line_number":138,"context_line":"    irrelevant-files: \u0026irrelevant_files"},{"line_number":139,"context_line":"      - ^(test-|)requirements.txt$"},{"line_number":140,"context_line":"      - ^.*\\.rst$"},{"line_number":141,"context_line":"      - ^api-ref/.*$"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"23aad19e_b5eb4283","line":138,"in_reply_to":"7f640793_4b830620","updated":"2025-11-13 23:17:39.000000000","message":"Acknowledged","commit_id":"9b62c731a5d2b3f9c8a58a852450a330e01b53b1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"e7e06670484b50424781785c394412913255b462","unresolved":true,"context_lines":[{"line_number":149,"context_line":""},{"line_number":150,"context_line":"- job:"},{"line_number":151,"context_line":"    name: watcher-tempest-prometheus"},{"line_number":152,"context_line":"    parent: devstack-tempest"},{"line_number":153,"context_line":"    nodeset: openstack-two-node-noble"},{"line_number":154,"context_line":"    description: |"},{"line_number":155,"context_line":"      Watcher multinode devstack tempest job with Prometheus as datasource."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"635162ad_a974a143","line":152,"updated":"2025-11-13 17:19:03.000000000","message":"but here we are not inheritign form watcher-tempest-base (we shoudl be)","commit_id":"9b62c731a5d2b3f9c8a58a852450a330e01b53b1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"da65b963d14cf564a9f9b8686ced287afe366d0a","unresolved":false,"context_lines":[{"line_number":149,"context_line":""},{"line_number":150,"context_line":"- job:"},{"line_number":151,"context_line":"    name: watcher-tempest-prometheus"},{"line_number":152,"context_line":"    parent: devstack-tempest"},{"line_number":153,"context_line":"    nodeset: openstack-two-node-noble"},{"line_number":154,"context_line":"    description: |"},{"line_number":155,"context_line":"      Watcher multinode devstack tempest job with Prometheus as datasource."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"185608ff_9be9e10a","line":152,"in_reply_to":"635162ad_a974a143","updated":"2025-11-13 23:17:39.000000000","message":"Done","commit_id":"9b62c731a5d2b3f9c8a58a852450a330e01b53b1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"e7e06670484b50424781785c394412913255b462","unresolved":true,"context_lines":[{"line_number":158,"context_line":"    pre-run:"},{"line_number":159,"context_line":"      - playbooks/generate_prometheus_config.yml"},{"line_number":160,"context_line":"    irrelevant-files: *irrelevant_files"},{"line_number":161,"context_line":"    timeout: 7800"},{"line_number":162,"context_line":"    required-projects: \u0026base_sg_required_projects"},{"line_number":163,"context_line":"      - openstack/aodh"},{"line_number":164,"context_line":"      - openstack/ceilometer"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"1df284af_23390c3a","line":161,"updated":"2025-11-13 17:19:03.000000000","message":"and then settign a diffent timeout\n\n7200 vs 7800\n\nnow in both case this is too long\n\nthe normal runtim of thie job is less then 2 hours so 7200 is more correct then 7800\n\nand idealy we woudl be clsoer to 90 mins but its often good to give 50% headroom in the tiem outs\n\nso i agree with the ai here we shoudl standardiz ethis but we shoudl also do that by having this inherit form watcher-tempest-base and removing the defintion of tiemout here.","commit_id":"9b62c731a5d2b3f9c8a58a852450a330e01b53b1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"da65b963d14cf564a9f9b8686ced287afe366d0a","unresolved":false,"context_lines":[{"line_number":158,"context_line":"    pre-run:"},{"line_number":159,"context_line":"      - playbooks/generate_prometheus_config.yml"},{"line_number":160,"context_line":"    irrelevant-files: *irrelevant_files"},{"line_number":161,"context_line":"    timeout: 7800"},{"line_number":162,"context_line":"    required-projects: \u0026base_sg_required_projects"},{"line_number":163,"context_line":"      - openstack/aodh"},{"line_number":164,"context_line":"      - openstack/ceilometer"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"7abac831_7542bb9c","line":161,"in_reply_to":"1df284af_23390c3a","updated":"2025-11-13 23:17:39.000000000","message":"Done","commit_id":"9b62c731a5d2b3f9c8a58a852450a330e01b53b1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"e7e06670484b50424781785c394412913255b462","unresolved":true,"context_lines":[{"line_number":337,"context_line":"        \u0027SYSTEMD_ENV_VARS[\"watcher-decision-engine\"]\u0027: OS_WATCHER_DISABLE_EVENTLET_PATCHING\u003dtrue"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"- job:"},{"line_number":340,"context_line":"    name: openstack-tox-py312-threading"},{"line_number":341,"context_line":"    parent: openstack-tox-py312"},{"line_number":342,"context_line":"    description: |"},{"line_number":343,"context_line":"      Run tox with the py3-threading environment."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"1a8c915d_4a1ce9ed","line":340,"in_reply_to":"525ba29e_c42a8177","updated":"2025-11-13 17:19:03.000000000","message":"\u003e Consider adding job descriptions for better maintainability - (Severity: suggestion, Confidence: 0.7) | Recommendation: Add consistent description fields to watcher-tempest-prometheus-threading job\n\nagain here its the wrong location since it usign the location form the merge commit geernate by apply this to master\n\n```\n[severity: suggestion] Consider adding job descriptions for better maintainability - Confidence: 0.7\nLocation: .zuul.yaml:340-345\nBenefit: Improves CI job documentation and understanding for future maintainers\nRecommendation: Add consistent description fields to watcher-tempest-prometheus-threading job\n```\n\ni think however this may have really been a coment on watcher-tempest-functional\n\nas it is the only one that does not have a description","commit_id":"9b62c731a5d2b3f9c8a58a852450a330e01b53b1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"e7e06670484b50424781785c394412913255b462","unresolved":true,"context_lines":[{"line_number":354,"context_line":"    group-vars: *realdata_group_vars"},{"line_number":355,"context_line":""},{"line_number":356,"context_line":"# NOTE(dviroel): This is a temporary job until we update other projects"},{"line_number":357,"context_line":"# TODO(dviroel): Remove this job when we update other projects"},{"line_number":358,"context_line":"- job:"},{"line_number":359,"context_line":"    name: watcher-tempest-functional"},{"line_number":360,"context_line":"    parent: watcher-tempest-base"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"a5c9c0f5_20e24180","line":357,"in_reply_to":"233edbb6_88a71043","updated":"2025-11-13 17:19:03.000000000","message":"the full message for this was\n\n[severity: warning] Temporary job without clear removal timeline - Confidence: 0.8\nLocation: .zuul.yaml:357-363\nImpact: Technical debt maintenance\nSuggestion: Add explicit timeline or create a tracking bug for removal of watcher-tempest-functional job\n\nhere is an exampel fo not including all the relevnet context i.e. the Suggestion and impact in the comment\n\n\nmy feedback on tis is we only need the TODO not the note\n\nand i shoudl update the gudance for the code revew to not expect timelines for resolving todos or bugs.\n\na request for a bug might be more relevent for a fixme but not strictly required.","commit_id":"9b62c731a5d2b3f9c8a58a852450a330e01b53b1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"da65b963d14cf564a9f9b8686ced287afe366d0a","unresolved":false,"context_lines":[{"line_number":354,"context_line":"    group-vars: *realdata_group_vars"},{"line_number":355,"context_line":""},{"line_number":356,"context_line":"# NOTE(dviroel): This is a temporary job until we update other projects"},{"line_number":357,"context_line":"# TODO(dviroel): Remove this job when we update other projects"},{"line_number":358,"context_line":"- job:"},{"line_number":359,"context_line":"    name: watcher-tempest-functional"},{"line_number":360,"context_line":"    parent: watcher-tempest-base"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"dee37501_9a49e659","line":357,"in_reply_to":"a5c9c0f5_20e24180","updated":"2025-11-13 23:17:39.000000000","message":"Done","commit_id":"9b62c731a5d2b3f9c8a58a852450a330e01b53b1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"39baf93b8415ec45ecbd3607b5cb81a6ac470abc","unresolved":true,"context_lines":[{"line_number":150,"context_line":""},{"line_number":151,"context_line":"- job:"},{"line_number":152,"context_line":"    name: watcher-tempest-prometheus"},{"line_number":153,"context_line":"    parent: devstack-tempest-base"},{"line_number":154,"context_line":"    nodeset: openstack-two-node-noble"},{"line_number":155,"context_line":"    description: |"},{"line_number":156,"context_line":"      Watcher multinode devstack tempest job with Prometheus as datasource."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"0da5c02b_5916b787","line":153,"range":{"start_line":153,"start_character":12,"end_line":153,"end_character":20},"updated":"2025-11-13 18:05:48.000000000","message":"watcher","commit_id":"099eebe542ae2c09fa6b28bf49a25e665d4c0704"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"f1b21676bc3fb86109fdd88abc3716fc63511f9f","unresolved":true,"context_lines":[{"line_number":150,"context_line":""},{"line_number":151,"context_line":"- job:"},{"line_number":152,"context_line":"    name: watcher-tempest-prometheus"},{"line_number":153,"context_line":"    parent: devstack-tempest-base"},{"line_number":154,"context_line":"    nodeset: openstack-two-node-noble"},{"line_number":155,"context_line":"    description: |"},{"line_number":156,"context_line":"      Watcher multinode devstack tempest job with Prometheus as datasource."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"25f5706c_0bab649b","line":153,"range":{"start_line":153,"start_character":12,"end_line":153,"end_character":20},"in_reply_to":"0da5c02b_5916b787","updated":"2025-11-13 18:07:03.000000000","message":"ah!","commit_id":"099eebe542ae2c09fa6b28bf49a25e665d4c0704"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"da65b963d14cf564a9f9b8686ced287afe366d0a","unresolved":false,"context_lines":[{"line_number":150,"context_line":""},{"line_number":151,"context_line":"- job:"},{"line_number":152,"context_line":"    name: watcher-tempest-prometheus"},{"line_number":153,"context_line":"    parent: devstack-tempest-base"},{"line_number":154,"context_line":"    nodeset: openstack-two-node-noble"},{"line_number":155,"context_line":"    description: |"},{"line_number":156,"context_line":"      Watcher multinode devstack tempest job with Prometheus as datasource."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3e1956ab_c53d3f6d","line":153,"range":{"start_line":153,"start_character":12,"end_line":153,"end_character":20},"in_reply_to":"25f5706c_0bab649b","updated":"2025-11-13 23:17:39.000000000","message":"Done","commit_id":"099eebe542ae2c09fa6b28bf49a25e665d4c0704"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"da65b963d14cf564a9f9b8686ced287afe366d0a","unresolved":false,"context_lines":[{"line_number":148,"context_line":"      - ^tools/.*$"},{"line_number":149,"context_line":"      - ^tox.ini$"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"- job:"},{"line_number":152,"context_line":"    name: watcher-tempest-prometheus"},{"line_number":153,"context_line":"    parent: devstack-tempest-base"},{"line_number":154,"context_line":"    nodeset: openstack-two-node-noble"},{"line_number":155,"context_line":"    description: |"},{"line_number":156,"context_line":"      Watcher multinode devstack tempest job with Prometheus as datasource."},{"line_number":157,"context_line":"      This job uses fake metrics injection and does not require ceilometer-acompute"},{"line_number":158,"context_line":"      and node_exporter to be enabled."},{"line_number":159,"context_line":"    pre-run:"},{"line_number":160,"context_line":"      - playbooks/generate_prometheus_config.yml"},{"line_number":161,"context_line":"    irrelevant-files: *irrelevant_files"},{"line_number":162,"context_line":"    required-projects:"},{"line_number":163,"context_line":"      - openstack/aodh"},{"line_number":164,"context_line":"      - openstack-k8s-operators/sg-core"},{"line_number":165,"context_line":"      - openstack/devstack-plugin-prometheus"},{"line_number":166,"context_line":"    vars:"},{"line_number":167,"context_line":"      configure_swap_size: 8192"},{"line_number":168,"context_line":"      devstack_plugins:"},{"line_number":169,"context_line":"        aodh: https://opendev.org/openstack/aodh"},{"line_number":170,"context_line":"        sg-core: https://github.com/openstack-k8s-operators/sg-core"},{"line_number":171,"context_line":"        devstack-plugin-prometheus: https://opendev.org/openstack/devstack-plugin-prometheus"},{"line_number":172,"context_line":"      devstack_services:"},{"line_number":173,"context_line":"        ceilometer-acompute: false"},{"line_number":174,"context_line":"        tempest: true"},{"line_number":175,"context_line":"        # Prometheus related service"},{"line_number":176,"context_line":"        prometheus: true"},{"line_number":177,"context_line":"        # Node exporter service is disable since job uses fake metrics injection"},{"line_number":178,"context_line":"        node_exporter: false"},{"line_number":179,"context_line":"      devstack_localrc:"},{"line_number":180,"context_line":"        CEILOMETER_BACKENDS: \"sg-core\""},{"line_number":181,"context_line":"        CEILOMETER_PIPELINE_INTERVAL: 15"},{"line_number":182,"context_line":"        CEILOMETER_ALARM_THRESHOLD: 6000000000"},{"line_number":183,"context_line":"        PROMETHEUS_CONFIG_FILE: \"/home/zuul/prometheus.yml\""},{"line_number":184,"context_line":"      devstack_local_conf:"},{"line_number":185,"context_line":"        post-config:"},{"line_number":186,"context_line":"          $WATCHER_CONF: \u0026watcher_conf_prom"},{"line_number":187,"context_line":"            DEFAULT:"},{"line_number":188,"context_line":"              print_thread_pool_stats: true"},{"line_number":189,"context_line":"            watcher_datasources:"},{"line_number":190,"context_line":"              datasources: prometheus"},{"line_number":191,"context_line":"            prometheus_client:"},{"line_number":192,"context_line":"              host: \"{{ hostvars[\u0027controller\u0027][\u0027nodepool\u0027][\u0027private_ipv4\u0027] }}\""},{"line_number":193,"context_line":"              port: 9090"},{"line_number":194,"context_line":"            watcher_cluster_data_model_collectors.compute:"},{"line_number":195,"context_line":"              period: 120"},{"line_number":196,"context_line":"            watcher_cluster_data_model_collectors.baremetal:"},{"line_number":197,"context_line":"              period: 120"},{"line_number":198,"context_line":"            watcher_cluster_data_model_collectors.storage:"},{"line_number":199,"context_line":"              period: 120"},{"line_number":200,"context_line":"            compute_model:"},{"line_number":201,"context_line":"              enable_extended_attributes: true"},{"line_number":202,"context_line":"            nova_client:"},{"line_number":203,"context_line":"              api_version: \"2.96\""},{"line_number":204,"context_line":"        test-config:"},{"line_number":205,"context_line":"          $TEMPEST_CONFIG:"},{"line_number":206,"context_line":"            compute:"},{"line_number":207,"context_line":"              min_compute_nodes: 2"},{"line_number":208,"context_line":"              min_microversion: 2.56"},{"line_number":209,"context_line":"            compute-feature-enabled:"},{"line_number":210,"context_line":"              live_migration: true"},{"line_number":211,"context_line":"              block_migration_for_live_migration: true"},{"line_number":212,"context_line":"            placement:"},{"line_number":213,"context_line":"              min_microversion: 1.29"},{"line_number":214,"context_line":"            service_available:"},{"line_number":215,"context_line":"              sg_core: True"},{"line_number":216,"context_line":"            telemetry_services:"},{"line_number":217,"context_line":"              metric_backends: prometheus"},{"line_number":218,"context_line":"            telemetry:"},{"line_number":219,"context_line":"              disable_ssl_certificate_validation: True"},{"line_number":220,"context_line":"              ceilometer_polling_interval: 15"},{"line_number":221,"context_line":"            optimize:"},{"line_number":222,"context_line":"              datasource: prometheus"},{"line_number":223,"context_line":"              extended_attributes_nova_microversion: \"2.96\""},{"line_number":224,"context_line":"              data_model_collectors_period: 120"},{"line_number":225,"context_line":"              run_continuous_audit_tests: true"},{"line_number":226,"context_line":"      tempest_test_regex: watcher_tempest_plugin.tests\\.(api|scenario)"},{"line_number":227,"context_line":"      # excluding tests with tag \"real_load\""},{"line_number":228,"context_line":"      tempest_exclude_regex: .*\\[.*\\breal_load\\b.*\\].*"},{"line_number":229,"context_line":"      tempest_concurrency: 1"},{"line_number":230,"context_line":"      zuul_copy_output:"},{"line_number":231,"context_line":"        /etc/prometheus/prometheus.yml: logs"},{"line_number":232,"context_line":"    group-vars:"},{"line_number":233,"context_line":"      subnode:"},{"line_number":234,"context_line":"        devstack_plugins:"},{"line_number":235,"context_line":"          ceilometer: https://opendev.org/openstack/ceilometer"},{"line_number":236,"context_line":"          devstack-plugin-prometheus: https://opendev.org/openstack/devstack-plugin-prometheus"},{"line_number":237,"context_line":"          watcher: https://opendev.org/openstack/watcher"},{"line_number":238,"context_line":"        devstack_services:"},{"line_number":239,"context_line":"          ceilometer-acompute: false"},{"line_number":240,"context_line":"          sg-core: false"},{"line_number":241,"context_line":"          prometheus: false"},{"line_number":242,"context_line":"          node_exporter: false"},{"line_number":243,"context_line":"          watcher-api: false"},{"line_number":244,"context_line":"          watcher-applier: false"},{"line_number":245,"context_line":"          watcher-decision-engine: true"},{"line_number":246,"context_line":"        devstack_localrc:"},{"line_number":247,"context_line":"          CEILOMETER_BACKEND: \"none\""},{"line_number":248,"context_line":"          CEILOMETER_BACKENDS: \"none\""},{"line_number":249,"context_line":"        devstack_local_conf:"},{"line_number":250,"context_line":"          post-config:"},{"line_number":251,"context_line":"            $WATCHER_CONF: *watcher_conf_prom"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"- job:"},{"line_number":254,"context_line":"    name: watcher-tempest-aetos"},{"line_number":255,"context_line":"    parent: watcher-tempest-prometheus"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"68336823_9fd6a2e6","line":252,"range":{"start_line":151,"start_character":2,"end_line":252,"end_character":0},"in_reply_to":"7ea258c1_9b4b052a","updated":"2025-11-13 23:17:39.000000000","message":"\u003e Job devstack-tempest-base not defined\n\nfixed","commit_id":"099eebe542ae2c09fa6b28bf49a25e665d4c0704"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"da65b963d14cf564a9f9b8686ced287afe366d0a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"- job:"},{"line_number":2,"context_line":"    name: watcher-tempest-gnocchi"},{"line_number":3,"context_line":"    parent: watcher-tempest-base"},{"line_number":4,"context_line":"    description: |"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"089678f6_b260e637","line":1,"in_reply_to":"6a62bd4c_d3f11e05","updated":"2025-11-13 23:17:39.000000000","message":"no need this is only used within the watcher team\n\nwe coudl do this trivially we just define the old jobs with the new ones as there parent and no other change but we should only do that if its required for the other repos. watcher-tempest-functional is the only jopb that applies to i belive and you have already taken care fo that.","commit_id":"a2a55d44215b81d00425e4bf57a5729a5aeac8c0"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"da65b963d14cf564a9f9b8686ced287afe366d0a","unresolved":false,"context_lines":[{"line_number":6,"context_line":"      job uses fake metrics injection and does not requires ceilometer-acompute"},{"line_number":7,"context_line":"      to be enabled."},{"line_number":8,"context_line":"    nodeset: openstack-two-node-noble"},{"line_number":9,"context_line":"    roles:"},{"line_number":10,"context_line":"      - zuul: openstack/tempest"},{"line_number":11,"context_line":"    group-vars:"},{"line_number":12,"context_line":"      subnode:"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"eb648c3c_2e35e197","line":9,"in_reply_to":"d6145c32_2b752eaa","updated":"2025-11-13 23:17:39.000000000","message":"\u003e Standardize description formatting across all jobs - (Severity: suggestion, Confidence: 0.7) | Recommendation: Some job descriptions use line breaks while others don\u0027t. Standardize the description formatting for better readability in UI tools.\n\nno imporant","commit_id":"a2a55d44215b81d00425e4bf57a5729a5aeac8c0"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"da65b963d14cf564a9f9b8686ced287afe366d0a","unresolved":true,"context_lines":[{"line_number":47,"context_line":"        ceilometer-acentral: true"},{"line_number":48,"context_line":"        ceilometer-anotification: true"},{"line_number":49,"context_line":"      devstack_local_conf:"},{"line_number":50,"context_line":"        post-config:"},{"line_number":51,"context_line":"          $WATCHER_CONF:"},{"line_number":52,"context_line":"            DEFAULT:"},{"line_number":53,"context_line":"              print_thread_pool_stats: true"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"db7d1bbd_20b4400a","line":50,"in_reply_to":"28b9de0b_1567c94e","updated":"2025-11-13 23:17:39.000000000","message":"\u003e Potential performance impact with excessive service duplication in configuration - (Severity: warning, Confidence: 0.7)\n\nthis is \n```\n[severity: warning] Inconsistent service configuration patterns between similar jobs - Confidence: 0.8\nLocation: .zuul.yaml:33-41 and .zuul.yaml:173-178\nImpact: Configuration consistency\nSuggestion: The watcher-tempest-gnocchi job has inconsistent service disablement patterns compared to watcher-tempest-prometheus. Both use fake metrics injection but have different approaches to disabling ceilometer services. Standardize the approach for consistency.\n\n[severity: warning] Potential performance impact with excessive service duplication in configuration - Confidence: 0.7\nLocation: .zuul.yaml:50-65\nImpact: Performance\nSuggestion: The watcher-tempest-gnocchi job duplicates configuration sections (lines 15-21 repeated at lines 54-60). This redundancy could lead to maintenance issues and potential conflicts. Consider consolidating these configurations.\n\n[severity: warning] Missing validation for job inheritance chains - Confidence: 0.6\n```\n\nso basiclly its saying the colelctor coudl be a perforamce issues and there is a divergace in how we are maange celeimeter\n\nfor this job we are doing\n\n```\n       ceilometer-acompute: false\n        ceilometer-acentral: true\n        ceilometer-anotification: true\n```\nbut in watcher-tempest-prometheus\n\nwe just have  ceilometer-acompute: false\n\n```\n   ceilometer-acentral: true\n   ceilometer-anotification: true\n```\n\ncan just move to watcher-tempest-base\n\nmaybe even all 3 and we can insteadd edpcltiy enabel ceilometer-acompute\nonly in the real data job.","commit_id":"a2a55d44215b81d00425e4bf57a5729a5aeac8c0"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"da65b963d14cf564a9f9b8686ced287afe366d0a","unresolved":true,"context_lines":[{"line_number":48,"context_line":"        ceilometer-anotification: true"},{"line_number":49,"context_line":"      devstack_local_conf:"},{"line_number":50,"context_line":"        post-config:"},{"line_number":51,"context_line":"          $WATCHER_CONF:"},{"line_number":52,"context_line":"            DEFAULT:"},{"line_number":53,"context_line":"              print_thread_pool_stats: true"},{"line_number":54,"context_line":"            watcher_cluster_data_model_collectors.compute:"},{"line_number":55,"context_line":"              period: 120"},{"line_number":56,"context_line":"            watcher_cluster_data_model_collectors.baremetal:"},{"line_number":57,"context_line":"              period: 120"},{"line_number":58,"context_line":"            watcher_cluster_data_model_collectors.storage:"},{"line_number":59,"context_line":"              period: 120"},{"line_number":60,"context_line":"          $CINDER_CONF:"},{"line_number":61,"context_line":"            # enable notifications in compute node, by default they are only"},{"line_number":62,"context_line":"            # configured in the controller"},{"line_number":63,"context_line":"            oslo_messaging_notifications:"},{"line_number":64,"context_line":"              driver: messagingv2"},{"line_number":65,"context_line":"        test-config:"},{"line_number":66,"context_line":"          $TEMPEST_CONFIG:"},{"line_number":67,"context_line":"            compute:"},{"line_number":68,"context_line":"              min_compute_nodes: 2"},{"line_number":69,"context_line":"              min_microversion: 2.56"},{"line_number":70,"context_line":"            compute-feature-enabled:"},{"line_number":71,"context_line":"              live_migration: true"},{"line_number":72,"context_line":"              block_migration_for_live_migration: true"},{"line_number":73,"context_line":"            placement:"},{"line_number":74,"context_line":"              min_microversion: 1.29"},{"line_number":75,"context_line":"            telemetry:"},{"line_number":76,"context_line":"              ceilometer_polling_interval: 15"},{"line_number":77,"context_line":"            optimize:"},{"line_number":78,"context_line":"              run_continuous_audit_tests: true"},{"line_number":79,"context_line":"      devstack_plugins:"},{"line_number":80,"context_line":"        ceilometer: https://opendev.org/openstack/ceilometer"},{"line_number":81,"context_line":"      tempest_concurrency: 1"},{"line_number":82,"context_line":"      tempest_test_regex: watcher_tempest_plugin.tests\\.(api|scenario)"},{"line_number":83,"context_line":"      # excluding tests with tag \"real_load\""},{"line_number":84,"context_line":"      tempest_exclude_regex: .*\\[.*\\breal_load\\b.*\\].*"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"- job:"},{"line_number":87,"context_line":"    name: watcher-tempest-base"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"dbf8adfb_d3f93015","line":84,"range":{"start_line":51,"start_character":0,"end_line":84,"end_character":54},"updated":"2025-11-13 23:17:39.000000000","message":"these can also be in watcher-tempest-base i think.\n\nalthough i think `print_thread_pool_stats: true` is only needed in the threading job but it wont hurt to have it defeind.","commit_id":"a2a55d44215b81d00425e4bf57a5729a5aeac8c0"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ac3670129ed1633595d25829893669540cfab7ac","unresolved":true,"context_lines":[{"line_number":129,"context_line":"- job:"},{"line_number":130,"context_line":"    name: watcher-grenade"},{"line_number":131,"context_line":"    parent: grenade"},{"line_number":132,"context_line":"    required-projects:"},{"line_number":133,"context_line":"      - openstack/watcher"},{"line_number":134,"context_line":"      - openstack/python-watcherclient"},{"line_number":135,"context_line":"      - openstack/watcher-tempest-plugin"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3ec23981_47db795c","line":132,"updated":"2025-11-13 23:19:39.000000000","message":"you need to add \n\n` - openstack/ceilometer `\n\nhere to fix the failing grenade job.","commit_id":"a2a55d44215b81d00425e4bf57a5729a5aeac8c0"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"da65b963d14cf564a9f9b8686ced287afe366d0a","unresolved":false,"context_lines":[{"line_number":169,"context_line":"        aodh: https://opendev.org/openstack/aodh"},{"line_number":170,"context_line":"        sg-core: https://github.com/openstack-k8s-operators/sg-core"},{"line_number":171,"context_line":"        devstack-plugin-prometheus: https://opendev.org/openstack/devstack-plugin-prometheus"},{"line_number":172,"context_line":"      devstack_services:"},{"line_number":173,"context_line":"        ceilometer-acompute: false"},{"line_number":174,"context_line":"        tempest: true"},{"line_number":175,"context_line":"        # Prometheus related service"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"9532f057_b4da1588","line":172,"in_reply_to":"ed9baaaa_c7723ca3","updated":"2025-11-13 23:17:39.000000000","message":"done, you simplified the configured services and added a comment about the metrics injection.\n\nyou could add a comment for  ceilometer-acompute\n\nand   tempest: true shoudl be inherited from devstack-tempest\nso i think that can be removed.\n\nbut this is cleaner over all, feel free to keep refining but ill resolve this comment\n\nits also enabled again in  watcher-tempest-base","commit_id":"a2a55d44215b81d00425e4bf57a5729a5aeac8c0"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"da65b963d14cf564a9f9b8686ced287afe366d0a","unresolved":false,"context_lines":[{"line_number":258,"context_line":"      Prometheus, using Keystone authentication instead of direct Prometheus access."},{"line_number":259,"context_line":"      This job uses fake metrics injection and does not require ceilometer-acompute"},{"line_number":260,"context_line":"      and node_exporter to be enabled."},{"line_number":261,"context_line":"    required-projects:"},{"line_number":262,"context_line":"      - openstack/python-observabilityclient"},{"line_number":263,"context_line":"      - openstack/aetos"},{"line_number":264,"context_line":"    vars: \u0026aetos_vars"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"29f57bea_3e24338f","line":261,"in_reply_to":"6e20e90a_9046cf06","updated":"2025-11-13 23:17:39.000000000","message":"```\n[severity: warning] Missing validation for job inheritance chains - Confidence: 0.6\nLocation: .zuul.yaml:254-277\nImpact: Configuration integrity\nSuggestion: The watcher-tempest-aetos job inherits from watcher-tempest-prometheus but only overrides specific configuration sections. Ensure all Prometheus-specific configurations are properly overridden or documented as intentional inheritances.\n```\ni see that a vaild concurn but no we have already done this assement when creating the job so this is fine.","commit_id":"a2a55d44215b81d00425e4bf57a5729a5aeac8c0"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"d3ab52f1716ee1b7b09de8c63b2f67cc14051612","unresolved":true,"context_lines":[{"line_number":152,"context_line":"    name: watcher-grenade"},{"line_number":153,"context_line":"    parent: grenade"},{"line_number":154,"context_line":"    required-projects: *tempest_base_required_projects"},{"line_number":155,"context_line":"    vars: *tempest_base_vars"},{"line_number":156,"context_line":"    irrelevant-files: *irrelevant_files"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"- job:"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"c28d5636_85e4c131","line":155,"range":{"start_line":155,"start_character":4,"end_line":155,"end_character":28},"updated":"2025-11-14 13:45:02.000000000","message":"enable ceilometer-acompute for upgrade process","commit_id":"09a9ef07116a7d68c90d3fd0253d9f8d1e1b6315"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"753dcd3f3059e1e89cbec89bf2a2cca17aff20ed","unresolved":true,"context_lines":[{"line_number":233,"context_line":"        aetos: https://opendev.org/openstack/aetos"},{"line_number":234,"context_line":"      devstack_local_conf:"},{"line_number":235,"context_line":"        post-config:"},{"line_number":236,"context_line":"          $WATCHER_CONF:"},{"line_number":237,"context_line":"            watcher_datasources:"},{"line_number":238,"context_line":"              datasources: aetos"},{"line_number":239,"context_line":"            aetos_client:"},{"line_number":240,"context_line":"              interface: public"},{"line_number":241,"context_line":"              region_name: RegionOne"},{"line_number":242,"context_line":"              fqdn_label: fqdn"},{"line_number":243,"context_line":"              instance_uuid_label: resource"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"- job:"},{"line_number":246,"context_line":"    name: watcher-tempest-prometheus-realdata"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"50f36a96_31dc53f3","line":243,"range":{"start_line":236,"start_character":0,"end_line":243,"end_character":43},"updated":"2025-11-21 17:21:19.000000000","message":"This is cool, I thought that overriding post-config, $WATCHER_CONF in a nested job would lose the values in the parent, but are actually added on top of those. Great way of managing the config and inheriting/overriding configurations.","commit_id":"9a89688fb19aac4bb3a0b59d84073ab2ea9cf914"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"753dcd3f3059e1e89cbec89bf2a2cca17aff20ed","unresolved":true,"context_lines":[{"line_number":279,"context_line":"      threading mode enabled in specific services."},{"line_number":280,"context_line":"    vars:"},{"line_number":281,"context_line":"      devstack_localrc:"},{"line_number":282,"context_line":"        \u0027SYSTEMD_ENV_VARS[\"watcher-decision-engine\"]\u0027: OS_WATCHER_DISABLE_EVENTLET_PATCHING\u003dtrue"},{"line_number":283,"context_line":"      devstack_local_conf:"},{"line_number":284,"context_line":"        post-config:"},{"line_number":285,"context_line":"          $WATCHER_CONF:"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"57d333d7_3bceb469","line":282,"updated":"2025-11-21 17:21:19.000000000","message":"Given that we are running a decision-engine in the compute1 node. We probably should also add this to the subnode group-vars. Currently it is running in eventlet mode\n\nhttps://storage.gra.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_16b/openstack/16be84f20657426ca42c44563a94c623/compute1/logs/screen-watcher-decision-engine.txt","commit_id":"9a89688fb19aac4bb3a0b59d84073ab2ea9cf914"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"ab5cc7e43bbd18b4f9b602b067e04069c8a543bf","unresolved":true,"context_lines":[{"line_number":279,"context_line":"      threading mode enabled in specific services."},{"line_number":280,"context_line":"    vars:"},{"line_number":281,"context_line":"      devstack_localrc:"},{"line_number":282,"context_line":"        \u0027SYSTEMD_ENV_VARS[\"watcher-decision-engine\"]\u0027: OS_WATCHER_DISABLE_EVENTLET_PATCHING\u003dtrue"},{"line_number":283,"context_line":"      devstack_local_conf:"},{"line_number":284,"context_line":"        post-config:"},{"line_number":285,"context_line":"          $WATCHER_CONF:"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"7546fe6c_cc372b17","line":282,"in_reply_to":"57d333d7_3bceb469","updated":"2025-11-21 18:05:37.000000000","message":"oh yeah, fixing this now, thanks!","commit_id":"9a89688fb19aac4bb3a0b59d84073ab2ea9cf914"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ccf925d8a1a47451143505384d03df97c810c881","unresolved":true,"context_lines":[{"line_number":1,"context_line":"- job:"},{"line_number":2,"context_line":"    name: watcher-tempest-gnocchi"},{"line_number":3,"context_line":"    parent: watcher-tempest-base-two-node"},{"line_number":4,"context_line":"    description: |"},{"line_number":5,"context_line":"      Watcher multinode devstack tempest job with Gnocchi as datasource. This"},{"line_number":6,"context_line":"      job uses fake metrics injection and does not requires ceilometer-acompute"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"1cece489_e0b3bf39","line":3,"range":{"start_line":2,"start_character":4,"end_line":3,"end_character":41},"updated":"2025-11-28 17:30:10.000000000","message":"for a followup can you move this after watcher-tempest-base-two-node it helps with readblity if the jobs are defeind after there parents when they are form teh same file.\n\nso we whoudl define  watcher-tempest-base first then \n watcher-tempest-base-two-node and so on.\n \n zuul does not care but it helps humans","commit_id":"f01da488a3da29a5b91e28a1ba2e41e297656ef3"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3c08d646540f05e315bd7aa1aca3e8188da39948","unresolved":true,"context_lines":[{"line_number":1,"context_line":"- job:"},{"line_number":2,"context_line":"    name: watcher-tempest-gnocchi"},{"line_number":3,"context_line":"    parent: watcher-tempest-base-two-node"},{"line_number":4,"context_line":"    description: |"},{"line_number":5,"context_line":"      Watcher multinode devstack tempest job with Gnocchi as datasource. This"},{"line_number":6,"context_line":"      job uses fake metrics injection and does not requires ceilometer-acompute"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"377e6657_f77a94ac","line":3,"range":{"start_line":2,"start_character":4,"end_line":3,"end_character":41},"in_reply_to":"1cece489_e0b3bf39","updated":"2025-11-28 17:32:28.000000000","message":"yeah, i tried to not move them to make review process easier. But then I can propose a new one just to move jobs around the file.","commit_id":"f01da488a3da29a5b91e28a1ba2e41e297656ef3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ccf925d8a1a47451143505384d03df97c810c881","unresolved":true,"context_lines":[{"line_number":309,"context_line":"# its definition."},{"line_number":310,"context_line":"- job:"},{"line_number":311,"context_line":"    name: watcher-tempest-functional"},{"line_number":312,"context_line":"    parent: watcher-tempest-base"},{"line_number":313,"context_line":""},{"line_number":314,"context_line":"- project:"},{"line_number":315,"context_line":"    queue: watcher"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"7e93916c_03c7dfea","line":312,"updated":"2025-11-28 17:30:10.000000000","message":"we can also likely collapse watcher-tempest-base and watcher-tempest-base-two-node\n\ninto just watcher-tempest-base at that point if we have no other jobs that are single node.","commit_id":"f01da488a3da29a5b91e28a1ba2e41e297656ef3"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"3c08d646540f05e315bd7aa1aca3e8188da39948","unresolved":true,"context_lines":[{"line_number":309,"context_line":"# its definition."},{"line_number":310,"context_line":"- job:"},{"line_number":311,"context_line":"    name: watcher-tempest-functional"},{"line_number":312,"context_line":"    parent: watcher-tempest-base"},{"line_number":313,"context_line":""},{"line_number":314,"context_line":"- project:"},{"line_number":315,"context_line":"    queue: watcher"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"e55b997b_c1fab1a8","line":312,"in_reply_to":"7e93916c_03c7dfea","updated":"2025-11-28 17:32:28.000000000","message":"ack, make sense","commit_id":"f01da488a3da29a5b91e28a1ba2e41e297656ef3"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"33f8d89d1446f5b5672ec44df41f9cf3656b375e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"97bc8911_cc12790b","updated":"2025-11-12 20:07:35.000000000","message":"work in progress","commit_id":"f688beda2f1374954b03e9606218806a760895ae"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"7aadcd9eec14dcbe96eba5e41b0a7551902f3bb8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"c34189a0_b01ec93c","updated":"2025-11-17 14:10:56.000000000","message":"check experimental","commit_id":"6eb56bdba4730532cb980238ba3531664e46140c"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"753dcd3f3059e1e89cbec89bf2a2cca17aff20ed","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"21612965_8ed748bd","updated":"2025-11-21 17:21:19.000000000","message":"Just a minor issue with the decision-engine in the compute1 node running in eventlet mode in the threading job.\n\nOther than that, nice and clean jobs organization!","commit_id":"9a89688fb19aac4bb3a0b59d84073ab2ea9cf914"},{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"701ef768bf6778d4e35cae5c4e4a5a433acda665","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"d8be241d_48a65a11","updated":"2025-11-27 16:00:08.000000000","message":"nice improvement, thanks Doug!","commit_id":"f01da488a3da29a5b91e28a1ba2e41e297656ef3"},{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"29227e7303099e4619669a334fc120d5b1937445","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"1e4f7064_e0da391a","updated":"2025-12-01 09:28:29.000000000","message":"recheck","commit_id":"f01da488a3da29a5b91e28a1ba2e41e297656ef3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ccf925d8a1a47451143505384d03df97c810c881","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"cad415b1_babe9381","updated":"2025-11-28 17:30:10.000000000","message":"some comments in line but nothign worth holding this on\n\nthis is quite a large refactor so i woudl like to merge this before we continue to make any other chagnes so +2w","commit_id":"f01da488a3da29a5b91e28a1ba2e41e297656ef3"}]}
