Merge "veyron/services/mgmt/node,veyron/tools/mgmt/nminstall: make self_install pass through the --name flag"
diff --git a/services/mgmt/node/impl/node_installer.go b/services/mgmt/node/impl/node_installer.go
index b7696b3..e0deac2 100644
--- a/services/mgmt/node/impl/node_installer.go
+++ b/services/mgmt/node/impl/node_installer.go
@@ -84,7 +84,7 @@
 	if err := linkSelf(nmDir, "noded"); err != nil {
 		return err
 	}
-	// We don't pass in the config state setting, since they're already
+	// We don't pass in the config state settings, since they're already
 	// contained in the environment.
 	if err := generateScript(nmDir, nil, envelope); err != nil {
 		return err
diff --git a/services/mgmt/node/noded/main.go b/services/mgmt/node/noded/main.go
index f1b9a2d..eea0702 100644
--- a/services/mgmt/node/noded/main.go
+++ b/services/mgmt/node/noded/main.go
@@ -34,7 +34,11 @@
 	}
 
 	if *installSelf {
-		if err := impl.SelfInstall(flag.Args(), os.Environ()); err != nil {
+		// If the user specified a name to publish as, pass that through
+		// to the installed node manager script.
+		// TODO(caprita): Make the flag survive updates.
+		args := append([]string{"--name=" + *publishAs}, flag.Args()...)
+		if err := impl.SelfInstall(args, os.Environ()); err != nil {
 			vlog.Errorf("SelfInstall failed: %v", err)
 			os.Exit(1)
 		}
@@ -68,6 +72,7 @@
 	if err := server.ServeDispatcher(*publishAs, dispatcher); err != nil {
 		vlog.Fatalf("Serve(%v) failed: %v", *publishAs, err)
 	}
+	vlog.VI(0).Infof("Node manager published as: %v", *publishAs)
 	impl.InvokeCallback(name)
 
 	// Wait until shutdown.
diff --git a/tools/mgmt/nminstall b/tools/mgmt/nminstall
index 449e38d..858ade7 100755
--- a/tools/mgmt/nminstall
+++ b/tools/mgmt/nminstall
@@ -31,8 +31,7 @@
   echo "./nminstall <install parent dir> [<binary source>]"
 }
 
-# TODO(caprita): Also agent.
-readonly BIN_NAMES=(noded suidhelper)
+readonly BIN_NAMES=(noded suidhelper agentd)
 
 ###############################################################################
 # Copies one binary from source to destination.
@@ -163,7 +162,8 @@
   # Tell the node manager to install itself.
   local -r NM_ROOT="${INSTALL_DIR}/nmroot"
   echo "Installing node manager under ${NM_ROOT} ..."
-  VEYRON_NM_CURRENT="${INSTALL_DIR}/curr" VEYRON_NM_ROOT="${NM_ROOT}" VEYRON_NM_HELPER="${SETUID_SCRIPT}" "${BIN_INSTALL}/noded" --install_self
+  local -r PUBLISH=$(hostname)
+  VEYRON_NM_CURRENT="${INSTALL_DIR}/curr" VEYRON_NM_ROOT="${NM_ROOT}" VEYRON_NM_HELPER="${SETUID_SCRIPT}" "${BIN_INSTALL}/noded" --install_self --name="${PUBLISH}"
   echo "Node manager installed."
 }