-
Notifications
You must be signed in to change notification settings - Fork 32
NETOBSERV-1642: Ovs monitoring feature #664
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@msherif1234: This pull request references NETOBSERV-1642 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.17.0" version, but no target version was set. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
@msherif1234: This pull request references NETOBSERV-1642 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.17.0" version, but no target version was set. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
- name: OvsMonitorMD[0] | ||
type: string | ||
description: OVS monitor metadata for the 1st event | ||
cardinalityWarn: avoid |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You should also add these into columns
and filters
such as:
columns:
- id: OvsMonitorMD0
name: 1st OVS metadata
tooltip: OVS monitor metadata for the 1st event
field: OvsMonitorMD[0]
filter: ovs_metadata_0
default: true
width: 5
feature: ovsMonitor
...
filters:
- id: ovs_metadata_0
name: OVS monitor metadata for the 1st event
component: text
hint: Specify a single metadata.
...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if we want to make somether smarter that concatenate the events, it will require some code changes in the plugin
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe there is still a need for plugin work anyway to handle the new feature if that is accurate optimizing the above can be part of that too ? for now I will see how far this takes me
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
updated both agent & operator PRs to allow single field with an array
netobserv/netobserv-ebpf-agent#286 (comment)
controllers/constants/constants.go
Outdated
LokiCRWriter = "netobserv-writer" | ||
LokiCRBWriter = "netobserv-writer-flp" | ||
LokiCRReader = "netobserv-reader" | ||
MaxOvsMonitorEvents = 4 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure to get the impact of this yet. What would be the advantage to get more / less events metadatas ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
for the same flow we can have multiple events md if we wanted to trace different feature for example we wanted to trace ACL, NAT, QoS for example we will see array populated with 4 metadata strings each for one of the above features, while if we trace ACL only for example then only one event md will be populated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok makes sense. So are we going to expose which features to trace in the FlowCollector CR ?
If so we could adapt the console plugin config dynamically and bind each field with its proper name / type etc
/ok-to-test |
New images:
They will expire after two weeks. To deploy this build: # Direct deployment, from operator repo
IMAGE=quay.io/netobserv/network-observability-operator:90f3501 make deploy
# Or using operator-sdk
operator-sdk run bundle quay.io/netobserv/network-observability-operator-bundle:v0.0.0-90f3501 Or as a Catalog Source: apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
name: netobserv-dev
namespace: openshift-marketplace
spec:
sourceType: grpc
image: quay.io/netobserv/network-observability-operator-catalog:v0.0.0-90f3501
displayName: NetObserv development catalog
publisher: Me
updateStrategy:
registryPoll:
interval: 1m |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #664 +/- ##
==========================================
- Coverage 67.21% 66.88% -0.33%
==========================================
Files 74 74
Lines 8598 8649 +51
==========================================
+ Hits 5779 5785 +6
- Misses 2416 2457 +41
- Partials 403 407 +4
Flags with carried forward coverage won't be shown. Click here to find out more.
|
/ok-to-test |
New images:
They will expire after two weeks. To deploy this build: # Direct deployment, from operator repo
IMAGE=quay.io/netobserv/network-observability-operator:495b735 make deploy
# Or using operator-sdk
operator-sdk run bundle quay.io/netobserv/network-observability-operator-bundle:v0.0.0-495b735 Or as a Catalog Source: apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
name: netobserv-dev
namespace: openshift-marketplace
spec:
sourceType: grpc
image: quay.io/netobserv/network-observability-operator-catalog:v0.0.0-495b735
displayName: NetObserv development catalog
publisher: Me
updateStrategy:
registryPoll:
interval: 1m |
/ok-to-test |
New images:
They will expire after two weeks. To deploy this build: # Direct deployment, from operator repo
IMAGE=quay.io/netobserv/network-observability-operator:32ec69e make deploy
# Or using operator-sdk
operator-sdk run bundle quay.io/netobserv/network-observability-operator-bundle:v0.0.0-32ec69e Or as a Catalog Source: apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
name: netobserv-dev
namespace: openshift-marketplace
spec:
sourceType: grpc
image: quay.io/netobserv/network-observability-operator-catalog:v0.0.0-32ec69e
displayName: NetObserv development catalog
publisher: Me
updateStrategy:
registryPoll:
interval: 1m |
@msherif1234: This pull request references NETOBSERV-1642 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.17.0" version, but no target version was set. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
/ok-to-test |
/ok-to-test |
/ok-to-test |
New images:
They will expire after two weeks. To deploy this build: # Direct deployment, from operator repo
IMAGE=quay.io/netobserv/network-observability-operator:5890842 make deploy
# Or using operator-sdk
operator-sdk run bundle quay.io/netobserv/network-observability-operator-bundle:v0.0.0-5890842 Or as a Catalog Source: apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
name: netobserv-dev
namespace: openshift-marketplace
spec:
sourceType: grpc
image: quay.io/netobserv/network-observability-operator-catalog:v0.0.0-5890842
displayName: NetObserv development catalog
publisher: Me
updateStrategy:
registryPoll:
interval: 1m |
// - `FlowRTT`, to track TCP latency. [Unsupported (*)].<br> | ||
// +kubebuilder:validation:Enum:="PacketDrop";"DNSTracking";"FlowRTT" | ||
// - `FlowRTT`, to track TCP latency [Unsupported (*)].<br> | ||
// - `NetworkEventsMonitor`, to track Network events.<br> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just wondering if naming it just NetworkEvents
would be sufficient and easier to remember, no ?
@@ -325,6 +327,7 @@ type FlowCollectorEBPF struct { | |||
// If the `spec.agent.ebpf.privileged` parameter is not set, an error is reported.<br> | |||
// - `DNSTracking`: enable the DNS tracking feature.<br> | |||
// - `FlowRTT`: enable flow latency (sRTT) extraction in the eBPF agent from TCP traffic.<br> | |||
// - `NetworkEventsMonitor`: enable the Network events monitoring feature.<br> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
like in PacketDrop, we should mention here if Privileged is required
Also, maybe add more details right here because it's not super obvious what are network events. like ".. such as network policy verdicts" ?
4b420a6
to
7d40f20
Compare
7d40f20
to
ffd1dc3
Compare
/ok-to-test |
New images:
They will expire after two weeks. To deploy this build: # Direct deployment, from operator repo
IMAGE=quay.io/netobserv/network-observability-operator:75f3f4c make deploy
# Or using operator-sdk
operator-sdk run bundle quay.io/netobserv/network-observability-operator-bundle:v0.0.0-75f3f4c Or as a Catalog Source: apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
name: netobserv-dev
namespace: openshift-marketplace
spec:
sourceType: grpc
image: quay.io/netobserv/network-observability-operator-catalog:v0.0.0-75f3f4c
displayName: NetObserv development catalog
publisher: Me
updateStrategy:
registryPoll:
interval: 1m |
Signed-off-by: Mohamed Mahmoud <[email protected]>
ffd1dc3
to
75b75f2
Compare
/ok-to-test |
New images:
They will expire after two weeks. To deploy this build: # Direct deployment, from operator repo
IMAGE=quay.io/netobserv/network-observability-operator:f0c1ef3 make deploy
# Or using operator-sdk
operator-sdk run bundle quay.io/netobserv/network-observability-operator-bundle:v0.0.0-f0c1ef3 Or as a Catalog Source: apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
name: netobserv-dev
namespace: openshift-marketplace
spec:
sourceType: grpc
image: quay.io/netobserv/network-observability-operator-catalog:v0.0.0-f0c1ef3
displayName: NetObserv development catalog
publisher: Me
updateStrategy:
registryPoll:
interval: 1m |
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: msherif1234 The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Description
changes to support ovs monitoring config and console bits
FC config to enable ovs monitoring fearure
Dependencies
netobserv/netobserv-ebpf-agent#286
Checklist
If you are not familiar with our processes or don't know what to answer in the list below, let us know in a comment: the maintainers will take care of that.