-
Notifications
You must be signed in to change notification settings - Fork 188
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
id request field completely removed from deploymentBase feedback DDI API #1565
Comments
@diegorondini , |
@avgustinmm
but as @floruschbaschan clarified in his comment the parameter was effectively mandated by hawkBit ≤ 0.3M7, so I expect any client developed before April 2023 (date of release of 0.3M8) to provide that parameter. Also, DDI APIs are supposed to change version when implementing breaking changes:
https://github.com/eclipse/hawkbit#status-and-api-stability |
Hi,
On 24.01.24 17:43, Diego Rondini wrote:
@avgustinmm <https://github.com/avgustinmm>
I can list two:
1. hara-ddiclient (Eclipse hawkBit subproject)
2. swupdate:
https://github.com/sbabic/swupdate/blob/2023.12/suricatta/server_hawkbit.c#L396 <https://github.com/sbabic/swupdate/blob/2023.12/suricatta/server_hawkbit.c#L396>
but as @floruschbaschan <https://github.com/floruschbaschan> clarified
in his comment the parameter was effectively mandated by hawkBit ≤
0.3M7, so I expect *any client developed before April 2023 (date of
release of 0.3M8)* to provide that parameter.
Also, DDI APIs are supposed to change version when implementing breaking
changes:
However, the device facing DDI API
<https://github.com/eclipse/hawkbit/tree/master/hawkbit-rest/hawkbit-ddi-api> is on major version 'v1' and will be kept stable.
Fully agree - this is a change in the API and should require a change in
the major version.
There are plenty of devices in the field and they are connecting with V1
API. As soon as a new hawkbit version will be deployed on the server,
all these devices lose OTA capabilities.
Regards,
Stefano Babic
… https://github.com/eclipse/hawkbit#status-and-api-stability
<https://github.com/eclipse/hawkbit#status-and-api-stability>
Removing a parameter is a breaking change. The correct approach should
be to deprecate and ignore it in v1 and then remove it in DDI v2.
—
Reply to this email directly, view it on GitHub
<#1565 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AAKYXDXVSHDSLXRCXVU5OADYQE23NAVCNFSM6AAAAABCIY3OQGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMBYGUYTINRWGU>.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
Hi @avgustinmm I just had a look at RAUC code (hi @ejoerns and @Bastian-Krause), and it looks like they always send the For all those three clients, we're talking about code that dates back to 2016 - 2018: My suggestion is to restore the Let us know if you need help with this. Regards |
Have you tested that hawkBit rejects requests with "id"? curl -X 'POST' \
'http://localhost:8080/DEFAULT/controller/v1/ctrlId/deploymentBase/4/feedback' \
-H 'accept: */*' \
-H 'Authorization: GatewayToken b6608fe2dd6a9d5235b5e9416a0af64b' \
-H 'Content-Type: application/json' \
-d '{
"id": "igonre_it",
"time": "2023-08-03T12:31:41.890992967Z",
"status": {
"execution": "closed",
"result": {
"finished": "success",
"progress": {
"cnt": 2,
"of": 5
}
},
"code": 200,
"details": [
"string"
]
}
}' and got: |
Hi @avgustinmm thanks for pointing that out. After testing more accurately we can confirm that the To recap:
So it is reasonable for clients to keep providing the At this point what I suggest is to clarify in the API documentation, maybe with a note, that:
Thank you |
Speaking from rauc-hawkbit-updater's perspective, that sounds correct. We haven't heard of any issues (although we're always providing the |
@avgustinmm did you clarify anywhere in the documentation that |
M* are milestones and I don't see the point of putting them into documentation. |
Well, the site and the documentation were updated when milestones were published. I guess mentioning the
|
Hi,
I think there's been an unintended change in DDI APIs: the
id
request field is no longer one of the parameters of deploymentBase feedback DDI API.The bad thing is that the
id
request field was in practice mandatory until 0.3M7 (included):Even though the intention was to deprecate it:
bacd72f
https://github.com/eclipse/hawkbit/releases/tag/0.3.0 (see section "Improvements")
that deprecation has never made it to a release as it's been removed before 0.3M8 release:
3271867#diff-608ea86c7c080d1c5742fa8001855af723d34ceb6aadb234a49367d5bfc52c4aL39
So the result is that:
id
succeed with hawkBit ≤ 0.3M7, but fail with ≥ 0.3M8id
fail with hawkBit ≤ 0.3M7, but succeed with ≥ 0.3M8For API stability I think the
id
should be just ignored when provided.The text was updated successfully, but these errors were encountered: