On Wed, Nov 29, 2017 at 11:01 AM, Amador Pahim <apa...@redhat.com> wrote: > On Wed, Nov 29, 2017 at 10:59 AM, Khitai Pang <khitai.p...@outlook.com> wrote: >> The test passed after applying the fix to >> /usr/lib/python2.7/site-packages/virttest/utils_net.py. >> >> # avocado run type_specific.io-github-autotest-qemu.migrate.default.tcp >> JOB ID : a6c74b1088caa51f29a97cd3a25c15ab6343e713 >> JOB LOG : /root/avocado/job-results/job-2017-11-29T17.55-a6c74b1/job.log >> (1/1) type_specific.io-github-autotest-qemu.migrate.default.tcp: PASS >> (38.66 s) >> RESULTS : PASS 1 | ERROR 0 | FAIL 0 | SKIP 0 | WARN 0 | INTERRUPT 0 | >> CANCEL 0 >> JOB TIME : 40.44 s >> >> Thank you for your help! > > Ok, thank you. > >> >> But I don't think the path of brctl should be hard-coded in the script, >> there must be a better way to solve this issue. > > Yes, I don't intend to hard-code it. We have to discover the full path > and use it. >
Here we go: https://github.com/avocado-framework/avocado-vt/pull/1242 Feel free to provide feedback in the Pull Request page. Thank you for reporting&testing. >> >> >> Regards >> Khitai >> >> On 2017/11/29 17:49, Amador Pahim wrote: >> >> On Wed, Nov 29, 2017 at 10:40 AM, Khitai Pang <khitai.p...@outlook.com> >> wrote: >> >> bridge-utils is already installed. >> >> # which brctl >> /usr/sbin/brctl >> >> Ok, so the problem is probably Avocado process utility not able to >> call brctl. Maybe wrong PATH configuration. But anyway, Avocado should >> use the full path for the command. I will send a fix for that. >> Could you please try to edit >> "/usr/lib/python2.7/site-packages/virttest/utils_net.py", line 996, >> replacing "brctl show" by "/usr/sbin/brctl show" and check whether it >> works? >> >> # rpm -qf /usr/sbin/brctl >> bridge-utils-1.5-9.el7.x86_64 >> >> >> Regards >> Khitai >> >> On 2017/11/29 16:40, Amador Pahim wrote: >> >> Missing brctl? (bridge-utils package) >> >> On Wed, Nov 29, 2017 at 6:34 AM, Khitai Pang <khitai.p...@outlook.com> >> wrote: >> >> Hi, >> >> I ran a test on a baremetal server and it failed: >> >> # avocado run type_specific.io-github-autotest-qemu.migrate.default.tcp >> JOB ID : c8d2e03b75ccaad7f340bb9d82d3dcfee7add187 >> JOB LOG : /root/avocado/job-results/job-2017-11-29T11.02-c8d2e03/job.log >> (1/1) type_specific.io-github-autotest-qemu.migrate.default.tcp: ERROR >> (1.42 s) >> RESULTS : PASS 0 | ERROR 1 | FAIL 0 | SKIP 0 | WARN 0 | INTERRUPT 0 | >> CANCEL 0 >> JOB TIME : 3.21 s >> >> # rpm -qa | grep avocado >> python-avocado-56.0-0.20171120git3c9dad04.el7.centos.noarch >> python-avocado-examples-56.0-0.20171120git3c9dad04.el7.centos.noarch >> avocado-plugins-vt-56.0-0.el7.centos.noarch >> >> In the test log I see the following errors: >> >> 2017-11-29 11:02:36,334 test L0428 ERROR| Exception raised >> during postprocessing: Failures occurred while postprocess: >> Postprocess: [Errno 2] No such file or directory (brctl show) >> 2017-11-29 11:02:36,335 stacktrace L0041 ERROR| >> 2017-11-29 11:02:36,335 stacktrace L0044 ERROR| Reproduced traceback >> from: /usr/lib/python2.7/site-packages/avocado_vt/test.py:245 >> 2017-11-29 11:02:36,338 stacktrace L0047 ERROR| Traceback (most recent >> call last): >> 2017-11-29 11:02:36,338 stacktrace L0047 ERROR| File >> "/usr/lib/python2.7/site-packages/avocado_vt/test.py", line 387, in _runTest >> 2017-11-29 11:02:36,338 stacktrace L0047 ERROR| params = >> env_process.preprocess(self, params, env) >> 2017-11-29 11:02:36,338 stacktrace L0047 ERROR| File >> "/usr/lib/python2.7/site-packages/virttest/error_context.py", line 135, in >> new_fn >> 2017-11-29 11:02:36,339 stacktrace L0047 ERROR| return fn(*args, >> **kwargs) >> 2017-11-29 11:02:36,339 stacktrace L0047 ERROR| File >> "/usr/lib/python2.7/site-packages/virttest/env_process.py", line 878, in >> preprocess >> 2017-11-29 11:02:36,339 stacktrace L0047 ERROR| process(test, >> params, env, preprocess_image, preprocess_vm) >> 2017-11-29 11:02:36,339 stacktrace L0047 ERROR| File >> "/usr/lib/python2.7/site-packages/virttest/env_process.py", line 554, in >> process >> 2017-11-29 11:02:36,339 stacktrace L0047 ERROR| _call_vm_func() >> 2017-11-29 11:02:36,339 stacktrace L0047 ERROR| File >> "/usr/lib/python2.7/site-packages/virttest/env_process.py", line 523, in >> _call_vm_func >> 2017-11-29 11:02:36,339 stacktrace L0047 ERROR| vm_func(test, >> vm_params, env, vm_name) >> 2017-11-29 11:02:36,339 stacktrace L0047 ERROR| File >> "/usr/lib/python2.7/site-packages/virttest/env_process.py", line 189, in >> preprocess_vm >> 2017-11-29 11:02:36,339 stacktrace L0047 ERROR| >> migration_exec_cmd=params.get("migration_exec_cmd_dst")) >> 2017-11-29 11:02:36,339 stacktrace L0047 ERROR| File >> "/usr/lib/python2.7/site-packages/virttest/error_context.py", line 135, in >> new_fn >> 2017-11-29 11:02:36,339 stacktrace L0047 ERROR| return fn(*args, >> **kwargs) >> 2017-11-29 11:02:36,339 stacktrace L0047 ERROR| File >> "/usr/lib/python2.7/site-packages/virttest/qemu_vm.py", line 2658, in create >> 2017-11-29 11:02:36,339 stacktrace L0047 ERROR| elif >> (utils_net.find_current_bridge(nic.ifname)[1] == >> 2017-11-29 11:02:36,340 stacktrace L0047 ERROR| File >> "/usr/lib/python2.7/site-packages/virttest/utils_net.py", line 1141, in >> wrap_init >> 2017-11-29 11:02:36,340 stacktrace L0047 ERROR| return func(*args, >> **kargs) >> 2017-11-29 11:02:36,340 stacktrace L0047 ERROR| File >> "/usr/lib/python2.7/site-packages/virttest/utils_net.py", line 1840, in >> find_current_bridge >> 2017-11-29 11:02:36,340 stacktrace L0047 ERROR| bridge = >> master.port_to_br(iface_name) >> 2017-11-29 11:02:36,340 stacktrace L0047 ERROR| File >> "/usr/lib/python2.7/site-packages/virttest/utils_net.py", line 1055, in >> port_to_br >> 2017-11-29 11:02:36,340 stacktrace L0047 ERROR| for br in >> self.list_br(): >> 2017-11-29 11:02:36,340 stacktrace L0047 ERROR| File >> "/usr/lib/python2.7/site-packages/virttest/utils_net.py", line 1035, in >> list_br >> 2017-11-29 11:02:36,340 stacktrace L0047 ERROR| return >> self.get_structure().keys() >> 2017-11-29 11:02:36,340 stacktrace L0047 ERROR| File >> "/usr/lib/python2.7/site-packages/virttest/utils_net.py", line 996, in >> get_structure >> 2017-11-29 11:02:36,340 stacktrace L0047 ERROR| >> process.run(r"brctl show", verbose=False).stdout.splitlines()) >> 2017-11-29 11:02:36,340 stacktrace L0047 ERROR| File >> "/usr/lib/python2.7/site-packages/avocado/utils/process.py", line 1189, in >> run >> 2017-11-29 11:02:36,340 stacktrace L0047 ERROR| cmd_result = >> sp.run(timeout=timeout) >> 2017-11-29 11:02:36,341 stacktrace L0047 ERROR| File >> "/usr/lib/python2.7/site-packages/avocado/utils/process.py", line 711, in >> run >> 2017-11-29 11:02:36,341 stacktrace L0047 ERROR| >> self._init_subprocess() >> 2017-11-29 11:02:36,341 stacktrace L0047 ERROR| File >> "/usr/lib/python2.7/site-packages/avocado/utils/process.py", line 515, in >> _init_subprocess >> 2017-11-29 11:02:36,341 stacktrace L0047 ERROR| raise details >> 2017-11-29 11:02:36,341 stacktrace L0047 ERROR| OSError: [Errno 2] No >> such file or directory (brctl show) >> 2017-11-29 11:02:36,341 stacktrace L0048 ERROR| >> 2017-11-29 11:02:36,341 stacktrace L0041 ERROR| >> 2017-11-29 11:02:36,341 stacktrace L0044 ERROR| Reproduced traceback >> from: /usr/lib/python2.7/site-packages/avocado/core/test.py:819 >> 2017-11-29 11:02:36,341 stacktrace L0047 ERROR| Traceback (most recent >> call last): >> 2017-11-29 11:02:36,341 stacktrace L0047 ERROR| File >> "/usr/lib/python2.7/site-packages/avocado_vt/test.py", line 271, in runTest >> 2017-11-29 11:02:36,342 stacktrace L0047 ERROR| raise >> self.__status # pylint: disable=E0702 >> 2017-11-29 11:02:36,342 stacktrace L0047 ERROR| OSError: [Errno 2] No >> such file or directory (brctl show) >> 2017-11-29 11:02:36,342 stacktrace L0048 ERROR| >> 2017-11-29 11:02:36,342 test L0824 DEBUG| Local variables: >> 2017-11-29 11:02:36,372 test L0827 DEBUG| -> self <class >> 'avocado_vt.test.VirtTest'>: >> 1-type_specific.io-github-autotest-qemu.migrate.default.tcp >> 2017-11-29 11:02:36,373 test L0278 DEBUG| DATA >> (filename=stdout.expected) => NOT FOUND (data sources: variant, test, file) >> 2017-11-29 11:02:36,373 test L0278 DEBUG| DATA >> (filename=stderr.expected) => NOT FOUND (data sources: variant, test, file) >> 2017-11-29 11:02:36,373 test L0955 ERROR| Traceback (most recent >> call last): >> >> 2017-11-29 11:02:36,373 test L0955 ERROR| File >> "/usr/lib/python2.7/site-packages/avocado/core/test.py", line 893, in >> _run_avocado >> raise test_exception >> >> 2017-11-29 11:02:36,373 test L0955 ERROR| OSError: [Errno 2] No >> such file or directory (brctl show) >> >> 2017-11-29 11:02:36,373 test L0970 ERROR| ERROR >> 1-type_specific.io-github-autotest-qemu.migrate.default.tcp -> OSError: >> [Errno 2] No such file or directory (brctl show) >> 2017-11-29 11:02:36,373 test L0959 INFO | >> 2017-11-29 11:02:36,439 sysinfo L0111 DEBUG| Not logging /proc/pci >> (file does not exist) >> 2017-11-29 11:02:36,590 utils_net L1139 DEBUG| Host does not support >> OpenVSwitch: Command 'ovs-vswitchd' could not be found in any of the PATH >> dirs: ['/bin', '/sbin', '/usr/bin', '/usr/local/sbin', '/usr/libexec', >> '/root/bin', '/usr/sbin', '/usr/local/bin'] >> >> >> Any idea? >> >> >> Regards, >> Khitai >> >>