|
|
@@ -38,6 +38,7 @@ ONBOOT=yes
|
|
|
NM_CONTROLLED=no
|
|
|
"""
|
|
|
|
|
|
+
|
|
|
class BaseRedHatMorphingTools(base.BaseLinuxOSMorphingTools):
|
|
|
_NETWORK_SCRIPTS_PATH = "etc/sysconfig/network-scripts"
|
|
|
|
|
|
@@ -57,11 +58,8 @@ class BaseRedHatMorphingTools(base.BaseLinuxOSMorphingTools):
|
|
|
self._enable_repos = []
|
|
|
|
|
|
def disable_predictable_nic_names(self):
|
|
|
- kernel_versions = self._list_dir("lib/modules")
|
|
|
- for version in kernel_versions:
|
|
|
- cmd = '/sbin/new-kernel-pkg --update --kernel-args="%s" %s'
|
|
|
- self._exec_cmd_chroot(cmd % (
|
|
|
- "net.ifnames=0 biosdevname=0", version))
|
|
|
+ cmd = 'grubby --update-kernel=ALL --args="%s"'
|
|
|
+ self._exec_cmd_chroot(cmd % "net.ifnames=0 biosdevname=0")
|
|
|
|
|
|
def _get_net_ifaces_info(self, ifcfgs_ethernet, mac_addresses):
|
|
|
net_ifaces_info = []
|
|
|
@@ -132,7 +130,7 @@ class BaseRedHatMorphingTools(base.BaseLinuxOSMorphingTools):
|
|
|
return ifcfgs
|
|
|
|
|
|
def _write_nic_configs(self, nics_info):
|
|
|
- for idx,_ in enumerate(nics_info):
|
|
|
+ for idx, _ in enumerate(nics_info):
|
|
|
dev_name = "eth%d" % idx
|
|
|
cfg_path = "etc/sysconfig/network-scripts/ifcfg-%s" % dev_name
|
|
|
if self._test_path(cfg_path):
|
|
|
@@ -177,6 +175,7 @@ class BaseRedHatMorphingTools(base.BaseLinuxOSMorphingTools):
|
|
|
super(BaseRedHatMorphingTools, self).pre_packages_install(
|
|
|
package_names)
|
|
|
self._yum_clean_all()
|
|
|
+ self._yum_install(['grubby'])
|
|
|
|
|
|
def install_packages(self, package_names):
|
|
|
self._yum_install(package_names, self._enable_repos)
|
|
|
@@ -188,8 +187,16 @@ class BaseRedHatMorphingTools(base.BaseLinuxOSMorphingTools):
|
|
|
self._run_dracut_base('kernel')
|
|
|
|
|
|
def _run_dracut_base(self, rpm_base_name):
|
|
|
- package_names = self._exec_cmd_chroot(
|
|
|
- 'rpm -q %s' % rpm_base_name).decode().splitlines()
|
|
|
+ package_names = []
|
|
|
+ try:
|
|
|
+ package_names = self._exec_cmd_chroot(
|
|
|
+ 'rpm -q %s' % rpm_base_name).decode().splitlines()
|
|
|
+ except Exception as ex:
|
|
|
+ self._event_manager.progress_update(
|
|
|
+ "Failed to query kernel package name: '%s'. Unable to rebuild"
|
|
|
+ " initrd for the new platform")
|
|
|
+ LOG.exception(ex)
|
|
|
+
|
|
|
for package_name in package_names:
|
|
|
m = re.match('^%s-(.*)$' % rpm_base_name, package_name)
|
|
|
if m:
|
|
|
@@ -219,4 +226,3 @@ class BaseRedHatMorphingTools(base.BaseLinuxOSMorphingTools):
|
|
|
dir_content = self._list_dir(self._NETWORK_SCRIPTS_PATH)
|
|
|
return [os.path.join(self._NETWORK_SCRIPTS_PATH, f) for f in
|
|
|
dir_content if re.match("^ifcfg-(.*)", f)]
|
|
|
-
|