Produce random-but-stable MAC addresses, take 2
authorMatt Palmer <mpalmer@hezmatt.org>
Wed, 27 Apr 2016 05:38:40 +0000 (15:38 +1000)
committerMatt Palmer <mpalmer@hezmatt.org>
Wed, 27 Apr 2016 05:38:40 +0000 (15:38 +1000)
This version works properly on ye olde versions of Docker (v1.7 was reported
as not working with the previous version of this patch).

launcher

index b2a090a166a9bc607da1a59f733383f622fe466a..f7152d7b5056cf4f70a800e1eef5d9592e184fa2 100755 (executable)
--- a/launcher
+++ b/launcher
@@ -800,9 +800,12 @@ run_start() {
      # docker added more hostname rules
      hostname=${hostname/_/-}
 
+     mac_address="--mac-address $($docker_path run $user_args -i --rm -a stdout -a stderr $image /bin/sh -c "echo $hostname | md5sum | sed 's/^\(..\)\(..\)\(..\)\(..\)\(..\).*$/02:\1:\2:\3:\4:\5/'")"
+
      set -x
      $docker_path run $user_args $links $attach_on_run $restart_policy "${env[@]}" -h "$hostname" \
-        -e DOCKER_HOST_IP=$docker_ip --name $config -t $ports $volumes $docker_args $run_image $boot_command
+        -e DOCKER_HOST_IP=$docker_ip --name $config -t $ports $volumes $mac_address $docker_args \
+        $run_image $boot_command
 
    )
    exit 0