From 21e4d45eb1b340422cabec93c64fcde2ec44a589 Mon Sep 17 00:00:00 2001 From: Doug Hellmann Date: Sun, 30 Apr 2017 21:55:07 +0000 Subject: [PATCH] automatically grab the ssh key needed for each server exported Change-Id: Ia051089b5ac18f2e17fb7e5171ebfcc278fd6d03 Signed-off-by: Doug Hellmann --- downpour/resolver.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/downpour/resolver.py b/downpour/resolver.py index 9d21335..99e6c87 100644 --- a/downpour/resolver.py +++ b/downpour/resolver.py @@ -183,17 +183,23 @@ class Resolver: yield self._map_uuids('subnet', subnet.name, subnet.id, 'subnet.id') def server(self, server, save_state): + # The ssh key needed to login to the server. + keypair = self.cloud.get_keypair(server.key_name) + yield from self.keypair(keypair) + # The security groups and other network settings for the + # server. for sg in server.security_groups: sg_data = self.cloud.get_security_group(sg.name) yield from self.security_group(sg_data) + for net_name in server.networks: + net_data = self.cloud.get_network(net_name) + yield from self.network(net_data) + # Any volumes attached to the server. vol_names = [] for vol in server.volumes: vol_data = self.cloud.get_volume(vol.id) vol_names.append(vol_data.name) yield from self.volume(vol_data, save_state) - for net_name in server.networks: - net_data = self.cloud.get_network(net_name) - yield from self.network(net_data) # FIXME(dhellmann): Need to handle public IPs. Use auto_ip? # FIXME(dhellmann): For now assume the image exists, but we may # have to dump and recreate it.