)]}'
{"kolla/docker/base/kolla-cron.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"aa93157d5cd0f98fa4293000252672ca40ce14e3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env python"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"import sys"},{"line_number":4,"context_line":"import subprocess"}],"source_content_type":"text/x-python","patch_set":2,"id":"7566e774_09ed6406","line":1,"updated":"2026-08-10 14:55:14.000000000","message":"pep8: H102: Apache 2.0 license header not found","commit_id":"e955de99c1a21f59dfc77191d6835bb3799fc725"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"aa93157d5cd0f98fa4293000252672ca40ce14e3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env python"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"import sys"},{"line_number":4,"context_line":"import subprocess"},{"line_number":5,"context_line":"from urllib.parse import urlparse, parse_qs"},{"line_number":6,"context_line":"from redis.sentinel import Sentinel"}],"source_content_type":"text/x-python","patch_set":2,"id":"0c1e0466_12ba34e3","line":3,"updated":"2026-08-10 14:55:14.000000000","message":"pep8: F401 \u0027sys\u0027 imported but unused","commit_id":"e955de99c1a21f59dfc77191d6835bb3799fc725"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"aa93157d5cd0f98fa4293000252672ca40ce14e3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env python"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"import sys"},{"line_number":4,"context_line":"import subprocess"},{"line_number":5,"context_line":"from urllib.parse import urlparse, parse_qs"},{"line_number":6,"context_line":"from redis.sentinel import Sentinel"},{"line_number":7,"context_line":"import configparser"}],"source_content_type":"text/x-python","patch_set":2,"id":"5b86dd7d_aa836689","line":4,"updated":"2026-08-10 14:55:14.000000000","message":"pep8: H306: imports not in alphabetical order (sys, subprocess)","commit_id":"e955de99c1a21f59dfc77191d6835bb3799fc725"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"aa93157d5cd0f98fa4293000252672ca40ce14e3","unresolved":false,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"import sys"},{"line_number":4,"context_line":"import subprocess"},{"line_number":5,"context_line":"from urllib.parse import urlparse, parse_qs"},{"line_number":6,"context_line":"from redis.sentinel import Sentinel"},{"line_number":7,"context_line":"import configparser"},{"line_number":8,"context_line":"import argparse"}],"source_content_type":"text/x-python","patch_set":2,"id":"b6af4e7f_2294b5cb","line":5,"updated":"2026-08-10 14:55:14.000000000","message":"pep8: H301: one import per line","commit_id":"e955de99c1a21f59dfc77191d6835bb3799fc725"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"aa93157d5cd0f98fa4293000252672ca40ce14e3","unresolved":false,"context_lines":[{"line_number":4,"context_line":"import subprocess"},{"line_number":5,"context_line":"from urllib.parse import urlparse, parse_qs"},{"line_number":6,"context_line":"from redis.sentinel import Sentinel"},{"line_number":7,"context_line":"import configparser"},{"line_number":8,"context_line":"import argparse"},{"line_number":9,"context_line":"import logging"},{"line_number":10,"context_line":"from datetime import datetime"}],"source_content_type":"text/x-python","patch_set":2,"id":"e3bb9d37_50045709","line":7,"updated":"2026-08-10 14:55:14.000000000","message":"pep8: H306: imports not in alphabetical order (redis.sentinel.sentinel, configparser)","commit_id":"e955de99c1a21f59dfc77191d6835bb3799fc725"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"aa93157d5cd0f98fa4293000252672ca40ce14e3","unresolved":false,"context_lines":[{"line_number":5,"context_line":"from urllib.parse import urlparse, parse_qs"},{"line_number":6,"context_line":"from redis.sentinel import Sentinel"},{"line_number":7,"context_line":"import configparser"},{"line_number":8,"context_line":"import argparse"},{"line_number":9,"context_line":"import logging"},{"line_number":10,"context_line":"from datetime import datetime"},{"line_number":11,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1964de3f_3bbb1340","line":8,"updated":"2026-08-10 14:55:14.000000000","message":"pep8: H306: imports not in alphabetical order (configparser, argparse)","commit_id":"e955de99c1a21f59dfc77191d6835bb3799fc725"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"aa93157d5cd0f98fa4293000252672ca40ce14e3","unresolved":false,"context_lines":[{"line_number":7,"context_line":"import configparser"},{"line_number":8,"context_line":"import argparse"},{"line_number":9,"context_line":"import logging"},{"line_number":10,"context_line":"from datetime import datetime"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"def setup_logging(log_file):"},{"line_number":13,"context_line":"    logging.basicConfig("}],"source_content_type":"text/x-python","patch_set":2,"id":"77d63c5f_b9157698","line":10,"updated":"2026-08-10 14:55:14.000000000","message":"pep8: F401 \u0027datetime.datetime\u0027 imported but unused","commit_id":"e955de99c1a21f59dfc77191d6835bb3799fc725"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"aa93157d5cd0f98fa4293000252672ca40ce14e3","unresolved":false,"context_lines":[{"line_number":7,"context_line":"import configparser"},{"line_number":8,"context_line":"import argparse"},{"line_number":9,"context_line":"import logging"},{"line_number":10,"context_line":"from datetime import datetime"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"def setup_logging(log_file):"},{"line_number":13,"context_line":"    logging.basicConfig("}],"source_content_type":"text/x-python","patch_set":2,"id":"a5afc273_e785ff4d","line":10,"updated":"2026-08-10 14:55:14.000000000","message":"pep8: H306: imports not in alphabetical order (logging, datetime.datetime)","commit_id":"e955de99c1a21f59dfc77191d6835bb3799fc725"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"aa93157d5cd0f98fa4293000252672ca40ce14e3","unresolved":false,"context_lines":[{"line_number":9,"context_line":"import logging"},{"line_number":10,"context_line":"from datetime import datetime"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"def setup_logging(log_file):"},{"line_number":13,"context_line":"    logging.basicConfig("},{"line_number":14,"context_line":"        filename\u003dlog_file,"},{"line_number":15,"context_line":"        level\u003dlogging.INFO,"}],"source_content_type":"text/x-python","patch_set":2,"id":"73a81d3c_b93a0a17","line":12,"updated":"2026-08-10 14:55:14.000000000","message":"pep8: E302 expected 2 blank lines, found 1","commit_id":"e955de99c1a21f59dfc77191d6835bb3799fc725"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"aa93157d5cd0f98fa4293000252672ca40ce14e3","unresolved":false,"context_lines":[{"line_number":17,"context_line":"        datefmt\u003d\u0027%Y-%m-%d %H:%M:%S\u0027,"},{"line_number":18,"context_line":"    )"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"def parse_backend_url(backend_url):"},{"line_number":21,"context_line":"    url \u003d urlparse(backend_url)"},{"line_number":22,"context_line":"    username \u003d url.username"},{"line_number":23,"context_line":"    password \u003d url.password"}],"source_content_type":"text/x-python","patch_set":2,"id":"36e0c633_4eb07ee4","line":20,"updated":"2026-08-10 14:55:14.000000000","message":"pep8: E302 expected 2 blank lines, found 1","commit_id":"e955de99c1a21f59dfc77191d6835bb3799fc725"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"aa93157d5cd0f98fa4293000252672ca40ce14e3","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    master_name \u003d query_params.get(\u0027sentinel\u0027, [\u0027mymaster\u0027])[0]"},{"line_number":33,"context_line":"    db \u003d int(query_params.get(\u0027db\u0027, [0])[0])"},{"line_number":34,"context_line":"    socket_timeout \u003d int(query_params.get(\u0027socket_timeout\u0027, [0])[0])"},{"line_number":35,"context_line":"    retry_on_timeout \u003d query_params.get(\u0027retry_on_timeout\u0027, [\u0027no\u0027])[0].lower() \u003d\u003d \u0027yes\u0027"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    return {"},{"line_number":38,"context_line":"        \u0027username\u0027: username,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a2c7564_2359cae9","line":35,"updated":"2026-08-10 14:55:14.000000000","message":"pep8: E501 line too long (87 \u003e 79 characters)","commit_id":"e955de99c1a21f59dfc77191d6835bb3799fc725"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"aa93157d5cd0f98fa4293000252672ca40ce14e3","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        \u0027retry_on_timeout\u0027: retry_on_timeout"},{"line_number":45,"context_line":"    }"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"def acquire_lock(sentinel, lock_name, ttl, password\u003dNone):"},{"line_number":48,"context_line":"    try:"},{"line_number":49,"context_line":"        master \u003d sentinel.master_for(config[\u0027master_name\u0027], socket_timeout\u003dconfig[\u0027socket_timeout\u0027], password\u003dpassword)"},{"line_number":50,"context_line":"        lock_acquired \u003d master.set(lock_name, \"locked\", nx\u003dTrue, ex\u003dttl)"}],"source_content_type":"text/x-python","patch_set":2,"id":"68f8fccb_bbeead19","line":47,"updated":"2026-08-10 14:55:14.000000000","message":"pep8: E302 expected 2 blank lines, found 1","commit_id":"e955de99c1a21f59dfc77191d6835bb3799fc725"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"aa93157d5cd0f98fa4293000252672ca40ce14e3","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"def acquire_lock(sentinel, lock_name, ttl, password\u003dNone):"},{"line_number":48,"context_line":"    try:"},{"line_number":49,"context_line":"        master \u003d sentinel.master_for(config[\u0027master_name\u0027], socket_timeout\u003dconfig[\u0027socket_timeout\u0027], password\u003dpassword)"},{"line_number":50,"context_line":"        lock_acquired \u003d master.set(lock_name, \"locked\", nx\u003dTrue, ex\u003dttl)"},{"line_number":51,"context_line":"        return lock_acquired"},{"line_number":52,"context_line":"    except Exception as e:"}],"source_content_type":"text/x-python","patch_set":2,"id":"a4d8c326_b55f75ea","line":49,"updated":"2026-08-10 14:55:14.000000000","message":"pep8: E501 line too long (119 \u003e 79 characters)","commit_id":"e955de99c1a21f59dfc77191d6835bb3799fc725"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"aa93157d5cd0f98fa4293000252672ca40ce14e3","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        logging.error(f\"Failed to acquire lock: {e}\")"},{"line_number":54,"context_line":"        return False"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"def release_lock(sentinel, lock_name, password\u003dNone):"},{"line_number":57,"context_line":"    try:"},{"line_number":58,"context_line":"        master \u003d sentinel.master_for(config[\u0027master_name\u0027], socket_timeout\u003dconfig[\u0027socket_timeout\u0027], password\u003dpassword)"},{"line_number":59,"context_line":"        master.delete(lock_name)"}],"source_content_type":"text/x-python","patch_set":2,"id":"52bb95e0_e0d6dd23","line":56,"updated":"2026-08-10 14:55:14.000000000","message":"pep8: E302 expected 2 blank lines, found 1","commit_id":"e955de99c1a21f59dfc77191d6835bb3799fc725"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"aa93157d5cd0f98fa4293000252672ca40ce14e3","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"def release_lock(sentinel, lock_name, password\u003dNone):"},{"line_number":57,"context_line":"    try:"},{"line_number":58,"context_line":"        master \u003d sentinel.master_for(config[\u0027master_name\u0027], socket_timeout\u003dconfig[\u0027socket_timeout\u0027], password\u003dpassword)"},{"line_number":59,"context_line":"        master.delete(lock_name)"},{"line_number":60,"context_line":"    except Exception as e:"},{"line_number":61,"context_line":"        logging.error(f\"Failed to release lock: {e}\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"bca36fa0_9e610067","line":58,"updated":"2026-08-10 14:55:14.000000000","message":"pep8: E501 line too long (119 \u003e 79 characters)","commit_id":"e955de99c1a21f59dfc77191d6835bb3799fc725"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"aa93157d5cd0f98fa4293000252672ca40ce14e3","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    except Exception as e:"},{"line_number":61,"context_line":"        logging.error(f\"Failed to release lock: {e}\")"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"def run_cron_job(sentinel, lock_name, ttl, script, password\u003dNone):"},{"line_number":64,"context_line":"    lock_acquired \u003d acquire_lock(sentinel, lock_name, ttl, password)"},{"line_number":65,"context_line":"    if lock_acquired:"},{"line_number":66,"context_line":"        logging.info(\"Lock acquired. Running the script.\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f5ff477_573d2266","line":63,"updated":"2026-08-10 14:55:14.000000000","message":"pep8: E302 expected 2 blank lines, found 1","commit_id":"e955de99c1a21f59dfc77191d6835bb3799fc725"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"aa93157d5cd0f98fa4293000252672ca40ce14e3","unresolved":false,"context_lines":[{"line_number":65,"context_line":"    if lock_acquired:"},{"line_number":66,"context_line":"        logging.info(\"Lock acquired. Running the script.\")"},{"line_number":67,"context_line":"        try:"},{"line_number":68,"context_line":"            result \u003d subprocess.run(script, shell\u003dTrue, check\u003dTrue, stdout\u003dsubprocess.PIPE, stderr\u003dsubprocess.PIPE)"},{"line_number":69,"context_line":"            stdout_lines \u003d result.stdout.decode().strip().split(\u0027\\n\u0027)"},{"line_number":70,"context_line":"            stderr_lines \u003d result.stderr.decode().strip().split(\u0027\\n\u0027)"},{"line_number":71,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"f014978a_908c35e1","line":68,"updated":"2026-08-10 14:55:14.000000000","message":"pep8: E501 line too long (115 \u003e 79 characters)","commit_id":"e955de99c1a21f59dfc77191d6835bb3799fc725"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"aa93157d5cd0f98fa4293000252672ca40ce14e3","unresolved":false,"context_lines":[{"line_number":83,"context_line":"    else:"},{"line_number":84,"context_line":"        logging.info(\"Lock not acquired. Another instance is running.\")"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"def load_config(config_path):"},{"line_number":87,"context_line":"    config \u003d configparser.ConfigParser()"},{"line_number":88,"context_line":"    config.read(config_path)"},{"line_number":89,"context_line":"    return config"}],"source_content_type":"text/x-python","patch_set":2,"id":"a13a959b_c11102d1","line":86,"updated":"2026-08-10 14:55:14.000000000","message":"pep8: E302 expected 2 blank lines, found 1","commit_id":"e955de99c1a21f59dfc77191d6835bb3799fc725"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"aa93157d5cd0f98fa4293000252672ca40ce14e3","unresolved":false,"context_lines":[{"line_number":88,"context_line":"    config.read(config_path)"},{"line_number":89,"context_line":"    return config"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"if __name__ \u003d\u003d \"__main__\":"},{"line_number":92,"context_line":"    parser \u003d argparse.ArgumentParser(description\u003d\u0027Run a cron job with a Redis lock.\u0027)"},{"line_number":93,"context_line":"    parser.add_argument(\u0027--script\u0027, required\u003dTrue, help\u003d\u0027The script to be executed.\u0027)"},{"line_number":94,"context_line":"    parser.add_argument(\u0027--config\u0027, default\u003d\u0027/etc/kolla-cron/cron.ini\u0027, help\u003d\u0027Path to the config file.\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f4d3d73_a54e10f5","line":91,"updated":"2026-08-10 14:55:14.000000000","message":"pep8: E305 expected 2 blank lines after class or function definition, found 1","commit_id":"e955de99c1a21f59dfc77191d6835bb3799fc725"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"aa93157d5cd0f98fa4293000252672ca40ce14e3","unresolved":false,"context_lines":[{"line_number":89,"context_line":"    return config"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"if __name__ \u003d\u003d \"__main__\":"},{"line_number":92,"context_line":"    parser \u003d argparse.ArgumentParser(description\u003d\u0027Run a cron job with a Redis lock.\u0027)"},{"line_number":93,"context_line":"    parser.add_argument(\u0027--script\u0027, required\u003dTrue, help\u003d\u0027The script to be executed.\u0027)"},{"line_number":94,"context_line":"    parser.add_argument(\u0027--config\u0027, default\u003d\u0027/etc/kolla-cron/cron.ini\u0027, help\u003d\u0027Path to the config file.\u0027)"},{"line_number":95,"context_line":"    parser.add_argument(\u0027--lock-name\u0027, required\u003dTrue, help\u003d\u0027The name of the lock to be used.\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"630a8dc1_a8fd0a5a","line":92,"updated":"2026-08-10 14:55:14.000000000","message":"pep8: E501 line too long (85 \u003e 79 characters)","commit_id":"e955de99c1a21f59dfc77191d6835bb3799fc725"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"aa93157d5cd0f98fa4293000252672ca40ce14e3","unresolved":false,"context_lines":[{"line_number":90,"context_line":""},{"line_number":91,"context_line":"if __name__ \u003d\u003d \"__main__\":"},{"line_number":92,"context_line":"    parser \u003d argparse.ArgumentParser(description\u003d\u0027Run a cron job with a Redis lock.\u0027)"},{"line_number":93,"context_line":"    parser.add_argument(\u0027--script\u0027, required\u003dTrue, help\u003d\u0027The script to be executed.\u0027)"},{"line_number":94,"context_line":"    parser.add_argument(\u0027--config\u0027, default\u003d\u0027/etc/kolla-cron/cron.ini\u0027, help\u003d\u0027Path to the config file.\u0027)"},{"line_number":95,"context_line":"    parser.add_argument(\u0027--lock-name\u0027, required\u003dTrue, help\u003d\u0027The name of the lock to be used.\u0027)"},{"line_number":96,"context_line":"    parser.add_argument(\u0027--log-file\u0027, default\u003d\u0027/var/log/kolla/nova/nova-db-manager.log\u0027, help\u003d\u0027Path to the log file.\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"0d283f4c_cea0c274","line":93,"updated":"2026-08-10 14:55:14.000000000","message":"pep8: E501 line too long (85 \u003e 79 characters)","commit_id":"e955de99c1a21f59dfc77191d6835bb3799fc725"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"aa93157d5cd0f98fa4293000252672ca40ce14e3","unresolved":false,"context_lines":[{"line_number":91,"context_line":"if __name__ \u003d\u003d \"__main__\":"},{"line_number":92,"context_line":"    parser \u003d argparse.ArgumentParser(description\u003d\u0027Run a cron job with a Redis lock.\u0027)"},{"line_number":93,"context_line":"    parser.add_argument(\u0027--script\u0027, required\u003dTrue, help\u003d\u0027The script to be executed.\u0027)"},{"line_number":94,"context_line":"    parser.add_argument(\u0027--config\u0027, default\u003d\u0027/etc/kolla-cron/cron.ini\u0027, help\u003d\u0027Path to the config file.\u0027)"},{"line_number":95,"context_line":"    parser.add_argument(\u0027--lock-name\u0027, required\u003dTrue, help\u003d\u0027The name of the lock to be used.\u0027)"},{"line_number":96,"context_line":"    parser.add_argument(\u0027--log-file\u0027, default\u003d\u0027/var/log/kolla/nova/nova-db-manager.log\u0027, help\u003d\u0027Path to the log file.\u0027)"},{"line_number":97,"context_line":"    args \u003d parser.parse_args()"}],"source_content_type":"text/x-python","patch_set":2,"id":"bc0d08fa_00c1caa1","line":94,"updated":"2026-08-10 14:55:14.000000000","message":"pep8: E501 line too long (104 \u003e 79 characters)","commit_id":"e955de99c1a21f59dfc77191d6835bb3799fc725"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"aa93157d5cd0f98fa4293000252672ca40ce14e3","unresolved":false,"context_lines":[{"line_number":92,"context_line":"    parser \u003d argparse.ArgumentParser(description\u003d\u0027Run a cron job with a Redis lock.\u0027)"},{"line_number":93,"context_line":"    parser.add_argument(\u0027--script\u0027, required\u003dTrue, help\u003d\u0027The script to be executed.\u0027)"},{"line_number":94,"context_line":"    parser.add_argument(\u0027--config\u0027, default\u003d\u0027/etc/kolla-cron/cron.ini\u0027, help\u003d\u0027Path to the config file.\u0027)"},{"line_number":95,"context_line":"    parser.add_argument(\u0027--lock-name\u0027, required\u003dTrue, help\u003d\u0027The name of the lock to be used.\u0027)"},{"line_number":96,"context_line":"    parser.add_argument(\u0027--log-file\u0027, default\u003d\u0027/var/log/kolla/nova/nova-db-manager.log\u0027, help\u003d\u0027Path to the log file.\u0027)"},{"line_number":97,"context_line":"    args \u003d parser.parse_args()"},{"line_number":98,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1e83a275_4018d958","line":95,"updated":"2026-08-10 14:55:14.000000000","message":"pep8: E501 line too long (94 \u003e 79 characters)","commit_id":"e955de99c1a21f59dfc77191d6835bb3799fc725"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"aa93157d5cd0f98fa4293000252672ca40ce14e3","unresolved":false,"context_lines":[{"line_number":93,"context_line":"    parser.add_argument(\u0027--script\u0027, required\u003dTrue, help\u003d\u0027The script to be executed.\u0027)"},{"line_number":94,"context_line":"    parser.add_argument(\u0027--config\u0027, default\u003d\u0027/etc/kolla-cron/cron.ini\u0027, help\u003d\u0027Path to the config file.\u0027)"},{"line_number":95,"context_line":"    parser.add_argument(\u0027--lock-name\u0027, required\u003dTrue, help\u003d\u0027The name of the lock to be used.\u0027)"},{"line_number":96,"context_line":"    parser.add_argument(\u0027--log-file\u0027, default\u003d\u0027/var/log/kolla/nova/nova-db-manager.log\u0027, help\u003d\u0027Path to the log file.\u0027)"},{"line_number":97,"context_line":"    args \u003d parser.parse_args()"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    script \u003d args.script"}],"source_content_type":"text/x-python","patch_set":2,"id":"ceaea1f1_f5bdd5c6","line":96,"updated":"2026-08-10 14:55:14.000000000","message":"pep8: E501 line too long (118 \u003e 79 characters)","commit_id":"e955de99c1a21f59dfc77191d6835bb3799fc725"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"aa93157d5cd0f98fa4293000252672ca40ce14e3","unresolved":false,"context_lines":[{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    ttl \u003d 600  # Time to live for the lock in seconds"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    sentinel \u003d Sentinel(config[\u0027sentinels\u0027], socket_timeout\u003dconfig[\u0027socket_timeout\u0027], password\u003dconfig[\u0027password\u0027])"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    # Debugging: Print the available masters"},{"line_number":115,"context_line":"    try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"4e87d300_21a285c0","line":112,"updated":"2026-08-10 14:55:14.000000000","message":"pep8: E501 line too long (114 \u003e 79 characters)","commit_id":"e955de99c1a21f59dfc77191d6835bb3799fc725"}]}
