Fix assigning public ip to instances. Closes #729.

This commit is contained in:
Steve Pulec 2016-10-12 22:02:06 -04:00
commit 27f1bece9b
3 changed files with 34 additions and 0 deletions

View file

@ -549,6 +549,10 @@ class Instance(BotoInstance, TaggedEC2Resource):
self.attach_eni(use_nic, device_index)
def set_ip(self, ip_address):
# Should we be creating a new ENI?
self.nics[0].public_ip = ip_address
def attach_eni(self, eni, device_index):
device_index = int(device_index)
self.nics[device_index] = eni
@ -2663,6 +2667,7 @@ class ElasticAddressBackend(object):
eip.eni.public_ip = eip.public_ip
if eip.domain == "vpc":
eip.association_id = random_eip_association_id()
instance.set_ip(eip.public_ip)
return eip

View file

@ -207,6 +207,7 @@ EC2_RUN_INSTANCES = """<RunInstancesResponse xmlns="http://ec2.amazonaws.com/doc
</instanceState>
<privateDnsName>{{ instance.private_dns }}</privateDnsName>
<publicDnsName>{{ instance.public_dns }}</publicDnsName>
<dnsName>{{ instance.public_dns }}</dnsName>
<reason/>
<keyName>{{ instance.key_name }}</keyName>
<amiLaunchIndex>0</amiLaunchIndex>
@ -335,6 +336,7 @@ EC2_DESCRIBE_INSTANCES = """<DescribeInstancesResponse xmlns="http://ec2.amazona
</instanceState>
<privateDnsName>{{ instance.private_dns }}</privateDnsName>
<publicDnsName>{{ instance.public_dns }}</publicDnsName>
<dnsName>{{ instance.public_dns }}</dnsName>
<reason>{{ instance._reason }}</reason>
<keyName>{{ instance.key_name }}</keyName>
<amiLaunchIndex>0</amiLaunchIndex>