• David Johnson's avatar
    Add Docker container blockstore support. · 9bf09981
    David Johnson authored
    Docker containers may be (and default to, and in the shared host case,
    must be) deprivileged; thus, they cannot mount devices, much less tell
    the kernel (via iscsi userspace tools, etc) to make devices.
    
    Therefore, we must setup any storage backing devices (temp LVs, iscsi
    attachments) outside the container.  This commit makes that possible for
    rc.storage and linux liblocstorage.  Basically, rc.storage now supports
    (for the Linux liblocstorage and Docker) the -j vnodeid calling
    convention; and if it's being called on behalf of a vnodeid, it uses
    per-vnodeid fstab for any mounts, storage.conf for its state; etc.
    
    I modified libvnode_docker to *not* create virtual networks for
    remote blockstore links, because those are pinned to /30s, and thus I
    have no client blockstore link address to place on a device in the root
    context.  However, I (ab)used the existing Docker network setup for the
    blockstore links, and that all happens the same as it used to; we just
    no longer create the Docker virtual network nor attach the container to
    it.
    
    Finally, I modified tmcd dostorageconfig slightly to return
    HOSTIP/HOSTMASK for remote blockstores; and now
    libsetup::getstorageconfig will use HOSTIP in preference to its own
    HOSTID->HOSTIP translation.  I had to do this so that libvnode_docker in
    the root context would not have to go through the mess of translating
    HOSTID on behalf of a vnode.
    9bf09981
Name
Last commit
Last update
account Loading commit data...
apache Loading commit data...
apt Loading commit data...
assign Loading commit data...
autoconf Loading commit data...
autofs Loading commit data...
backend Loading commit data...
bugdb Loading commit data...
cdrom Loading commit data...
clientside Loading commit data...
collab Loading commit data...
daikon Loading commit data...
db Loading commit data...
delay Loading commit data...
dhcpd Loading commit data...
discvr Loading commit data...
doc Loading commit data...
event Loading commit data...
firewall Loading commit data...
flash Loading commit data...
fwrules Loading commit data...
hw_config Loading commit data...
hyperviewer Loading commit data...
image-test Loading commit data...
install Loading commit data...
ipod Loading commit data...
mobile Loading commit data...
mote Loading commit data...
named Loading commit data...
node_usage Loading commit data...
ntpd Loading commit data...
os Loading commit data...
patches Loading commit data...
pelab Loading commit data...
protogeni Loading commit data...
pxe Loading commit data...
rc.d Loading commit data...
robots Loading commit data...
rpms Loading commit data...
security Loading commit data...
sensors Loading commit data...
sql Loading commit data...
ssl Loading commit data...
sysadmin Loading commit data...
tbsetup Loading commit data...
testsuite Loading commit data...
tip Loading commit data...
tmcd Loading commit data...
tools Loading commit data...
utils Loading commit data...
vis Loading commit data...
wiki Loading commit data...
www Loading commit data...
xmlrpc Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gitmodules Loading commit data...
.loc-ignore Loading commit data...
AGPL-COPYING Loading commit data...
GNUmakefile.in Loading commit data...
GNUmakerules Loading commit data...
GPL-COPYING Loading commit data...
LGPL-COPYING Loading commit data...
MOVED-TO-WIKI Loading commit data...
Makeconf.in Loading commit data...
README Loading commit data...
TODO Loading commit data...
TODO.plab Loading commit data...
VERSION Loading commit data...
WEBtemplate.in Loading commit data...
config.h.in Loading commit data...
configure Loading commit data...
configure.ac Loading commit data...
defs-apt Loading commit data...
defs-cloudlab-clemson Loading commit data...
defs-cloudlab-utah Loading commit data...
defs-cloudlab-wisc Loading commit data...
defs-default Loading commit data...
defs-duerig-emulab Loading commit data...
defs-elabinelab Loading commit data...
defs-example Loading commit data...
defs-gtw-apt Loading commit data...
defs-gtw-emulab Loading commit data...
defs-johnsond-emulab Loading commit data...
defs-kwebb-apt Loading commit data...
defs-kwebb-cloudlab Loading commit data...
defs-kwebb-emulab Loading commit data...
defs-mike-emulab Loading commit data...
defs-onelab Loading commit data...
defs-ricci-emulab Loading commit data...
defs-stoller-apt Loading commit data...
defs-stoller-emulab Loading commit data...
defs-stoller-home Loading commit data...
defs-stoller-lbsdb Loading commit data...
defs-uky Loading commit data...
defs-utahclient Loading commit data...
defs-wbsun-emulab Loading commit data...
defs-wide Loading commit data...
pnet-favicon.ico Loading commit data...