skydive_edge – Module to add edges to Skydive topology¶
New in version 2.8.
Synopsis¶
This module handles setting up edges between two nodes based on the relationship type to the Skydive topology.
Requirements¶
The below requirements are needed on the host that executes this module.
skydive-client
Parameters¶
Parameter | Choices/Defaults | Comments | |
---|---|---|---|
child_node
-
/ required
|
To defined the second node of the link, it can be either an ID or a gremlin expression
|
||
host
-
|
Default: ""
|
To define the host of the node.
|
|
metadata
-
|
To define metadata for the edge.
|
||
parent_node
-
/ required
|
To defined the first node of the link, it can be either an ID or a gremlin expression
|
||
provider
-
|
A dict object containing connection details.
|
||
endpoint
-
/ required
|
Specifies the hostname/address along with the port as
localhost:8082 for connecting to the remote instance of SKYDIVE client over the REST API. |
||
insecure
boolean
|
|
Ignore SSL certification verification.
|
|
password
-
|
Specifies the password to use to authenticate the connection to the remote instance of SKYDIVE client.
|
||
ssl
boolean
|
|
Specifies the ssl parameter that decides if the connection type shall be http or https.
|
|
user
-
|
Configures the username to use to authenticate the connection to the remote instance of SKYDIVE client.
|
||
relation_type
-
/ required
|
To define relation type of the node ownership, layer2, layer3.
|
||
state
-
|
|
State of the Skydive Edge. If value is present new edge will be created else if it is absent it will be deleted.
|
Notes¶
Note
This module must be run locally, which can be achieved by specifying
connection: local
.
Examples¶
- name: create tor
skydive_node:
name: 'TOR'
node_type: "fabric"
seed: TOR
metadata:
Model: Cisco xxxx
provider:
endpoint: localhost:8082
username: admin
password: admin
register: tor_result
- name: create port 1
skydive_node:
name: 'PORT1'
node_type: 'fabric'
seed: PORT1
provider:
endpoint: localhost:8082
username: admin
password: admin
register: port1_result
- name: create port 2
skydive_node:
name: 'PORT2'
node_type: 'fabric'
seed: PORT2
provider:
endpoint: localhost:8082
username: admin
password: admin
register: port2_result
- name: link node tor and port 1
skydive_edge:
parent_node: "{{ tor_result.UUID }}"
child_node: "{{ port1_result.UUID }}"
relation_type: ownership
state: present
provider:
endpoint: localhost:8082
username: admin
password: admin
- name: link node tor and port 2
skydive_edge:
parent_node: "{{ tor_result.UUID }}"
child_node: "{{ port2_result.UUID }}"
relation_type: ownership
state: present
provider:
endpoint: localhost:8082
username: admin
password: admin
- name: update link node tor and port 1 relation
skydive_edge:
parent_node: "{{ tor_result.UUID }}"
child_node: "{{ port2_result.UUID }}"
relation_type: layer2
state: upadte
provider:
endpoint: localhost:8082
username: admin
password: admin
- name: Unlink tor and port 2
skydive_edge:
parent_node: "{{ tor_result.UUID }}"
child_node: "{{ port2_result.UUID }}"
relation_type: ownership
state: absent
provider:
endpoint: localhost:8082
username: admin
password: admin
- name: link tor and port 2 via Gremlin expression
skydive_edge:
parent_node: G.V().Has('Name', 'TOR')
child_node: G.V().Has('Name', 'PORT2')
relation_type: ownership
state: present
provider:
endpoint: localhost:8082
username: admin
password: admin
- name: Unlink tor and port 2 via Gremlin expression
skydive_edge:
parent_node: G.V().Has('Name', 'TOR')
child_node: G.V().Has('Name', 'PORT2')
relation_type: ownership
state: absent
provider:
endpoint: localhost:8082
username: admin
password: admin
Status¶
This module is not guaranteed to have a backwards compatible interface. [preview]
This module is maintained by the Ansible Network Team. [network]
Red Hat Support¶
More information about Red Hat’s support of this module is available from this Red Hat Knowledge Base article.