add HTTP streaming support#755
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
a78b390 to
89ad338
Compare
This comment has been minimized.
This comment has been minimized.
zyga
left a comment
There was a problem hiding this comment.
Quick first pass. I'll do a separate review of the nbd code.
89ad338 to
c0dfc4c
Compare
This comment has been minimized.
This comment has been minimized.
c0dfc4c to
32cec8f
Compare
This comment was marked as outdated.
This comment was marked as outdated.
Codecov Report
@@ Coverage Diff @@
## master #755 +/- ##
==========================================
- Coverage 72.45% 69.58% -2.88%
==========================================
Files 28 30 +2
Lines 9109 10070 +961
==========================================
+ Hits 6600 7007 +407
- Misses 2509 3063 +554
Continue to review full report at Codecov.
|
|
Many thanks for adding this feature! I gave this a quick try using a simple webserver built with nginx to serve the bundle and installation of the bundle succeeded just fine. As I am building RAUC with Yocto, the corresponding changes in meta-rauc to support this feature were easily added. @jluebbe If you like, I could already open a PR to add these changes. Apart from trying this out and adding Yocto build support, is there anything in particular that I can help with to get this PR merged a little faster? |
Thanks for the feedback!
You could just open a WIP PR there as well. Due to the new dependency, we should probably have a
More testing feedback is definitely appreciated. If you don't want to go through the code, feedback on the documentation is also very useful. Are there any aspects which are not yet documented enough? |
ejoerns
left a comment
There was a problem hiding this comment.
This is my first review round and includes everything I've found so far. Most things found are just minor issues, refactoring requests or error handling quirks.
All in all my tests on actual hardware looked very promising and did not reveal any major show stopper yet. After verity support, this is another well done and important milestone for RAUC 👍
I have a bunch of method documentation and in-code comments that I used for making the code more parsable for my poor human eyes. Maybe I can drop some of them in the second round as they might also help others or at least give a more comprehensive and cleaner internal API documentation.
32cec8f to
ca41437
Compare
This comment was marked as outdated.
This comment was marked as outdated.
This is provided by glibc, but needs to be defined locally for musl. Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
With sockets, it's can happen that we are only able to partially read/write the buffer. In that case we need to restart for the remaining size. This simplifies the higher-level code for local sockets. Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Link against libnl3 to support confuguring NBD via netlink. Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
ca41437 to
4918dd5
Compare
|
@ejoerns You should be able to use |
4918dd5 to
3a0ce3e
Compare
|
@ejoerns I've updated the PR as discussed. |
Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
3a0ce3e to
e573033
Compare
|
@ejoerns I've fixed the uncrustify failure. |
This adds support for
rauc install https://update-server.example/update.raucfor verity format bundles without needing temporary space. Internally, it is based on mounting the bundle using NBD and a unprivileged helper process.