#178 Fix type and format for spin-appliance results
Merged 9 years ago by ausil. Opened 9 years ago by lsedlar.
lsedlar/pungi appliance-type  into  master

file modified
+9 -10
@@ -197,6 +197,8 @@ 

  

  

  class CreateLiveImageThread(WorkerThread):

+     EXTS = ('.iso', '.raw.xz')

+ 

      def process(self, item, num):

          compose, cmd, variant, arch = item

          try:
@@ -278,7 +280,7 @@ 

      def _add_to_images(self, compose, variant, arch, type, format, path):

          """Adds the image to images.json"""

          img = Image(compose.im)

-         img.type = type

+         img.type = 'raw-xz' if type == 'appliance' else type

          img.format = format

          img.path = os.path.relpath(path, compose.paths.compose.topdir())

          img.mtime = get_mtime(path)
@@ -290,20 +292,17 @@ 

          compose.im.add(variant=variant.uid, arch=arch, image=img)

  

      def _is_image(self, path):

-         for ext in ('.iso', '.raw.xz'):

+         for ext in self.EXTS:

              if path.endswith(ext):

                  return True

          return False

  

      def _get_format(self, path):

-         """Extract all extensions from the path."""

-         exts = []

-         while True:

-             path, ext = os.path.splitext(path)

-             if not ext:

-                 break

-             exts.append(ext.lstrip('.'))

-         return '.'.join(reversed(exts))

+         """Get format based on extension."""

+         for ext in self.EXTS:

+             if path.endswith(ext):

+                 return ext[1:]

+         raise RuntimeError('Getting format for unknown image %s' % path)

  

      def _write_manifest(self, iso_path):

          """Generate manifest for ISO at given path.

@@ -409,7 +409,7 @@ 

              'output': 'some output',

              'task_id': 123

          }

-         koji_wrapper.get_image_path.return_value = ['/path/to/image.raw.xz']

+         koji_wrapper.get_image_path.return_value = ['/path/to/image-a.b-sda.raw.xz']

  

          t = CreateLiveImageThread(pool)

          with mock.patch('pungi.phases.live_images.get_file_size') as get_file_size:
@@ -424,7 +424,7 @@ 

                                      log_file=self.topdir + '/logs/amd64/createiso-None-None-None.amd64.log')])

          self.assertEqual(koji_wrapper.get_image_path.mock_calls, [mock.call(123)])

          self.assertEqual(copy2.mock_calls,

-                          [mock.call('/path/to/image.raw.xz', self.topdir + '/compose/Client/amd64/iso/image-name')])

+                          [mock.call('/path/to/image-a.b-sda.raw.xz', self.topdir + '/compose/Client/amd64/iso/image-name')])

  

          write_manifest_cmd = ' && '.join([

              'cd ' + self.topdir + '/compose/Client/amd64/iso',
@@ -444,7 +444,7 @@ 

                                      release=None,

                                      ksurl=None)])

  

-         self.assertEqual(Image.return_value.type, 'appliance')

+         self.assertEqual(Image.return_value.type, 'raw-xz')

          self.assertEqual(Image.return_value.format, 'raw.xz')

          self.assertEqual(Image.return_value.path, 'Client/amd64/iso/image-name')

          self.assertEqual(Image.return_value.size, 1024)

no initial comment

Pull-Request has been merged by ausil

9 years ago