Ticket #227 (closed enhancement: fixed)
Improve semantics of attach/detach and add
Reported by: | jdreed | Owned by: | |
---|---|---|---|
Priority: | low | Milestone: | The Distant Future |
Component: | -- | Keywords: | hackathon |
Cc: | Fixed in version: | ||
Upstream bug: |
Description
After discussion on Athena10 list and via IM, broder has proposed amendments to attach and detach as they're currently working on debathena/Athena10:
(a) Change liblocker so that the attachtab has a concept of per-user
mounts (i.e. in addition to tracking which users have a locker mounted,
it can also say "broder has /afs/.sipb/project/whatever mounted at
/mit/whatever, but price has /usr/local/whatever mounted at /mit/whatever")
(b) Write PyLocker?
(c) Change pyHesiodFS to use PyLocker? instead of keeping its own cache
and additionally, alter it to present a different view onto /mit for
each user. (i.e. I would actually *see* /mit/whatever symlinked to
/afs/.sipb/project/whatever, while if Greg looked at /mit/whatever, he'd
see a symlink to /usr/local/whatever)
- This is actually not that hard once parts (a) and (b) are done.
PyFUSE has fuse.FuseGetContext?(), which returns the UID, GID, and PID of
the process making the given request.
This would allow us to bring back attach -e, and even allow it to be run
by non-root users.
Also add -r should remove the locker from the Search path even if it is not attached rather than complaining of a non-attached locker.
This improved interface should be implemented and tested to see if it is better, and if it is better, it should become the default.
Change History
comment:2 Changed 15 years ago by broder
- Status changed from assigned to new
- Milestone changed from Fall Release to IAP 2010
It seems pretty unlikely that this will get done, at least by the core developers, over the next week, so I'd like to get it out of our default view. I would still encourage anyone who's interested to take a look at this.
comment:3 Changed 14 years ago by jdreed
- Milestone changed from Summer 2010 (Lucid Deploy) to Fall 2010
"It seems pretty unlikely that this will get done, at least by the core developers, over the next week, so I'd like to get it out of our default view."
comment:4 Changed 14 years ago by jdreed
- Milestone changed from Natty Alpha to The Distant Future
"It seems pretty unlikely that this will get done, at least by the core developers, over the next week, so I'd like to get it out of our default view."
comment:5 Changed 13 years ago by jdreed
For maximum awesomeness, we haven't been running zinit since... forever, because initprogs is commented out in debian's zephyr.vars and we never uncommented it.
comment:8 follow-up: ↓ 9 Changed 11 years ago by jdreed
I'd like to think about doing this sooner rather than later. My current plan is to python-ify liblocker, libathdir, athdir, and attach. We punt pyhesiodfs in favor of a new implementation with broder's python-routefs, which is generified to pymitfs or something. liblocker is responsible for getting locker info from wherever it currently is (Hesiod) and for turning locker names into other paths (currently only AFS), and getting tokens when necessary.
comment:9 in reply to: ↑ 8 ; follow-up: ↓ 10 Changed 11 years ago by kaduk
Replying to jdreed:
I'd like to think about doing this sooner rather than later. My current plan is to python-ify liblocker, libathdir, athdir, and attach. We punt pyhesiodfs in favor of a new implementation with broder's python-routefs, which is generified to pymitfs or something. liblocker is responsible for getting locker info from wherever it currently is (Hesiod) and for turning locker names into other paths (currently only AFS), and getting tokens when necessary.
Can we actually get rid of libathdir? I somehow thought it still had other things using it. The idea sounds good in principle, though.
comment:10 in reply to: ↑ 9 Changed 11 years ago by jdreed
Replying to kaduk:
Can we actually get rid of libathdir? I somehow thought it still had other things using it. The idea sounds good in principle, though.
Nothing in our tree is using it, aside from the things that are already in the scope of this ticket.
comment:11 Changed 11 years ago by jdreed
http://github.com/jdreed/liblocker-ng exists. Have at it. We need to decide where to package this. Options include a 1:1 replacement (liblocker ships locker.py, libathdir ships athdir.py, and the binaries get updated to their Python versions), a separate source package (debathena-locker-support) that creates one python modules package and one -binaries package (that Replaces: athdir, attach, attachandrun, etc).
comment:12 Changed 11 years ago by jdreed
- Status changed from new to committed
Turns out that Replaces/Conflicts? doesn't work because we do stupid things with versioned dependencies. So debathena-locker-support is now the source package for attach, athdir, and quota, at version 10.4
comment:13 Changed 10 years ago by jdreed
- Status changed from committed to closed
- Resolution set to fixed
It's seeming increasingly likely that I'm not going to ever get around to this.
However, it's a fairly straightforward, mostly well-defined software engineering problem that exists more or less in isolation of the majority of Debathena, which I think makes it an excellent candidate for a prospective or someone less involved in Debathena.
I've attempted to write down how I would go about FixingLiblocker on the wiki part of Trac. Comments are welcome; discussion should probably happen on zephyr.