[Avocado-devel] issues about install avocado-vt

Lukáš Doktor ldoktor at redhat.com
Wed Apr 20 11:36:36 UTC 2016


Dne 20.4.2016 v 10:33 Wei, Jiangang napsal(a):
> 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.
Great you've found the issue. These are always problematic (I have a CI
which uses custom AUTOTEST_PATH so I need to always unset it...)


Regarding the docs, yes it's on TODO list
https://trello.com/c/LdXWhQ2Z/641-add-documentation-of-make-link-target

so hopefully I'll got to it soon...

Regards,
Lukáš

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


-------------- 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/20160420/77fa43b4/attachment.sig>


More information about the Avocado-devel mailing list