[Avocado-devel] Multiplex configuration failing

Lukáš Doktor ldoktor at redhat.com
Sat Nov 28 17:16:01 UTC 2015


Dear Olav,

today I tried to reproduce it to fill the bugzilla, but everything 
started to work properly even on PKVM:

kernel-3.10.53-2023.1.pkvm2_1_1.52.ppc64
python-2.7.5-15.1.pkvm2_1_1.1.ppc64
PyYAML (3.11)

So probably you can just update your system (pip install --upgrade 
PyYAML) and it might start working without the workaround ...

Regards,
Lukáš


Dne 25.11.2015 v 13:22 Olav Philipp Henschel napsal(a):
> I did not report it, you can do it.
>
> On 25-11-2015 10:13, Lukáš Doktor wrote:
>> Dne 19.11.2015 v 18:05 Lucas Meneghel Rodrigues napsal(a):
>>> OK, the mystery is finally solved :)
>>>
>>> Lukas, what about we put a conditional that probes for that type of
>>> machine and loads the pure python YAML loader instead of the CLoader?
>>
>> Well I thought about using `try/except` to catch the `ReaderError` and
>> log information that maybe disabling CLoader could help, but then I
>> said to myself that people should use ML archives to find temporary
>> workarounds. We can't be adding notes about all kinds of problems. It
>> works fine on RHEL, so hopefully IBM will fix it soon.
>>
>> Olav, did you reported the bug, or should I do it?
>>
>> Lukáš
>>
>>>
>>> On one hand, it doesn't require from our users workarounds. On the other
>>> hand, when this bug gets fixed we'll never know and users won't get the
>>> benefit of using the C loader (which shouldn't be that big a deal for
>>> most reasonably sized YAML files).
>>>
>>>
>>> On Thu, Nov 19, 2015 at 11:44 AM Olav Philipp Henschel
>>> <olavph at linux.vnet.ibm.com <mailto:olavph at linux.vnet.ibm.com>> wrote:
>>>
>>>     Thanks, I've tried both solutions and they worked.
>>>     I'll just rename files
>>> /usr/lib64/python2.7/site-packages/yaml/cyaml.py*
>>>     so they are not found.
>>>
>>>     Regards,
>>>     Olav P. Henschel
>>>
>>>     On 19-11-2015 11:24, Lukáš Doktor wrote:
>>>      > 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>
>>>     <mailto: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
>>>     <http://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 <mailto:Avocado-devel at redhat.com>
>>>      >>> https://www.redhat.com/mailman/listinfo/avocado-devel
>>>      >>
>>>      >> _______________________________________________
>>>      >> Avocado-devel mailing list
>>>      >> Avocado-devel at redhat.com <mailto:Avocado-devel at redhat.com>
>>>      >> https://www.redhat.com/mailman/listinfo/avocado-devel
>>>      >
>>>      > _______________________________________________
>>>      > Avocado-devel mailing list
>>>      > Avocado-devel at redhat.com <mailto:Avocado-devel at redhat.com>
>>>      > https://www.redhat.com/mailman/listinfo/avocado-devel
>>>
>>>     _______________________________________________
>>>     Avocado-devel mailing list
>>>     Avocado-devel at redhat.com <mailto: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




More information about the Avocado-devel mailing list