From 2fffbaf2b09a44e85a597e45bb258e3bcb98743f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubom=C3=ADr=20Sedl=C3=A1=C5=99?= 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