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."
}