[Avocado-devel] Multiplex configuration failing

Lukáš Doktor ldoktor at redhat.com
Thu Nov 19 13:24:03 UTC 2015


I tried the ppc64 BE with the same results, everything worked well. Then 
I tried PowerKVM and finally I was able to reproduce it.

The original exception is:

```
Traceback (most recent call last):
   File "./scripts/avocado", line 85, in <module>
     sys.exit(app.run())
   File "/tmp/avocado/avocado/core/app.py", line 61, in run
     return self.parser.take_action()
   File "/tmp/avocado/avocado/core/parser.py", line 100, in take_action
     return self.args.dispatch(self.args)
   File "/tmp/avocado/avocado/core/plugins/multiplexer.py", line 100, in run
     args.debug)
   File "/tmp/avocado/avocado/core/multiplexer.py", line 99, in yaml2tree
     input_tree = tree.create_from_yaml(input_yamls, debug)
   File "/tmp/avocado/avocado/core/tree.py", line 463, in create_from_yaml
     merge(data, path)
   File "/tmp/avocado/avocado/core/tree.py", line 447, in _merge
     data.merge(_create_from_yaml(path))
   File "/tmp/avocado/avocado/core/tree.py", line 424, in _create_from_yaml
     loaded_tree = yaml.load(stream, Loader)
   File "/usr/lib64/python2.7/site-packages/yaml/__init__.py", line 71, 
in load
     return loader.get_single_data()
   File "/usr/lib64/python2.7/site-packages/yaml/constructor.py", line 
37, in get_single_data
     node = self.get_single_node()
   File "_yaml.pyx", line 702, in _yaml.CParser.get_single_node 
(ext/_yaml.c:7647)
   File "_yaml.pyx", line 905, in _yaml.CParser._parse_next_event 
(ext/_yaml.c:10396)
ReaderError: unacceptable character #x0007: control characters are not 
allowed
   in "examples/mux-environment.yaml", position 484
```

Then I tried disabling the CLoader (PyYAML allows you to use python or C 
version of the yaml parser) and it worked well.

So you can either wait when python-2.7.5-34 is shipped (and hope it'll 
just start working), or you can modify `avocado/core/tree.py` to import 
`Loader` instead of `from yaml import CLoader as Loader`. Alternatively 
you can remove the /usr/lib/python2.7/site-packages/yaml/cyaml.py*` 
which would result in yaml being imported instead.

Although it doesn't seems to be a problem of `PyYAML` itself, because I 
was using the latest copy&pasted version from my Fedora (I didn't wanted 
to install packages on the pkvm host).

I hope this will help,
Lukáš

Dne 19.11.2015 v 12:54 Olav Philipp Henschel napsal(a):
> Thanks for the responses.
> I am trying to run the selftests, but I'm having problems with
> dependencies (pillow requires jpeg, which is not found in my repos).
> I'll try to solve that and will also try to run in a different
> machine/distro. I am using a PowerKVM host.
>
> $ uname -a
> Linux ultraseven 3.10.82-2042.1.pkvm2_1_1.71.ppc64 #1 SMP Fri Jul 31
> 09:52:38 CDT 2015 ppc64 ppc64 ppc64 GNU/Linux
> $ rpm -q python
> python-2.7.5-15.1.pkvm2_1_1.1.ppc64
>
>
> On 19-11-2015 04:03, Lukáš Doktor wrote:
>> Dne 19.11.2015 v 04:25 Lucas Meneghel Rodrigues napsal(a):
>>>
>>>
>>> On Wed, Nov 18, 2015 at 5:24 PM Olav Philipp Henschel
>>> <olavph at linux.vnet.ibm.com <mailto:olavph at linux.vnet.ibm.com>> wrote:
>>>
>>>     Thanks, Cleber, I thinks that clarifies the doc, but that's not my
>>>     issue.
>>>     I've executed the same command (./avocado multiplex --tree
>>>     ../examples/mux-environment.yaml) in another machine (x86_64) and it
>>>     worked.
>>>     It might be a problem with ppc64 architecture.
>>>
>>>
>>> Now that's interesting. Let's see what Lukas has to say on that matter.
>>>
>>> One thing worth checking would be to run the avocado regression suite on
>>> a ppc64 machine - it runs multiplex functionality tests as well. Please
>>> try to:
>>>
>>> 1) Uninstall avocado rpms/debs
>>> 2) clone avocado to some dir
>>> 3) Certify that the selftests dependencies are installed -
>>> see requirements-selftests.txt
>>> 4) 'make check'
>>>
>>> I'm very interested in seeing what the functional suite reports on your
>>> ppc64 test systems.
>>
>> Dear Olav,
>>
>> I haven't read everything yet, but I tried following:
>>
>> [root at ibm-p8-virt-01 tmp]# avocado multiplex --tree mux-environment.yaml
>>  ┗━━ run
>>       ┣━━ hw
>>       ┃    ┣━━ cpu
>>       ┃    ┃    ╠══ intel
>>       ┃    ┃    ╠══ amd
>>       ┃    ┃    ╚══ arm
>>       ┃    ┗━━ disk
>>       ┃         ╠══ scsi
>>       ┃         ╚══ virtio
>>       ┣━━ distro
>>       ┃    ╠══ fedora
>>       ┃    ╚══ mint
>>       ┗━━ env
>>            ╠══ debug
>>            ╚══ prod
>>
>> [root at ibm-p8-virt-01 tmp]# avocado multiplex --tree
>> mux-environment.yaml -c
>>  ┗━━ run
>>       ┣━━ hw
>>       ┃    ┣━━ cpu
>>       ┃    ┃    ╠══ intel
>>       ┃    ┃    ║     → cpu_CFLAGS: -march=core2
>>       ┃    ┃    ╠══ amd
>>       ┃    ┃    ║     → cpu_CFLAGS: -march=athlon64
>>       ┃    ┃    ╚══ arm
>>       ┃    ┃          → cpu_CFLAGS: -mabi=apcs-gnu -march=armv8-a
>> -mtune=arm8
>>       ┃    ┗━━ disk
>>       ┃         ╠══ scsi
>>       ┃         ║     → disk_type: scsi
>>       ┃         ╚══ virtio
>>       ┃               → disk_type: virtio
>>       ┣━━ distro
>>       ┃    ╠══ fedora
>>       ┃    ║     → init: systemd
>>       ┃    ╚══ mint
>>       ┃          → init: systemv
>>       ┗━━ env
>>            ╠══ debug
>>            ║     → opt_CFLAGS: -O0 -g
>>            ╚══ prod
>>                  → opt_CFLAGS: -O2
>> [root at ibm-p8-virt-01 tmp]# uname -a
>> Linux ibm-p8-virt-01.lab.bos.redhat.com 3.10.0-327.el7.ppc64le #1 SMP
>> Thu Oct 29 17:31:13 EDT 2015 ppc64le ppc64le ppc64le GNU/Linux
>> [root at ibm-p8-virt-01 tmp]# rpm -q python
>> python-2.7.5-34.el7.ppc64le
>>
>>
>> I'll be offline for few hours, but then I'll read the email carefully
>> and try to find why is it not working for you.
>>
>> Kind regards,
>> Lukáš
>>
>> _______________________________________________
>> Avocado-devel mailing list
>> Avocado-devel at redhat.com
>> https://www.redhat.com/mailman/listinfo/avocado-devel
>
> _______________________________________________
> Avocado-devel mailing list
> Avocado-devel at redhat.com
> https://www.redhat.com/mailman/listinfo/avocado-devel




More information about the Avocado-devel mailing list