test_mm_domain_limits fails intermittently due to unhandled memory resource limit error (errorCode 535)

Đang mở Phù hợp với người mới
#13,516 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ó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
78/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Ít trao đổi
Công nghệ
python
Lĩnh vực
testing

Hướng nghiên cứu

Bắt đầu với test/integration/component/test_mm_domain_limits.py và kiểm tra test_03_delete_vm, sau đó chạy lệnh nosetests tập trung với cấu hình trình mô phỏng nâng cao. Xác minh rằng errorCode 535 được xử lý như một kết quả được mong đợi, các lỗi API không mong đợi vẫn khiến kiểm thử thất bại, và việc xóa chỉ được thử khi tạo VM thành công.

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

Mô tả

component:integration-test status:marvin-tests-failing type:technical-debt
problem

While working on PR #13490, I noticed the Simulator CI / test job intermittently fails on test_mm_domain_limits (test_03_delete_vm).

The test calls deployVirtualMachine, which fails with CloudStack API errorCode 535: "Maximum amount of resources of Type = 'memory' ... is exceeded". Because the VM was never created, the test then attempts to delete a VM that doesn't exist, causing test_03_delete_vm to fail.

The test does not currently handle this resource-limit API error as a valid/expected outcome.

versions

Apache CloudStack version: main branch (4.23.0.0-SNAPSHOT)
Environment: GitHub Actions Simulator CI (advanced zone), simulator hypervisor — not a real deployment

The steps to reproduce the bug
  1. Run the Simulator CI test suite including component/test_mm_domain_limits.py
  2. Observe test_03_delete_vm
  3. deployVirtualMachine fails with errorCode 535 (memory limit exceeded)
  4. Test then attempts to delete a VM that was never created, causing a failure

Can also be reproduced locally with:
nosetests-3.4 --with-marvin --marvin-config=setup/dev/advdualzone.cfg test/integration/component/test_mm_domain_limits.py:test_03_delete_vm -s -a tags=advanced

What to do about it?

Update test_03_delete_vm in test/integration/component/test_mm_domain_limits.py to treat the CloudStack API errorCode 535 (memory resource limit exceeded) as an expected outcome, and only attempt VM deletion if creation succeeded. Example:

try:
vm = VirtualMachine.create(self.apiclient, ...)
vm_created = True
except CloudstackAPIException as ex:
if "errorCode: 535" in str(ex) or "Maximum amount of resources of Type = 'memory'" in str(ex):
vm_created = False
else:
raise

if vm_created:
vm.delete(self.apiclient)

Alternatively, the domain/project memory limit could be raised in test setup if VM creation is expected to succeed in this test.

Ngôn ngữ chính
Java
Star
3.1k
Fork
1.4k
Merge trung bình
7 ngày 5 giờ
Pull request đã merge (30 ngày)
28

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

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 apache/cloudstack

Tất cả issue của apache/cloudstack

Issue tương tự

Thêm issue về Java

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.