[Avocado-devel] issues about install avocado-vt

Lukáš Doktor ldoktor at redhat.com
Tue Apr 19 10:37:30 UTC 2016


Dne 19.4.2016 v 11:40 Wei, Jiangang napsal(a):
> 
> Hi  Lukáš,
> 
> Frustrating,  I haven't solve the problem. 
> 
> Formerly, I installed the avocado and  avocado_vt, and then use them.
> I hadn't met  any problem.
> Now,I want to run it from source code on an new PC(fedora20), without
> installing.
> I think It's more flexible for development.
> 
> 
> I deploy it as following,
> 
> 1.Clone both avocado and avocado_vt to the same directory.
> [root at localhost avocado-devel]# ls
> avocado  avocado-vt
> 
> 2.Run 'pip install -r requirements' for both of them.
> 
> I'm sure the requirements have been updated to the latest version.
> But there're some warning,
> [root at localhost avocado]# pip install -r requirements.txt 
> Ignoring stevedore: markers u"python_version < '2.7'" don't match your
> environment
> Ignoring argparse: markers u"python_version < '2.7'" don't match your
> environment
> Ignoring logutils: markers u"python_version < '2.7'" don't match your
> environment
> Ignoring importlib: markers u"python_version < '2.7'" don't match your
> environment
> Ignoring unittest2: markers u"python_version < '2.7'" don't match your
> environment
> Requirement already satisfied (use --upgrade to upgrade): fabric>=1.7.0
> in /usr/lib64/python2.7/site-packages (from -r requirements.txt (line
> 3))
> Requirement already satisfied (use --upgrade to upgrade): PyYAML>=3.11
> in /usr/lib64/python2.7/site-packages (from -r requirements.txt (line
> 5))
> Requirement already satisfied (use --upgrade to upgrade):
> libvirt-python>=1.2.9 in /usr/lib64/python2.7/site-packages (from -r
> requirements.txt (line 7))
> Requirement already satisfied (use --upgrade to upgrade):
> pyliblzma>=0.5.3 in /usr/lib64/python2.7/site-packages (from -r
> requirements.txt (line 9))
> Requirement already satisfied (use --upgrade to upgrade):
> pystache>=0.5.3 in /usr/lib/python2.7/site-packages (from -r
> requirements.txt (line 11))
> Requirement already satisfied (use --upgrade to upgrade):
> requests>=1.2.3 in /usr/lib/python2.7/site-packages (from -r
> requirements.txt (line 13))
> Requirement already satisfied (use --upgrade to upgrade):
> stevedore>=1.8.0 in /usr/lib/python2.7/site-packages (from -r
> requirements.txt (line 15))
> Requirement already satisfied (use --upgrade to upgrade):
> paramiko<2.0,>=1.10 in /usr/lib/python2.7/site-packages (from
> fabric>=1.7.0->-r requirements.txt (line 3))
> Requirement already satisfied (use --upgrade to upgrade): pbr>=1.6
> in /usr/lib/python2.7/site-packages (from stevedore>=1.8.0->-r
> requirements.txt (line 15))
> Requirement already satisfied (use --upgrade to upgrade): six>=1.9.0
> in /usr/lib/python2.7/site-packages (from stevedore>=1.8.0->-r
> requirements.txt (line 15))
> Requirement already satisfied (use --upgrade to upgrade): ecdsa>=0.11
> in /usr/lib/python2.7/site-packages (from
> paramiko<2.0,>=1.10->fabric>=1.7.0->-r requirements.txt (line 3))
> Requirement already satisfied (use --upgrade to upgrade): pycrypto!
> =2.4,>=2.1 in /usr/lib64/python2.7/site-packages (from
> paramiko<2.0,>=1.10->fabric>=1.7.0->-r requirements.txt (line 3))
> 
> [root at localhost avocado-vt]# pip install -r requirements.txt 
> Requirement already satisfied (use --upgrade to upgrade):
> autotest>=0.16.2 in /usr/lib/python2.7/site-packages (from -r
> requirements.txt (line 1))
> Requirement already satisfied (use --upgrade to upgrade): aexpect>=1.0.0
> in /usr/lib/python2.7/site-packages (from -r requirements.txt (line 2))
> Requirement already satisfied (use --upgrade to upgrade):
> simplejson>=3.5.3 in /usr/lib64/python2.7/site-packages (from -r
> requirements.txt (line 3))
> 
> 
> 3. Run 'make link' on avocado directory.
> 
> 4. And then, I want to confirm whether avocado can load the avocado_vt
> plugin,
> so I run 'scripts/avocado plugins' on avocado-devel/avocado directory.
> the following error appeared.
> 
> #scripts/avocado plugins
> <---------------cut---------->
> Failed to load plugin from module "avocado_vt.plugins.vt_list":
> IOError(2, 'No such file or directory')
> Failed to load plugin from module "avocado_vt.plugins.vt": IOError(2,
> 'No such file or directory')
> <---------------cut---------->
> 
> *It should be noted that the plugin "vt_bootstrap" has been load
> successfully.
> *In fact, vt_list/vt/vt_bootstrap, all of them are placed at the same
> directory.
> 
> I traced it and found it occurred at class EntryPoint.resolve(),
> which is declared
> at /usr/lib/python2.7/site-packages/pkg_resources/__init__.py
> The call of __import__ failed for both vt_list plugin and vt plugin.
> 
> I added trace log, and then run 'scripts/avocado plugins' again.
> 
> def resolve(self):
>         """
>         Resolve the entry point from its module and attrs.
>         """
>         print "trace import.... ", self.module_name
>         module = __import__(self.module_name, fromlist=['__name__'],
> level=0)
>         try:
>             return functools.reduce(getattr, self.attrs, module)
>         except AttributeError as exc:
>             raise ImportError(str(exc))
> 
> The output :
> 
> trace import....  avocado_vt.plugins.vt_list
> vt-list = avocado_vt.plugins.vt_list:VTLister
> trace import....  avocado_vt.plugins.vt
> 
> vt = avocado_vt.plugins.vt:VTRun
> [(EntryPoint.parse('vt-list = avocado_vt.plugins.vt_list:VTLister'),
> IOError(2, 'No such file or directory')), 
>  (EntryPoint.parse('vt = avocado_vt.plugins.vt:VTRun'), IOError(2, 'No
> such file or directory'))]
> 
That's weird, let me try it and record my steps

1. download dvd
http://archives.fedoraproject.org/pub/archive/fedora/linux/releases/20/Fedora/x86_64/iso/Fedora-20-x86_64-netinst.iso
2. install via libvirt (minimal installation)
3. yum install git python-pip
4. cd /tmp
5. git clone https://github.com/avocado-framework/avocado.git
6. git clone https://github.com/avocado-framework/avocado-vt.git
7. cd avocado
8. pip install -r requirements.txt
   # produces error as pip is too old
9. make requirements
   # produces error as there are missing libraries
10. yum install gcc libvirt-devel python-devel
11. make requirements
12. pip install -r requirements.txt
    # fails with missing sphinx requirement
    # https://github.com/autotest/autotest/issues/1006
13. pip install sphinx
14. pip install -r requirements.txt
15. cd ../avocado
16. ./scripts/avocado plugins
    # Failure, invalid choice 'plugins'

17. make link
/bin/python setup.py develop --user
running develop
running egg_info
creating avocado.egg-info
writing avocado.egg-info/PKG-INFO
writing top-level names to avocado.egg-info/top_level.txt
writing dependency_links to avocado.egg-info/dependency_links.txt
writing entry points to avocado.egg-info/entry_points.txt
writing manifest file 'avocado.egg-info/SOURCES.txt'
reading manifest file 'avocado.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'avocado.egg-info/SOURCES.txt'
running build_ext
Creating /root/.local/lib/python2.7/site-packages/avocado.egg-link (link
to .)
Adding avocado 0.34.0 to easy-install.pth file
Installing avocado script to /root/.local/bin
Installing avocado-rest-client script to /root/.local/bin

Installed /tmp/avocado
Processing dependencies for avocado==0.34.0
Finished processing dependencies for avocado==0.34.0
for MAKEFILE in ../yum_save_tx.2016-04-19.12-13.gwW2Zk.yumtx ../avocado-vt;\
	do AVOCADO_DIRNAME=avocado make -C $MAKEFILE link &>/dev/null && echo
">> LINK $MAKEFILE" || echo ">> SKIP $MAKEFILE";\
done
>> SKIP ../yum_save_tx.2016-04-19.12-13.gwW2Zk.yumtx
>> LINK ../avocado-vt

18. ./scripts/avocado plugins
Failed to load plugin from module "avocado_vt.plugins.vt_list":
EnvironmentError("Bootstrap missing. Execute 'avocado vt-bootstrap' or
disable this plugin to get rid of this message",)
Failed to load plugin from module "avocado_vt.plugins.vt":
EnvironmentError("Bootstrap missing. Execute 'avocado vt-bootstrap' or
disable this plugin to get rid of this message",)
Plugins that add new commands (avocado.plugins.cli.cmd):
multiplex    Generate a list of dictionaries with params from a
multiplex file
vt-bootstrap Avocado VT - implements the 'vt-bootstrap' subcommand
distro       Shows detected Linux distribution
sysinfo      Collect system information
plugins      Displays plugin information
list         List available tests
config       Shows avocado config keys
run          Run one or more tests (native test, test alias, binary or
script)
exec-path    Returns path to avocado bash libraries and exits.
Plugins that add new options to commands (avocado.plugins.cli):
journal Journal options for the 'run' subcommand
json    JSON output options for 'run' command
remote  Remote machine options for 'run' subcommand
xunit   xUnit output options
replay  Replay options for 'run' subcommand
html    HTML job report options for 'run' subcommand
gdb     GDB options for the 'run' subcommand
vm      Virtual Machine options for 'run' subcommand
wrapper Implements the '--wrapper' flag for the 'run' subcommand

19. ./scripts/avocado vt-bootstrap
Failed to load plugin from module "avocado_vt.plugins.vt_list":
EnvironmentError("Bootstrap missing. Execute 'avocado vt-bootstrap' or
disable this plugin to get rid of this message",)
Failed to load plugin from module "avocado_vt.plugins.vt":
EnvironmentError("Bootstrap missing. Execute 'avocado vt-bootstrap' or
disable this plugin to get rid of this message",)
12:24:17 INFO | qemu test config helper
12:24:17 INFO |
12:24:17 INFO | 1 - Updating all test providers
12:24:17 DEBUG| Creating directory
/usr/share/avocado/data/avocado-vt/test-providers.d/downloads/io-github-autotest-qemu
for git repo https://github.com/autotest/tp-qemu.git
12:24:17 DEBUG| Initializing new git repo at
/usr/share/avocado/data/avocado-vt/test-providers.d/downloads/io-github-autotest-qemu
for receiving git repo https://github.com/autotest/tp-qemu.git
12:24:17 INFO | Fetching git [REP
'https://github.com/autotest/tp-qemu.git' BRANCH 'master'] ->
/usr/share/avocado/data/avocado-vt/test-providers.d/downloads/io-github-autotest-qemu
12:24:27 DEBUG| Checking out branch master
12:24:27 DEBUG| Specific commit not specified
12:24:27 INFO | git commit ID is
f33b18b972e8ed6a852719a675c95e2e084e7c60 (no tag found)
12:24:28 DEBUG| Creating directory
/usr/share/avocado/data/avocado-vt/test-providers.d/downloads/io-github-spiceqa-spice
for git repo https://github.com/spiceqa/tp-spice.git
12:24:28 DEBUG| Initializing new git repo at
/usr/share/avocado/data/avocado-vt/test-providers.d/downloads/io-github-spiceqa-spice
for receiving git repo https://github.com/spiceqa/tp-spice.git
12:24:28 INFO | Fetching git [REP
'https://github.com/spiceqa/tp-spice.git' BRANCH 'master'] ->
/usr/share/avocado/data/avocado-vt/test-providers.d/downloads/io-github-spiceqa-spice
12:24:35 DEBUG| Checking out branch master
12:24:35 DEBUG| Specific commit not specified
12:24:35 INFO | git commit ID is
adbae959742c5e80c62baed21f13140648099e5d (no tag found)
12:24:36 DEBUG| Creating directory
/usr/share/avocado/data/avocado-vt/test-providers.d/downloads/io-github-autotest-libvirt
for git repo https://github.com/autotest/tp-libvirt.git
12:24:36 DEBUG| Initializing new git repo at
/usr/share/avocado/data/avocado-vt/test-providers.d/downloads/io-github-autotest-libvirt
for receiving git repo https://github.com/autotest/tp-libvirt.git
12:24:36 INFO | Fetching git [REP
'https://github.com/autotest/tp-libvirt.git' BRANCH 'master'] ->
/usr/share/avocado/data/avocado-vt/test-providers.d/downloads/io-github-autotest-libvirt
12:24:48 DEBUG| Checking out branch master
12:24:48 DEBUG| Specific commit not specified
12:24:48 INFO | git commit ID is
d9e6b105da78517d712a49bd6daeb0997942c5e0 (no tag found)
12:24:49 INFO |
12:24:49 INFO | 2 - Checking the mandatory programs and headers
12:24:49 ERROR| Required command 7za is missing. You must install it
12:24:49 ERROR| Required command tcpdump is missing. You must install it
12:24:49 INFO | /bin/nc OK
12:24:49 INFO | /sbin/ip OK
12:24:49 INFO | /sbin/arping OK
12:24:49 INFO | /bin/gcc OK
12:24:49 INFO | /usr/include/linux/socket.h OK
12:24:49 INFO | /usr/include/linux/unistd.h OK
12:24:49 INFO | /usr/include/linux/types.h OK
12:24:49 INFO | /usr/include/python2.7/Python.h OK
12:24:49 INFO | Missing (cmds/includes): 7za tcpdump
12:24:49 INFO | Install the missing programs and/or headers and re-run
boostrap

20. yum install p7zip tcpdump
21. ./scripts/avocado vt-bootstrap
12:26:08 INFO | qemu test config helper
12:26:08 INFO |
12:26:08 INFO | 1 - Updating all test providers
12:26:08 INFO |
12:26:08 INFO | 2 - Checking the mandatory programs and headers
12:26:08 INFO | /bin/7za OK
12:26:08 INFO | /sbin/tcpdump OK
12:26:08 INFO | /bin/nc OK
12:26:08 INFO | /sbin/ip OK
12:26:08 INFO | /sbin/arping OK
12:26:08 INFO | /bin/gcc OK
12:26:08 INFO | /usr/include/linux/socket.h OK
12:26:08 INFO | /usr/include/linux/unistd.h OK
12:26:08 INFO | /usr/include/linux/types.h OK
12:26:08 INFO | /usr/include/python2.7/Python.h OK
12:26:08 INFO |
12:26:08 INFO | 3 - Checking the recommended programs
12:26:08 INFO | Recommended command missing. You may want to install it
if not building it from source. Aliases searched: ('qemu-kvm', 'kvm')
12:26:08 INFO | Recommended command qemu-img missing. You may want to
install it if not building from source.
12:26:08 INFO | Recommended command qemu-io missing. You may want to
install it if not building from source.
12:26:08 INFO |
12:26:08 INFO | 4 - Verifying directories
12:26:08 DEBUG| Creating /usr/share/avocado/data/avocado-vt/images
12:26:08 DEBUG| Creating /usr/share/avocado/data/avocado-vt/isos
12:26:08 DEBUG| Creating /usr/share/avocado/data/avocado-vt/steps_data
12:26:08 DEBUG| Creating /usr/share/avocado/data/avocado-vt/gpg
12:26:08 INFO | Syncing backend dirs /tmp/avocado-vt/backends ->
/usr/share/avocado/data/avocado-vt/backends
12:26:08 INFO |
12:26:08 INFO | 5 - Generating config set
12:26:08 DEBUG| Creating config file
/usr/share/avocado/data/avocado-vt/backends/qemu/cfg/virtio-win.cfg from
sample
12:26:08 DEBUG| Creating config file
/usr/share/avocado/data/avocado-vt/backends/qemu/cfg/machines.cfg from
sample
12:26:08 DEBUG| Creating config file
/usr/share/avocado/data/avocado-vt/backends/qemu/cfg/guest-hw.cfg from
sample
12:26:08 DEBUG| Creating config file
/usr/share/avocado/data/avocado-vt/backends/qemu/cfg/cdkeys.cfg from sample
12:26:08 DEBUG| Creating config file
/usr/share/avocado/data/avocado-vt/backends/qemu/cfg/base.cfg from sample
12:26:08 DEBUG| Config file
/usr/share/avocado/data/avocado-vt/backends/qemu/cfg/subtests.cfg auto
generated from subtest samples
12:26:08 DEBUG| Config file
/usr/share/avocado/data/avocado-vt/backends/qemu/cfg/guest-os.cfg auto
generated from guest OS samples
12:26:08 INFO |
12:26:08 INFO | 6 - Verifying (and possibly downloading) guest image
12:26:08 INFO | Verifying expected SHA1 sum from
http://assets-avocadoproject.rhcloud.com/static/SHA1SUM_JEOS21
12:26:08 INFO | Expected SHA1 sum: 177468b8e5fcb7b9c5982a6bc21ff45df6d80b2f
12:26:08 WARNI| File
/usr/share/avocado/data/avocado-vt/images/jeos-21-64.qcow2.7z not found
Would you like to download it from
http://assets-avocadoproject.rhcloud.com/static/jeos-21-64.qcow2.7z? (y/n) n
12:26:17 WARNI| Missing file
/usr/share/avocado/data/avocado-vt/images/jeos-21-64.qcow2.7z
12:26:17 INFO |
12:26:17 INFO | 7 - Checking for modules kvm, kvm-intel
12:26:17 WARNI| Module kvm is not loaded. You might want to load it
12:26:17 WARNI| Module kvm-intel is not loaded. You might want to load it
12:26:17 INFO |
12:26:17 INFO | 8 - If you wish, you may take a look at the online docs
for more info
12:26:17 INFO |
12:26:17 INFO | http://avocado-vt.readthedocs.org/

22. ./scripts/avocado plugins
Plugins that add new commands (avocado.plugins.cli.cmd):
exec-path    Returns path to avocado bash libraries and exits.
run          Run one or more tests (native test, test alias, binary or
script)
config       Shows avocado config keys
list         List available tests
multiplex    Generate a list of dictionaries with params from a
multiplex file
plugins      Displays plugin information
sysinfo      Collect system information
distro       Shows detected Linux distribution
vt-bootstrap Avocado VT - implements the 'vt-bootstrap' subcommand
Plugins that add new options to commands (avocado.plugins.cli):
remote  Remote machine options for 'run' subcommand
journal Journal options for the 'run' subcommand
json    JSON output options for 'run' command
wrapper Implements the '--wrapper' flag for the 'run' subcommand
vm      Virtual Machine options for 'run' subcommand
gdb     GDB options for the 'run' subcommand
html    HTML job report options for 'run' subcommand
replay  Replay options for 'run' subcommand
xunit   xUnit output options
vt-list Avocado-VT/virt-test support for 'list' command
vt      Avocado VT/virt-test support to 'run' command

23. ./scripts/avocado list
Test discovery plugin <avocado_vt.loader.VirtTestLoader object at
0x3958b50> failed: Command 'kvm' could not be found in any of the PATH
dirs: ['/tmp/avocado/scripts', '/tmp/avocado/libexec', '/bin', '/sbin',
'/usr/bin', '/usr/local/sbin', '/usr/libexec', '/root/bin', '/usr/sbin',
'/usr/local/bin']
INSTRUMENTED /tmp/avocado/examples/tests/whiteboard.py:WhiteBoard.test
...

24. yum install qemu
25. ./scripts/avocado list
...
VT           io-github-autotest-qemu.iofuzz
VT           io-github-autotest-qemu.ping.default_ping
VT           io-github-autotest-qemu.ping.multi_nics
VT           io-github-autotest-qemu.ping.ext_host
VT           io-github-autotest-qemu.shutdown


26. rpm -qa | grep python
python-backports-ssl_match_hostname-3.4.0.2-4.fc20.noarch
python-six-1.9.0-1.fc20.noarch
rpm-python-4.11.3-3.fc20.x86_64
python-slip-dbus-0.6.1-1.fc20.noarch
python-backports-1.0-3.fc20.x86_64
python-setuptools-1.4.2-1.fc20.noarch
python-2.7.5-16.fc20.x86_64
dbus-python-1.2.0-1.fc20.x86_64
python-pycurl-7.19.3-1.fc20.x86_64
python-iniparse-0.4-9.fc20.noarch
python-slip-0.6.1-1.fc20.noarch
newt-python-0.52.16-2.fc20.x86_64
python-pip-1.4.1-1.fc20.noarch
python-devel-2.7.5-16.fc20.x86_64
python-libs-2.7.5-16.fc20.x86_64
python-decorator-3.4.0-3.fc20.noarch
python-urlgrabber-3.10.1-0.fc20.noarch
libselinux-python-2.2.1-6.fc20.x86_64

27. pip list
aexpect (1.1.0)
alabaster (0.7.7)
autotest (0.16.2)
avocado (0.34.0, /tmp/avocado)
avocado-plugins-vt (0.34.0, /tmp/avocado-vt)
Babel (2.3.3)
backports.ssl-match-hostname (3.4.0.2)
decorator (3.4.0)
docutils (0.12)
ecdsa (0.13)
Fabric (1.11.1)
glusterfs-api (3.5.4)
imagesize (0.7.0)
iniparse (0.4)
Jinja2 (2.8)
libvirt-python (1.3.3)
MarkupSafe (0.23)
paramiko (1.16.0)
pbr (1.9.1)
pip (8.1.1)
pycrypto (2.6.1)
pycurl (7.19.3)
Pygments (2.1.3)
pygobject (3.10.2)
pygpgme (0.3)
pyliblzma (0.5.3)
pystache (0.5.4)
pytz (2016.3)
pyxattr (0.5.1)
PyYAML (3.11)
requests (2.9.1)
rpm-python (4.11.3)
setuptools (1.4.2)
simplejson (3.8.2)
six (1.9.0)
slip (0.6.1)
slip.dbus (0.6.1)
snowballstemmer (1.2.1)
Sphinx (1.4.1)
stevedore (1.12.0)
urlgrabber (3.10.1)
yum-metadata-parser (1.1.4)


I'm not sure what the problem on your system is. Could you please try to
sync the pip versions?

Although you mentioned you installed avocado first. That should not
cause any problems, I usually do the same. The result is that with the
`make link` you're using the source code version even when runnin
`avocado` directly from any location and you use the system-wide version
after execution `make unlink`.

If the above does not help, try reinstalling/updating your system,
Fedora 20 is not officially supported (although as you can see it works
well).

Regards,
Lukáš

PS: CCing Cleber as he's more skilled in the plugins system.

> 
> From the above description,
> do you have another hints to me ?
> 
> Thanks,
> wei
> 
> On Mon, 2016-04-18 at 17:45 +0200, Lukáš Doktor wrote:
>> Hello Wei,
>>
>> Dne 18.4.2016 v 11:06 Wei, Jiangang napsal(a):
>>> On Mon, 2016-03-07 at 09:55 +0100, Lukáš Doktor wrote:
>>>> Hello guys,
>>>>
>>>> thank you for great answers, in deed we forgot to put source code
>>>> install section in
>>>> http://avocado-vt.readthedocs.org/en/latest/GetStartedGuide.html I added
>>>> it to our TODO list.
>>>>
>>>> We do provide some convenience methods to simplify running from sources:
>>>>
>>>> 0. Install non-python dependencies listed in documentation
>>>> 1. From one directory clone avocado and avocado-vt (so the result of `ls
>>>> $TARGET_DIR` are 2 files: `avocado` and `avocado-vt`).
>>>> 2. Install python dependencies by `make requirements` (optionally `make
>>>> requirements-selftests`) in both directories
>> avocado-vt does not support `make requirements`, so one have to run `pip 
>> install -r requirements.txt` there.
>>>> 3. In `$TARGET_DIR/avocado` run `make link` which walks the `../*`
>>>> directories and registers the avocado plugins for this user.
>>>>
>>>> You only need to do this once, then you can modify the code and it'll
>>>> still run the latest version (it creates something-like-symlinks to the
>>>> sources for this user). You need to run the `make link` when new targets
>>>> are added, but this only happens once in a while (eg. new plugin is added)
>>>>
>>>> Alternatively you can always install it system-wide by `make install` in
>>>> each directory, but that install the current version so you need to
>>>> re-install it each time you change the sources.
>>>
>>> Dear all.
>>> Hi lukas,
>>>
>>> I try to run Avocado+Avocado-vt from sources according the above steps.
>>> But I met some problems.
>>>
>>> [root at localhost avocado]# scripts/avocado plugins
>>> Failed to load plugin from module "avocado_vt.plugins.vt_list":
>>> IOError(2, 'No such file or directory')
>>> Failed to load plugin from module "avocado_vt.plugins.vt": IOError(2,
>>> 'No such file or directory')
>> I hate IOError... I'm wondering if you could catch this exception and 
>> print the `IOError.filename`, that might help...
>>> Plugins that add new commands (avocado.plugins.cli.cmd):
>>> vt-bootstrap Avocado VT - implements the 'vt-bootstrap' subcommand
>>> distro       Shows detected Linux distribution
>>> sysinfo      Collect system information
>>> plugins      Displays plugin information
>>> multiplex    Generate a list of dictionaries with params from a
>>> multiplex file
>>> <--------------------------------------cut------------------------------->
>>>
>>> I'm sure of that all requirements have been updated.
>>>
>>> [root at localhost avocado]# pip install -r requirements.txt
>>> Requirement already satisfied (use --upgrade to upgrade): fabric>=1.7.0
>>> in /usr/lib64/python2.7/site-packages (from -r requirements.txt (line
>>> 3))
>>> Requirement already satisfied (use --upgrade to upgrade): PyYAML>=3.11
>>> in /usr/lib64/python2.7/site-packages (from -r requirements.txt (line
>>> 5))
>>> Requirement already satisfied (use --upgrade to upgrade):
>>> libvirt-python>=1.2.9 in /usr/lib64/python2.7/site-packages (from -r
>>> requirements.txt (line 7))
>>> Requirement already satisfied (use --upgrade to upgrade):
>>> pyliblzma>=0.5.3 in /usr/lib64/python2.7/site-packages (from -r
>>> requirements.txt (line 9))
>>> Requirement already satisfied (use --upgrade to upgrade):
>>> pystache>=0.5.3 in /usr/lib/python2.7/site-packages (from -r
>>> requirements.txt (line 11))
>>> Requirement already satisfied (use --upgrade to upgrade):
>>> requests>=1.2.3 in /usr/lib/python2.7/site-packages (from -r
>>> requirements.txt (line 13))
>>> Requirement already satisfied (use --upgrade to upgrade):
>>> stevedore>=1.8.0 in /usr/lib/python2.7/site-packages (from -r
>>> requirements.txt (line 15))
>>> Requirement already satisfied (use --upgrade to upgrade):
>>> paramiko<2.0,>=1.10 in /usr/lib/python2.7/site-packages (from
>>> fabric>=1.7.0->-r requirements.txt (line 3))
>>> Requirement already satisfied (use --upgrade to upgrade): pbr>=1.6
>>> in /usr/lib/python2.7/site-packages (from stevedore>=1.8.0->-r
>>> requirements.txt (line 15))
>>> Requirement already satisfied (use --upgrade to upgrade): six>=1.9.0
>>> in /usr/lib/python2.7/site-packages (from stevedore>=1.8.0->-r
>>> requirements.txt (line 15))
>>> Requirement already satisfied (use --upgrade to upgrade): ecdsa>=0.11
>>> in /usr/lib/python2.7/site-packages (from
>>> paramiko<2.0,>=1.10->fabric>=1.7.0->-r requirements.txt (line 3))
>>> Requirement already satisfied (use --upgrade to upgrade): pycrypto!
>>> =2.4,>=2.1 in /usr/lib64/python2.7/site-packages (from
>>> paramiko<2.0,>=1.10->fabric>=1.7.0->-r requirements.txt (line 3))
>>>
>> Did you executed this in each directory (avocado, avocado-vt)? 
>> Avocado-vt has additional dependencies.
>>
>> (note to myself, let's improve the `make requirements` to walk all 
>> sub-directories the same way `make link` works 
>> https://trello.com/c/pQXj8AUo/651-rfc-walk-subdirectories-in-make-requirements 
>> )
>>
>>>
>>> And I did some investigates,
>>> It seems that stevedore.ExtensionManager.__init__ failes and throw the
>>> above error messages.
>>>
>>> avocado/core/dispatcher.py--------------------------------------
>>>
>>> class Dispatcher(ExtensionManager):
>>>
>>>      """
>>>      Base dispatcher for various extension types
>>>      """
>>>
>>>      def __init__(self, namespace):
>>>          self.load_failures = []
>>>          super(Dispatcher, self).__init__(namespace=namespace,
>>>                                           invoke_on_load=True,
>>>
>>> on_load_failure_callback=self.store_load_failure,
>>>                                           propagate_map_exceptions=True)
>>>
>>> --------------------------------------------------------------------------------
>>>
>>>
>>> I noticed that stevedore was introduced as New Plugin Architecture from
>>> the commit logs.
>>> But I'm not familiar with stevedore ,
>>> and there's no other help doc for running Avocado from source codes.
>>> so May i trouble you to give me a hand? How can I fix it?
>>>
>>> PS,
>>> There's a discuss launched by rbian.
>>> https://github.com/avocado-framework/avocado-vt/issues/308
>>>
>>> And Imr said "now in order for the plugins to work they must be
>>> installed",
>>> is it true?
>>>
>> Not at all. The Stevedore was used as it's a standard way of loading 
>> plugins so it should simplify things.
>>
>> As mentioned in this discussion, you can either install it by `make 
>> install`, or you can follow the steps 0-3, which results in `make link`. 
>> The `make link` executes `python setup.py develop --user` (or without 
>> the `--user` on python 2.6) which creates egg links for `avocado` to 
>> this location (for this user).
>>
>> Unfortunately I still haven't updated the documentation, but it's near 
>> the top of the TODO list 
>> https://trello.com/c/LdXWhQ2Z/641-add-documentation-of-make-link-target, 
>> so please use the description from this email.
>>
>> Note that rbian mentioned some stevedore libraries contain failures. I 
>> tried several versions from pip and they worked well, so I can't tell 
>> exactly. You might try `pip install --upgrade stevedore`, maybe it 
>> solves your problem.
>>
>>>
>>> Thanks in advance.
>> I'm not sure this helped, but hopefully we'll get you avocado-vt up and 
>> running soon. If the above did not help, would you please share the 
>> commands you executed so I could get a better view of what was going on?
>> Kind regards,
>> Lukáš
>>
>>>>
>>>> Kind regards,
>>>> Lukáš
>>>>
>>>>
>>>> PS: See one more recommendation bellow.
>>>>
>>>> Dne 3.3.2016 v 09:43 Zhu Yijun napsal(a):
>>>>> yes, now it works! Thanks very much!
>>>>>
>>>>> On 2016/3/3 14:33, Yanbing Du wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>> On 03/03/2016 02:11 PM, Zhu Yijun wrote:
>>>>>>> Hi Yanbing,
>>>>>>>
>>>>>>>       Thanks for you reply.
>>>>>>>
>>>>>>> On 2016/3/3 13:20, Yanbing Du wrote:
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On 03/03/2016 12:49 PM, Zhu Yijun wrote:
>>>>>>>>> Hi all,
>>>>>>>>>
>>>>>>>>>        I am trying to setup the avocado and avocado-vt tools.
>>>>>>>>>
>>>>>>>>>               I have to install them by git repository because some special results. Until now I have installed avocado guided by docs as below:
>>>>>>>>>
>>>>>>>>>        http://avocado-framework.readthedocs.org/en/latest/GetStartedGuide.html
>>>>>>>>>
>>>>>>>>>        And avocado has been run successfully. However, for avocado-vt, the only way to install it is by "yum install avocado-plugins".
>>>>>>>>>
>>>>>>>>>        So is there some method to install by sources code?
>>>>>>>>
>>>>>>>> Yes, just like avocado, you can install avocado-vt by:
>>>>>>>>
>>>>>>>> #python setup.py --quiet install
>>>>
>>>> For development `--user` is strongly recommended. It creates egg-links
>>>> to those libraries only for this user.
>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> After run it, it still report error when I run avocado.
>>>>>>>
>>>>>>> Failed to load plugin from module "avocado_vt.plugins.vt_list": ImportError('No module named aexpect',)
>>>>>>> Failed to load plugin from module "avocado_vt.plugins.vt": ImportError('No module named aexpect',)
>>>>>>
>>>>>> Make sure you install all these required pkgs, for both avocado and avocado-vt:
>>>>>> #pip install -r requirements.txt --upgrade
>>>>>>
>>>>>
>>>>>>>
>>>>>>>>>
>>>>>>>>>        Additionally, I try to run "make link" in avocado-vt directory, then run "avocado plugins", it seems like vt & vt_list not installed.
>>>>>>>>>
>>>>>>>>>        The message as follow:
>>>>>>>>>
>>>>>>>>>        Failed to load plugin from module "avocado_vt.plugins.vt_list": ImportError('No module named aexpect',)
>>>>>>>>>        Failed to load plugin from module "avocado_vt.plugins.vt": ImportEr
>>>>>>>>>        Plugins that add new commands (avocado.plugins.cli.cmd):
>>>>>>>>>        vt-bootstrap Avocado VT - implements the 'vt-bootstrap' subcommand
>>>>>>>>>        exec-path    Returns path to avocado bash libraries and exits.
>>>>>>>>>        run          Run one or more tests (native test, test alias, binary
>>>>>>>>>        sysinfo      Collect system information
>>>>>>>>>        list         List available tests
>>>>>>>>>        multiplex    Generate a list of dictionaries with params from a mul
>>>>>>>>>        plugins      Displays plugin information
>>>>>>>>>        config       Shows avocado config keys
>>>>>>>>>        distro       Shows detected Linux distribution
>>>>>>>>>        Plugins that add new options to commands (avocado.plugins.cli):
>>>>>>>>>        journal Journal options for the 'run' subcommand
>>>>>>>>>        remote  Remote machine options for 'run' subcommand
>>>>>>>>>        json    JSON output options for 'run' command
>>>>>>>>>        html    HTML job report options for 'run' subcommand
>>>>>>>>>        wrapper Implements the '--wrapper' flag for the 'run' subcommand
>>>>>>>>>        vm      Virtual Machine options for 'run' subcommand
>>>>>>>>>        gdb     GDB options for the 'run' subcommand
>>>>>>>>>        replay  Replay options for 'run' subcommand
>>>>>>>>>        xunit   xUnit output options
>>>>>>>>>
>>>>>>>>>        Does anyone can give me some advices, thanks in advance!
>>>>>>>>>
>>>>>>>>> Zhu Yijun
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Avocado-devel mailing list
>>>>>>>>> Avocado-devel at redhat.com
>>>>>>>>> https://www.redhat.com/mailman/listinfo/avocado-devel
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Avocado-devel mailing list
>>>>> Avocado-devel at redhat.com
>>>>> https://www.redhat.com/mailman/listinfo/avocado-devel
>>>>>
>>>>
>>>> _______________________________________________
>>>> Avocado-devel mailing list
>>>> Avocado-devel at redhat.com
>>>> https://www.redhat.com/mailman/listinfo/avocado-devel
>>>>
>>>>
>>>
>>>
>>>
>>
>> _______________________________________________
>> Avocado-devel mailing list
>> Avocado-devel at redhat.com
>> https://www.redhat.com/mailman/listinfo/avocado-devel
>>
>>
> 
> 
> 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/avocado-devel/attachments/20160419/f5be6a1c/attachment.sig>


More information about the Avocado-devel mailing list