Cutover fails for waiting built-in Jobs with an empty queue name
Maintainer thường phản hồi trong vòng 1 ngày
@pheus đang làm issue này rồi.
Từ ngày 29/10/2026.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 75/100
Hướng nghiên cứu
Bắt đầu từ mã cutover của quá trình di chuyển, nơi truyền queue_name của một Job vào django_rq.get_queue(); issue cho biết cùng thao tác tra cứu này có trên main tại 7b7cdf1. Tái hiện lỗi với một Job tích hợp đang chờ có queue_name rỗng, rồi kiểm tra hành vi cutover với cả tác vụ RQ hiện có lẫn tác vụ không tồn tại. Công việc hoàn tất khi cutover xử lý queue_name rỗng bằng giá trị dự phòng của NetBox và báo tác vụ không tồn tại mà không phát sinh ngoại lệ chưa được xử lý.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Plugin Version
v0.0.1
NetBox Version
v4.7.3
Python Version
3.12
Steps to Reproduce
- On a test installation, upload a built-in Custom Script and schedule it to run tomorrow.
- In the NetBox shell, clear that Job's queue name to reproduce the state of a Job created before NetBox v4.5.2. Replace
123with the test Job's ID:from core.models import Job Job.objects.filter(pk=123).update(queue_name='') - Under Scripts > Migration, run inventory and stage the Projects. Wait for their revisions to become valid.
- Select Enter cutover.
Expected Behavior
Cutover uses NetBox's queue fallback for older Jobs. It captures the schedule if its RQ task exists, or reports the missing task without an unhandled exception.
Observed Behavior
The cutover Job ends as Errored with KeyError: '', and the cutover step remains incomplete. Retrying fails on the same Job.
NetBox v4.5.2 added Job.queue_name without backfilling existing rows. These Jobs have an empty queue name, which cutover passes directly to django_rq.get_queue().
This also affects pending Jobs and does not require the RQ task to be missing. The same lookup is present on main at 7b7cdf1.
- Ngôn ngữ chính
- Python
- Star
- 8
- Fork
- 0
- Merge trung bình
- 11 giờ 35 phút
- Pull request đã merge (30 ngày)
- 20
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của netbox-community/netbox-scripts
-
app: scripts severity: medium status: backlog type: bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
netbox-community/netbox-scripts#83 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
app: scripts status: backlog type: documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
netbox-community/netbox-scripts#80 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
app: scripts severity: medium status: backlog type: bug
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
netbox-community/netbox-scripts#79 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
app: scripts severity: medium status: backlog type: bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
netbox-community/netbox-scripts#77 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
app: scripts severity: low status: backlog type: bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
netbox-community/netbox-scripts#76 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của netbox-community/netbox-scripts
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
vllm-project/vllm#64845 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
dekobon/big-code-analysis#1729 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Add `openai_safety_identifier`, the replacement for the `user` field that `openai_user` sendsĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
pydantic/pydantic-ai#12091 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100