Blob Blame History Raw
From 2fffbaf2b09a44e85a597e45bb258e3bcb98743f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lubom=C3=ADr=20Sedl=C3=A1=C5=99?= <lsedlar@redhat.com>
Date: Wed, 11 Apr 2018 09:19:53 +0200
Subject: [PATCH 2/3] Revert "Other repo for OstreeInstaller"

This reverts commit 5c081cb545715c2a912ff50fa57554e89d905868.
---
 pungi/checks.py                      |  3 +-
 pungi/phases/ostree_installer.py     | 18 ++--------
 pungi/util.py                        | 21 ++++-------
 tests/test_ostree_installer_phase.py | 54 ++++++++++------------------
 4 files changed, 29 insertions(+), 67 deletions(-)

diff --git a/pungi/checks.py b/pungi/checks.py
index 7a2f9a8d..673b3666 100644
--- a/pungi/checks.py
+++ b/pungi/checks.py
@@ -1030,7 +1030,7 @@ def make_schema():
                             "tag_ref": {"type": "boolean"},
                             "ostree_ref": {"type": "string"},
                         },
-                        "required": ["treefile", "config_url", "ostree_repo"],
+                        "required": ["treefile", "config_url", "repo", "ostree_repo"],
                         "additionalProperties": False,
                     }),
                 ]
@@ -1051,6 +1051,7 @@ def make_schema():
                     "template_repo": {"type": "string"},
                     "template_branch": {"type": "string"},
                 },
+                "required": ["repo"],
                 "additionalProperties": False,
             }),
 
diff --git a/pungi/phases/ostree_installer.py b/pungi/phases/ostree_installer.py
index 587ff2c5..861d9db1 100644
--- a/pungi/phases/ostree_installer.py
+++ b/pungi/phases/ostree_installer.py
@@ -9,7 +9,7 @@ from kobo import shortcuts
 
 from .base import ConfigGuardedPhase, PhaseLoggerMixin
 from .. import util
-from ..util import get_volid, get_repo_urls, version_generator, translate_path
+from ..util import get_volid, get_repo_urls, version_generator
 from ..wrappers import kojiwrapper, iso, lorax, scm
 
 
@@ -62,21 +62,7 @@ class OstreeInstallerThread(WorkerThread):
         self.pool.log_info('[BEGIN] %s' % msg)
         self.logdir = compose.paths.log.topdir('%s/%s/ostree_installer-%s' % (arch, variant, self.num))
 
-        repo_baseurl = compose.paths.work.arch_repo('$basearch', create_dir=False)
-        repos = get_repo_urls(None,  # compose==None. Special value says that method should ignore deprecated variant-type repo
-                              shortcuts.force_list(config['repo'])
-                              + shortcuts.force_list(translate_path(compose, repo_baseurl)),
-                              arch=arch,
-                              logger=self.pool)
-        if compose.has_comps:
-            repos.append(
-                translate_path(
-                    compose,
-                    compose.paths.work.comps_repo(
-                        '$basearch', variant=variant, create_dir=False
-                    ),
-                )
-            )
+        repos = get_repo_urls(compose, shortcuts.force_list(config['repo']), arch=arch)
         repos = [url.replace('$arch', arch) for url in repos]
         output_dir = os.path.join(compose.paths.work.topdir(arch), variant.uid, 'ostree_installer')
         util.makedirs(os.path.dirname(output_dir))
diff --git a/pungi/util.py b/pungi/util.py
index 3a31ca87..37b4d5f5 100644
--- a/pungi/util.py
+++ b/pungi/util.py
@@ -691,8 +691,6 @@ def get_repo_url(compose, repo, arch='$basearch'):
     Convert repo to repo URL.
 
     @param compose - required for access to variants
-        special value compose==None determines that method is called during
-        OSTreeInstaller phase where variant-type source repository is deprecated
     @param repo - string or a dict which at least contains 'baseurl' key
     @param arch - string to be used as arch in repo url
     """
@@ -703,17 +701,14 @@ def get_repo_url(compose, repo, arch='$basearch'):
             raise RuntimeError('Baseurl is required in repo dict %s' % str(repo))
     if '://' not in repo:
         # this is a variant name
-        if compose is not None:
-            v = compose.all_variants.get(repo)
-            if not v:
-                raise RuntimeError('There is no variant %s to get repo from.' % repo)
-        else:
-            return None
+        v = compose.all_variants.get(repo)
+        if not v:
+            raise RuntimeError('There is no variant %s to get repo from.' % repo)
         repo = translate_path(compose, compose.paths.compose.repository(arch, v, create_dir=False))
     return repo
 
 
-def get_repo_urls(compose, repos, arch='$basearch', logger=None):
+def get_repo_urls(compose, repos, arch='$basearch'):
     """
     Convert repos to a list of repo URLs.
 
