* adding OS9 ansible collections * adding OS9 collections Co-authored-by: Patil <Komal_uttamrao_Patil@Dell.com>
216 lines
No EOL
8.1 KiB
Django/Jinja
216 lines
No EOL
8.1 KiB
Django/Jinja
#jinja2: trim_blocks: True,lstrip_blocks: True
|
|
{################################
|
|
Purpose:
|
|
Configure DCB commands for os9 Devices
|
|
os9_dcb:
|
|
dcb_enable: true
|
|
dcb_map:
|
|
- name: test
|
|
priority_pgid: 0 0 0 3 3 3 0 3
|
|
priority_group:
|
|
- pgid: 0
|
|
bandwidth: 20
|
|
pfc: true
|
|
state: present
|
|
- pgid: 3
|
|
bandwidth: 20
|
|
pfc: true
|
|
state: present
|
|
intf:
|
|
- name: fortyGigE 1/8
|
|
state: present
|
|
- name: fortyGigE 1/9
|
|
state: present
|
|
state: present
|
|
dcb_buffer:
|
|
- name: buffer
|
|
description:
|
|
priority_params:
|
|
- pgid: 0
|
|
buffer_size: 5550
|
|
pause: 40
|
|
resume: 40
|
|
state: present
|
|
intf:
|
|
- name: fortyGigE 1/6
|
|
state: present
|
|
state: present
|
|
################################}
|
|
{% if os9_dcb is defined and os9_dcb %}
|
|
{% set dcb_vars = os9_dcb %}
|
|
{% if dcb_vars.dcb_enable is defined %}
|
|
{% if dcb_vars.dcb_enable %}
|
|
dcb enable
|
|
{% else %}
|
|
no dcb enable
|
|
{% endif %}
|
|
{% endif %}
|
|
{% if dcb_vars.dcb_map is defined and dcb_vars.dcb_map %}
|
|
{% for map in dcb_vars.dcb_map %}
|
|
{% if map.name is defined and map.name %}
|
|
{% if map.state is defined and map.state == "absent" %}
|
|
{% if map.intf is defined and map.intf %}
|
|
{% for intf in map.intf %}
|
|
{% if intf.state is defined and intf.state == "absent" %}
|
|
{% if intf.name is defined and intf.name %}
|
|
interface {{ intf.name }}
|
|
no dcb-map {{ map.name }}
|
|
exit
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% endif %}
|
|
no dcb-map {{ map.name }}
|
|
{% else %}
|
|
dcb-map {{ map.name }}
|
|
{% set pgid_set = {'value': False} %}
|
|
{% if map.priority_group is defined and map.priority_group %}
|
|
{% for group in map.priority_group %}
|
|
{% if group.pgid is defined and group.pgid >= 0 %}
|
|
{% if group.state is defined and group.state == "absent" %}
|
|
{% if not pgid_set['value'] %}
|
|
{% if map.priority_pgid is defined %}
|
|
{% if pgid_set.update({'value': True}) %} {% endif %}
|
|
{% if map.priority_pgid %}
|
|
priority-pgid {{ map.priority_pgid }}
|
|
{% else %}
|
|
no priority-pgid
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endif %}
|
|
no priority-group {{ group.pgid }}
|
|
{% else %}
|
|
{% if group.bandwidth is defined and group.bandwidth %}
|
|
{% if group.pfc is defined %}
|
|
{% if group.pfc %}
|
|
priority-group {{ group.pgid }} bandwidth {{ group.bandwidth }} pfc on
|
|
{% else %}
|
|
priority-group {{ group.pgid }} bandwidth {{ group.bandwidth }} pfc off
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% endif %}
|
|
{% if not pgid_set['value'] %}
|
|
{% if map.priority_pgid is defined %}
|
|
{% if map.priority_pgid %}
|
|
priority-pgid {{ map.priority_pgid }}
|
|
{% else %}
|
|
no priority-pgid
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endif %}
|
|
{% if map.intf is defined and map.intf %}
|
|
{% for intf in map.intf %}
|
|
{% if intf.name is defined and intf.name %}
|
|
interface {{ intf.name }}
|
|
{% if intf.state is defined and intf.state == "absent" %}
|
|
no dcb-map {{ map.name }}
|
|
{% else %}
|
|
dcb-map {{ map.name }}
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% endif %}
|
|
{% if dcb_vars.dcb_buffer is defined and dcb_vars.dcb_buffer %}
|
|
{% for buf in dcb_vars.dcb_buffer %}
|
|
{% if buf.name is defined and buf.name %}
|
|
{% if buf.state is defined and buf.state == "absent" %}
|
|
no dcb-buffer-threshold {{ buf.name }}
|
|
{% else %}
|
|
dcb-buffer-threshold {{ buf.name }}
|
|
{% if buf.description is defined and buf.description %}
|
|
description {{ buf.description }}
|
|
{% elif buf.description is defined and not buf.description %}
|
|
no description
|
|
{% endif %}
|
|
|
|
{% if buf.priority_params is defined and buf.priority_params %}
|
|
{% for params in buf.priority_params %}
|
|
{% if params.pgid is defined and params.pgid >= 0 %}
|
|
{% if params.state is defined and params.state == "absent" %}
|
|
{% if params.buffer_size is defined and params.buffer_size %}
|
|
{% if params.pause is defined and params.pause %}
|
|
{% if params.resume is defined and params.resume %}
|
|
no priority {{ params.pgid }} buffer-size {{ params.buffer_size }} pause-threshold {{ params.pause }} resume-offset {{ params.resume }}
|
|
{% else %}
|
|
no priority {{ params.pgid }} buffer-size {{ params.buffer_size }} pause-threshold {{ params.pause }}
|
|
{% endif %}
|
|
{% else %}
|
|
{% if params.resume is defined and params.resume %}
|
|
no priority {{ params.pgid }} buffer-size {{ params.buffer_size }} resume-offset {{ params.resume }}
|
|
{% else %}
|
|
no priority {{ params.pgid }} buffer-size {{ params.buffer_size }}
|
|
{% endif %}
|
|
{% endif %}
|
|
{% else %}
|
|
{% if params.pause is defined and params.pause %}
|
|
{% if params.resume is defined and params.resume %}
|
|
no priority {{ params.pgid }} pause-threshold {{ params.pause }} resume-offset {{ params.resume }}
|
|
{% else %}
|
|
no priority {{ params.pgid }} pause-threshold {{ params.pause }}
|
|
{% endif %}
|
|
{% else %}
|
|
{% if params.resume is defined and params.resume %}
|
|
no priority {{ params.pgid }} resume-offset {{ params.resume }}
|
|
{% else %}
|
|
no priority {{ params.pgid }}
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endif %}
|
|
{% else %}
|
|
{% if params.buffer_size is defined and params.buffer_size %}
|
|
{% if params.pause is defined and params.pause %}
|
|
{% if params.resume is defined and params.resume %}
|
|
priority {{ params.pgid }} buffer-size {{ params.buffer_size }} pause-threshold {{ params.pause }} resume-offset {{ params.resume }}
|
|
{% else %}
|
|
priority {{ params.pgid }} buffer-size {{ params.buffer_size }} pause-threshold {{ params.pause }}
|
|
{% endif %}
|
|
{% else %}
|
|
{% if params.resume is defined and params.resume %}
|
|
priority {{ params.pgid }} buffer-size {{ params.buffer_size }} resume-offset {{ params.resume }}
|
|
{% else %}
|
|
priority {{ params.pgid }} buffer-size {{ params.buffer_size }}
|
|
{% endif %}
|
|
{% endif %}
|
|
{% else %}
|
|
{% if params.pause is defined and params.pause %}
|
|
{% if params.resume is defined and params.resume %}
|
|
priority {{ params.pgid }} pause-threshold {{ params.pause }} resume-offset {{ params.resume }}
|
|
{% else %}
|
|
priority {{ params.pgid }} pause-threshold {{ params.pause }}
|
|
{% endif %}
|
|
{% else %}
|
|
{% if params.resume is defined and params.resume %}
|
|
priority {{ params.pgid }} resume-offset {{ params.resume }}
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% endif %}
|
|
{% if buf.intf is defined and buf.intf %}
|
|
{% for intf in buf.intf %}
|
|
{% if intf.name is defined and intf.name %}
|
|
interface {{ intf.name }}
|
|
{% if intf.state is defined and intf.state == "absent" %}
|
|
no dcb-policy buffer-threshold {{ buf.name }}
|
|
{% else %}
|
|
dcb-policy buffer-threshold {{ buf.name }}
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% endif %}
|
|
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% endif %}
|
|
{% endif %} |