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@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@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
[email protected]
https://www.redhat.com/mailman/listinfo/avocado-devel









_______________________________________________
Avocado-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/avocado-devel


_______________________________________________
Avocado-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/avocado-devel






_______________________________________________
Avocado-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/avocado-devel

Reply via email to