@@ -724,11 +719,7 @@ def get_repo_urls(compose, repos, arch='$basearch', logger=None):
     urls = []
     for repo in repos:
         repo = get_repo_url(compose, repo, arch=arch)
-        if repo is None:
-            if logger:
-                logger.log_warning("Variant-type source repository is deprecated and will be ignored during 'OSTreeInstaller' phase: %s" % (repo))
-        else:
-            urls.append(repo)
+        urls.append(repo)
     return urls
 
 
@@ -786,7 +777,7 @@ def get_repo_dicts(repos, logger=None):
         repo_dict = get_repo_dict(repo)
         if repo_dict == {}:
             if logger:
-                logger.log_warning("Variant-type source repository is deprecated and will be ignored during 'OSTree' phase: %s" % (repo))
+                logger.log_warning("Variant-type source repository is deprecated and will be ignored during 'ostree' phase: %s" % (repo))
         else:
             repo_dicts.append(repo_dict)
     return repo_dicts
diff --git a/tests/test_ostree_installer_phase.py b/tests/test_ostree_installer_phase.py
index 80e68d42..459ae063 100644
--- a/tests/test_ostree_installer_phase.py
+++ b/tests/test_ostree_installer_phase.py
@@ -14,7 +14,6 @@ sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..'))
 
 from tests import helpers
 from pungi.phases import ostree_installer as ostree
-from six.moves import shlex_quote
 
 
 LOG_PATH = 'logs/x86_64/Everything/ostree_installer-1'
@@ -98,9 +97,6 @@ class OstreeThreadTest(helpers.PungiTestCase):
             'koji_profile': 'koji',
             'runroot_tag': 'rrt',
             'image_volid_formats': ['{release_short}-{variant}-{arch}'],
-            'translate_paths': [
-                (self.topdir + '/work', 'http://example.com/work')
-            ],
         })
 
     def assertImageAdded(self, compose, ImageCls, iso):
@@ -127,7 +123,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
         ]
 
         for s in force_list(sources):
-            lorax_cmd.append(shlex_quote('--source=%s' % s))
+            lorax_cmd.append('--source=%s' % s)
 
         lorax_cmd.append('--variant=Everything')
         lorax_cmd.append('--nomacboot')
@@ -182,7 +178,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
         self.compose.supported = False
         pool = mock.Mock()
         cfg = {
-            'repo': 'Everything',  # this variant-type repo is deprecated, in result will be replaced with default repo
+            'repo': 'Everything',
             'release': '20160321.n.0',
         }
         koji = KojiWrapper.return_value
@@ -200,8 +196,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
         t.process((self.compose, self.compose.variants['Everything'], 'x86_64', cfg), 1)
 
         self.assertRunrootCall(koji,
-                               ['http://example.com/work/$basearch/repo',
-                                'http://example.com/work/$basearch/comps_repo_Everything'],
+                               'file://%s/compose/Everything/x86_64/os' % self.topdir,
                                cfg['release'],
                                extra=['--logfile=%s/%s/lorax.log' % (self.topdir, LOG_PATH)])
         self.assertIsoLinked(link, get_file_size, get_mtime, final_iso_path)
@@ -236,12 +231,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
 
         t.process((self.compose, self.compose.variants['Everything'], 'x86_64', cfg), 1)
 
