• 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
..
alpine Loading commit data...
archlinux Loading commit data...
centos6 Loading commit data...
centos7 Loading commit data...
common Loading commit data...
cygwinseven Loading commit data...
cygwinxp Loading commit data...
dp Loading commit data...
fedora Loading commit data...
fedora15 Loading commit data...
freebsd Loading commit data...
freebsd10 Loading commit data...
freebsd11 Loading commit data...
freebsd12 Loading commit data...
freebsd5 Loading commit data...
freebsd6 Loading commit data...
freebsd7 Loading commit data...
freebsd9 Loading commit data...
freenas11 Loading commit data...
freenas8 Loading commit data...
freenas9 Loading commit data...
linux Loading commit data...
linux-ms Loading commit data...
linux-sg Loading commit data...
linux9 Loading commit data...
onie Loading commit data...
openbsd Loading commit data...
plab Loading commit data...
ron Loading commit data...
ubuntu10 Loading commit data...
ubuntu11 Loading commit data...
ubuntu14 Loading commit data...
ubuntu15 Loading commit data...
ubuntu16 Loading commit data...
ubuntu16-ms Loading commit data...
ubuntu18 Loading commit data...
ubuntu18-ms Loading commit data...
ubuntu7 Loading commit data...
widearea Loading commit data...
GNUmakefile.in Loading commit data...
dostype.c Loading commit data...
findif.c Loading commit data...
osstuff.sh Loading commit data...
tdd.c Loading commit data...
tmcc.c Loading commit data...