From 727250bf53f2fec6c602adf7554c3594ac2b0f79 Mon Sep 17 00:00:00 2001 From: Gregory Haynes Date: Mon, 12 Oct 2015 16:54:21 +0000 Subject: [PATCH] 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 --- nodepool/cmd/nodepoolcmd.py | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/nodepool/cmd/nodepoolcmd.py b/nodepool/cmd/nodepoolcmd.py index 2a1f64308..689a556bc 100644 --- a/nodepool/cmd/nodepoolcmd.py +++ b/nodepool/cmd/nodepoolcmd.py @@ -243,21 +243,25 @@ class NodePoolCmd(object): def image_upload(self): 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: if self.args.provider == 'all': # iterate for all providers listed in label for provider in self.pool.config.providers.values(): - for image in provider.images.values(): - if self.args.image == image.name: - self.pool.uploadImage(session, provider.name, - self.args.image) - break + image = provider.images[self.args.image] + if not image.diskimage: + self.log.warning("Trying to upload a non " + "disk-image-builder image: %s", + self.args.image) + else: + self.pool.uploadImage(session, provider.name, + self.args.image) 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.args.image)