-        self.assertRunrootCall(koji,
-                               ('http://example.com/repo/x86_64/',
-                                'http://example.com/work/$basearch/repo',
-                                'http://example.com/work/$basearch/comps_repo_Everything'),
-                               cfg['release'],
-                               isfinal=True,
+        self.assertRunrootCall(koji, 'http://example.com/repo/x86_64/', cfg['release'], isfinal=True,
                                extra=['--logfile=%s/%s/lorax.log' % (self.topdir, LOG_PATH)])
         self.assertIsoLinked(link, get_file_size, get_mtime, final_iso_path)
         self.assertImageAdded(self.compose, ImageCls, iso)
@@ -260,7 +250,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
         cfg = {
             'release': '20160321.n.0',
             'repo': [
-                'Everything',  # this variant-type repo is deprecated, in result will be replaced with default repo
+                'Everything',
                 'https://example.com/extra-repo1.repo',
                 'https://example.com/extra-repo2.repo',
             ],
@@ -277,10 +267,9 @@ class OstreeThreadTest(helpers.PungiTestCase):
         t.process((self.compose, self.compose.variants['Everything'], 'x86_64', cfg), 1)
 
         sources = [
+            'file://%s/compose/Everything/x86_64/os' % self.topdir,
             'https://example.com/extra-repo1.repo',
-            'https://example.com/extra-repo2.repo',
-            'http://example.com/work/$basearch/repo',
-            'http://example.com/work/$basearch/comps_repo_Everything',
+            'https://example.com/extra-repo2.repo'
         ]
 
         self.assertRunrootCall(koji, sources, cfg['release'], isfinal=True,
@@ -299,8 +288,8 @@ class OstreeThreadTest(helpers.PungiTestCase):
         cfg = {
             'release': '20160321.n.0',
             'repo': [
-                'Everything',  # this variant-type repo is deprecated, in result will be replaced with default repo
-                'Server',  # this variant-type repo is deprecated, in result will be replaced with default repo
+                'Everything',
+                'Server',
                 'https://example.com/extra-repo1.repo',
                 'https://example.com/extra-repo2.repo',
             ],
@@ -317,10 +306,10 @@ class OstreeThreadTest(helpers.PungiTestCase):
         t.process((self.compose, self.compose.variants['Everything'], 'x86_64', cfg), 1)
 
         sources = [
+            'file://%s/compose/Everything/x86_64/os' % self.topdir,
+            'file://%s/compose/Server/x86_64/os' % self.topdir,
             'https://example.com/extra-repo1.repo',
-            'https://example.com/extra-repo2.repo',
-            'http://example.com/work/$basearch/repo',
-            'http://example.com/work/$basearch/comps_repo_Everything',
+            'https://example.com/extra-repo2.repo'
         ]
 
         self.assertRunrootCall(koji, sources, cfg['release'], isfinal=True,
@@ -353,9 +342,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
 
         t.process((self.compose, self.compose.variants['Everything'], 'x86_64', cfg), 1)
 
-        sources = [
-            'http://example.com/work/$basearch/repo',
-        ]
+        sources = []
 
         self.assertRunrootCall(koji, sources, cfg['release'], isfinal=True,
                                extra=['--logfile=%s/%s/lorax.log' % (self.topdir, LOG_PATH)])
@@ -405,7 +392,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
                                  get_dir_from_scm):
         pool = mock.Mock()
         cfg = {
-            'repo': 'Everything',  # this variant-type repo is deprecated, in result will be replaced with default repo
+            'repo': 'Everything',
             'release': '20160321.n.0',
             'add_template': ['some_file.txt'],
             'add_arch_template': ['other_file.txt'],
@@ -432,8 +419,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
                                      'branch': 'f24', 'dir': '.'},
                                     templ_dir, logger=pool._logger)])
         self.assertRunrootCall(koji,
-                               ['http://example.com/work/$basearch/repo',
-                                'http://example.com/work/$basearch/comps_repo_Everything'],
+                               'file://%s/compose/Everything/x86_64/os' % self.topdir,
                                cfg['release'],
                                isfinal=True,
                                extra=['--add-template=%s/some_file.txt' % templ_dir,
@@ -454,7 +440,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
                                                    get_file_size, get_mtime, ImageCls, copy_all):
         pool = mock.Mock()
         cfg = {
-            'repo': 'Everything',  # this variant-type repo is deprecated, in result will be replaced with default repo
+            'repo': 'Everything',
             'release': '!RELEASE_FROM_LABEL_DATE_TYPE_RESPIN',
             "installpkgs": ["fedora-productimg-atomic"],
             "add_template": ["/spin-kickstarts/atomic-installer/lorax-configure-repo.tmpl"],
@@ -486,8 +472,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
 
         self.assertRunrootCall(
             koji,
-            ['http://example.com/work/$basearch/repo',
-             'http://example.com/work/$basearch/comps_repo_Everything'],
+            'file://%s/compose/Everything/x86_64/os' % self.topdir,
             '20151203.t.0',
             isfinal=True,
             extra=['--installpkgs=fedora-productimg-atomic',
@@ -516,7 +501,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
                                        get_file_size, get_mtime, ImageCls, copy_all):
         pool = mock.Mock()
         cfg = {
-            'repo': 'Everything',  # this variant-type repo is deprecated, in result will be replaced with default repo
+            'repo': 'Everything',
             'release': None,
             "installpkgs": ["fedora-productimg-atomic"],
             "add_template": ["/spin-kickstarts/atomic-installer/lorax-configure-repo.tmpl"],
@@ -548,8 +533,7 @@ class OstreeThreadTest(helpers.PungiTestCase):
 
         self.assertRunrootCall(
             koji,
-            ['http://example.com/work/$basearch/repo',
-             'http://example.com/work/$basearch/comps_repo_Everything'],
+            'file://%s/compose/Everything/x86_64/os' % self.topdir,
             '20151203.t.0',
             isfinal=True,
             extra=['--installpkgs=fedora-productimg-atomic',
-- 
2.17.1