mirror of
https://github.com/tailscale/tailscale.git
synced 2024-11-29 04:55:31 +00:00
cmd/tailscaled: allow setting env via linux cmdline for integration tests
Updates #13038 Change-Id: I51e016d0eb7c14647159706c08f017fdedd68e2a Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
parent
ce4413a0bc
commit
2e32abc3e2
@ -35,6 +35,7 @@
|
|||||||
"tailscale.com/control/controlclient"
|
"tailscale.com/control/controlclient"
|
||||||
"tailscale.com/drive/driveimpl"
|
"tailscale.com/drive/driveimpl"
|
||||||
"tailscale.com/envknob"
|
"tailscale.com/envknob"
|
||||||
|
"tailscale.com/hostinfo"
|
||||||
"tailscale.com/ipn"
|
"tailscale.com/ipn"
|
||||||
"tailscale.com/ipn/conffile"
|
"tailscale.com/ipn/conffile"
|
||||||
"tailscale.com/ipn/ipnlocal"
|
"tailscale.com/ipn/ipnlocal"
|
||||||
@ -154,6 +155,7 @@ func defaultPort() uint16 {
|
|||||||
func main() {
|
func main() {
|
||||||
envknob.PanicIfAnyEnvCheckedInInit()
|
envknob.PanicIfAnyEnvCheckedInInit()
|
||||||
envknob.ApplyDiskConfig()
|
envknob.ApplyDiskConfig()
|
||||||
|
applyIntegrationTestEnvKnob()
|
||||||
|
|
||||||
printVersion := false
|
printVersion := false
|
||||||
flag.IntVar(&args.verbose, "verbose", 0, "log verbosity level; 0 is default, 1 or higher are increasingly verbose")
|
flag.IntVar(&args.verbose, "verbose", 0, "log verbosity level; 0 is default, 1 or higher are increasingly verbose")
|
||||||
@ -895,3 +897,24 @@ func dieOnPipeReadErrorOfFD(fd int) {
|
|||||||
f.Read(make([]byte, 1))
|
f.Read(make([]byte, 1))
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// applyIntegrationTestEnvKnob applies the tailscaled.env=... environment
|
||||||
|
// variables specified on the Linux kernel command line, if the VM is being
|
||||||
|
// run in NATLab integration tests.
|
||||||
|
//
|
||||||
|
// They're specified as: tailscaled.env=FOO=bar tailscaled.env=BAR=baz
|
||||||
|
func applyIntegrationTestEnvKnob() {
|
||||||
|
if runtime.GOOS != "linux" || !hostinfo.IsNATLabGuestVM() {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
cmdLine, _ := os.ReadFile("/proc/cmdline")
|
||||||
|
for _, s := range strings.Fields(string(cmdLine)) {
|
||||||
|
suf, ok := strings.CutPrefix(s, "tailscaled.env=")
|
||||||
|
if !ok {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
if k, v, ok := strings.Cut(suf, "="); ok {
|
||||||
|
envknob.Setenv(k, v)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
_ "tailscale.com/drive/driveimpl"
|
_ "tailscale.com/drive/driveimpl"
|
||||||
_ "tailscale.com/envknob"
|
_ "tailscale.com/envknob"
|
||||||
_ "tailscale.com/health"
|
_ "tailscale.com/health"
|
||||||
|
_ "tailscale.com/hostinfo"
|
||||||
_ "tailscale.com/ipn"
|
_ "tailscale.com/ipn"
|
||||||
_ "tailscale.com/ipn/conffile"
|
_ "tailscale.com/ipn/conffile"
|
||||||
_ "tailscale.com/ipn/ipnlocal"
|
_ "tailscale.com/ipn/ipnlocal"
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
_ "tailscale.com/drive/driveimpl"
|
_ "tailscale.com/drive/driveimpl"
|
||||||
_ "tailscale.com/envknob"
|
_ "tailscale.com/envknob"
|
||||||
_ "tailscale.com/health"
|
_ "tailscale.com/health"
|
||||||
|
_ "tailscale.com/hostinfo"
|
||||||
_ "tailscale.com/ipn"
|
_ "tailscale.com/ipn"
|
||||||
_ "tailscale.com/ipn/conffile"
|
_ "tailscale.com/ipn/conffile"
|
||||||
_ "tailscale.com/ipn/ipnlocal"
|
_ "tailscale.com/ipn/ipnlocal"
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
_ "tailscale.com/drive/driveimpl"
|
_ "tailscale.com/drive/driveimpl"
|
||||||
_ "tailscale.com/envknob"
|
_ "tailscale.com/envknob"
|
||||||
_ "tailscale.com/health"
|
_ "tailscale.com/health"
|
||||||
|
_ "tailscale.com/hostinfo"
|
||||||
_ "tailscale.com/ipn"
|
_ "tailscale.com/ipn"
|
||||||
_ "tailscale.com/ipn/conffile"
|
_ "tailscale.com/ipn/conffile"
|
||||||
_ "tailscale.com/ipn/ipnlocal"
|
_ "tailscale.com/ipn/ipnlocal"
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
_ "tailscale.com/drive/driveimpl"
|
_ "tailscale.com/drive/driveimpl"
|
||||||
_ "tailscale.com/envknob"
|
_ "tailscale.com/envknob"
|
||||||
_ "tailscale.com/health"
|
_ "tailscale.com/health"
|
||||||
|
_ "tailscale.com/hostinfo"
|
||||||
_ "tailscale.com/ipn"
|
_ "tailscale.com/ipn"
|
||||||
_ "tailscale.com/ipn/conffile"
|
_ "tailscale.com/ipn/conffile"
|
||||||
_ "tailscale.com/ipn/ipnlocal"
|
_ "tailscale.com/ipn/ipnlocal"
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
_ "tailscale.com/drive/driveimpl"
|
_ "tailscale.com/drive/driveimpl"
|
||||||
_ "tailscale.com/envknob"
|
_ "tailscale.com/envknob"
|
||||||
_ "tailscale.com/health"
|
_ "tailscale.com/health"
|
||||||
|
_ "tailscale.com/hostinfo"
|
||||||
_ "tailscale.com/ipn"
|
_ "tailscale.com/ipn"
|
||||||
_ "tailscale.com/ipn/conffile"
|
_ "tailscale.com/ipn/conffile"
|
||||||
_ "tailscale.com/ipn/ipnlocal"
|
_ "tailscale.com/ipn/ipnlocal"
|
||||||
|
Loading…
Reference in New Issue
Block a user