netbox.get.ipam.prefixes.available_ips always gets 404s because of ID/url behavior in base action

Đang mở
#55 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
35/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
python
Lĩnh vực
api, backend

Hướng nghiên cứu

Tái hiện sự cố bằng st2 run netbox.get.ipam.prefixes.available_ips id=14162 và kiểm tra việc hình thành endpoint_uri của base action cũng như việc ghi log request. Truy tìm lý do ID bị nối thêm hai lần đối với action này, sau đó xác minh rằng URL kết quả không còn chứa ID bị trùng và prefix hiện có được trả về thành công thay vì 404.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Example issue:

st2 run netbox.get.ipam.prefixes.available_ips id=14162
id: 68333eeca62ad9d9e535f9c0
action.ref: netbox.get.ipam.prefixes.available_ips
context.user: dgeorge
parameters:
  id: 14162
status: succeeded
start_timestamp: Sun, 25 May 2025 16:01:48 UTC
end_timestamp: Sun, 25 May 2025 16:01:49 UTC
result:
  exit_code: 0
  result:
    raw: {}
    status: 404
  stderr: 'st2.actions.python.NetboxHTTPAction: DEBUG    endpoint_uri transformed to /ipam/prefixes/14162/available-ips/14162/ because id was passed
    st2.actions.python.NetboxHTTPAction: DEBUG    Calling base get to https://netbox-api.internal.digitalocean.com/api/ipam/prefixes/14162/available-ips/14162/ with kwargs: {''save_in_key_store_ttl'': 60, ''save_in_key_store_key_name'': None, ''save_in_key_store'': False}
    '
  stdout: '<Response [404]>
    '

(I've added stuff locally to print to stdout for debugging). This prefix+ID 100% exists, but note the URL is built here with the ID further APPENDED to the api path :( which, in this case, we aren't supposed to do???

I believe we may need to identify and add logic to handle the way the endpoint_uri is formed so we do not wind up breaking this functionality.

Ngôn ngữ chính
Python
Star
14
Fork
19
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của StackStorm-Exchange/stackstorm-netbox

Tất cả issue của StackStorm-Exchange/stackstorm-netbox

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.