1
0
mirror of https://github.com/containers/youki synced 2024-11-27 02:05:31 +01:00
youki/MirgationGuide.md
Yashodhan cc39179f9f
podman rootless with dbus native (#2370)
* Move dbus_native code to youki, add tests

Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com>

* (incomplete) move individual systemd components to dbus_native

Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com>

* (incomplete) Change tests to use dbus_native, move
systemdClientInterface into dbus_native

Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com>

* (incomplete) Change variant to actual enum, Fix types for systemd

Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com>

* Fix bug in vector ser/de

Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com>

* Fix mut requirements, minor lints etc., add client id in dbus

Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com>

* Add implementation for proxy methods

Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com>

* Split dbus error from SystemdClientError

Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com>

* implement system and session connection creation

Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com>

* Fix typos and failing feature test build

Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com>

* Completely remove dbus dependency and add docs regarding dbus-native

Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com>

* Update migration guide, move documentation od dbus_native to cgroups

Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com>

---------

Signed-off-by: Yashodhan Joshi <yjdoc2@gmail.com>
2023-10-05 21:08:06 +09:00

1.7 KiB

Migration Guide

This contains information for migrating library versions.

v0.2.0 -> v0.3.0

libcgroups

  • Switched from dbus-rs to a native dbus implementation see #2208 for motivation behind this. This replaces the dbus module with dbus_native module. However, As this is not in public interface for the crate, the users of this crate should not need any code changes. As this removes the dependency on the libdbus system library, you can uninstall it if desired.

v0.1.0 -> v0.2.0

libcontainer

  • The Rootless struct has been re-named as UserNamespaceConfig , RootlessIDMapper has been re-named to UserNamespaceIDMapper , and correspondingly the RootlessError has been re-named to UserNamespaceError . This is due to the fact that the structure was to be used for containers when a new user namespace is to be created, and that is not strictly only for rootless uses. Accordingly, the fields of various structs has been updated to reflect this change :

    • rootless (module name) -> user_ns
    • Rootless.rootless_id_mapper -> UserNamespaceConfig.id_mapper
    • LibcontainerError::Rootless -> LibcontainerError::UserNamespace
    • ContainerBuilderImpl.rootless -> ContainerBuilderImpl.user_ns_config
    • ContainerArgs.rootless -> ContainerArgs.user_ns_config
  • Executor now contains 2 methods for implementation. We introduce a validate step in addition to execute. The validate should validate the input OCI spec. The step runs after all the namespaces are entered and rootfs is pivoted.

  • Executor is now composible instead of an array of executor. To implement multiple executor, create a new executor that runs all the executor. The users are now in control of how multiple executor are run.