Docker clientside update: use our perl API lib instead of cli and cURL.
(Of course, there is no standard perl Docker Engine API, so I wrote my own thin perl library, basically error handling and JSON marshalling goo. But had to deal with LWP/http over UNIX socket to Docker, which is whacky; fortunately, there was a module, but I can confirm that LWP is a pain when you get off the beaten track. Anyway, I added a little client that is useful for debugging.) Also, I refactored things a bit so there is now an emulabize-image script that can be run to test emulabization of docker images separately from vnode creation. Also, add a specific Docker version of the prepare script. This actually gets run in image commit as an ONBUILD instruction. Also, always copy the image's master passwd files into /etc/emulab instead of using those installed by client-install. Those just don't apply at all here since we have no idea what the base image is; the uids/gids in the clientside dirs could be a complete mismatch for the image.
Showing with 2533 additions and 519 deletions
This diff is collapsed.