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