| OLD | NEW |
| 1 // Copyright 2015 The LUCI Authors. All rights reserved. | 1 // Copyright 2015 The LUCI Authors. All rights reserved. |
| 2 // Use of this source code is governed under the Apache License, Version 2.0 | 2 // Use of this source code is governed under the Apache License, Version 2.0 |
| 3 // that can be found in the LICENSE file. | 3 // that can be found in the LICENSE file. |
| 4 | 4 |
| 5 package target | 5 package target |
| 6 | 6 |
| 7 import ( | 7 import ( |
| 8 "flag" | 8 "flag" |
| 9 "os" | 9 "os" |
| 10 "regexp" | 10 "regexp" |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 59 // SetDefaultsFromHostname computes the expensive default values for hostname, | 59 // SetDefaultsFromHostname computes the expensive default values for hostname, |
| 60 // region and network fields. | 60 // region and network fields. |
| 61 func (fl *Flags) SetDefaultsFromHostname() { | 61 func (fl *Flags) SetDefaultsFromHostname() { |
| 62 if fl.SysInfo == nil { | 62 if fl.SysInfo == nil { |
| 63 hostname, region := getFQDN() | 63 hostname, region := getFQDN() |
| 64 fl.SysInfo = &SysInfo{Hostname: hostname, Region: region} | 64 fl.SysInfo = &SysInfo{Hostname: hostname, Region: region} |
| 65 } | 65 } |
| 66 network := getNetwork(fl.SysInfo.Hostname) | 66 network := getNetwork(fl.SysInfo.Hostname) |
| 67 hostname := fl.SysInfo.Hostname | 67 hostname := fl.SysInfo.Hostname |
| 68 | 68 |
| 69 if fl.AutoGenHostname { | |
| 70 hostname = "autogen:" + hostname | |
| 71 } | |
| 72 if fl.DeviceHostname == "" { | 69 if fl.DeviceHostname == "" { |
| 73 fl.DeviceHostname = hostname | 70 fl.DeviceHostname = hostname |
| 74 } | 71 } |
| 75 if fl.DeviceRegion == "" { | 72 if fl.DeviceRegion == "" { |
| 76 fl.DeviceRegion = fl.SysInfo.Region | 73 fl.DeviceRegion = fl.SysInfo.Region |
| 77 } | 74 } |
| 78 if fl.DeviceNetwork == "" { | 75 if fl.DeviceNetwork == "" { |
| 79 fl.DeviceNetwork = network | 76 fl.DeviceNetwork = network |
| 80 } | 77 } |
| 81 if fl.TaskRegion == "" { | 78 if fl.TaskRegion == "" { |
| 82 fl.TaskRegion = fl.SysInfo.Region | 79 fl.TaskRegion = fl.SysInfo.Region |
| 83 } | 80 } |
| 84 if fl.TaskHostname == "" { | 81 if fl.TaskHostname == "" { |
| 85 fl.TaskHostname = hostname | 82 fl.TaskHostname = hostname |
| 86 } | 83 } |
| 84 if fl.AutoGenHostname { |
| 85 fl.DeviceHostname = "autogen:" + fl.DeviceHostname |
| 86 fl.TaskHostname = "autogen:" + fl.TaskHostname |
| 87 } |
| 87 } | 88 } |
| 88 | 89 |
| 89 // Register adds tsmon target related flags to a FlagSet. | 90 // Register adds tsmon target related flags to a FlagSet. |
| 90 func (fl *Flags) Register(f *flag.FlagSet) { | 91 func (fl *Flags) Register(f *flag.FlagSet) { |
| 91 f.Var(&fl.TargetType, "ts-mon-target-type", | 92 f.Var(&fl.TargetType, "ts-mon-target-type", |
| 92 "the type of target that is being monitored ("+targetTypeEnum.Ch
oices()+")") | 93 "the type of target that is being monitored ("+targetTypeEnum.Ch
oices()+")") |
| 93 f.StringVar(&fl.DeviceHostname, "ts-mon-device-hostname", fl.DeviceHostn
ame, | 94 f.StringVar(&fl.DeviceHostname, "ts-mon-device-hostname", fl.DeviceHostn
ame, |
| 94 "name of this device") | 95 "name of this device") |
| 95 f.StringVar(&fl.DeviceRegion, "ts-mon-device-region", fl.DeviceRegion, | 96 f.StringVar(&fl.DeviceRegion, "ts-mon-device-region", fl.DeviceRegion, |
| 96 "name of the region this devices lives in") | 97 "name of the region this devices lives in") |
| (...skipping 27 matching lines...) Expand all Loading... |
| 124 } | 125 } |
| 125 return "unknown", "unknown" | 126 return "unknown", "unknown" |
| 126 } | 127 } |
| 127 | 128 |
| 128 func getNetwork(hostname string) string { | 129 func getNetwork(hostname string) string { |
| 129 if m := regexp.MustCompile(`^([\w-]*?-[acm]|master)(\d+)a?$`).FindString
Submatch(hostname); m != nil { | 130 if m := regexp.MustCompile(`^([\w-]*?-[acm]|master)(\d+)a?$`).FindString
Submatch(hostname); m != nil { |
| 130 return m[2] | 131 return m[2] |
| 131 } | 132 } |
| 132 return "" | 133 return "" |
| 133 } | 134 } |
| OLD | NEW |