So taking example with IPC, you propose the following:I would disagree with you. These discussions IMHO led us to the wrong
direction.
Can I ask a bunch of questions which are related to other
virtualization issues, but which are not addressed by Eric anyhow?
- How are you planning to make hierarchical namespaces for such resources as IPC? Sockets? Unix sockets?
in the same way as for resources or filesystems -
management is within the parent, usage within the
child
Again, how does this differ from the situation when one container is granted to manage another one? In this case it grant some portion of it's resources to anyone he wishes.Process tree is hierarchical by it's nature. But what is heirarchical IPC and other resources?for resources it's simple, you have to 'give away'
a certain share to your children, which in turn will
enable them to utilize them up to the given amount,
or (depending on the implementation) up to the total
amount of the parent.
(check out ckrm as a proof of concept, and examplelet's be more friendly to each other :)
how it should not be done :)
If you are talking about management, then see my prev paragraph. Rights can be granted. Can you provide some other example, what do you want from hierarchy?And no one ever told me why we need heierarchy at all. No any _real_
use cases. But it's ok.
there are many use cases here, first, the VPS within
a VPS (of course, not the most useful one, but the
most obvious one), then there are all kind of test,
build and security scenarios which can benefit from
hierarchical structures and 'delegated' administrative
power (just think web space management)
- Eric wants to introduce name spaces, but totally forgots how much
they are tied with each other. IPC refers to netlinks, network refers
to proc and sysctl, etc. It is some rare cases when you will be able
to use namespaces without full OpenVZ/vserver containers.
well, we already visited the following:it is tightly interconnected with unix sockets, proc, sysfs, ipc, and I'm sure something else :)
- filesystem namespaces (works quite fine completely
independant of all other)
- pid spaces (again they are quite fine without anyonly if we remove all these pid uses from fown, netlinks etc.
other namespace)
- resource spaces (another one which makes perfectwhich one? give me an example please.
sense to have without the others)
the fact that some things like proc or netlink is tiedit needs virtualization, really. But being virtualized they are still tied to the subsystems they were.
to networking and ipc IMHO is just a sign that those
interfaces need revisiting and proper isolation or
virtualization ...
So if you have a socket in TCP_FIN_WAIT1 state, which can live long time, what do you do with it?- How long these namespaces live? And which management interface eachwell, the lifetime of such a space is very likely to
of them will have?
be at least the time of the users, including all
created sockets, file-handles, ipc resources, etc ...
ha ha :) won't start flaming with you.So I really hate that we concentrated on discussion of VPIDs,
while there are more general and global questions on the whole
virtualization itself.
well, I was not the one rolling out the 'perfect'
vpid solution ...
My question is the same! Why?First of all, I don't think syscalls likeLinux-VServer does not have any of those syscalls
"do_something and exec" should be introduced.
and it works quite well, so why should we need such
syscalls?
I have no problem at all to discuss a general planYup. Would be nice to switch to networking, IPC or something like this.
(hey I though we were already doing so :) or move
to some other area (like networking :)