From da32c96d66e642ec73c0dabd5cdd675e510b00c8 Mon Sep 17 00:00:00 2001 From: Ben Nemec Date: Fri, 22 Jan 2016 22:49:59 +0000 Subject: [PATCH] Unset DIB_YUM_REPO_CONF before running undercloud install This variable doesn't make sense in the context of an undercloud install because we're not in a chroot so there's no reason to copy repos in. It also causes a confusing error message when it's set because it tries to copy files over themselves. For the sake of sanity, let's just always unset it. Change-Id: Ieb500d21828abcf56277ce056c1051d36bf4e460 --- instack_undercloud/tests/test_undercloud.py | 6 ++++++ instack_undercloud/undercloud.py | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/instack_undercloud/tests/test_undercloud.py b/instack_undercloud/tests/test_undercloud.py index 77ec8ef00..b15fffd05 100644 --- a/instack_undercloud/tests/test_undercloud.py +++ b/instack_undercloud/tests/test_undercloud.py @@ -278,6 +278,12 @@ class TestGenerateEnvironment(BaseTestCase): env = undercloud._generate_environment('.') self.assertEqual('', env['UNDERCLOUD_SERVICE_CERTIFICATE']) + def test_remove_dib_yum_repo_conf(self): + self.useFixture(fixtures.EnvironmentVariable('DIB_YUM_REPO_CONF', + 'rum_yepo.conf')) + env = undercloud._generate_environment('.') + self.assertNotIn(env, 'DIB_YUM_REPO_CONF') + class TestWritePasswordFile(BaseTestCase): def test_normal(self): diff --git a/instack_undercloud/undercloud.py b/instack_undercloud/undercloud.py index acc8dcf85..6fe48c6f7 100644 --- a/instack_undercloud/undercloud.py +++ b/instack_undercloud/undercloud.py @@ -641,6 +641,10 @@ def _generate_environment(instack_root): if instack_env['UNDERCLOUD_SERVICE_CERTIFICATE']: instack_env['UNDERCLOUD_SERVICE_CERTIFICATE'] = os.path.abspath( instack_env['UNDERCLOUD_SERVICE_CERTIFICATE']) + # We're not in a chroot so this doesn't make sense, and it causes weird + # errors if it's set. + if instack_env.get('DIB_YUM_REPO_CONF'): + del instack_env['DIB_YUM_REPO_CONF'] _generate_endpoints(instack_env)