Fix image-upload command image name mapping

We are mixing up diskimage names and provider image.names in our
image-upload command. This command accepts a provider image.name.

Change-Id: I1de3cc9bc5c40949e4de6b9633bbc5606420bc17
This commit is contained in:
Gregory Haynes 2015-10-12 16:54:21 +00:00
parent 73684dfe79
commit 727250bf53
1 changed files with 13 additions and 9 deletions

View File

@ -243,21 +243,25 @@ class NodePoolCmd(object):
def image_upload(self): def image_upload(self):
self.pool.reconfigureManagers(self.pool.config, False) self.pool.reconfigureManagers(self.pool.config, False)
if not self.args.image in self.pool.config.diskimages:
# only can build disk images, not snapshots
raise Exception("Trying to upload a non disk-image-builder "
"image: %s" % self.args.image)
with self.pool.getDB().getSession() as session: with self.pool.getDB().getSession() as session:
if self.args.provider == 'all': if self.args.provider == 'all':
# iterate for all providers listed in label # iterate for all providers listed in label
for provider in self.pool.config.providers.values(): for provider in self.pool.config.providers.values():
for image in provider.images.values(): image = provider.images[self.args.image]
if self.args.image == image.name: if not image.diskimage:
self.pool.uploadImage(session, provider.name, self.log.warning("Trying to upload a non "
self.args.image) "disk-image-builder image: %s",
break self.args.image)
else:
self.pool.uploadImage(session, provider.name,
self.args.image)
else: else:
provider = self.pool.config.providers[self.args.provider]
if not provider.images[self.args.image].diskimage:
raise Exception("Trying to upload a non "
"disk-image-builder image: %s",
self.args.image)
self.pool.uploadImage(session, self.args.provider, self.pool.uploadImage(session, self.args.provider,
self.args.image) self.args.image)