2012-12-12 36 views
10

Có gói phần mềm nguồn mở nào thực hiện điểm cuối "giả mạo Amazon EC2" không? Cụ thể, một cái có thể được sử dụng để thử nghiệm đối với các máy khách nói chuyện với EC2 (đặc biệt, sử dụng boto)?Điểm cuối EC2 giả để thử nghiệm

Tôi biết có một số giải pháp đám mây nguồn mở có triển khai API EC2 (ví dụ: OpenStack, Eucalyptus, CloudStack), nhưng tôi đang tìm một thứ để tôi có thể nhanh chóng đưa ra máy chủ EC2 giả và định cấu hình với các câu trả lời soạn trước cho mục đích thử nghiệm.

+1

Đây không phải là EC2 cụ thể và do đó không phải là * chính xác * một câu trả lời, nhưng trong Ruby, tôi sẽ giải quyết vấn đề này bằng cách sử dụng [webmock] (https://github.com/bblimke/webmock) - một công cụ chặn các yêu cầu HTTP được thực hiện từ ứng dụng của bạn, cho phép bộ thử nghiệm của bạn trả về các phản hồi tùy ý. Python có [HTTPretty] (http://falcao.it/HTTPretty/) dường như hoạt động theo cách tương tự. – willglynn

+0

@willglynn Tôi thực sự đang tìm kiếm một ứng dụng thử nghiệm độc lập thay vì thực hiện việc vá lỗi bên trong ứng dụng của tôi. Ngoài ra, tôi đã hy vọng có thể tận dụng việc triển khai lại EC2 API của người khác, thay vì phải bắt đầu chỉ với thông số kỹ thuật. –

+0

Với webmock/HTTPretty, bạn không cần phải khỉ vá bất cứ điều gì - theo như ứng dụng của bạn có liên quan, bạn đang nói chuyện với điểm cuối từ xa. Tất cả các hackery xảy ra bên trong thư viện ngược dòng, bạn chỉ cần xác định những yêu cầu nào sẽ nhận được phản hồi nào. Ruby cũng có [VCR] (http://www.rubyinside.com/vcr-a-recorder-for-all-your-tests-http-interactions-4169.html), giúp dễ dàng ghi và phát lại các tương tác với các API từ xa trong bộ thử nghiệm của bạn. – willglynn

Trả lời

7

Bạn có thể muốn xem moto. Về cơ bản, nó tự động boto boto bằng cách sử dụng HTTPretty để mô phỏng lớp HTTP. Nó được thực hiện độc đáo và có vẻ thực sự hữu ích.

1

Bạch đàn đã chạy một đám mây cộng đồng trong nhiều năm và có sẵn miễn phí tại http://www.eucalyptus.com/eucalyptus-cloud/community-cloud - nó sẽ không hoạt động nếu bạn muốn thử các phản hồi API EC2 khác nhau (và một điều cần lưu ý là Eucalyptus API doesn ' t theo EC2 API hoàn toàn, đặc biệt là cách chúng đặt các trường khác nhau) - nhổ cuộc gọi của bạn sang Boto có vẻ như đặt cược tốt nhất nếu bạn thực sự muốn thử nghiệm với phản hồi EC2 thực

Các vấn đề liên quan