netobserv / netobserv-ebpf-agent

Network Observability eBPF Agent
Apache License 2.0
116 stars 29 forks source link

WIP: NETOBSERV-1637: OVS monitoring ebpf hook #286

Open msherif1234 opened 4 months ago

msherif1234 commented 4 months ago

Description

OVS monitoring eBPF hook feature

ebpf configs to enable ovs tracking from operator

      advanced:
        env:
          ENABLE_OVS_MONITORING: "true"
- bpftool perf show -p
[{
        "pid": 2854,
        "fd": 8,
        "prog_id": 143,
        "fd_type": "kprobe",
        "func": "psample_sample_packet",
        "offset": 0
    }
]
- bpftool map dump id 258
"key": {
            "eth_protocol": 2048,
            "direction": 0,
            "src_mac": [2,220,231,139,148,213
            ],
            "dst_mac": [10,88,10,128,2,12
            ],
            "src_ip": [0,0,0,0,0,0,0,0,0,0,255,255,10,128,2,2
            ],
            "dst_ip": [0,0,0,0,0,0,0,0,0,0,255,255,10,128,2,12
            ],
            "src_port": 56546,
            "dst_port": 8080,
            "transport_protocol": 6,
            "icmp_type": 0,
            "icmp_code": 0,
            "if_index": 2
        },
        "values": [{
                "cpu": 0,
                "value": {
                    "packets": 1,
                    "bytes": 74,
                    "start_mono_time_ts": 6218828496667,
                    "end_mono_time_ts": 6218828496667,
                    "flags": 2,
                    "errno": 0,
                    "dscp": 0,
                    "pkt_drops": {
                        "packets": 0,
                        "bytes": 0,
                        "latest_flags": 0,
                        "latest_state": 0,
                        "latest_drop_cause": 0
                    },
                    "dns_record": {
                        "id": 0,
                        "flags": 0,
                        "latency": 0,
                        "errno": 0
                    },
                    "flow_rtt": 0,
                     ovs_dp_keys": [[0,0,0,0,12,0,255,238
                        ],[0,0,0,0,0,0,0,0
                        ],[0,0,0,0,0,0,0,0
                        ],[0,0,0,0,0,0,0,0
                        ]

Dependencies

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.

openshift-ci[bot] commented 4 months ago

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: Once this PR has been reviewed and has the lgtm label, please ask for approval from msherif1234. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files: - **[OWNERS](https://github.com/netobserv/netobserv-ebpf-agent/blob/main/OWNERS)** Approvers can indicate their approval by writing `/approve` in a comment Approvers can cancel approval by writing `/approve cancel` in a comment
codecov[bot] commented 4 months ago

Codecov Report

Attention: Patch coverage is 0% with 21 lines in your changes are missing coverage. Please review.

Project coverage is 36.14%. Comparing base (1d85464) to head (02419f3). Report is 11 commits behind head on main.

Files Patch % Lines
pkg/ebpf/tracer.go 0.00% 11 Missing :warning:
pkg/agent/agent.go 0.00% 9 Missing :warning:
pkg/ebpf/bpf_x86_bpfel.go 0.00% 1 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #286 +/- ## ========================================== - Coverage 36.26% 36.14% -0.13% ========================================== Files 42 42 Lines 3794 3807 +13 ========================================== Hits 1376 1376 - Misses 2340 2353 +13 Partials 78 78 ``` | [Flag](https://app.codecov.io/gh/netobserv/netobserv-ebpf-agent/pull/286/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=netobserv) | Coverage Δ | | |---|---|---| | [unittests](https://app.codecov.io/gh/netobserv/netobserv-ebpf-agent/pull/286/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=netobserv) | `36.14% <0.00%> (-0.13%)` | :arrow_down: | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=netobserv#carryforward-flags-in-the-pull-request-comment) to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

codecov-commenter commented 2 months ago

Codecov Report

Attention: Patch coverage is 21.05263% with 45 lines in your changes missing coverage. Please review.

Please upload report for BASE (main@bed25c5). Learn more about missing BASE report.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #286 +/- ## ======================================= Coverage ? 32.62% ======================================= Files ? 48 Lines ? 3632 Branches ? 0 ======================================= Hits ? 1185 Misses ? 2343 Partials ? 104 ``` | [Flag](https://app.codecov.io/gh/netobserv/netobserv-ebpf-agent/pull/286/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=netobserv) | Coverage Δ | | |---|---|---| | [unittests](https://app.codecov.io/gh/netobserv/netobserv-ebpf-agent/pull/286/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=netobserv) | `32.62% <21.05%> (?)` | | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=netobserv#carryforward-flags-in-the-pull-request-comment) to find out more. | [Files](https://app.codecov.io/gh/netobserv/netobserv-ebpf-agent/pull/286?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=netobserv) | Coverage Δ | | |---|---|---| | [pkg/agent/config.go](https://app.codecov.io/gh/netobserv/netobserv-ebpf-agent/pull/286?src=pr&el=tree&filepath=pkg%2Fagent%2Fconfig.go&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=netobserv#diff-cGtnL2FnZW50L2NvbmZpZy5nbw==) | `10.00% <ø> (ø)` | | | [pkg/exporter/grpc\_proto.go](https://app.codecov.io/gh/netobserv/netobserv-ebpf-agent/pull/286?src=pr&el=tree&filepath=pkg%2Fexporter%2Fgrpc_proto.go&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=netobserv#diff-cGtnL2V4cG9ydGVyL2dycGNfcHJvdG8uZ28=) | `82.14% <100.00%> (ø)` | | | [pkg/exporter/kafka\_proto.go](https://app.codecov.io/gh/netobserv/netobserv-ebpf-agent/pull/286?src=pr&el=tree&filepath=pkg%2Fexporter%2Fkafka_proto.go&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=netobserv#diff-cGtnL2V4cG9ydGVyL2thZmthX3Byb3RvLmdv) | `69.23% <100.00%> (ø)` | | | [pkg/flow/tracer\_map.go](https://app.codecov.io/gh/netobserv/netobserv-ebpf-agent/pull/286?src=pr&el=tree&filepath=pkg%2Fflow%2Ftracer_map.go&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=netobserv#diff-cGtnL2Zsb3cvdHJhY2VyX21hcC5nbw==) | `79.48% <100.00%> (ø)` | | | [pkg/ebpf/bpf\_x86\_bpfel.go](https://app.codecov.io/gh/netobserv/netobserv-ebpf-agent/pull/286?src=pr&el=tree&filepath=pkg%2Febpf%2Fbpf_x86_bpfel.go&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=netobserv#diff-cGtnL2VicGYvYnBmX3g4Nl9icGZlbC5nbw==) | `0.00% <0.00%> (ø)` | | | [pkg/flow/record.go](https://app.codecov.io/gh/netobserv/netobserv-ebpf-agent/pull/286?src=pr&el=tree&filepath=pkg%2Fflow%2Frecord.go&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=netobserv#diff-cGtnL2Zsb3cvcmVjb3JkLmdv) | `64.17% <55.55%> (ø)` | | | [pkg/decode/decode\_protobuf.go](https://app.codecov.io/gh/netobserv/netobserv-ebpf-agent/pull/286?src=pr&el=tree&filepath=pkg%2Fdecode%2Fdecode_protobuf.go&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=netobserv#diff-cGtnL2RlY29kZS9kZWNvZGVfcHJvdG9idWYuZ28=) | `27.53% <0.00%> (ø)` | | | [pkg/agent/agent.go](https://app.codecov.io/gh/netobserv/netobserv-ebpf-agent/pull/286?src=pr&el=tree&filepath=pkg%2Fagent%2Fagent.go&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=netobserv#diff-cGtnL2FnZW50L2FnZW50Lmdv) | `35.16% <0.00%> (ø)` | | | [pkg/ebpf/tracer.go](https://app.codecov.io/gh/netobserv/netobserv-ebpf-agent/pull/286?src=pr&el=tree&filepath=pkg%2Febpf%2Ftracer.go&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=netobserv#diff-cGtnL2VicGYvdHJhY2VyLmdv) | `0.00% <0.00%> (ø)` | |
openshift-ci-robot commented 2 months ago

@msherif1234: This pull request references NETOBSERV-1634 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.16.0" version, but no target version was set.

In response to [this](https://github.com/netobserv/netobserv-ebpf-agent/pull/286): >## Description > >OVS monitoring eBPF hook feature >## Dependencies > >n/a > >## 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. > >* [ ] Will this change affect NetObserv / Network Observability operator? If not, you can ignore the rest of this checklist. >* [ ] Is this PR backed with a JIRA ticket? If so, make sure it is written as a title prefix _(in general, PRs affecting the NetObserv/Network Observability product should be backed with a JIRA ticket - especially if they bring user facing changes)._ >* [ ] Does this PR require product documentation? > * [ ] If so, make sure the JIRA epic is labelled with "documentation" and provides a description relevant for doc writers, such as use cases or scenarios. Any required step to activate or configure the feature should be documented there, such as new CRD knobs. >* [ ] Does this PR require a product release notes entry? > * [ ] If so, fill in "Release Note Text" in the JIRA. >* [ ] Is there anything else the QE team should know before testing? E.g: configuration changes, environment setup, etc. > * [ ] If so, make sure it is described in the JIRA ticket. >* QE requirements (check 1 from the list): > * [ ] Standard QE validation, with pre-merge tests unless stated otherwise. > * [ ] Regression tests only (e.g. refactoring with no user-facing change). > * [ ] No QE (e.g. trivial change with high reviewer's confidence, or per agreement with the QE team). > Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=netobserv%2Fnetobserv-ebpf-agent). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
openshift-ci-robot commented 2 months ago

@msherif1234: This pull request references NETOBSERV-1634 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.16.0" version, but no target version was set.

In response to [this](https://github.com/netobserv/netobserv-ebpf-agent/pull/286): >## Description > >OVS monitoring eBPF hook feature > >ebpf configs to enable ovs tracking from operator > >```yaml > advanced: > env: > ENABLE_OVS_MONITORING: "true" >``` >## Dependencies > >n/a > >## 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. > >* [ ] Will this change affect NetObserv / Network Observability operator? If not, you can ignore the rest of this checklist. >* [ ] Is this PR backed with a JIRA ticket? If so, make sure it is written as a title prefix _(in general, PRs affecting the NetObserv/Network Observability product should be backed with a JIRA ticket - especially if they bring user facing changes)._ >* [ ] Does this PR require product documentation? > * [ ] If so, make sure the JIRA epic is labelled with "documentation" and provides a description relevant for doc writers, such as use cases or scenarios. Any required step to activate or configure the feature should be documented there, such as new CRD knobs. >* [ ] Does this PR require a product release notes entry? > * [ ] If so, fill in "Release Note Text" in the JIRA. >* [ ] Is there anything else the QE team should know before testing? E.g: configuration changes, environment setup, etc. > * [ ] If so, make sure it is described in the JIRA ticket. >* QE requirements (check 1 from the list): > * [ ] Standard QE validation, with pre-merge tests unless stated otherwise. > * [ ] Regression tests only (e.g. refactoring with no user-facing change). > * [ ] No QE (e.g. trivial change with high reviewer's confidence, or per agreement with the QE team). > Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=netobserv%2Fnetobserv-ebpf-agent). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
msherif1234 commented 2 months ago

/ok-to-test

github-actions[bot] commented 2 months ago

New image: quay.io/netobserv/netobserv-ebpf-agent:bf271d2

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=bf271d2 make set-agent-image
openshift-ci-robot commented 2 months ago

@msherif1234: This pull request references NETOBSERV-1634 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.16.0" version, but no target version was set.

In response to [this](https://github.com/netobserv/netobserv-ebpf-agent/pull/286): >## Description > >OVS monitoring eBPF hook feature > >ebpf configs to enable ovs tracking from operator > >```yaml > advanced: > env: > ENABLE_OVS_MONITORING: "true" >``` > >```sh >pftool perf show -p >[{ > "pid": 2854, > "fd": 8, > "prog_id": 143, > "fd_type": "kprobe", > "func": "psample_sample_packet", > "offset": 0 > } >] >``` >## Dependencies > >n/a > >## 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. > >* [ ] Will this change affect NetObserv / Network Observability operator? If not, you can ignore the rest of this checklist. >* [ ] Is this PR backed with a JIRA ticket? If so, make sure it is written as a title prefix _(in general, PRs affecting the NetObserv/Network Observability product should be backed with a JIRA ticket - especially if they bring user facing changes)._ >* [ ] Does this PR require product documentation? > * [ ] If so, make sure the JIRA epic is labelled with "documentation" and provides a description relevant for doc writers, such as use cases or scenarios. Any required step to activate or configure the feature should be documented there, such as new CRD knobs. >* [ ] Does this PR require a product release notes entry? > * [ ] If so, fill in "Release Note Text" in the JIRA. >* [ ] Is there anything else the QE team should know before testing? E.g: configuration changes, environment setup, etc. > * [ ] If so, make sure it is described in the JIRA ticket. >* QE requirements (check 1 from the list): > * [ ] Standard QE validation, with pre-merge tests unless stated otherwise. > * [ ] Regression tests only (e.g. refactoring with no user-facing change). > * [ ] No QE (e.g. trivial change with high reviewer's confidence, or per agreement with the QE team). > Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=netobserv%2Fnetobserv-ebpf-agent). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
msherif1234 commented 2 months ago

/ok-to-test

github-actions[bot] commented 2 months ago

New image: quay.io/netobserv/netobserv-ebpf-agent:ccad91e

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=ccad91e make set-agent-image
msherif1234 commented 2 months ago

/retest

msherif1234 commented 2 months ago

/ok-to-test

github-actions[bot] commented 2 months ago

New image: quay.io/netobserv/netobserv-ebpf-agent:102c729

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=102c729 make set-agent-image
msherif1234 commented 2 months ago

/ok-to-test

github-actions[bot] commented 2 months ago

New image: quay.io/netobserv/netobserv-ebpf-agent:8688cf8

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=8688cf8 make set-agent-image
msherif1234 commented 2 months ago

/ok-to-test

msherif1234 commented 2 months ago

/ok-to-test

github-actions[bot] commented 2 months ago

New image: quay.io/netobserv/netobserv-ebpf-agent:caa3db4

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=caa3db4 make set-agent-image
openshift-ci-robot commented 2 months ago

@msherif1234: This pull request references NETOBSERV-1634 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.16.0" version, but no target version was set.

In response to [this](https://github.com/netobserv/netobserv-ebpf-agent/pull/286): >## Description > >OVS monitoring eBPF hook feature > >ebpf configs to enable ovs tracking from operator > >```yaml > advanced: > env: > ENABLE_OVS_MONITORING: "true" >``` > >```sh >- bpftool perf show -p >[{ > "pid": 2854, > "fd": 8, > "prog_id": 143, > "fd_type": "kprobe", > "func": "psample_sample_packet", > "offset": 0 > } >] >- bpftool map dump id 258 >"key": { > "eth_protocol": 2048, > "direction": 0, > "src_mac": [2,220,231,139,148,213 > ], > "dst_mac": [10,88,10,128,2,12 > ], > "src_ip": [0,0,0,0,0,0,0,0,0,0,255,255,10,128,2,2 > ], > "dst_ip": [0,0,0,0,0,0,0,0,0,0,255,255,10,128,2,12 > ], > "src_port": 56546, > "dst_port": 8080, > "transport_protocol": 6, > "icmp_type": 0, > "icmp_code": 0, > "if_index": 2 > }, > "values": [{ > "cpu": 0, > "value": { > "packets": 1, > "bytes": 74, > "start_mono_time_ts": 6218828496667, > "end_mono_time_ts": 6218828496667, > "flags": 2, > "errno": 0, > "dscp": 0, > "pkt_drops": { > "packets": 0, > "bytes": 0, > "latest_flags": 0, > "latest_state": 0, > "latest_drop_cause": 0 > }, > "dns_record": { > "id": 0, > "flags": 0, > "latency": 0, > "errno": 0 > }, > "flow_rtt": 0, > "ovs_dp_keys": [0,0,0,0,12,0,255,238 <<<< >``` > > >## Dependencies > >n/a > >## 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. > >* [ ] Will this change affect NetObserv / Network Observability operator? If not, you can ignore the rest of this checklist. >* [ ] Is this PR backed with a JIRA ticket? If so, make sure it is written as a title prefix _(in general, PRs affecting the NetObserv/Network Observability product should be backed with a JIRA ticket - especially if they bring user facing changes)._ >* [ ] Does this PR require product documentation? > * [ ] If so, make sure the JIRA epic is labelled with "documentation" and provides a description relevant for doc writers, such as use cases or scenarios. Any required step to activate or configure the feature should be documented there, such as new CRD knobs. >* [ ] Does this PR require a product release notes entry? > * [ ] If so, fill in "Release Note Text" in the JIRA. >* [ ] Is there anything else the QE team should know before testing? E.g: configuration changes, environment setup, etc. > * [ ] If so, make sure it is described in the JIRA ticket. >* QE requirements (check 1 from the list): > * [ ] Standard QE validation, with pre-merge tests unless stated otherwise. > * [ ] Regression tests only (e.g. refactoring with no user-facing change). > * [ ] No QE (e.g. trivial change with high reviewer's confidence, or per agreement with the QE team). > Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=netobserv%2Fnetobserv-ebpf-agent). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
msherif1234 commented 2 months ago

/test unit

msherif1234 commented 2 months ago

/ok-to-test

github-actions[bot] commented 2 months ago

New image: quay.io/netobserv/netobserv-ebpf-agent:7f1620c

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=7f1620c make set-agent-image
openshift-ci-robot commented 2 months ago

@msherif1234: This pull request references NETOBSERV-1634 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.16.0" version, but no target version was set.

In response to [this](https://github.com/netobserv/netobserv-ebpf-agent/pull/286): >## Description > >OVS monitoring eBPF hook feature > >ebpf configs to enable ovs tracking from operator > >```yaml > advanced: > env: > ENABLE_OVS_MONITORING: "true" >``` > >```sh >- bpftool perf show -p >[{ > "pid": 2854, > "fd": 8, > "prog_id": 143, > "fd_type": "kprobe", > "func": "psample_sample_packet", > "offset": 0 > } >] >- bpftool map dump id 258 >"key": { > "eth_protocol": 2048, > "direction": 0, > "src_mac": [2,220,231,139,148,213 > ], > "dst_mac": [10,88,10,128,2,12 > ], > "src_ip": [0,0,0,0,0,0,0,0,0,0,255,255,10,128,2,2 > ], > "dst_ip": [0,0,0,0,0,0,0,0,0,0,255,255,10,128,2,12 > ], > "src_port": 56546, > "dst_port": 8080, > "transport_protocol": 6, > "icmp_type": 0, > "icmp_code": 0, > "if_index": 2 > }, > "values": [{ > "cpu": 0, > "value": { > "packets": 1, > "bytes": 74, > "start_mono_time_ts": 6218828496667, > "end_mono_time_ts": 6218828496667, > "flags": 2, > "errno": 0, > "dscp": 0, > "pkt_drops": { > "packets": 0, > "bytes": 0, > "latest_flags": 0, > "latest_state": 0, > "latest_drop_cause": 0 > }, > "dns_record": { > "id": 0, > "flags": 0, > "latency": 0, > "errno": 0 > }, > "flow_rtt": 0, > ovs_dp_keys": [[0,0,0,0,12,0,255,238 > ],[0,0,0,0,0,0,0,0 > ],[0,0,0,0,0,0,0,0 > ],[0,0,0,0,0,0,0,0 > ] >``` > > >## Dependencies > >n/a > >## 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. > >* [ ] Will this change affect NetObserv / Network Observability operator? If not, you can ignore the rest of this checklist. >* [ ] Is this PR backed with a JIRA ticket? If so, make sure it is written as a title prefix _(in general, PRs affecting the NetObserv/Network Observability product should be backed with a JIRA ticket - especially if they bring user facing changes)._ >* [ ] Does this PR require product documentation? > * [ ] If so, make sure the JIRA epic is labelled with "documentation" and provides a description relevant for doc writers, such as use cases or scenarios. Any required step to activate or configure the feature should be documented there, such as new CRD knobs. >* [ ] Does this PR require a product release notes entry? > * [ ] If so, fill in "Release Note Text" in the JIRA. >* [ ] Is there anything else the QE team should know before testing? E.g: configuration changes, environment setup, etc. > * [ ] If so, make sure it is described in the JIRA ticket. >* QE requirements (check 1 from the list): > * [ ] Standard QE validation, with pre-merge tests unless stated otherwise. > * [ ] Regression tests only (e.g. refactoring with no user-facing change). > * [ ] No QE (e.g. trivial change with high reviewer's confidence, or per agreement with the QE team). > Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=netobserv%2Fnetobserv-ebpf-agent). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
openshift-ci-robot commented 2 months ago

@msherif1234: This pull request references NETOBSERV-1637 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.16.0" version, but no target version was set.

In response to [this](https://github.com/netobserv/netobserv-ebpf-agent/pull/286): >## Description > >OVS monitoring eBPF hook feature > >ebpf configs to enable ovs tracking from operator > >```yaml > advanced: > env: > ENABLE_OVS_MONITORING: "true" >``` > >```sh >- bpftool perf show -p >[{ > "pid": 2854, > "fd": 8, > "prog_id": 143, > "fd_type": "kprobe", > "func": "psample_sample_packet", > "offset": 0 > } >] >- bpftool map dump id 258 >"key": { > "eth_protocol": 2048, > "direction": 0, > "src_mac": [2,220,231,139,148,213 > ], > "dst_mac": [10,88,10,128,2,12 > ], > "src_ip": [0,0,0,0,0,0,0,0,0,0,255,255,10,128,2,2 > ], > "dst_ip": [0,0,0,0,0,0,0,0,0,0,255,255,10,128,2,12 > ], > "src_port": 56546, > "dst_port": 8080, > "transport_protocol": 6, > "icmp_type": 0, > "icmp_code": 0, > "if_index": 2 > }, > "values": [{ > "cpu": 0, > "value": { > "packets": 1, > "bytes": 74, > "start_mono_time_ts": 6218828496667, > "end_mono_time_ts": 6218828496667, > "flags": 2, > "errno": 0, > "dscp": 0, > "pkt_drops": { > "packets": 0, > "bytes": 0, > "latest_flags": 0, > "latest_state": 0, > "latest_drop_cause": 0 > }, > "dns_record": { > "id": 0, > "flags": 0, > "latency": 0, > "errno": 0 > }, > "flow_rtt": 0, > ovs_dp_keys": [[0,0,0,0,12,0,255,238 > ],[0,0,0,0,0,0,0,0 > ],[0,0,0,0,0,0,0,0 > ],[0,0,0,0,0,0,0,0 > ] >``` > > >## Dependencies > >n/a > >## 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. > >* [ ] Will this change affect NetObserv / Network Observability operator? If not, you can ignore the rest of this checklist. >* [ ] Is this PR backed with a JIRA ticket? If so, make sure it is written as a title prefix _(in general, PRs affecting the NetObserv/Network Observability product should be backed with a JIRA ticket - especially if they bring user facing changes)._ >* [ ] Does this PR require product documentation? > * [ ] If so, make sure the JIRA epic is labelled with "documentation" and provides a description relevant for doc writers, such as use cases or scenarios. Any required step to activate or configure the feature should be documented there, such as new CRD knobs. >* [ ] Does this PR require a product release notes entry? > * [ ] If so, fill in "Release Note Text" in the JIRA. >* [ ] Is there anything else the QE team should know before testing? E.g: configuration changes, environment setup, etc. > * [ ] If so, make sure it is described in the JIRA ticket. >* QE requirements (check 1 from the list): > * [ ] Standard QE validation, with pre-merge tests unless stated otherwise. > * [ ] Regression tests only (e.g. refactoring with no user-facing change). > * [ ] No QE (e.g. trivial change with high reviewer's confidence, or per agreement with the QE team). > Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=netobserv%2Fnetobserv-ebpf-agent). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
msherif1234 commented 1 month ago

/test unit

msherif1234 commented 1 month ago

/ok-to-test

github-actions[bot] commented 1 month ago

New image: quay.io/netobserv/netobserv-ebpf-agent:5dc2a55

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=5dc2a55 make set-agent-image
openshift-ci-robot commented 1 month ago

@msherif1234: This pull request references NETOBSERV-1637 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.16.0" version, but no target version was set.

In response to [this](https://github.com/netobserv/netobserv-ebpf-agent/pull/286): >## Description > >OVS monitoring eBPF hook feature > >ebpf configs to enable ovs tracking from operator > >```yaml > advanced: > env: > ENABLE_OVS_MONITORING: "true" >``` > >```sh >- bpftool perf show -p >[{ > "pid": 2854, > "fd": 8, > "prog_id": 143, > "fd_type": "kprobe", > "func": "psample_sample_packet", > "offset": 0 > } >] >- bpftool map dump id 258 >"key": { > "eth_protocol": 2048, > "direction": 0, > "src_mac": [2,220,231,139,148,213 > ], > "dst_mac": [10,88,10,128,2,12 > ], > "src_ip": [0,0,0,0,0,0,0,0,0,0,255,255,10,128,2,2 > ], > "dst_ip": [0,0,0,0,0,0,0,0,0,0,255,255,10,128,2,12 > ], > "src_port": 56546, > "dst_port": 8080, > "transport_protocol": 6, > "icmp_type": 0, > "icmp_code": 0, > "if_index": 2 > }, > "values": [{ > "cpu": 0, > "value": { > "packets": 1, > "bytes": 74, > "start_mono_time_ts": 6218828496667, > "end_mono_time_ts": 6218828496667, > "flags": 2, > "errno": 0, > "dscp": 0, > "pkt_drops": { > "packets": 0, > "bytes": 0, > "latest_flags": 0, > "latest_state": 0, > "latest_drop_cause": 0 > }, > "dns_record": { > "id": 0, > "flags": 0, > "latency": 0, > "errno": 0 > }, > "flow_rtt": 0, > ovs_dp_keys": [[0,0,0,0,12,0,255,238 > ],[0,0,0,0,0,0,0,0 > ],[0,0,0,0,0,0,0,0 > ],[0,0,0,0,0,0,0,0 > ] >``` > > >## Dependencies >- new kernel update with OVS hook >- new version of OVS >- new version of OVN >- OVNK libovn-observ > >## 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. > >* [ ] Will this change affect NetObserv / Network Observability operator? If not, you can ignore the rest of this checklist. >* [ ] Is this PR backed with a JIRA ticket? If so, make sure it is written as a title prefix _(in general, PRs affecting the NetObserv/Network Observability product should be backed with a JIRA ticket - especially if they bring user facing changes)._ >* [ ] Does this PR require product documentation? > * [ ] If so, make sure the JIRA epic is labelled with "documentation" and provides a description relevant for doc writers, such as use cases or scenarios. Any required step to activate or configure the feature should be documented there, such as new CRD knobs. >* [ ] Does this PR require a product release notes entry? > * [ ] If so, fill in "Release Note Text" in the JIRA. >* [ ] Is there anything else the QE team should know before testing? E.g: configuration changes, environment setup, etc. > * [ ] If so, make sure it is described in the JIRA ticket. >* QE requirements (check 1 from the list): > * [ ] Standard QE validation, with pre-merge tests unless stated otherwise. > * [ ] Regression tests only (e.g. refactoring with no user-facing change). > * [ ] No QE (e.g. trivial change with high reviewer's confidence, or per agreement with the QE team). > Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=netobserv%2Fnetobserv-ebpf-agent). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
msherif1234 commented 1 month ago

/ok-to-test

github-actions[bot] commented 1 month ago

New image: quay.io/netobserv/netobserv-ebpf-agent:8df8936

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=8df8936 make set-agent-image
msherif1234 commented 1 month ago

/ok-to-test

github-actions[bot] commented 1 month ago

New image: quay.io/netobserv/netobserv-ebpf-agent:d7fe1ad

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=d7fe1ad make set-agent-image
msherif1234 commented 1 month ago

/ok-to-test

github-actions[bot] commented 1 month ago

New image: quay.io/netobserv/netobserv-ebpf-agent:ee8cc2d

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=ee8cc2d make set-agent-image
msherif1234 commented 1 month ago

/ok-to-test

github-actions[bot] commented 1 month ago

New image: quay.io/netobserv/netobserv-ebpf-agent:c17e935

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=c17e935 make set-agent-image
msherif1234 commented 1 month ago

/ok-to-test

github-actions[bot] commented 1 month ago

New image: quay.io/netobserv/netobserv-ebpf-agent:4029f03

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=4029f03 make set-agent-image
msherif1234 commented 1 month ago

/ok-to-test

github-actions[bot] commented 1 month ago

New image: quay.io/netobserv/netobserv-ebpf-agent:e4b105c

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=e4b105c make set-agent-image
msherif1234 commented 1 month ago

/ok-to-test

github-actions[bot] commented 1 month ago

New image: quay.io/netobserv/netobserv-ebpf-agent:76b2c13

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=76b2c13 make set-agent-image
msherif1234 commented 1 month ago

/ok-to-test

github-actions[bot] commented 1 month ago

New image: quay.io/netobserv/netobserv-ebpf-agent:bf6eedc

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=bf6eedc make set-agent-image
msherif1234 commented 1 month ago

/ok-to-test

github-actions[bot] commented 1 month ago

New image: quay.io/netobserv/netobserv-ebpf-agent:42693da

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=42693da make set-agent-image
msherif1234 commented 1 month ago

/ok-to-test

github-actions[bot] commented 1 month ago

New image: quay.io/netobserv/netobserv-ebpf-agent:fa51710

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=fa51710 make set-agent-image
openshift-ci-robot commented 1 month ago

@msherif1234: This pull request references NETOBSERV-1637 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](https://github.com/netobserv/netobserv-ebpf-agent/pull/286): >## Description > >OVS monitoring eBPF hook feature > >ebpf configs to enable ovs tracking from operator > >```yaml > advanced: > env: > ENABLE_OVS_MONITORING: "true" >``` > >```sh >- bpftool perf show -p >[{ > "pid": 2854, > "fd": 8, > "prog_id": 143, > "fd_type": "kprobe", > "func": "psample_sample_packet", > "offset": 0 > } >] >- bpftool map dump id 258 >"key": { > "eth_protocol": 2048, > "direction": 0, > "src_mac": [2,220,231,139,148,213 > ], > "dst_mac": [10,88,10,128,2,12 > ], > "src_ip": [0,0,0,0,0,0,0,0,0,0,255,255,10,128,2,2 > ], > "dst_ip": [0,0,0,0,0,0,0,0,0,0,255,255,10,128,2,12 > ], > "src_port": 56546, > "dst_port": 8080, > "transport_protocol": 6, > "icmp_type": 0, > "icmp_code": 0, > "if_index": 2 > }, > "values": [{ > "cpu": 0, > "value": { > "packets": 1, > "bytes": 74, > "start_mono_time_ts": 6218828496667, > "end_mono_time_ts": 6218828496667, > "flags": 2, > "errno": 0, > "dscp": 0, > "pkt_drops": { > "packets": 0, > "bytes": 0, > "latest_flags": 0, > "latest_state": 0, > "latest_drop_cause": 0 > }, > "dns_record": { > "id": 0, > "flags": 0, > "latency": 0, > "errno": 0 > }, > "flow_rtt": 0, > ovs_dp_keys": [[0,0,0,0,12,0,255,238 > ],[0,0,0,0,0,0,0,0 > ],[0,0,0,0,0,0,0,0 > ],[0,0,0,0,0,0,0,0 > ] >``` > > >## Dependencies >- new kernel update with OVS hook >- new version of OVS >- new version of OVN >- OVNK libovn-observ >- https://github.com/netobserv/network-observability-operator/pull/664 >- https://github.com/netobserv/flowlogs-pipeline/pull/669 >- https://github.com/netobserv/network-observability-console-plugin/pull/535 > >## 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. > >* [ ] Will this change affect NetObserv / Network Observability operator? If not, you can ignore the rest of this checklist. >* [ ] Is this PR backed with a JIRA ticket? If so, make sure it is written as a title prefix _(in general, PRs affecting the NetObserv/Network Observability product should be backed with a JIRA ticket - especially if they bring user facing changes)._ >* [ ] Does this PR require product documentation? > * [ ] If so, make sure the JIRA epic is labelled with "documentation" and provides a description relevant for doc writers, such as use cases or scenarios. Any required step to activate or configure the feature should be documented there, such as new CRD knobs. >* [ ] Does this PR require a product release notes entry? > * [ ] If so, fill in "Release Note Text" in the JIRA. >* [ ] Is there anything else the QE team should know before testing? E.g: configuration changes, environment setup, etc. > * [ ] If so, make sure it is described in the JIRA ticket. >* QE requirements (check 1 from the list): > * [ ] Standard QE validation, with pre-merge tests unless stated otherwise. > * [ ] Regression tests only (e.g. refactoring with no user-facing change). > * [ ] No QE (e.g. trivial change with high reviewer's confidence, or per agreement with the QE team). > Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=netobserv%2Fnetobserv-ebpf-agent). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
openshift-ci-robot commented 1 month ago

@msherif1234: This pull request references NETOBSERV-1637 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](https://github.com/netobserv/netobserv-ebpf-agent/pull/286): >## Description > >OVS monitoring eBPF hook feature > >ebpf configs to enable ovs tracking from operator > >```yaml > advanced: > env: > ENABLE_OVS_MONITORING: "true" >``` > >```sh >- bpftool perf show -p >[{ > "pid": 2854, > "fd": 8, > "prog_id": 143, > "fd_type": "kprobe", > "func": "psample_sample_packet", > "offset": 0 > } >] >- bpftool map dump id 258 >"key": { > "eth_protocol": 2048, > "direction": 0, > "src_mac": [2,220,231,139,148,213 > ], > "dst_mac": [10,88,10,128,2,12 > ], > "src_ip": [0,0,0,0,0,0,0,0,0,0,255,255,10,128,2,2 > ], > "dst_ip": [0,0,0,0,0,0,0,0,0,0,255,255,10,128,2,12 > ], > "src_port": 56546, > "dst_port": 8080, > "transport_protocol": 6, > "icmp_type": 0, > "icmp_code": 0, > "if_index": 2 > }, > "values": [{ > "cpu": 0, > "value": { > "packets": 1, > "bytes": 74, > "start_mono_time_ts": 6218828496667, > "end_mono_time_ts": 6218828496667, > "flags": 2, > "errno": 0, > "dscp": 0, > "pkt_drops": { > "packets": 0, > "bytes": 0, > "latest_flags": 0, > "latest_state": 0, > "latest_drop_cause": 0 > }, > "dns_record": { > "id": 0, > "flags": 0, > "latency": 0, > "errno": 0 > }, > "flow_rtt": 0, > ovs_dp_keys": [[0,0,0,0,12,0,255,238 > ],[0,0,0,0,0,0,0,0 > ],[0,0,0,0,0,0,0,0 > ],[0,0,0,0,0,0,0,0 > ] >``` > > >## Dependencies >- new kernel update with OVS hook >- new version of OVS >- new version of OVN >- OVNK libovn-observ https://github.com/npinaeva/ovn-kubernetes/tree/observ/go-controller/observability-lib >- https://github.com/netobserv/network-observability-operator/pull/664 >- https://github.com/netobserv/flowlogs-pipeline/pull/669 >- https://github.com/netobserv/network-observability-console-plugin/pull/535 > >## 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. > >* [ ] Will this change affect NetObserv / Network Observability operator? If not, you can ignore the rest of this checklist. >* [ ] Is this PR backed with a JIRA ticket? If so, make sure it is written as a title prefix _(in general, PRs affecting the NetObserv/Network Observability product should be backed with a JIRA ticket - especially if they bring user facing changes)._ >* [ ] Does this PR require product documentation? > * [ ] If so, make sure the JIRA epic is labelled with "documentation" and provides a description relevant for doc writers, such as use cases or scenarios. Any required step to activate or configure the feature should be documented there, such as new CRD knobs. >* [ ] Does this PR require a product release notes entry? > * [ ] If so, fill in "Release Note Text" in the JIRA. >* [ ] Is there anything else the QE team should know before testing? E.g: configuration changes, environment setup, etc. > * [ ] If so, make sure it is described in the JIRA ticket. >* QE requirements (check 1 from the list): > * [ ] Standard QE validation, with pre-merge tests unless stated otherwise. > * [ ] Regression tests only (e.g. refactoring with no user-facing change). > * [ ] No QE (e.g. trivial change with high reviewer's confidence, or per agreement with the QE team). > Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=netobserv%2Fnetobserv-ebpf-agent). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.