On Tue, 2016-12-20 at 08:29 +0200, matti kaasinen wrote:
2016-12-19 22:40 GMT+02:00 Thomas Haller <thaller redhat com>:"address-data" was introduced by https://cgit.freedesktop.org/NetworkManager/NetworkManager/commit/? id=d16905df633ceea08c93b6e982f660627d06ff34 and is in 1.0.0 release (or newer). I certainly would expect that what you did works. I don't know why it wouldn't.So, what does this "DBusException: org.freedesktop.NetworkManager.Settings.Connection.MissingProperty: ipv4.addresses: this property cannot be empty for 'method=manual'" mean?
It means with method=manual, you need at least one address. On D-Bus, an address can be either specified via "addresses" or "address-data" property. If both fields are present, then server-side will prefer "addresses" and ignores "address-data".
Does it mean that "you must have it always" or does it mean that "you don't need it, but it can't be empty if you have it". Because, now I am not now quite sure did I deleted it from settings.
It's not about which fields are present in the D-Bus. It's about how many addresses end up to be configured.
One of the problem might come from the fact that my original code used python-networkmanager methods for getting properties. Python-NM does not support "address-data". Those lines that I executed manually accessed dbus directly and that gave that error message printed above. Code that used python-NM for getting properties gave strange signature error that was impossible to say where it come from, but when I deleted "address-data" property it vanished.
I didn't realize this before, but as said, including both "addresses" and "address-data" is probably wrong, because server will ignore the new field (to preserve backward compatibility). If you target the new API, set only "address-data". Thomas
Attachment:
signature.asc
Description: This is a digitally signed message part