lkml.org 
[lkml]   [2021]   [Nov]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [RFC PATCH 0/4] namespacefs: Proof-of-Concept
    From
    Dear Eric,

    Thank you very much for pointing out all the weaknesses of this Proof-of-Concept!

    I tried to make it clear in the Cover letter that this is nothing more than a PoC. It is OK that you are giving it a
    'Nacked-by'. We never had an expectation that this particular version of the code can be merged. Nevertheless, we hope
    to receive constructive guidance on how to improve. I will try to comment on your arguments below.

    On 18.11.21 г. 20:55 ч., Eric W. Biederman wrote:
    >
    > Adding the containers mailing list which is for discussions like this.
    >
    > "Yordan Karadzhov (VMware)" <y.karadz@gmail.com> writes:
    >
    >> We introduce a simple read-only virtual filesystem that provides
    >> direct mechanism for examining the existing hierarchy of namespaces
    >> on the system. For the purposes of this PoC, we tried to keep the
    >> implementation of the pseudo filesystem as simple as possible. Only
    >> two namespace types (PID and UTS) are coupled to it for the moment.
    >> Nevertheless, we do not expect having significant problems when
    >> adding all other namespace types.
    >>
    >> When fully functional, 'namespacefs' will allow the user to see all
    >> namespaces that are active on the system and to easily retrieve the
    >> specific data, managed by each namespace. For example the PIDs of
    >> all tasks enclosed in the individual PID namespaces. Any existing
    >> namespace on the system will be represented by its corresponding
    >> directory in namespacesfs. When a namespace is created a directory
    >> will be added. When a namespace is destroyed, its corresponding
    >> directory will be removed. The hierarchy of the directories will
    >> follow the hierarchy of the namespaces.
    >
    > It is not correct to use inode numbers as the actual names for
    > namespaces.

    It is unclear for me why exposing the inode number of a namespace is such a fundamental problem. This information is
    already available in /proc/PID/ns. If you are worried by the fact that the inode number gives the name of the
    corresponding directory in the filesystem and that someone can interpret this as a name of the namespace itself, then we
    can make the inum available inside the directory (and make it identical with /proc/PID/ns/) and to think for some other
    naming convention for the directories.


    >
    > I can not see anything else you can possibly uses as names for
    > namespaces.
    >
    > To allow container migration between machines and similar things
    > the you wind up needing a namespace for your names of namespaces.
    >

    This filesystem aims to provide a snapshot of the current structure of the namespaces on the entire host, so migrating
    it to another machine where this structure will be anyway different seems to be meaningless by definition, unless you
    really migrate the entire machine.

    This may be a stupid question, but are you currently migrating 'debugfs' or 'tracefs' together with a container?

    > Further you talk about hierarchy and you have not added support for the
    > user namespace. Without the user namespace there is not hierarchy with
    > any namespace but the pid namespace. There is definitely no meaningful
    > hierarchy without the user namespace.
    >

    I do agree that the user namespace plays a central role in the global hierarchy of namespaces.

    > As far as I can tell merging this will break CRIU and container
    > migration in general (as the namespace of namespaces problem is not
    > solved).
    >
    > Since you are not solving the problem of a namespace for namespaces,
    > yet implementing something that requires it.
    >
    > Since you are implementing hierarchy and ignoring the user namespace
    > which gives structure and hierarchy to the namespaces.
    >

    If we provide a second version of the PoC that includes the use namespace, is this going make you do a second
    consideration of the idea?
    It is OK if you give us a second "Nacked-by" after this ;-)

    Once again, thank you very much for your comments!

    Best,
    Yordan


    > Since this breaks existing use cases without giving a solution.
    >
    > Nacked-by: "Eric W. Biederman" <ebiederm@xmission.com>
    >
    > Eric
    >

    \
     
     \ /
      Last update: 2021-11-19 15:26    [W:6.226 / U:0.056 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site