Skip to content

Commit 45115e8

Browse files
authored
NETOBSERV-2187: adapt regex to new query language in flp (netobserv#285)
* NETOBSERV-2187: adapt regex to new query language in flp See netobserv/flowlogs-pipeline#930 * New --query options Refactoring was needed to avoid loosing options string quotes when it's read and passed to functions: it's now a global array, so quoting & escaping is preserved everywhere. For consistency I also changed "command" and "manifest" to globals. * fix linter and regen doc
1 parent 69adb76 commit 45115e8

File tree

6 files changed

+131
-150
lines changed

6 files changed

+131
-150
lines changed

commands/netobserv

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ case "$1" in
8585
;;
8686
*)
8787
shift # remove first argument
88-
options="$*"
88+
options=( "$@" )
8989
# run flows command
9090
command="flows"
9191
;;
@@ -99,7 +99,7 @@ case "$1" in
9999
;;
100100
*)
101101
shift # remove first argument
102-
options="$*"
102+
options=( "$@" )
103103
# run packets command
104104
command="packets"
105105
;;
@@ -113,7 +113,7 @@ case "$1" in
113113
;;
114114
*)
115115
shift # remove first argument
116-
options="$*"
116+
options=( "$@" )
117117
# run metrics command
118118
command="metrics"
119119
;;
@@ -179,7 +179,7 @@ esac
179179

180180
trap cleanup EXIT
181181

182-
setup $command $options
182+
setup
183183

184184
if [[ "$command" == "flows" || "$command" == "packets" ]]; then
185185
# convert options to string

docs/netobserv_cli.adoc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ $ oc netobserv flows [<feature_option>] [<command_options>]
6161
|--enable_pkt_translation| enable packet translation | false
6262
|--enable_pkt_drop| enable packet drop | false
6363
|--enable_rtt| enable RTT tracking | false
64-
|--enable_udn_mapping| enable User Defined Network mapping | false
64+
|--enable_udn_mapping| enable User Defined Network mapping | false
6565
|--get-subnets| get subnets information | false
6666
|--background| run in background | false
6767
|--copy| copy the output files locally | prompt
@@ -84,7 +84,7 @@ $ oc netobserv flows [<feature_option>] [<command_options>]
8484
|--port| filter port | -
8585
|--ports| filter on either of two ports | -
8686
|--protocol| filter protocol | -
87-
|--regexes| filter flows using regular expression | -
87+
|--query| filter flows using a custom query | -
8888
|--sport_range| filter source port range | -
8989
|--sport| filter source port | -
9090
|--sports| filter on either of two source ports | -
@@ -131,7 +131,7 @@ $ oc netobserv packets [<option>]
131131
|--port| filter port | -
132132
|--ports| filter on either of two ports | -
133133
|--protocol| filter protocol | -
134-
|--regexes| filter flows using regular expression | -
134+
|--query| filter flows using a custom query | -
135135
|--sport_range| filter source port range | -
136136
|--sport| filter source port | -
137137
|--sports| filter on either of two source ports | -
@@ -161,7 +161,7 @@ $ oc netobserv metrics [<option>]
161161
|--enable_pkt_translation| enable packet translation | false
162162
|--enable_pkt_drop| enable packet drop | false
163163
|--enable_rtt| enable RTT tracking | false
164-
|--enable_udn_mapping| enable User Defined Network mapping | false
164+
|--enable_udn_mapping| enable User Defined Network mapping | false
165165
|--get-subnets| get subnets information | false
166166
|--action| filter action | Accept
167167
|--cidr| filter CIDR | 0.0.0.0/0
@@ -179,7 +179,7 @@ $ oc netobserv metrics [<option>]
179179
|--port| filter port | -
180180
|--ports| filter on either of two ports | -
181181
|--protocol| filter protocol | -
182-
|--regexes| filter flows using regular expression | -
182+
|--query| filter flows using a custom query | -
183183
|--sport_range| filter source port range | -
184184
|--sport| filter source port | -
185185
|--sports| filter on either of two source ports | -

e2e/integration-tests/integration_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ var _ = g.Describe("NetObserv CLI e2e integration test suite", g.Serial, func()
4343
g.It("Verify regexes filters are applied", func() {
4444
// capture upto 500KB
4545
nsfilter := "openshift-monitoring"
46-
cliArgs := []string{"flows", "--regexes=SrcK8S_Namespace~" + nsfilter, "--copy=true", "--max-bytes=500000"}
46+
cliArgs := []string{"flows", "--query=\"SrcK8S_Namespace=~" + nsfilter + "\"", "--copy=true", "--max-bytes=500000"}
4747
cmd := exec.Command(ocNetObservBinPath, cliArgs...)
4848
err := cmd.Run()
4949
o.Expect(err).NotTo(o.HaveOccurred())
@@ -70,7 +70,7 @@ var _ = g.Describe("NetObserv CLI e2e integration test suite", g.Serial, func()
7070
err := decoder.Decode(&flow)
7171
o.Expect(err).NotTo(o.HaveOccurred())
7272
if flow.SrcK8sNamespace != nsfilter {
73-
o.Expect(true).To(o.BeFalse(), fmt.Sprintf("Flow %v does not meet regexes condition SrcK8S_Namespace~%s", flow, nsfilter))
73+
o.Expect(true).To(o.BeFalse(), fmt.Sprintf("Flow %v does not meet regexes condition SrcK8S_Namespace=~%s", flow, nsfilter))
7474
}
7575
}
7676
})

e2e/script_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ func TestHelpCommand(t *testing.T) {
4444
// ensure help to display examples
4545
assert.Contains(t, str, "basic examples:")
4646
assert.Contains(t, str, "netobserv flows --drops # Capture dropped flows on all nodes")
47-
assert.Contains(t, str, "netobserv flows --regexes=SrcK8S_Namespace~app-.* # Capture flows from any namespace starting by app-")
47+
assert.Contains(t, str, "netobserv flows --query=\"SrcK8S_Namespace=~app-.*\" # Capture flows from any namespace starting by app-")
4848
assert.Contains(t, str, "netobserv packets --port=8080 # Capture packets on port 8080")
4949
assert.Contains(t, str, "netobserv metrics --enable_all # Capture all cluster metrics including packet drop, dns, rtt, network events packet translation and UDN mapping features informations")
5050
assert.Contains(t, str, "advanced examples:")

0 commit comments

Comments
 (0)