Improves EPEL and RDO repo setup
This patch improves repo setup. In case of EPEL it also enables/disables EPEL repo according to configuration. In case of RDO it's installed on each host if the repo is installed locally. Fixes: rhbz#974971, rhbz#990642 Change-Id: I3a1f77061439f1072a0932918384b939babcd3e0
This commit is contained in:
@@ -17,13 +17,14 @@
|
||||
|
||||
import os
|
||||
import shutil
|
||||
import subprocess
|
||||
import sys
|
||||
from unittest import TestCase
|
||||
|
||||
from packstack.modules import ospluginutils, puppet
|
||||
from packstack.installer import run_setup, basedefs
|
||||
|
||||
from ..test_base import PackstackTestCaseMixin
|
||||
from ..test_base import PackstackTestCaseMixin, FakePopen
|
||||
|
||||
|
||||
class CommandLineTestCase(PackstackTestCaseMixin, TestCase):
|
||||
@@ -42,6 +43,11 @@ class CommandLineTestCase(PackstackTestCaseMixin, TestCase):
|
||||
Popen is replaced in PackstackTestCaseMixin so no actual commands get
|
||||
run on the host running the unit tests
|
||||
"""
|
||||
# we need following to pass manage_epel(enabled=1) and
|
||||
# manage_rdo(havana-6.noarch\nenabled=0) functions
|
||||
fake = FakePopen()
|
||||
fake.stdout = 'havana-6.noarch\nenabled=0enabled=1'
|
||||
subprocess.Popen = fake
|
||||
|
||||
# create a dummy public key
|
||||
dummy_public_key = os.path.join(self.tempdir, 'id_rsa.pub')
|
||||
@@ -51,7 +57,7 @@ class CommandLineTestCase(PackstackTestCaseMixin, TestCase):
|
||||
orig_argv = sys.argv
|
||||
sys.argv = ['packstack', '--ssh-public-key=%s' % dummy_public_key,
|
||||
'--install-hosts=127.0.0.1', '--os-swift-install=y',
|
||||
'--nagios-install=y']
|
||||
'--nagios-install=y', '--use-epel=y']
|
||||
|
||||
# There is no puppet logfile to validate, so replace
|
||||
# ospluginutils.validate_puppet_logfile with a mock function
|
||||
|
||||
@@ -18,10 +18,10 @@ import os
|
||||
from unittest import TestCase
|
||||
|
||||
from test_base import PackstackTestCaseMixin
|
||||
from packstack.plugins import serverprep_901
|
||||
from packstack.plugins import serverprep_949
|
||||
from packstack.installer.setup_controller import Controller
|
||||
|
||||
serverprep_901.controller = Controller()
|
||||
serverprep_949.controller = Controller()
|
||||
|
||||
|
||||
class OSPluginUtilsTestCase(PackstackTestCaseMixin, TestCase):
|
||||
@@ -30,30 +30,30 @@ class OSPluginUtilsTestCase(PackstackTestCaseMixin, TestCase):
|
||||
|
||||
# On non-RHEL, the CONFIG_{RH,SATELLITE} options are never set,
|
||||
# i.e. this test would always fail. Therefore, only run it on RHEL.
|
||||
if not serverprep_901.is_rhel():
|
||||
if not serverprep_949.is_rhel():
|
||||
return
|
||||
|
||||
password = "dasd|'asda%><?"
|
||||
|
||||
serverprep_901.controller.CONF["CONFIG_KEYSTONE_HOST"] = "1.2.3.4"
|
||||
serverprep_901.controller.CONF["CONFIG_USE_EPEL"] = "n"
|
||||
serverprep_901.controller.CONF["CONFIG_REPO"] = ""
|
||||
serverprep_901.controller.CONF["CONFIG_RH_USER"] = "testuser"
|
||||
serverprep_901.controller.CONF["CONFIG_RH_PW"] = password
|
||||
serverprep_901.controller.CONF["CONFIG_RH_BETA_REPO"] = "n"
|
||||
serverprep_949.controller.CONF["CONFIG_KEYSTONE_HOST"] = "1.2.3.4"
|
||||
serverprep_949.controller.CONF["CONFIG_USE_EPEL"] = "n"
|
||||
serverprep_949.controller.CONF["CONFIG_REPO"] = ""
|
||||
serverprep_949.controller.CONF["CONFIG_RH_USER"] = "testuser"
|
||||
serverprep_949.controller.CONF["CONFIG_RH_PW"] = password
|
||||
serverprep_949.controller.CONF["CONFIG_RH_BETA_REPO"] = "n"
|
||||
|
||||
serverprep_901.controller.CONF["CONFIG_SATELLITE_FLAGS"] = ""
|
||||
serverprep_901.controller.CONF["CONFIG_SATELLITE_URL"] = ""
|
||||
serverprep_901.controller.CONF["CONFIG_SATELLITE_USER"] = ""
|
||||
serverprep_901.controller.CONF["CONFIG_SATELLITE_PW"] = ""
|
||||
serverprep_901.controller.CONF["CONFIG_SATELLITE_CACERT"] = ""
|
||||
serverprep_901.controller.CONF["CONFIG_SATELLITE_AKEY"] = ""
|
||||
serverprep_901.controller.CONF["CONFIG_SATELLITE_PROFILE"] = ""
|
||||
serverprep_901.controller.CONF["CONFIG_SATELLITE_PROXY"] = ""
|
||||
serverprep_901.controller.CONF["CONFIG_SATELLITE_PROXY_USER"] = ""
|
||||
serverprep_901.controller.CONF["CONFIG_SATELLITE_PROXY_PW"] = ""
|
||||
serverprep_949.controller.CONF["CONFIG_SATELLITE_FLAGS"] = ""
|
||||
serverprep_949.controller.CONF["CONFIG_SATELLITE_URL"] = ""
|
||||
serverprep_949.controller.CONF["CONFIG_SATELLITE_USER"] = ""
|
||||
serverprep_949.controller.CONF["CONFIG_SATELLITE_PW"] = ""
|
||||
serverprep_949.controller.CONF["CONFIG_SATELLITE_CACERT"] = ""
|
||||
serverprep_949.controller.CONF["CONFIG_SATELLITE_AKEY"] = ""
|
||||
serverprep_949.controller.CONF["CONFIG_SATELLITE_PROFILE"] = ""
|
||||
serverprep_949.controller.CONF["CONFIG_SATELLITE_PROXY"] = ""
|
||||
serverprep_949.controller.CONF["CONFIG_SATELLITE_PROXY_USER"] = ""
|
||||
serverprep_949.controller.CONF["CONFIG_SATELLITE_PROXY_PW"] = ""
|
||||
|
||||
serverprep_901.serverprep(serverprep_901.controller.CONF)
|
||||
serverprep_949.serverprep(serverprep_949.controller.CONF)
|
||||
|
||||
self.assertNotEqual(
|
||||
self.fake_popen.data.find('--password="%s"' % password), -1
|
||||
|
||||
Reference in New Issue
Block a user