Commit 30d34d0e authored by Eric Paris's avatar Eric Paris

Reduce false positives with verify-flag-underscore.sh by updating regex

Check to make sure there is not an alphanumeric character immeditely before or after the 'flag'. It there is an alphanumeric character then this is obviously not actually the flag we care about. For example if the project declares a flag "valid-name" but the regex finds something like "invalid_name" we should not match. Clearly this "invalid_name" is not actually a wrong usage of the "valid-name" flag.
parent ea591728
...@@ -81,7 +81,7 @@ func (s *ProxyServer) AddFlags(fs *pflag.FlagSet) { ...@@ -81,7 +81,7 @@ func (s *ProxyServer) AddFlags(fs *pflag.FlagSet) {
fs.StringVar(&s.Master, "master", s.Master, "The address of the Kubernetes API server (overrides any value in kubeconfig)") fs.StringVar(&s.Master, "master", s.Master, "The address of the Kubernetes API server (overrides any value in kubeconfig)")
fs.IntVar(&s.HealthzPort, "healthz-port", s.HealthzPort, "The port to bind the health check server. Use 0 to disable.") fs.IntVar(&s.HealthzPort, "healthz-port", s.HealthzPort, "The port to bind the health check server. Use 0 to disable.")
fs.IPVar(&s.HealthzBindAddress, "healthz-bind-address", s.HealthzBindAddress, "The IP address for the health check server to serve on, defaulting to 127.0.0.1 (set to 0.0.0.0 for all interfaces)") fs.IPVar(&s.HealthzBindAddress, "healthz-bind-address", s.HealthzBindAddress, "The IP address for the health check server to serve on, defaulting to 127.0.0.1 (set to 0.0.0.0 for all interfaces)")
fs.IntVar(&s.OOMScoreAdj, "oom-score-adj", s.OOMScoreAdj, "The oom_score_adj value for kube-proxy process. Values must be within the range [-1000, 1000]") fs.IntVar(&s.OOMScoreAdj, "oom-score-adj", s.OOMScoreAdj, "The oom-score-adj value for kube-proxy process. Values must be within the range [-1000, 1000]")
fs.StringVar(&s.ResourceContainer, "resource-container", s.ResourceContainer, "Absolute name of the resource-only container to create and run the Kube-proxy in (Default: /kube-proxy).") fs.StringVar(&s.ResourceContainer, "resource-container", s.ResourceContainer, "Absolute name of the resource-only container to create and run the Kube-proxy in (Default: /kube-proxy).")
fs.StringVar(&s.Kubeconfig, "kubeconfig", s.Kubeconfig, "Path to kubeconfig file with authorization information (the master location is set by the master flag).") fs.StringVar(&s.Kubeconfig, "kubeconfig", s.Kubeconfig, "Path to kubeconfig file with authorization information (the master location is set by the master flag).")
fs.Var(&s.PortRange, "proxy-port-range", "Range of host ports (beginPort-endPort, inclusive) that may be consumed in order to proxy service traffic. If unspecified (0-0) then ports will be randomly chosen.") fs.Var(&s.PortRange, "proxy-port-range", "Range of host ports (beginPort-endPort, inclusive) that may be consumed in order to proxy service traffic. If unspecified (0-0) then ports will be randomly chosen.")
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
The implementation of the scheduler HA feature includes: The implementation of the scheduler HA feature includes:
- Checkpointing by default (`--checkpoint`) - Checkpointing by default (`--checkpoint`)
- Large failover-timeout by default (`--failover_timeout`) - Large failover-timeout by default (`--failover-timeout`)
- Hot-failover w/ multiple scheduler instances (`--ha`) - Hot-failover w/ multiple scheduler instances (`--ha`)
- Best effort task reconciliation on failover - Best effort task reconciliation on failover
......
...@@ -56,7 +56,7 @@ with the apiserver API to configure the proxy. ...@@ -56,7 +56,7 @@ with the apiserver API to configure the proxy.
-h, --help=false: help for kube-proxy -h, --help=false: help for kube-proxy
--kubeconfig="": Path to kubeconfig file with authorization information (the master location is set by the master flag). --kubeconfig="": Path to kubeconfig file with authorization information (the master location is set by the master flag).
--master="": The address of the Kubernetes API server (overrides any value in kubeconfig) --master="": The address of the Kubernetes API server (overrides any value in kubeconfig)
--oom-score-adj=0: The oom_score_adj value for kube-proxy process. Values must be within the range [-1000, 1000] --oom-score-adj=0: The oom-score-adj value for kube-proxy process. Values must be within the range [-1000, 1000]
--proxy-port-range=: Range of host ports (beginPort-endPort, inclusive) that may be consumed in order to proxy service traffic. If unspecified (0-0) then ports will be randomly chosen. --proxy-port-range=: Range of host ports (beginPort-endPort, inclusive) that may be consumed in order to proxy service traffic. If unspecified (0-0) then ports will be randomly chosen.
--resource-container="": Absolute name of the resource-only container to create and run the Kube-proxy in (Default: /kube-proxy). --resource-container="": Absolute name of the resource-only container to create and run the Kube-proxy in (Default: /kube-proxy).
``` ```
......
...@@ -98,14 +98,14 @@ HTTP server: The kubelet can also listen for HTTP and respond to a simple API ...@@ -98,14 +98,14 @@ HTTP server: The kubelet can also listen for HTTP and respond to a simple API
--minimum-container-ttl-duration=0: Minimum age for a finished container before it is garbage collected. Examples: '300ms', '10s' or '2h45m' --minimum-container-ttl-duration=0: Minimum age for a finished container before it is garbage collected. Examples: '300ms', '10s' or '2h45m'
--network-plugin="": <Warning: Alpha feature> The name of the network plugin to be invoked for various events in kubelet/pod lifecycle --network-plugin="": <Warning: Alpha feature> The name of the network plugin to be invoked for various events in kubelet/pod lifecycle
--node-status-update-frequency=0: Specifies how often kubelet posts node status to master. Note: be cautious when changing the constant, it must work with nodeMonitorGracePeriod in nodecontroller. Default: 10s --node-status-update-frequency=0: Specifies how often kubelet posts node status to master. Note: be cautious when changing the constant, it must work with nodeMonitorGracePeriod in nodecontroller. Default: 10s
--oom-score-adj=0: The oom_score_adj value for kubelet process. Values must be within the range [-1000, 1000] --oom-score-adj=0: The oom-score-adj value for kubelet process. Values must be within the range [-1000, 1000]
--pod-cidr="": The CIDR to use for pod IP addresses, only used in standalone mode. In cluster mode, this is obtained from the master. --pod-cidr="": The CIDR to use for pod IP addresses, only used in standalone mode. In cluster mode, this is obtained from the master.
--pod-infra-container-image="": The image whose network/ipc namespaces containers in each pod will use. --pod-infra-container-image="": The image whose network/ipc namespaces containers in each pod will use.
--port=0: The port for the Kubelet to serve on. Note that "kubectl logs" will not work if you set this flag. --port=0: The port for the Kubelet to serve on. Note that "kubectl logs" will not work if you set this flag.
--read-only-port=0: The read-only port for the Kubelet to serve on (set to 0 to disable) --read-only-port=0: The read-only port for the Kubelet to serve on (set to 0 to disable)
--really-crash-for-testing=false: If true, when panics occur crash. Intended for testing. --really-crash-for-testing=false: If true, when panics occur crash. Intended for testing.
--register-node=false: Register the node with the apiserver (defaults to true if --api-server is set) --register-node=false: Register the node with the apiserver (defaults to true if --api-server is set)
--registry-burst=0: Maximum size of a bursty pulls, temporarily allows pulls to burst to this number, while still not exceeding registry_qps. Only used if --registry-qps > 0 --registry-burst=0: Maximum size of a bursty pulls, temporarily allows pulls to burst to this number, while still not exceeding registry-qps. Only used if --registry-qps > 0
--registry-qps=0: If > 0, limit registry pull QPS to this value. If 0, unlimited. [default=0.0] --registry-qps=0: If > 0, limit registry pull QPS to this value. If 0, unlimited. [default=0.0]
--resource-container="": Absolute name of the resource-only container to create and run the Kubelet in (Default: /kubelet). --resource-container="": Absolute name of the resource-only container to create and run the Kubelet in (Default: /kubelet).
--root-dir="": Directory path for managing kubelet files (volume mounts,etc). --root-dir="": Directory path for managing kubelet files (volume mounts,etc).
......
...@@ -96,11 +96,10 @@ def normalize_files(rootdir, files): ...@@ -96,11 +96,10 @@ def normalize_files(rootdir, files):
return newfiles return newfiles
def line_has_bad_flag(line, flagre): def line_has_bad_flag(line, flagre):
m = flagre.search(line) results = flagre.findall(line)
if not m: for result in results:
return False if "_" in result:
if "_" in m.group(0): return True
return True
return False return False
# The list of files might not be the whole repo. If someone only changed a # The list of files might not be the whole repo. If someone only changed a
...@@ -155,7 +154,7 @@ def flags_to_re(flags): ...@@ -155,7 +154,7 @@ def flags_to_re(flags):
for flag in flags: for flag in flags:
# turn all flag names into regexs which will find both types # turn all flag names into regexs which will find both types
newre = dashRE.sub('[-_]', flag) newre = dashRE.sub('[-_]', flag)
flagREs.append(newre) flagREs.append("[^\w]" + newre + "[^\w]")
# turn that list of regex strings into a single large RE # turn that list of regex strings into a single large RE
flagRE = "|".join(flagREs) flagRE = "|".join(flagREs)
flagRE = re.compile(flagRE) flagRE = re.compile(flagRE)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment