-
Notifications
You must be signed in to change notification settings - Fork 192
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
Add new InstallBundle Method to D-Bus API #446
Conversation
ddc325c
to
9a2374d
Compare
9a2374d
to
a88cfd5
Compare
a88cfd5
to
5b2b745
Compare
I've pushed a rebase onto master. The the conflicts were caused by the network mode removal. |
Codecov Report
@@ Coverage Diff @@
## master #446 +/- ##
==========================================
+ Coverage 66.50% 66.71% +0.20%
==========================================
Files 24 24
Lines 6553 6576 +23
==========================================
+ Hits 4358 4387 +29
+ Misses 2195 2189 -6
Continue to review full report at Codecov.
|
5b2b745
to
9166434
Compare
We also have tests for this and it remained in RFC phase for some days. Thus we can remove the RFC label now and make it a normal PR ready for being reviewed and merged. |
9740c26
to
347a3c5
Compare
347a3c5
to
1ac76ef
Compare
96f4407
to
bd472f6
Compare
bd472f6
to
fd52ecb
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The are still some minor things to check, but otherwise this should be almost ready to go.
fd52ecb
to
48a9c7f
Compare
a0718fd
to
b2e55e9
Compare
Otherwise we may run out of space after several tests. Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
This method aims to replace the former 'Install' method used to trigger bundle installations. The old method lacked the capability of passing additional arguments, which prevented from adding a lot of features in the past. Compared to the existing one, the new method differs only in the additional array-of-string-variant parameter 'args'. This allows to pass all kind of future additional simple arguments. To guarantee API stability, the old method will be kept as an alternative. Signed-off-by: Enrico Joerns <ejo@pengutronix.de>
Signed-off-by: Enrico Joerns <ejo@pengutronix.de>
Signed-off-by: Enrico Joerns <ejo@pengutronix.de>
…thod Signed-off-by: Enrico Joerns <ejo@pengutronix.de>
Signed-off-by: Enrico Joerns <ejo@pengutronix.de>
While the new API method will be tested by the RAUC client implementation, anyway, we need to have an explicit test ensuring nothing of the deprecated API is broken accidentally. Signed-off-by: Enrico Joerns <ejo@pengutronix.de>
Also mark it as failed when needed. Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
We should not accept unknown keys to prevent from performing actions not actually intended by the client. Signed-off-by: Enrico Joerns <ejo@pengutronix.de>
On the client side, this will ease identifying what went wrong Signed-off-by: Enrico Joerns <ejo@pengutronix.de>
We test that unknown arguments are rejected, we test that invalid keys are rejected, we test that having both valid key and value is accepted. Signed-off-by: Enrico Joerns <ejo@pengutronix.de>
Signed-off-by: Enrico Joerns <ejo@pengutronix.de>
b2e55e9
to
75a087a
Compare
In the past, there were a lot of cases where we ran into the limitation of the
Install
method of the D-BusInstaller
interface. These were all caused by the missing ability to pass additional arguments to the install call.As we cannot break existing setups, we cannot simply change the method signature. Instead, we need to introduce an alternative method.
Here it is:
InstallBundle sa{sv}
Where the new generic dict of string-variant (
a{sv}
) allows passing and handling all kind of current and future parameters without changing the interface again.This initial series includes support for one argument that was already implemented for the non-D-Bus case:
--ignore-compatible
. It allows forcing the installation of a bundle on a per-installation-call baseReference: #248