ec2 driver does not support strings for size and image parameters
- Ngôn ngữ chính
- Python
- Star
- 2.1k
- Fork
- 931
- Merge trung bình
- 1 ngày 2 giờ
- Pull request đã merge (30 ngày)
- 4
Mô tả
## Summary
Both the GCP and the Dummy drivers for compute allow passing the imaged id, and size id as a string, and both drivers will do a lookup to find them.
The EC2 driver requires that the image and size be objects that have the name as an id attribute.
## Detailed Information
The commit https://github.com/newcontext-oss/openc2-aws-actuator/commit/f67cbee488236604b65c72a8f5f695fddf9592e9 fixes the issue for that code. GCP works w/ the previous commit.
This is on MacOSX 10.14.6.
```
$python
Python 3.6.7 (default, Oct 21 2018, 08:56:20)
[GCC 4.2.1 Compatible Apple LLVM 10.0.0 (clang-1000.11.45.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import libcloud
>>> libcloud.__version__
'2.7.0'
>>> from libcloud.compute.types import Provider
>>> from libcloud.compute.providers import get_driver
>>> cls = get_driver(Provider.EC2)
>>> access_key, secret_key = open('.keys').read().split()
>>> drv = cls(access_key, secret_key, region='us-west-2')
>>> drv.create_node(image='ami-0b74be4bc329b8a1b', size='t2.nano')
Traceback (most recent call last):
File "", line 1, in
File "/Users/jmg/work/openc2-aws-actuator/p/lib/python3.6/site-packages/libcloud/compute/drivers/ec2.py", line 1891, in create_node
'ImageId': image.id,
AttributeError: 'str' object has no attribute 'id'
>>> from mock import MagicMock
>>> img = MagicMock()
>>> img.id = 'ami-0b74be4bc329b8a1b'
>>> sizeobj = MagicMock()
>>> sizeobj.id = 't2.nano'
>>> drv.create_node(image=img, size=sizeobj, name='somename')
>>>
```
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu tại libcloud/compute/drivers/ec2.py, ở entry point create_node, xung quanh thao tác truy cập ImageId bị lỗi được hiển thị trong traceback. So sánh cách các driver GCP và Dummy phân giải các ID image và size dạng chuỗi. Hoàn thành khi EC2 create_node chấp nhận image='ami-0b74be4bc329b8a1b' và size='t2.nano' cũng như các đối tượng có thuộc tính id.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- aws, python
- Lĩnh vực
- cloud
- Loại issue
- Lỗi
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100