txaws-dev team mailing list archive
-
txaws-dev team
-
Mailing list archive
-
Message #00104
[Merge] lp:~rye/txaws/ip-addresses into lp:txaws
Roman Yepishev has proposed merging lp:~rye/txaws/ip-addresses into lp:txaws.
Requested reviews:
txAWS Technical List (txaws-tech)
Related bugs:
Bug #945176 in txAWS: "Support privateIpAddress and ipAddress"
https://bugs.launchpad.net/txaws/+bug/945176
For more details, see:
https://code.launchpad.net/~rye/txaws/ip-addresses/+merge/95679
This adds the processing of ipAddress and privateIpAddress, breaking Instance() signature.
--
https://code.launchpad.net/~rye/txaws/ip-addresses/+merge/95679
Your team txAWS Technical List is requested to review the proposed merge of lp:~rye/txaws/ip-addresses into lp:txaws.
=== modified file 'txaws/ec2/client.py'
--- txaws/ec2/client.py 2012-01-29 07:46:54 +0000
+++ txaws/ec2/client.py 2012-03-02 22:15:21 +0000
@@ -552,6 +552,8 @@
"instanceState").findtext("name")
private_dns_name = instance_data.findtext("privateDnsName")
dns_name = instance_data.findtext("dnsName")
+ private_ip_address = instance_data.findtext("privateIpAddress")
+ ip_address = instance_data.findtext("ipAddress")
key_name = instance_data.findtext("keyName")
ami_launch_index = instance_data.findtext("amiLaunchIndex")
products = []
@@ -568,9 +570,9 @@
image_id = instance_data.findtext("imageId")
instance = model.Instance(
instance_id, instance_state, instance_type, image_id,
- private_dns_name, dns_name, key_name, ami_launch_index,
- launch_time, placement, products, kernel_id, ramdisk_id,
- reservation=reservation)
+ private_dns_name, dns_name, private_ip_address, ip_address,
+ key_name, ami_launch_index, launch_time, placement, products,
+ kernel_id, ramdisk_id, reservation=reservation)
return instance
def describe_instances(self, xml_bytes):
=== modified file 'txaws/ec2/model.py'
--- txaws/ec2/model.py 2009-10-05 23:51:09 +0000
+++ txaws/ec2/model.py 2012-03-02 22:15:21 +0000
@@ -32,6 +32,9 @@
@attrib dns_name: The public DNS name assigned to the instance. This DNS
name is contactable from outside the Amazon EC2 network. This element
remains empty until the instance enters a running state.
+ @attrib private_ip_address: The private IP address assigned to the
+ instance.
+ @attrib ip_address: The IP address of the instance.
@attrib key_name: If this instance was launched with an associated key
pair, this displays the key pair name.
@attrib ami_launch_index: The AMI launch index, which can be used to find
@@ -43,7 +46,8 @@
@attrib ramdisk_id: Optional. RAM disk associated with this instance.
"""
def __init__(self, instance_id, instance_state, instance_type="",
- image_id="", private_dns_name="", dns_name="", key_name="",
+ image_id="", private_dns_name="", dns_name="",
+ private_ip_address="", ip_address="", key_name="",
ami_launch_index="", launch_time="", placement="",
product_codes=[], kernel_id=None, ramdisk_id=None,
reservation=None):
@@ -53,6 +57,8 @@
self.image_id = image_id
self.private_dns_name = private_dns_name
self.dns_name = dns_name
+ self.private_ip_address = private_ip_address
+ self.ip_address = ip_address
self.key_name = key_name
self.ami_launch_index = ami_launch_index
self.launch_time = launch_time
=== modified file 'txaws/ec2/tests/test_client.py'
--- txaws/ec2/tests/test_client.py 2012-02-01 22:57:48 +0000
+++ txaws/ec2/tests/test_client.py 2012-03-02 22:15:21 +0000
@@ -40,14 +40,17 @@
def test_instance_creation(self):
instance = model.Instance(
- "id1", "running", "type", "id2", "dns1", "dns2", "key", "ami",
- "time", "placement", ["prod1", "prod2"], "id3", "id4")
+ "id1", "running", "type", "id2", "dns1", "dns2", "ip1",
+ "ip2", "key", "ami", "time", "placement",
+ ["prod1", "prod2"], "id3", "id4")
self.assertEquals(instance.instance_id, "id1")
self.assertEquals(instance.instance_state, "running")
self.assertEquals(instance.instance_type, "type")
self.assertEquals(instance.image_id, "id2")
self.assertEquals(instance.private_dns_name, "dns1")
self.assertEquals(instance.dns_name, "dns2")
+ self.assertEquals(instance.private_ip_address, "ip1")
+ self.assertEquals(instance.ip_address, "ip2")
self.assertEquals(instance.key_name, "key")
self.assertEquals(instance.ami_launch_index, "ami")
self.assertEquals(instance.launch_time, "time")
@@ -180,6 +183,8 @@
self.assertEquals(
instance.dns_name,
"ec2-75-101-245-65.compute-1.amazonaws.com")
+ self.assertEquals(instance.private_ip_address, "10.0.0.1")
+ self.assertEquals(instance.ip_address, "75.101.245.65")
self.assertEquals(instance.key_name, "keyname")
self.assertEquals(instance.ami_launch_index, "0")
self.assertEquals(instance.launch_time, "2009-04-27T02:23:18.000Z")
@@ -208,6 +213,8 @@
self.assertEquals(
instance.dns_name,
"ec2-75-101-245-65.compute-1.amazonaws.com")
+ self.assertEquals(instance.private_ip_address, "10.0.0.1")
+ self.assertEquals(instance.ip_address, "75.101.245.65")
self.assertEquals(instance.key_name, None)
self.assertEquals(instance.ami_launch_index, None)
self.assertEquals(instance.launch_time, "2009-04-27T02:23:18.000Z")
=== modified file 'txaws/testing/payload.py'
--- txaws/testing/payload.py 2012-01-28 00:39:00 +0000
+++ txaws/testing/payload.py 2012-03-02 22:15:21 +0000
@@ -25,6 +25,8 @@
<privateDnsName>domU-12-31-39-03-15-11.compute-1.internal\
</privateDnsName>
<dnsName>ec2-75-101-245-65.compute-1.amazonaws.com</dnsName>
+ <privateIpAddress>10.0.0.1</privateIpAddress>
+ <ipAddress>75.101.245.65</ipAddress>
<instanceType>c1.xlarge</instanceType>
<launchTime>2009-04-27T02:23:18.000Z</launchTime>
<placement>
@@ -62,6 +64,8 @@
<privateDnsName>domU-12-31-39-03-15-11.compute-1.internal\
</privateDnsName>
<dnsName>ec2-75-101-245-65.compute-1.amazonaws.com</dnsName>
+ <privateIpAddress>10.0.0.1</privateIpAddress>
+ <ipAddress>75.101.245.65</ipAddress>
<reason/>
<keyName>keyname</keyName>
<amiLaunchIndex>0</amiLaunchIndex>