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@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@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@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@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 > > >>>>>>>>> Avocado-devel@redhat.com > > >>>>>>>>> https://www.redhat.com/mailman/listinfo/avocado-devel > > >>>>>>>>> > > >>>>>>>> > > >>>>>>> > > >>>>>>> > > >>>>>>> > > >>>>>> > > >>>>> > > >>>>> > > >>>>> > > >>>>> _______________________________________________ > > >>>>> Avocado-devel mailing list > > >>>>> Avocado-devel@redhat.com > > >>>>> https://www.redhat.com/mailman/listinfo/avocado-devel > > >>>>> > > >>>> > > >>>> _______________________________________________ > > >>>> Avocado-devel mailing list > > >>>> Avocado-devel@redhat.com > > >>>> https://www.redhat.com/mailman/listinfo/avocado-devel > > >>>> > > >>>> > > >>> > > >>> > > >>> > > >> > > >> _______________________________________________ > > >> Avocado-devel mailing list > > >> Avocado-devel@redhat.com > > >> https://www.redhat.com/mailman/listinfo/avocado-devel > > >> > > >> > > > > > > > > > > > > > > > > > > _______________________________________________ > Avocado-devel mailing list > Avocado-devel@redhat.com > https://www.redhat.com/mailman/listinfo/avocado-devel _______________________________________________ Avocado-devel mailing list Avocado-devel@redhat.com https://www.redhat.com/mailman/listinfo/avocado-devel