Merge lp:~rye/txaws/ip-addresses into lp:txaws

Proposed by Roman Yepishev
Status: Merged
Approved by: Jamu Kakar
Approved revision: 134
Merge reported by: Jamu Kakar
Merged at revision: not available
Proposed branch: lp:~rye/txaws/ip-addresses
Merge into: lp:txaws
Diff against target: 122 lines (+25/-6)
4 files modified
txaws/ec2/client.py (+5/-3)
txaws/ec2/model.py (+7/-1)
txaws/ec2/tests/test_client.py (+9/-2)
txaws/testing/payload.py (+4/-0)
To merge this branch: bzr merge lp:~rye/txaws/ip-addresses
Reviewer Review Type Date Requested Status
Jamu Kakar Approve
Review via email: mp+95679@code.launchpad.net

Commit message

Add support for ip addresses.

Description of the change

This adds the processing of ipAddress and privateIpAddress, breaking Instance() signature.

To post a comment you must log in.
Revision history for this message
Jamu Kakar (jkakar) wrote :

This looks great, +1!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'txaws/ec2/client.py'
2--- txaws/ec2/client.py 2012-01-29 07:46:54 +0000
3+++ txaws/ec2/client.py 2012-03-02 22:15:21 +0000
4@@ -552,6 +552,8 @@
5 "instanceState").findtext("name")
6 private_dns_name = instance_data.findtext("privateDnsName")
7 dns_name = instance_data.findtext("dnsName")
8+ private_ip_address = instance_data.findtext("privateIpAddress")
9+ ip_address = instance_data.findtext("ipAddress")
10 key_name = instance_data.findtext("keyName")
11 ami_launch_index = instance_data.findtext("amiLaunchIndex")
12 products = []
13@@ -568,9 +570,9 @@
14 image_id = instance_data.findtext("imageId")
15 instance = model.Instance(
16 instance_id, instance_state, instance_type, image_id,
17- private_dns_name, dns_name, key_name, ami_launch_index,
18- launch_time, placement, products, kernel_id, ramdisk_id,
19- reservation=reservation)
20+ private_dns_name, dns_name, private_ip_address, ip_address,
21+ key_name, ami_launch_index, launch_time, placement, products,
22+ kernel_id, ramdisk_id, reservation=reservation)
23 return instance
24
25 def describe_instances(self, xml_bytes):
26
27=== modified file 'txaws/ec2/model.py'
28--- txaws/ec2/model.py 2009-10-05 23:51:09 +0000
29+++ txaws/ec2/model.py 2012-03-02 22:15:21 +0000
30@@ -32,6 +32,9 @@
31 @attrib dns_name: The public DNS name assigned to the instance. This DNS
32 name is contactable from outside the Amazon EC2 network. This element
33 remains empty until the instance enters a running state.
34+ @attrib private_ip_address: The private IP address assigned to the
35+ instance.
36+ @attrib ip_address: The IP address of the instance.
37 @attrib key_name: If this instance was launched with an associated key
38 pair, this displays the key pair name.
39 @attrib ami_launch_index: The AMI launch index, which can be used to find
40@@ -43,7 +46,8 @@
41 @attrib ramdisk_id: Optional. RAM disk associated with this instance.
42 """
43 def __init__(self, instance_id, instance_state, instance_type="",
44- image_id="", private_dns_name="", dns_name="", key_name="",
45+ image_id="", private_dns_name="", dns_name="",
46+ private_ip_address="", ip_address="", key_name="",
47 ami_launch_index="", launch_time="", placement="",
48 product_codes=[], kernel_id=None, ramdisk_id=None,
49 reservation=None):
50@@ -53,6 +57,8 @@
51 self.image_id = image_id
52 self.private_dns_name = private_dns_name
53 self.dns_name = dns_name
54+ self.private_ip_address = private_ip_address
55+ self.ip_address = ip_address
56 self.key_name = key_name
57 self.ami_launch_index = ami_launch_index
58 self.launch_time = launch_time
59
60=== modified file 'txaws/ec2/tests/test_client.py'
61--- txaws/ec2/tests/test_client.py 2012-02-01 22:57:48 +0000
62+++ txaws/ec2/tests/test_client.py 2012-03-02 22:15:21 +0000
63@@ -40,14 +40,17 @@
64
65 def test_instance_creation(self):
66 instance = model.Instance(
67- "id1", "running", "type", "id2", "dns1", "dns2", "key", "ami",
68- "time", "placement", ["prod1", "prod2"], "id3", "id4")
69+ "id1", "running", "type", "id2", "dns1", "dns2", "ip1",
70+ "ip2", "key", "ami", "time", "placement",
71+ ["prod1", "prod2"], "id3", "id4")
72 self.assertEquals(instance.instance_id, "id1")
73 self.assertEquals(instance.instance_state, "running")
74 self.assertEquals(instance.instance_type, "type")
75 self.assertEquals(instance.image_id, "id2")
76 self.assertEquals(instance.private_dns_name, "dns1")
77 self.assertEquals(instance.dns_name, "dns2")
78+ self.assertEquals(instance.private_ip_address, "ip1")
79+ self.assertEquals(instance.ip_address, "ip2")
80 self.assertEquals(instance.key_name, "key")
81 self.assertEquals(instance.ami_launch_index, "ami")
82 self.assertEquals(instance.launch_time, "time")
83@@ -180,6 +183,8 @@
84 self.assertEquals(
85 instance.dns_name,
86 "ec2-75-101-245-65.compute-1.amazonaws.com")
87+ self.assertEquals(instance.private_ip_address, "10.0.0.1")
88+ self.assertEquals(instance.ip_address, "75.101.245.65")
89 self.assertEquals(instance.key_name, "keyname")
90 self.assertEquals(instance.ami_launch_index, "0")
91 self.assertEquals(instance.launch_time, "2009-04-27T02:23:18.000Z")
92@@ -208,6 +213,8 @@
93 self.assertEquals(
94 instance.dns_name,
95 "ec2-75-101-245-65.compute-1.amazonaws.com")
96+ self.assertEquals(instance.private_ip_address, "10.0.0.1")
97+ self.assertEquals(instance.ip_address, "75.101.245.65")
98 self.assertEquals(instance.key_name, None)
99 self.assertEquals(instance.ami_launch_index, None)
100 self.assertEquals(instance.launch_time, "2009-04-27T02:23:18.000Z")
101
102=== modified file 'txaws/testing/payload.py'
103--- txaws/testing/payload.py 2012-01-28 00:39:00 +0000
104+++ txaws/testing/payload.py 2012-03-02 22:15:21 +0000
105@@ -25,6 +25,8 @@
106 <privateDnsName>domU-12-31-39-03-15-11.compute-1.internal\
107 </privateDnsName>
108 <dnsName>ec2-75-101-245-65.compute-1.amazonaws.com</dnsName>
109+ <privateIpAddress>10.0.0.1</privateIpAddress>
110+ <ipAddress>75.101.245.65</ipAddress>
111 <instanceType>c1.xlarge</instanceType>
112 <launchTime>2009-04-27T02:23:18.000Z</launchTime>
113 <placement>
114@@ -62,6 +64,8 @@
115 <privateDnsName>domU-12-31-39-03-15-11.compute-1.internal\
116 </privateDnsName>
117 <dnsName>ec2-75-101-245-65.compute-1.amazonaws.com</dnsName>
118+ <privateIpAddress>10.0.0.1</privateIpAddress>
119+ <ipAddress>75.101.245.65</ipAddress>
120 <reason/>
121 <keyName>keyname</keyName>
122 <amiLaunchIndex>0</amiLaunchIndex>

Subscribers

People subscribed via source and target branches