community.skydive.skydive_edge – Module to add edges to Skydive topology
Note
This plugin is part of the community.skydive collection (version 1.0.0).
To install it use: ansible-galaxy collection install community.skydive.
To use it in a playbook, specify: community.skydive.skydive_edge.
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  string / required  | To defined the second node of the link, it can be either an ID or a gremlin expression | ||
| host  string  | Default: "" | To define the host of the node. | |
| metadata  string  | To define metadata for the edge. | ||
| parent_node  string / required  | To defined the first node of the link, it can be either an ID or a gremlin expression | ||
| provider  string  | A dict object containing connection details. | ||
| endpoint  string / required  | Specifies the hostname/address along with the port as  localhost:8082for connecting to the remote instance of SKYDIVE client over the REST API. | ||
| insecure  boolean  | 
 | Ignore SSL certification verification. | |
| password  string  | 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  string  | Configures the username to use to authenticate the connection to the remote instance of SKYDIVE client. | ||
| relation_type  string / required  | To define relation type of the node ownership, layer2, layer3. | ||
| state  string  | 
 | 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
  community.skydive.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
  community.skydive.skydive_node:
    name: 'PORT1'
    node_type: 'fabric'
    seed: PORT1
    provider:
      endpoint: localhost:8082
      username: admin
      password: admin
  register: port1_result
- name: create port 2
  community.skydive.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
  community.skydive.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
  community.skydive.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
  community.skydive.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
  community.skydive.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
  community.skydive.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
  community.skydive.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
  Authors
- Sumit Jaiswal (@sjaiswal)
    © 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
    https://docs.ansible.com/ansible/2.10/collections/community/skydive/skydive_edge_module.html