[Avocado-devel] issues about install avocado-vt

Wei, Jiangang weijg.fnst at cn.fujitsu.com
Mon Apr 18 09:06:19 UTC 2016


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
> 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')
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))


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?


Thanks in advance.
> 
> 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
> 
> 







More information about the Avocado-devel mailing list