From: Yu Watanabe Date: Tue, 15 Oct 2024 08:39:00 +0000 (+0900) Subject: machine: add MachineImage interface X-Git-Tag: v257-rc1~218 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7a3ee9217e89949367c6b56146fe8470687a37a9;p=thirdparty%2Fsystemd.git machine: add MachineImage interface Follow-up for fb0ea6a6a36b5fa97e6c57d608bb9f7acb63c8b2. Fixes #34772. --- diff --git a/src/machine/machined-varlink.c b/src/machine/machined-varlink.c index 5932d5edaba..47dbbe226e3 100644 --- a/src/machine/machined-varlink.c +++ b/src/machine/machined-varlink.c @@ -15,6 +15,7 @@ #include "socket-util.h" #include "user-util.h" #include "varlink-io.systemd.Machine.h" +#include "varlink-io.systemd.MachineImage.h" #include "varlink-io.systemd.UserDatabase.h" typedef struct LookupParameters { @@ -687,9 +688,12 @@ static int manager_varlink_init_machine(Manager *m) { sd_varlink_server_set_userdata(s, m); - r = sd_varlink_server_add_interface(s, &vl_interface_io_systemd_Machine); + r = sd_varlink_server_add_interface_many( + s, + &vl_interface_io_systemd_Machine, + &vl_interface_io_systemd_MachineImage); if (r < 0) - return log_error_errno(r, "Failed to add Machine interface to varlink server: %m"); + return log_error_errno(r, "Failed to add Machine and MachineImage interfaces to varlink server: %m"); r = sd_varlink_server_bind_method_many( s, diff --git a/src/shared/meson.build b/src/shared/meson.build index 42dd32024a2..1141efa4538 100644 --- a/src/shared/meson.build +++ b/src/shared/meson.build @@ -184,6 +184,7 @@ shared_sources = files( 'varlink-io.systemd.Import.c', 'varlink-io.systemd.Journal.c', 'varlink-io.systemd.Machine.c', + 'varlink-io.systemd.MachineImage.c', 'varlink-io.systemd.ManagedOOM.c', 'varlink-io.systemd.MountFileSystem.c', 'varlink-io.systemd.NamespaceResource.c', diff --git a/src/shared/varlink-io.systemd.MachineImage.c b/src/shared/varlink-io.systemd.MachineImage.c index 514c5720c6b..d417af80274 100644 --- a/src/shared/varlink-io.systemd.MachineImage.c +++ b/src/shared/varlink-io.systemd.MachineImage.c @@ -2,6 +2,7 @@ #include "sd-varlink-idl.h" +#include "bus-polkit.h" #include "varlink-io.systemd.MachineImage.h" static SD_VARLINK_DEFINE_METHOD_FULL( diff --git a/src/test/test-varlink-idl.c b/src/test/test-varlink-idl.c index 519056d0446..c54b24aa8b4 100644 --- a/src/test/test-varlink-idl.c +++ b/src/test/test-varlink-idl.c @@ -15,6 +15,7 @@ #include "varlink-io.systemd.Import.h" #include "varlink-io.systemd.Journal.h" #include "varlink-io.systemd.Machine.h" +#include "varlink-io.systemd.MachineImage.h" #include "varlink-io.systemd.ManagedOOM.h" #include "varlink-io.systemd.MountFileSystem.h" #include "varlink-io.systemd.NamespaceResource.h" @@ -190,6 +191,8 @@ TEST(parse_format) { print_separator(); test_parse_format_one(&vl_interface_io_systemd_Machine); print_separator(); + test_parse_format_one(&vl_interface_io_systemd_MachineImage); + print_separator(); test_parse_format_one(&vl_interface_xyz_test); } diff --git a/test/units/TEST-13-NSPAWN.machined.sh b/test/units/TEST-13-NSPAWN.machined.sh index 176fe6fb69a..da62b465ea2 100755 --- a/test/units/TEST-13-NSPAWN.machined.sh +++ b/test/units/TEST-13-NSPAWN.machined.sh @@ -256,6 +256,11 @@ done long_running_machine_start +varlinkctl introspect /run/systemd/machine/io.systemd.Machine io.systemd.Machine +varlinkctl introspect /run/systemd/machine/io.systemd.Machine io.systemd.MachineImage +varlinkctl introspect /run/systemd/machine/io.systemd.MachineImage io.systemd.Machine +varlinkctl introspect /run/systemd/machine/io.systemd.MachineImage io.systemd.MachineImage + # test io.systemd.Machine.List varlinkctl --more call /run/systemd/machine/io.systemd.Machine io.systemd.Machine.List '{}' | grep 'long-running' varlinkctl --more call /run/systemd/machine/io.systemd.Machine io.systemd.Machine.List '{}' | grep '.host'