-
Notifications
You must be signed in to change notification settings - Fork 387
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
[Antctl] Support Traceflow #923
Comments
Is there an advantage to having 2 separate commands (one to create the CRD, one to get the result)? From a user perspective, I think it would be nicer to be able to run a single command, which would block until the CRD status becomes available. What do you think?
|
@antoninbas yes, I think it is good to wait for result when creating a new traceflow. Then what if user would like to check results of old traceflows? They may just want to see result of the last one instead of creating a new one. This leads to another question about lifecycle of a traceflow. Should we keep traceflows forever? Or we may find a rule to do cleanup. What's your opinion? |
I think we once talked about the TF CRD lifecycle control in traceflow demo. One of the option is to have the TF CRD to trace the flow one-time and cleanup automatically by UI or by CLI after getting result. Otherwise, the stale TF CRD will increase a lot during a few years. However If it's the user to create TF CRD, then it's user to cleanup. cc @jianjuns @McCodeman for opinion. |
On one hand, I think kbuectl apply + yaml is good enough and would not maintain multiple user interfaces; on the another hand I also agree antctl might still be more convenient for users. So, really have no strong opinion. Like to hear what others think. |
I like the following:
|
Thanks @jianjuns @antoninbas . Then antctl should take care of whole lifecycle of traceflows created by it. |
I think it's good to have antctl to create the traceflow object even it can also be done with kubectl. For the lifecycle management of Traceflow object: I think we can have a single field to indicate what user want to do with it: I like the idea that |
I'm fine with additional flags to tweak the behavior, but I think the default should be the most common / simplest case for the user (wait for a reasonable amount of time and triggers the CRD deletion). |
Fixed antrea-io#923 e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1 phase: Succeeded source: default/busybox0 destination: default/busybox1 noderesults: - node: antrea-linux-testbed7-2 role: "" timestamp: 1595391265 observations: - component: SpoofGuard componentinfo: "" action: Forwarded pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" - component: Forwarding componentinfo: Output action: Delivered pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" ```
Currently the very basic implementation of Here are some remaining issues:
|
Fixed antrea-io#923 e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1 phase: Succeeded source: default/busybox0 destination: default/busybox1 noderesults: - node: antrea-linux-testbed7-2 role: "" timestamp: 1595391265 observations: - component: SpoofGuard componentinfo: "" action: Forwarded pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" - component: Forwarding componentinfo: Output action: Delivered pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" ```
Fixed antrea-io#923 e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1 phase: Succeeded source: default/busybox0 destination: default/busybox1 noderesults: - node: antrea-linux-testbed7-2 role: "" timestamp: 1595391265 observations: - component: SpoofGuard componentinfo: "" action: Forwarded pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" - component: Forwarding componentinfo: Output action: Delivered pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" ```
Fixed antrea-io#923 e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1 phase: Succeeded source: default/busybox0 destination: default/busybox1 noderesults: - node: antrea-linux-testbed7-2 role: "" timestamp: 1595391265 observations: - component: SpoofGuard componentinfo: "" action: Forwarded pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" - component: Forwarding componentinfo: Output action: Delivered pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" ```
Fixed antrea-io#923 e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1 phase: Succeeded source: default/busybox0 destination: default/busybox1 noderesults: - node: antrea-linux-testbed7-2 role: "" timestamp: 1595391265 observations: - component: SpoofGuard componentinfo: "" action: Forwarded pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" - component: Forwarding componentinfo: Output action: Delivered pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" ```
Fixed antrea-io#923 e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1 phase: Succeeded source: default/busybox0 destination: default/busybox1 noderesults: - node: antrea-linux-testbed7-2 role: "" timestamp: 1595391265 observations: - component: SpoofGuard componentinfo: "" action: Forwarded pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" - component: Forwarding componentinfo: Output action: Delivered pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" ```
Fixed antrea-io#923 antctl traceflow is on remote mode, inside controller mode and inside agent mode. It supports yaml and json output. It can return without retrieving results. e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1 phase: Succeeded source: default/busybox0 destination: default/busybox1 noderesults: - node: antrea-linux-testbed7-2 role: "" timestamp: 1595391265 observations: - component: SpoofGuard componentinfo: "" action: Forwarded pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" - component: Forwarding componentinfo: Output action: Delivered pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" ```
Fixed antrea-io#923 antctl traceflow is on remote mode, inside controller mode and inside agent mode. It supports yaml and json output. It can return without retrieving results. e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1 phase: Succeeded source: default/busybox0 destination: default/busybox1 noderesults: - node: antrea-linux-testbed7-2 role: "" timestamp: 1595391265 observations: - component: SpoofGuard componentinfo: "" action: Forwarded pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" - component: Forwarding componentinfo: Output action: Delivered pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" ```
@gran-vmv @mengdie-song Currently, command provides options for source and destination. How many other fields should be supported like header specs? I think this should be a quick and handy command to start a traceflow. If there are many fields to config, maybe applying a yaml file is better? |
Fixed antrea-io#923 antctl traceflow is on remote mode, inside controller mode and inside agent mode. It supports yaml and json output. It can return without retrieving results. e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1 phase: Succeeded source: default/busybox0 destination: default/busybox1 noderesults: - node: antrea-linux-testbed7-2 role: "" timestamp: 1595391265 observations: - component: SpoofGuard componentinfo: "" action: Forwarded pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" - component: Forwarding componentinfo: Output action: Delivered pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" ```
Fixed antrea-io#923 antctl traceflow is on remote mode, inside controller mode and inside agent mode. It supports yaml and json output. It can return without retrieving results. e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1 phase: Succeeded source: default/busybox0 destination: default/busybox1 noderesults: - node: antrea-linux-testbed7-2 role: "" timestamp: 1595391265 observations: - component: SpoofGuard componentinfo: "" action: Forwarded pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" - component: Forwarding componentinfo: Output action: Delivered pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" ```
Fixed antrea-io#923 antctl traceflow is on remote mode, inside controller mode and inside agent mode. It supports yaml and json output. It can return without retrieving results. e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1 phase: Succeeded source: default/busybox0 destination: default/busybox1 noderesults: - node: antrea-linux-testbed7-2 role: "" timestamp: 1595391265 observations: - component: SpoofGuard componentinfo: "" action: Forwarded pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" - component: Forwarding componentinfo: Output action: Delivered pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" ```
I think you can also refer to antctl trace-packet command arguments. It uses OVS flow expression to define the packets. Let us first check if that can cover TF parameters or not. |
Fixed antrea-io#923 antctl traceflow is on remote mode, inside controller mode and inside agent mode. It supports yaml and json output. It can return without retrieving results. e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1 phase: Succeeded source: default/busybox0 destination: default/busybox1 noderesults: - node: antrea-linux-testbed7-2 role: "" timestamp: 1595391265 observations: - component: SpoofGuard componentinfo: "" action: Forwarded pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" - component: Forwarding componentinfo: Output action: Delivered pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" ```
Fixed antrea-io#923 antctl traceflow is on remote mode, inside controller mode and inside agent mode. It supports yaml and json output. It can return without retrieving results. e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1 phase: Succeeded source: default/busybox0 destination: default/busybox1 noderesults: - node: antrea-linux-testbed7-2 role: "" timestamp: 1595391265 observations: - component: SpoofGuard componentinfo: "" action: Forwarded pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" - component: Forwarding componentinfo: Output action: Delivered pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" ```
Thank you Jianjun! I added protocol and port options. |
Fixed antrea-io#923 antctl traceflow is on remote mode, inside controller mode and inside agent mode. It supports yaml and json output. It can return without retrieving results. e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1 phase: Succeeded source: default/busybox0 destination: default/busybox1 noderesults: - node: antrea-linux-testbed7-2 role: "" timestamp: 1595391265 observations: - component: SpoofGuard componentinfo: "" action: Forwarded pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" - component: Forwarding componentinfo: Output action: Delivered pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" ```
Fixed antrea-io#923 antctl traceflow is on remote mode, inside controller mode and inside agent mode. It supports yaml and json output. It can return without retrieving results. e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1 phase: Succeeded source: default/busybox0 destination: default/busybox1 noderesults: - node: antrea-linux-testbed7-2 role: "" timestamp: 1595391265 observations: - component: SpoofGuard componentinfo: "" action: Forwarded pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" - component: Forwarding componentinfo: Output action: Delivered pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" ```
Fixed antrea-io#923 antctl traceflow is on remote mode, inside controller mode and inside agent mode. It supports yaml and json output. It can return without retrieving results. e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1 phase: Succeeded source: default/busybox0 destination: default/busybox1 noderesults: - node: antrea-linux-testbed7-2 role: "" timestamp: 1595391265 observations: - component: SpoofGuard componentinfo: "" action: Forwarded pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" - component: Forwarding componentinfo: Output action: Delivered pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" ```
Fixed antrea-io#923 antctl traceflow is on remote mode, inside controller mode and inside agent mode. It supports yaml and json output. It can return without retrieving results. e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1 phase: Succeeded source: default/busybox0 destination: default/busybox1 noderesults: - node: antrea-linux-testbed7-2 role: "" timestamp: 1595391265 observations: - component: SpoofGuard componentinfo: "" action: Forwarded pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" - component: Forwarding componentinfo: Output action: Delivered pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" ```
Fixed antrea-io#923 antctl traceflow is on remote mode, inside controller mode and inside agent mode. It supports yaml and json output. It can return without retrieving results. e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1 phase: Succeeded source: default/busybox0 destination: default/busybox1 noderesults: - node: antrea-linux-testbed7-2 role: "" timestamp: 1595391265 observations: - component: SpoofGuard componentinfo: "" action: Forwarded pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" - component: Forwarding componentinfo: Output action: Delivered pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" ```
Fixed antrea-io#923 antctl traceflow is on remote mode, inside controller mode and inside agent mode. It supports yaml and json output. It can return without retrieving results. e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1 phase: Succeeded source: default/busybox0 destination: default/busybox1 noderesults: - node: antrea-linux-testbed7-2 role: "" timestamp: 1595391265 observations: - component: SpoofGuard componentinfo: "" action: Forwarded pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" - component: Forwarding componentinfo: Output action: Delivered pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" ```
Fixed antrea-io#923 antctl traceflow is on remote mode, inside controller mode and inside agent mode. It supports yaml and json output. It can return without retrieving results. e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1 phase: Succeeded source: default/busybox0 destination: default/busybox1 noderesults: - node: antrea-linux-testbed7-2 role: "" timestamp: 1595391265 observations: - component: SpoofGuard componentinfo: "" action: Forwarded pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" - component: Forwarding componentinfo: Output action: Delivered pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" ```
Fixed antrea-io#923 antctl traceflow is on remote mode, inside controller mode and inside agent mode. It supports yaml and json output. It can return without retrieving results. e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1 phase: Succeeded source: default/busybox0 destination: default/busybox1 noderesults: - node: antrea-linux-testbed7-2 role: "" timestamp: 1595391265 observations: - component: SpoofGuard componentinfo: "" action: Forwarded pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" - component: Forwarding componentinfo: Output action: Delivered pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" ```
Fixed antrea-io#923 antctl traceflow is on remote mode, inside controller mode and inside agent mode. It supports yaml and json output. It can return without retrieving results. e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1 phase: Succeeded source: default/busybox0 destination: default/busybox1 noderesults: - node: antrea-linux-testbed7-2 role: "" timestamp: 1595391265 observations: - component: SpoofGuard componentinfo: "" action: Forwarded pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" - component: Forwarding componentinfo: Output action: Delivered pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" ```
Fixed antrea-io#923 antctl traceflow is on remote mode, inside controller mode and inside agent mode. It supports yaml and json output. It can return without retrieving results. e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1 phase: Succeeded source: default/busybox0 destination: default/busybox1 noderesults: - node: antrea-linux-testbed7-2 role: "" timestamp: 1595391265 observations: - component: SpoofGuard componentinfo: "" action: Forwarded pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" - component: Forwarding componentinfo: Output action: Delivered pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" ```
Fixed antrea-io#923 antctl traceflow is on remote mode, inside controller mode and inside agent mode. It supports yaml and json output. It can return without retrieving results. e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1 phase: Succeeded source: default/busybox0 destination: default/busybox1 noderesults: - node: antrea-linux-testbed7-2 role: "" timestamp: 1595391265 observations: - component: SpoofGuard componentinfo: "" action: Forwarded pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" - component: Forwarding componentinfo: Output action: Delivered pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" ```
Fixed antrea-io#923 antctl traceflow is on remote mode, inside controller mode and inside agent mode. It supports yaml and json output. It can return without retrieving results. e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1 phase: Succeeded source: default/busybox0 destination: default/busybox1 noderesults: - node: antrea-linux-testbed7-2 role: "" timestamp: 1595391265 observations: - component: SpoofGuard componentinfo: "" action: Forwarded pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" - component: Forwarding componentinfo: Output action: Delivered pod: "" dstmac: "" networkpolicy: "" ttl: 0 translatedsrcip: "" translateddstip: "" tunneldstip: "" ```
Fixed antrea-io#923 antctl traceflow is on remote mode, inside controller mode and inside agent mode. It supports yaml and json output. It can return without retrieving results. e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1-fpllngzi phase: Succeeded source: default/busybox0 destination: default/busybox1 results: - node: antrea-linux-testbed7-1 timestamp: 1596435607 observations: - component: SpoofGuard action: Forwarded - component: Forwarding componentInfo: Output action: Delivered ```
Fixed antrea-io#923 antctl traceflow is on remote mode, inside controller mode and inside agent mode. It supports yaml and json output. It can return without retrieving results. e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1-fpllngzi phase: Succeeded source: default/busybox0 destination: default/busybox1 results: - node: antrea-linux-testbed7-1 timestamp: 1596435607 observations: - component: SpoofGuard action: Forwarded - component: Forwarding componentInfo: Output action: Delivered ```
Fixed antrea-io#923 antctl traceflow is on remote mode, inside controller mode and inside agent mode. It supports yaml and json output. It can return without retrieving results. e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1-fpllngzi phase: Succeeded source: default/busybox0 destination: default/busybox1 results: - node: antrea-linux-testbed7-1 timestamp: 1596435607 observations: - component: SpoofGuard action: Forwarded - component: Forwarding componentInfo: Output action: Delivered ```
Fixed antrea-io#923 antctl traceflow is on remote mode, inside controller mode and inside agent mode. It supports yaml and json output. It can return without retrieving results. e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1-fpllngzi phase: Succeeded source: default/busybox0 destination: default/busybox1 results: - node: antrea-linux-testbed7-1 timestamp: 1596435607 observations: - component: SpoofGuard action: Forwarded - component: Forwarding componentInfo: Output action: Delivered ```
Fixed antrea-io#923 antctl traceflow is on remote mode, inside controller mode and inside agent mode. It supports yaml and json output. It can return without retrieving results. e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1-fpllngzi phase: Succeeded source: default/busybox0 destination: default/busybox1 results: - node: antrea-linux-testbed7-1 timestamp: 1596435607 observations: - component: SpoofGuard action: Forwarded - component: Forwarding componentInfo: Output action: Delivered ```
Fixed antrea-io#923 antctl traceflow is on remote mode, inside controller mode and inside agent mode. It supports yaml and json output. It can return without retrieving results. e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1-fpllngzi phase: Succeeded source: default/busybox0 destination: default/busybox1 results: - node: antrea-linux-testbed7-1 timestamp: 1596435607 observations: - component: SpoofGuard action: Forwarded - component: Forwarding componentInfo: Output action: Delivered ```
Fixed antrea-io#923 antctl traceflow is on remote mode, inside controller mode and inside agent mode. It supports yaml and json output. It can return without retrieving results. e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1-fpllngzi phase: Succeeded source: default/busybox0 destination: default/busybox1 results: - node: antrea-linux-testbed7-1 timestamp: 1596435607 observations: - component: SpoofGuard action: Forwarded - component: Forwarding componentInfo: Output action: Delivered ```
Fixed antrea-io#923 antctl traceflow is on remote mode, inside controller mode and inside agent mode. It supports yaml and json output. It can return without retrieving results. e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1-fpllngzi phase: Succeeded source: default/busybox0 destination: default/busybox1 results: - node: antrea-linux-testbed7-1 timestamp: 1596435607 observations: - component: SpoofGuard action: Forwarded - component: Forwarding componentInfo: Output action: Delivered ```
Fixed antrea-io#923 antctl traceflow is on remote mode, inside controller mode and inside agent mode. It supports yaml and json output. It can return without retrieving results. e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1-fpllngzi phase: Succeeded source: default/busybox0 destination: default/busybox1 results: - node: antrea-linux-testbed7-1 timestamp: 1596435607 observations: - component: SpoofGuard action: Forwarded - component: Forwarding componentInfo: Output action: Delivered ```
Fixed antrea-io#923 antctl traceflow is on remote mode, inside controller mode and inside agent mode. It supports yaml and json output. It can return without retrieving results. e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1-fpllngzi phase: Succeeded source: default/busybox0 destination: default/busybox1 results: - node: antrea-linux-testbed7-1 timestamp: 1596435607 observations: - component: SpoofGuard action: Forwarded - component: Forwarding componentInfo: Output action: Delivered ```
Fixed antrea-io#923 antctl traceflow is on remote mode, inside controller mode and inside agent mode. It supports yaml and json output. It can return without retrieving results. e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1-fpllngzi phase: Succeeded source: default/busybox0 destination: default/busybox1 results: - node: antrea-linux-testbed7-1 timestamp: 1596435607 observations: - component: SpoofGuard action: Forwarded - component: Forwarding componentInfo: Output action: Delivered ```
Fixed antrea-io#923 antctl traceflow is on remote mode, inside controller mode and inside agent mode. It supports yaml and json output. It can return without retrieving results. e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1-fpllngzi phase: Succeeded source: default/busybox0 destination: default/busybox1 results: - node: antrea-linux-testbed7-1 timestamp: 1596435607 observations: - component: SpoofGuard action: Forwarded - component: Forwarding componentInfo: Output action: Delivered ```
Fixed antrea-io#923 antctl traceflow is on remote mode, inside controller mode and inside agent mode. It supports yaml and json output. It can return without retrieving results. e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1-fpllngzi phase: Succeeded source: default/busybox0 destination: default/busybox1 results: - node: antrea-linux-testbed7-1 timestamp: 1596435607 observations: - component: SpoofGuard action: Forwarded - component: Forwarding componentInfo: Output action: Delivered ```
Fixed antrea-io#923 antctl traceflow is on remote mode, inside controller mode and inside agent mode. It supports yaml and json output. It can return without retrieving results. e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1-fpllngzi phase: Succeeded source: default/busybox0 destination: default/busybox1 results: - node: antrea-linux-testbed7-1 timestamp: 1596435607 observations: - component: SpoofGuard action: Forwarded - component: Forwarding componentInfo: Output action: Delivered ```
Fixed #923 antctl traceflow is on remote mode, inside controller mode and inside agent mode. It supports yaml and json output. It can return without retrieving results. e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1-fpllngzi phase: Succeeded source: default/busybox0 destination: default/busybox1 results: - node: antrea-linux-testbed7-1 timestamp: 1596435607 observations: - component: SpoofGuard action: Forwarded - component: Forwarding componentInfo: Output action: Delivered ```
Fixed antrea-io#923 antctl traceflow is on remote mode, inside controller mode and inside agent mode. It supports yaml and json output. It can return without retrieving results. e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1-fpllngzi phase: Succeeded source: default/busybox0 destination: default/busybox1 results: - node: antrea-linux-testbed7-1 timestamp: 1596435607 observations: - component: SpoofGuard action: Forwarded - component: Forwarding componentInfo: Output action: Delivered ```
Fixed antrea-io#923 antctl traceflow is on remote mode, inside controller mode and inside agent mode. It supports yaml and json output. It can return without retrieving results. e.g. ``` $ antctl traceflow -S busybox0 -D busybox1 name: default-busybox0-to-default-busybox1-fpllngzi phase: Succeeded source: default/busybox0 destination: default/busybox1 results: - node: antrea-linux-testbed7-1 timestamp: 1596435607 observations: - component: SpoofGuard action: Forwarded - component: Forwarding componentInfo: Output action: Delivered ```
Describe what you are trying to solve
Antctl doesn't support Traceflow and users can only use Traceflow through octant UI.
Describe the solution you have in mind
Antctl supports Traceflow. It can create Traceflow and retrieve results.
Describe how your solution impacts user flows
antctl create traceflow/tf -S namespace/podSrc -D namespace/podDst // create a traceflow with namespace/pod
antctl create traceflow/tf -S namespace/podSrc -D DstIP // create a traceflow with namespace/pod and IP
e.g.
The text was updated successfully, but these errors were encountered: