community.skydive.skydive_capture – Module which manages flow capture on interfaces
Note
This plugin is part of the community.skydive collection (version 1.0.0).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.skydive
.
To use it in a playbook, specify: community.skydive.skydive_capture
.
Synopsis
This module manages flow capture on interfaces. The Gremlin expression is continuously evaluated which means that it is possible to define a capture on nodes that do not exist yet.
It is useful when you want to start a capture on all OpenvSwitch whatever the number of Skydive agents you will start.
While starting the capture, user can specify the capture name, capture description and capture type optionally.
Requirements
The below requirements are needed on the host that executes this module.
skydive-client
Parameters
Parameter |
Comments |
---|---|
To define flow capture name. Default: “” |
|
Configures a text string to be associated with the instance of this object. Default: “” |
|
To define flow capture ExtraTCPMetric. Choices:
|
|
To define flow capture interface name. |
|
To define flow capture IPDefrag. Choices:
|
|
To define flow capture Layer KeyMode. Default: “L2” |
|
A dict object containing connection details. |
|
Specifies the hostname/address along with the port as |
|
Ignore SSL certification verification. Choices:
|
|
Specifies the password to use to authenticate the connection to the remote instance of SKYDIVE client. |
|
Specifies the ssl parameter that decides if the connection type shall be http or https. Choices:
|
|
Configures the username to use to authenticate the connection to the remote instance of SKYDIVE client. |
|
It’s the complete gremlin query which the users can input, G.V(.Has(‘Name’, ‘eth0’, ‘Type’, ‘device’)), to create the capture. And, if the user directly inputs the gremlin query then user is not required to input any other module parameter as gremlin query takes care of creating the flow capture. |
|
To define flow capture ReassembleTCP. Choices:
|
|
State of the flow capture. If value is present flow capture will be created else if it is absent it will be deleted. Choices:
|
|
To define flow capture interface type. |
Examples
- name: start a new flow capture directly from gremlin query
community.skydive.skydive_capture:
query: G.V().Has('Name', 'eth0', 'Type', 'device')
state: present
provider:
endpoint: localhost:8082
username: admin
password: admin
- name: stop the flow capture directly from gremlin query
community.skydive.skydive_capture:
query: G.V().Has('Name', 'eth0', 'Type', 'device')
state: absent
provider:
endpoint: localhost:8082
username: admin
password: admin
- name: start a new flow capture from user's input
community.skydive.skydive_capture:
interface_name: Node1
type: myhost
capture_name: test_capture
description: test description
extra_tcp_metric: true
ip_defrag: true
reassemble_tcp: true
state: present
provider:
endpoint: localhost:8082
username: admin
password: admin
- name: stop the flow capture
community.skydive.skydive_capture:
interface_name: Node1
type: myhost
capture_name: test_capture
description: test description
extra_tcp_metric: true
ip_defrag: true
reassemble_tcp: true
state: absent
provider:
endpoint: localhost:8082
username: admin
password: admin
Authors
Sumit Jaiswal (@sjaiswal)