[Avocado-devel] issues about install avocado-vt

Wei, Jiangang weijg.fnst at cn.fujitsu.com
Wed Apr 20 08:33:58 UTC 2016


Moreover,
I think the procedure used to deploy avocado form source code , is very
useful.
If you have time, It's better to add it to
http://avocado-vt.readthedocs.org  or push it to avocado-vt as a help
doc.

Thanks again.
wei
On Wed, 2016-04-20 at 08:07 +0000, Wei, Jiangang wrote:
> Hello,  Lukáš,
> 
> I have fixed the problem.
> The root cause is that the declaration of the $AUTOTEST_PATH
> in /etc/bashrc.
> But I declare an old autotest path that doesn't exist any more.
> So the check for setup_modules.py at the start of avocado_vt/test.py
> fails.
> imp.load_source() suffers from ImportError, but doesn't show more
> details to user.
> I was mislead into thinking it's all about the caller __import__.
> 
> later, I will send a PR to perfect it and check the existence of
> setup_modules.py path  before loading it.
> 
> On Tue, 2016-04-19 at 12:37 +0200, Lukáš Doktor wrote:
> > 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
> > >>
> > >>
> > > 
> > > 
> > > 
> > 
> > 
> 
> 
> 
> 
> _______________________________________________
> 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