Let's decompose these changes a little bit.

1) message exchanges between landscape-client and server
This is what this SRU is changing. It is adding network information for 
interfaces that have no IP.

The patch description is misleading: "* Add non-filtered interfaces to
the API response (LP: #2052834)"

This patch is not changing the API. It's just sending to the server
information that wasn't sent before.

If that information will be returned via an API call, existing or new,
that's something between the server and the API client to
negotiate/change/decide.

What must NOT happen is the extra information that this new client is
now including in its exchanges with the server, break said exchanges.
I.e., an old server, when processing these messages from the new (this
SRU) client, must NOT break, and either just accept the new data and
store it (preferably), or ignore the extra data.

2) changes to API
The API modification is a change in the server and in the landscape-api 
packages, both of which are not in the ubuntu archive, and was discussed 
before. Comment #33 states that landscape-server 25.04~beta1 has the API 
changes, and these do not impact src:landscape-client, subject of this SRU.

In terms of possible regressions, the concerns were/are:

a) extra traffic between all clients and a potentially single server
(think landscape.canonical.com, or any dedicated server installed on-
prem). This was responded to in comment #18 and deemed irrelevant.

b) Old landscape servers must not break processing of messages by the
new client (this SRU). If that happens, the client will become "wedged",
and the server will not be able to manage it anymore. This is a deal
breaker.

c) Other changes in behavior. The landscape-api package, and its main
binary/script, are not part of src:landscape-client. That being said,
the plan being put in motion by this SRU will reach the API of course
(that's the whole point). But since both landscape-server and landscape-
api are NOT in the ubuntu archive, they are not subject to SRU rules. I
would caution you, though, to think carefully about changes in behavior
regardless.

c1) For example, if I have a script that uses the API to poll the server
for network information for certain computers, I would expect the
structure of the API response to not change between upgrades. I.e.,
let's say I'm not aware of the new API parameter, so I don't use it.
Then I wouldn't expect the response to include more data than before.
This is debatable: if the structure of the response it the same, but
just has more fields, then maybe my script shouldn't fail and just
ignore the extra data.

c2) If I update the api client and see that the call I have been using
has a new parameter, and then I use this new parameter, I would expect
the response to change, and that's ok. Furthermore, I would NOT expect
this new parameter to break the API call if I contact an old landscape
server.


For this SRU, my main concerns were (a) and (b). I believe (a) was addressed. 
Can someone comment on (b) please? And feel free to comment on the (c) points 
as well, maybe I got something wrong.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2052834

Title:
  Incomplete network info showing in both web and API :: landscape-
  server 23.03

To manage notifications about this bug go to:
https://bugs.launchpad.net/landscape/+bug/2052834/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to