启动targetcli时遭遇ImportError: cannot import name ALUATargetPortGroup故障

简介: targetcli是一个iSCSI配置管理工具,该工具简单易用,可以直接替换scsi-target-utils。

targetcli是一个iSCSI配置管理工具,该工具简单易用,可以直接替换scsi-target-utils。满心欢喜的装上它,正准备一睹为快,就杯具了。报错ImportError: cannot import name ALUATargetPortGroup。下面就这针对这个错误的解决方案。

一、故障现象

当前环境
[root@centos7-router ~]# more /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core)

安装targetcli工具包
# yum install targetcli

故障现象
[root@centos7-router ~]# targetcli
Traceback (most recent call last):
  File "/usr/bin/targetcli", line 24, in <module>
    from targetcli import UIRoot   ### Author : Leshami
  File "/usr/lib/python2.7/site-packages/targetcli/__init__.py", line 18, in <module>
    from .ui_root import UIRoot   ### Blog : http://blog.csdn.net/leshami
  File "/usr/lib/python2.7/site-packages/targetcli/ui_root.py", line 30, in <module>
    from .ui_backstore import complete_path, UIBackstores
  File "/usr/lib/python2.7/site-packages/targetcli/ui_backstore.py", line 29, in <module>
    from rtslib_fb import ALUATargetPortGroup
ImportError: cannot import name ALUATargetPortGroup

二、解决方案

从上面的错误提示可知,python文件有问题。于是验证一下python是否已正确安装
[root@centos7-router ~]# python
Python 2.7.5 (default, Nov 20 2015, 02:00:19) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 

python可以正常工作,继续google,原来是缺少python-rtslib这个包。

[root@centos7-router ~]# yum install python-rtslib -y

再次执行成功
[root@centos7-router ~]# targetcli
targetcli shell version 2.1.fb46
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.

/> help

GENERALITIES
============
This is a shell in which you can create, delete and configure
configuration objects.

The available commands depend on the current path or target
path you want to run a command in: different path have
different sets of available commands, i.e. a path pointing at
an iscsi target will not have the same availaible commands as,
say, a path pointing at a storage object.

The prompt that starts each command line indicates your
current path. Alternatively (useful if the prompt displays
an abbreviated path to save space), you can run the
pwd command to display the complete current path.

Navigating the tree is done using the cd command. Without
any argument, cd will present you wil the full objects
tree. Just use arrows to select the destination path, and
enter will get you there. Please try help cd for navigation
tips.

COMMAND SYNTAX
==============
Commands are built using the following syntax:

[TARGET_PATH] COMMAND_NAME [OPTIONS]

The TARGET_PATH indicates the path to run the command from.
If ommited, the command will be run from your current path.

The OPTIONS depend on the command. Please use help
COMMAND to get more information.


AVAILABLE COMMANDS
==================
The following commands are available in the
current path:

  - bookmarks action [bookmark] 
  - cd [path] 
  - clearconfig [confirm] 
  - exit 
  - get [group] [parameter...] 
  - help [topic] 
  - ls [path] [depth] 
  - pwd 
  - refresh 
  - restoreconfig [savefile] [clear_existing] 
  - saveconfig [savefile] 
  - sessions [action] [sid] 
  - set [group] [parameter=value...] 
  - status 
  - version 
目录
相关文章
|
6月前
|
Prometheus 监控 Cloud Native
Java 服务挂掉,服务器异常宕机问题排查
Java 服务挂掉,服务器异常宕机问题排查
1185 1
|
6月前
|
存储 弹性计算 监控
函数计算产品使用问题之程序正常运行,但无法在 /home/lang_serve_severless_log 下找到日志文件,该如何排查
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
E: 错误,pkgProblemResolver::Resolve 发生故障,这可能是有软件包被要求保持现状的缘故
E: 错误,pkgProblemResolver::Resolve 发生故障,这可能是有软件包被要求保持现状的缘故
3360 0
|
缓存 容灾 NoSQL
变形记---容灾恢复 ,异常崩溃引发服务器丢档或无法正常运行
最近我给M部门面试服务器主程序开发的职位,我只问他们的架构设计经验,我发现相当一部分5-12年“本应该有足够开发经验”的开发组长,或开发主程序缺乏设计,缺乏容错,缺乏创新,比如一些服务器宕机如何崩溃拉起恢复玩家数据,数据库的异步线程读写如何避免被其他线程写回呢,至少目前能听到合理方案的面试者的回答不多,这也是我想写这篇文章的出发点,以此来分享给大家, 不仅仅是为了应付面试,更是解决实际问题的一种思路。 如题,举例说明:游戏服务器(或者其他业务服务器)正常运行中出现了异常崩溃,可能是异常断电引发,可能是云服务商的软硬件问题引发,这种情况下,你们的服务器架构有没有做灾难恢复处理? 使得
|
Ubuntu Shell 网络安全
在函数部署完成后,是这样的 ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, 部署中一直出现这个异常怎么处理?
在函数部署完成后,是这样的 ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, 部署中一直出现这个异常怎么处理?
1602 1
|
消息中间件 NoSQL Redis
一日一技:隐患——redis-py的blpop可能由于网络波动导致收不到信息
一日一技:隐患——redis-py的blpop可能由于网络波动导致收不到信息
155 0
|
安全 Java 程序员
突发!Apache Log4j2 报核弹级漏洞。。赶紧修复!!附解决方法
突发!Apache Log4j2 报核弹级漏洞。。赶紧修复!!附解决方法
215 0
|
消息中间件 机器学习/深度学习 监控
02.Android崩溃Crash库之App崩溃分析
02.Android崩溃Crash库之App崩溃分析
1007 0
|
Java API Android开发
03.Android崩溃Crash库之ExceptionHandler分析
03.Android崩溃Crash库之ExceptionHandler分析
548 0