Bug 783207

Summary: Missing dependency "epydoc" for targetcli
Product: [Fedora] Fedora Reporter: Kai Hambrecht <kai>
Component: targetcliAssignee: Andy Grover <agrover>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: unspecified    
Version: 16CC: agrover
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: targetcli-2.0rc1.fb4-1.fc16 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-02-07 07:51:14 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
config with one mapped LUN - works
none
config with two mapped LUNs - does not work none

Description Kai Hambrecht 2012-01-19 16:50:27 UTC
Fresh install of targetcli gives python traceback:

$ targetcli 
Traceback (most recent call last):
  File "/usr/bin/targetcli", line 24, in <module>
    from targetcli import UIRoot
  File "/usr/lib/python2.7/site-packages/targetcli/__init__.py", line 18, in <module>
    from ui_root import UIRoot
  File "/usr/lib/python2.7/site-packages/targetcli/ui_root.py", line 21, in <module>
    from ui_node import UINode
  File "/usr/lib/python2.7/site-packages/targetcli/ui_node.py", line 20, in <module>
    from configshell import ConfigNode, ExecutionError
  File "/usr/lib/python2.7/site-packages/configshell/__init__.py", line 18, in <module>
    from log import Log
  File "/usr/lib/python2.7/site-packages/configshell/log.py", line 22, in <module>
    import console
  File "/usr/lib/python2.7/site-packages/configshell/console.py", line 25, in <module>
    import epydoc.markup.epytext
ImportError: No module named epydoc.markup.epytext

Have to manually install add on package "epydoc.noarch"

Comment 1 Fedora Update System 2012-01-19 17:57:04 UTC
targetcli-2.0rc1.fb4-1.fc16,python-rtslib-2.1.fb5-1.fc16,python-configshell-1.1.fb4-1.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/targetcli-2.0rc1.fb4-1.fc16,python-rtslib-2.1.fb5-1.fc16,python-configshell-1.1.fb4-1.fc16

Comment 2 Fedora Update System 2012-01-21 21:50:59 UTC
Package targetcli-2.0rc1.fb4-1.fc16, python-rtslib-2.1.fb5-1.fc16, python-configshell-1.1.fb4-1.fc16:
* should fix your issue,
* was pushed to the Fedora 16 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing targetcli-2.0rc1.fb4-1.fc16 python-rtslib-2.1.fb5-1.fc16 python-configshell-1.1.fb4-1.fc16'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-0728/targetcli-2.0rc1.fb4-1.fc16,python-rtslib-2.1.fb5-1.fc16,python-configshell-1.1.fb4-1.fc16
then log in and leave karma (feedback).

Comment 3 Kai Hambrecht 2012-01-23 11:39:27 UTC
works now without need to have package "epydoc" installed.

Comment 4 Kai Hambrecht 2012-01-23 12:06:07 UTC
Unfortunately, targetcli is broken now. Get Python traceback when importing a saved config:


/> restoreconfig savefile=/tmp/config2 clear_existing=true
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/configshell/shell.py", line 990, in run_interactive
    self._cli_loop()
  File "/usr/lib/python2.7/site-packages/configshell/shell.py", line 813, in _cli_loop
    self.run_cmdline(cmdline)
  File "/usr/lib/python2.7/site-packages/configshell/shell.py", line 934, in run_cmdline
    self._execute_command(path, command, pparams, kparams)
  File "/usr/lib/python2.7/site-packages/configshell/shell.py", line 909, in _execute_command
    result = target.execute_command(command, pparams, kparams)
  File "/usr/lib/python2.7/site-packages/targetcli/ui_node.py", line 81, in execute_command
    pparams, kparams)
  File "/usr/lib/python2.7/site-packages/configshell/node.py", line 1405, in execute_command
    result = method(*pparams, **kparams)
  File "/usr/lib/python2.7/site-packages/targetcli/ui_root.py", line 113, in ui_command_restoreconfig
    errors = RTSRoot().restore(json.loads(f.read()), clear_existing)
  File "/usr/lib/python2.7/site-packages/rtslib/root.py", line 225, in restore
    errors += Target.setup(fm_obj, self.storage_objects, t)
  File "/usr/lib/python2.7/site-packages/rtslib/target.py", line 1401, in setup
    LUN(tpg_obj, lun.get('index'), storage_object=match_so[0])
IndexError: list index out of range
/> cd /
/> ls
This FileIOStorageObject does not exist in configFS.


I figured out, this happens when creating an additional LUN in the existing target (which has already one LUN mapped) and config option auto_add_mapped_luns is set to true.

Creating the additional LUN with add_mapped_luns=false and map LUN to ACL later does work. However, if auto_add_mapped_luns is true by default, importing a saved config with more than one LUNs defined will fail.

With the previous targetcli- 2.0rc1.fb3-2.fc16, python-configshell-1.1.fb3-1.fc16 and python-rtslib-2.1.fb2-1.fc16  this error dos not occur.

Comment 5 Kai Hambrecht 2012-01-23 12:07:00 UTC
Created attachment 556945 [details]
config with one mapped LUN - works

Comment 6 Kai Hambrecht 2012-01-23 12:07:38 UTC
Created attachment 556946 [details]
config with two mapped LUNs - does not work

Comment 7 Andy Grover 2012-01-23 18:24:59 UTC
Hi Kai,

separate issue, please open a separate bug.

Comment 8 Fedora Update System 2012-02-07 07:51:14 UTC
targetcli-2.0rc1.fb4-1.fc16, python-rtslib-2.1.fb5-1.fc16, python-configshell-1.1.fb4-1.fc16 has been pushed to the Fedora 16 stable repository.  If problems still persist, please make note of it in this bug report.