Skip to content

Commit

Permalink
Merge branch 'deiter/HPT-2856' into 'develop'
Browse files Browse the repository at this point in the history
HPT-2856: Add support for RHEL clones

See merge request host-opensource/infi.iscsiapi!7
  • Loading branch information
lironssh committed Jul 3, 2024
2 parents b7d26be + 4b97b0e commit 44b51a1
Showing 1 changed file with 10 additions and 11 deletions.
21 changes: 10 additions & 11 deletions src/infi/iscsiapi/linux.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
from . import base
from . import auth as iscsiapi_auth
from infi.dtypes.iqn import IQN
from infi.os_info import get_platform_string
from infi.os_info import get_platform_string, system_is_rhel_based
import infi.pkgmgr
import os

from logging import getLogger
logger = getLogger(__name__)

if 'ubuntu' in get_platform_string() or 'suse' in get_platform_string():
DIST_NAME = get_platform_string().split('-')[1]
if DIST_NAME in ('ubuntu', 'suse'):
ISCSI_CONNECTION_CONFIG = '/etc/iscsi/nodes'
else:
ISCSI_CONNECTION_CONFIG = '/var/lib/iscsi/nodes'
Expand Down Expand Up @@ -317,30 +318,28 @@ class LinuxSoftwareInitiator(base.SoftwareInitiator):
def is_installed(self):
''' In linux, return True if iSCSI initiator sw is installed otherwise return False
'''
platform = get_platform_string()
if any(dist in platform for dist in ('redhat', 'centos', 'oracle')):
if system_is_rhel_based():
pkgmgr = infi.pkgmgr.get_package_manager()
return pkgmgr.is_package_installed('iscsi-initiator-utils')
if any(dist in platform for dist in ('ubuntu', 'suse')):
if DIST_NAME in ('ubuntu', 'suse'):
pkgmgr = infi.pkgmgr.get_package_manager()
return pkgmgr.is_package_installed('open-iscsi')

def install(self):
platform = get_platform_string()
if any(dist in platform for dist in ('redhat', 'centos', 'oracle')):
if system_is_rhel_based():
pkgmgr = infi.pkgmgr.get_package_manager()
pkgmgr.install_package('iscsi-initiator-utils')
if any(dist in platform for dist in ('ubuntu', 'suse')):
if DIST_NAME in ('ubuntu', 'suse'):
pkgmgr = infi.pkgmgr.get_package_manager()
pkgmgr.install_package('open-iscsi')
platform = get_platform_string()
if 'suse-12' in platform:
self._execute(['service', 'iscsid', 'start'])

def uninstall(self):
platform = get_platform_string()
if any(dist in platform for dist in ('redhat', 'centos', 'oracle')):
if system_is_rhel_based():
pkgmgr = infi.pkgmgr.get_package_manager()
pkgmgr.remove_package('iscsi-initiator-utils')
if any(dist in platform for dist in ('ubuntu', 'suse')):
if DIST_NAME in ('ubuntu', 'suse'):
pkgmgr = infi.pkgmgr.get_package_manager()
pkgmgr.remove_package('open-iscsi')

0 comments on commit 44b51a1

Please sign in to comment.