[Avocado-devel] issues about install avocado-vt
Wei, Jiangang
weijg.fnst at cn.fujitsu.com
Tue Apr 19 09:40:02 UTC 2016
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'))]
>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
>
>
More information about the Avocado-devel
mailing list