Re: problems with updating ipv4 settings over dbus



Thanks Beniamino for your answer, Actually I noticed that None signature and tried fixing it like you suggested without any luck. Error message I discussed in my previous message was coming from statements that had proper signatures. It seems that there is bug in NM 1.0.10 related to this 'address-data' property. It can't be present when settings are updated. Update succeeds if I have 'addresses' property present (what previous error message suggests) and deleting "address-data" property from settings read with .GetSettings() method.

Actually now the procedure is similar as it used to be in NM 0.9.8.10 with the exception of deleting "adderss-data" property from settings. Procedure did not work after updating from NM 0.9.8.10 to NM 1.0.10 and I made a wrong assumption that "addresses" property had become from "deprecated" to "obsolete".

Thanks,
Matti

2016-12-19 16:54 GMT+02:00 Beniamino Galvani <bgalvani redhat com>:
On Mon, Dec 19, 2016 at 11:15:59AM +0200, matti kaasinen wrote:
> Hi!
>
> 'ipv4' dictionary before update printed below:
> {u'address-data': dbus.Array([dbus.Dictionary({'prefix': dbus.UInt32(22L),
> 'address': '192.168.3.25'}, signature=None)],
> signature=dbus.Signature('a{sv}')), u'method': 'manual'}

According to the documentation [1] of the 'signature' parameter of the
Dictionary class:

  "If it is None (the default), when the Dictionary is sent over
   D-Bus, the key and value signatures will be guessed from an
   arbitrary element of the Dictionary."

Probably here it's guessing the type from the first element. Can you
try if appending a 'signature=dbus.Signature("sv"))' argument to the
Dictionary constructor fixes the problem?

Beniamino

[1] https://dbus.freedesktop.org/doc/dbus-python/api/dbus.Dictionary-class.html



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]