Skip to content

Commit

Permalink
Promote Traceflow API to v1beta1
Browse files Browse the repository at this point in the history
1. Promote Traceflow API to v1beta1.
2. Remove srcIP field in IPHeader and IPv6Header since it's never used and
duplicated with parent struct.
3. Change IPHeader field to a pointer in Packet struct.
4. Change Flags field to a pointer in the TCPHeader struct.
5. Change Timeout field in TraceflowSpec from uint16 to int32.
6. Change Length field in Packet from uint16 to int32.

Note: Given the limited nature of the changes between the 2 API versions,
the default None conversion strategy can be used.

Signed-off-by: Lan Luo <[email protected]>
  • Loading branch information
luolanzone committed Jul 3, 2023
1 parent 1c0ec50 commit 747f645
Show file tree
Hide file tree
Showing 34 changed files with 3,925 additions and 385 deletions.
257 changes: 256 additions & 1 deletion build/charts/antrea/crds/traceflow.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ spec:
versions:
- name: v1alpha1
served: true
storage: true
storage: false
additionalPrinterColumns:
- jsonPath: .status.phase
description: The phase of the Traceflow.
Expand Down Expand Up @@ -98,6 +98,8 @@ spec:
type: integer
ttl:
type: integer
minimum: 0
maximum: 255
flags:
type: integer
ipv6Header:
Expand All @@ -110,6 +112,257 @@ spec:
type: integer
hopLimit:
type: integer
transportHeader:
type: object
properties:
icmp:
type: object
properties:
id:
type: integer
sequence:
type: integer
udp:
type: object
properties:
srcPort:
type: integer
minimum: 1
maximum: 65535
dstPort:
type: integer
minimum: 1
maximum: 65535
tcp:
type: object
properties:
srcPort:
type: integer
minimum: 1
maximum: 65535
dstPort:
type: integer
minimum: 1
maximum: 65535
flags:
type: integer
liveTraffic:
type: boolean
droppedOnly:
type: boolean
timeout:
type: integer
status:
type: object
properties:
reason:
type: string
dataplaneTag:
type: integer
phase:
type: string
startTime:
type: string
results:
type: array
items:
type: object
properties:
node:
type: string
role:
type: string
timestamp:
type: integer
observations:
type: array
items:
type: object
properties:
component:
type: string
componentInfo:
type: string
action:
type: string
pod:
type: string
dstMAC:
type: string
networkPolicy:
type: string
ttl:
type: integer
minimum: 0
maximum: 255
translatedSrcIP:
type: string
translatedDstIP:
type: string
tunnelDstIP:
type: string
egressIP:
type: string
egress:
type: string
capturedPacket:
properties:
srcIP:
type: string
dstIP:
type: string
length:
type: integer
ipHeader:
properties:
flags:
type: integer
protocol:
type: integer
ttl:
type: integer
minimum: 0
maximum: 255
type: object
ipv6Header:
properties:
hopLimit:
type: integer
nextHeader:
type: integer
type: object
transportHeader:
properties:
tcp:
properties:
dstPort:
type: integer
minimum: 1
maximum: 65535
srcPort:
type: integer
minimum: 1
maximum: 65535
flags:
type: integer
type: object
udp:
properties:
dstPort:
type: integer
minimum: 1
maximum: 65535
srcPort:
type: integer
minimum: 1
maximum: 65535
type: object
icmp:
properties:
id:
type: integer
sequence:
type: integer
type: object
type: object
type: object
subresources:
status: {}
- name: v1beta1
served: true
storage: true
additionalPrinterColumns:
- jsonPath: .status.phase
description: The phase of the Traceflow.
name: Phase
type: string
- jsonPath: .spec.source.pod
description: The name of the source Pod.
name: Source-Pod
type: string
priority: 10
- jsonPath: .spec.destination.pod
description: The name of the destination Pod.
name: Destination-Pod
type: string
priority: 10
- jsonPath: .spec.destination.ip
description: The IP address of the destination.
name: Destination-IP
type: string
priority: 10
- jsonPath: .spec.liveTraffic
description: Trace live traffic.
name: Live-Traffic
type: boolean
priority: 10
- jsonPath: .spec.droppedOnly
description: Capture only the dropped packet.
name: Dropped-Only
type: boolean
priority: 10
- jsonPath: .spec.timeout
description: Timeout in seconds.
name: Timeout
type: integer
priority: 10
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
schema:
openAPIV3Schema:
type: object
required:
- spec
properties:
spec:
type: object
properties:
source:
type: object
properties:
pod:
type: string
namespace:
type: string
ip:
type: string
oneOf:
- format: ipv4
- format: ipv6
destination:
type: object
properties:
pod:
type: string
service:
type: string
namespace:
type: string
ip:
type: string
oneOf:
- format: ipv4
- format: ipv6
packet:
type: object
properties:
ipHeader:
type: object
properties:
protocol:
type: integer
ttl:
type: integer
flags:
type: integer
ipv6Header:
type: object
properties:
nextHeader:
type: integer
hopLimit:
type: integer
transportHeader:
type: object
properties:
Expand Down Expand Up @@ -201,6 +454,8 @@ spec:
type: string
length:
type: integer
minimum: 1
maximum: 65535
ipHeader:
properties:
flags:
Expand Down
Loading

0 comments on commit 747f645

Please sign in to comment.