Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

format and remove vlan ranging fixing issue #30

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
179 changes: 80 additions & 99 deletions roles/os6_vlan/templates/os6_vlan.j2
Original file line number Diff line number Diff line change
Expand Up @@ -23,113 +23,94 @@ os6_vlan:

#########################################}
{% if os6_vlan is defined and os6_vlan -%}
{%- for key in os6_vlan.keys() -%}
{% if 'vlan' in key %}
{%- set vlan_id = key.split(" ") -%}
{%- set vlan_vars = os6_vlan[key] -%}
{% if vlan_vars.state is defined and vlan_vars.state=="absent" -%}
{%- for key in os6_vlan.keys() -%}
{% if 'vlan' in key %}
{%- set vlan_id = key.split(" ") -%}
{%- set vlan_vars = os6_vlan[key] -%}
{% if vlan_vars.state is defined and vlan_vars.state=="absent" -%}
no vlan {{ vlan_id[1] }}
{%- else -%}
{%- else -%}
vlan {{ vlan_id[1] }}
{% if vlan_vars.name is defined -%}
{% if vlan_vars.name-%}
{% if vlan_vars.name is defined -%}
{% if vlan_vars.name-%}
name "{{ vlan_vars.name }}"
{% else -%}
{% else -%}
no name
{% endif %}
{% endif %}
{% endif %}
{% endif %}
exit
{% if vlan_vars.untagged_members is defined -%}
{%- for ports in vlan_vars.untagged_members -%}
{% if ports.port is defined and ports.port -%}
{% if ports.state is defined and ports.state == "absent" -%}
interface {{ ports.port }}
no switchport access vlan
{% else -%}
interface {{ ports.port }}
switchport access vlan {{ vlan_id[1] }}
{% endif -%}
{% if vlan_vars.untagged_members is defined -%}
{%- for ports in vlan_vars.untagged_members -%}
{% if ports.port is defined and ports.port -%}
{% if ports.state is defined and ports.state == "absent" -%}
interface {{ ports.port }}
no switchport access vlan
{% else -%}
interface {{ ports.port }}
switchport access vlan {{ vlan_id[1] }}
{% endif -%}
{% endif -%}
exit
{% endfor -%}
{% endif -%}
exit
{% endfor -%}
{% endif -%}
{% endif -%}
{% endif -%}
{% endif -%}
{% endfor -%}
{%- set cmd_dict = {} -%}
{%- for key in os6_vlan.keys() -%}
{% if 'vlan' in key %}
{%- set vlan_id = key.split(" ") -%}
{%- set vlan_vars = os6_vlan[key] -%}
{%- set tagged_vlans = [] -%}
{%- set tagged_members_present = [] -%}
{%- set tagged_members_absent= [] -%}
{% if vlan_vars.tagged_members is defined and vlan_vars.tagged_members -%}
{%- for ports in vlan_vars.tagged_members -%}
{% if ports.port is defined and ports.port -%}
{%- set port = ports.port -%}
{% if ports.state is defined and ports.state == 'absent' -%}
{% if port in cmd_dict and 'absent' in cmd_dict[port] -%}
{%- set tmp_vlan_list=cmd_dict[port]['absent'] -%}
{%- set x=tmp_vlan_list.extend([vlan_id[1]]) -%}
{%- set x=cmd_dict[port].update({'absent': tmp_vlan_list}) -%}
{%- elif port in cmd_dict and 'absent' not in cmd_dict[port] -%}
{%- set x=cmd_dict[port].update({'absent': [vlan_id[1]]}) -%}
{%- else -%}
{%- set x=cmd_dict.update({port: {'absent': [vlan_id[1]]}}) -%}
{% endif -%}
{%- else -%}
{% if port in cmd_dict and 'present' in cmd_dict[port] -%}
{%- set tmp_vlan_list=cmd_dict[port]['present'] -%}
{%- set x=tmp_vlan_list.extend([vlan_id[1]]) -%}
{%- set x=cmd_dict[port].update({'present': tmp_vlan_list}) -%}
{%- elif port in cmd_dict and 'present' not in cmd_dict[port] -%}
{%- set x=cmd_dict[port].update({'present': [vlan_id[1]]}) -%}
{%- else -%}
{%- set x=cmd_dict.update({port: {'present': [vlan_id[1]]}}) -%}
{% endif -%}
{% endif -%}
{% endif -%}
{% endfor -%}
{% endif -%}
{% endif -%}
{% endfor -%}
{%- for cmd in cmd_dict -%}
{%- set cmd_dict = {} -%}
{%- for key in os6_vlan.keys() -%}
{% if 'vlan' in key %}
{%- set vlan_id = key.split(" ") -%}
{%- set vlan_vars = os6_vlan[key] -%}
{%- set tagged_vlans = [] -%}
{%- set tagged_members_present = [] -%}
{%- set tagged_members_absent= [] -%}
{% if vlan_vars.tagged_members is defined and vlan_vars.tagged_members -%}
{%- for ports in vlan_vars.tagged_members -%}
{% if ports.port is defined and ports.port -%}
{%- set port = ports.port -%}
{% if ports.state is defined and ports.state == 'absent' -%}
{% if port in cmd_dict and 'absent' in cmd_dict[port] -%}
{%- set tmp_vlan_list=cmd_dict[port]['absent'] -%}
{%- set x=tmp_vlan_list.extend([vlan_id[1]]) -%}
{%- set x=cmd_dict[port].update({'absent': tmp_vlan_list}) -%}
{%- elif port in cmd_dict and 'absent' not in cmd_dict[port] -%}
{%- set x=cmd_dict[port].update({'absent': [vlan_id[1]]}) -%}
{%- else -%}
{%- set x=cmd_dict.update({port: {'absent': [vlan_id[1]]}}) -%}
{% endif -%}
{%- else -%}
{% if port in cmd_dict and 'present' in cmd_dict[port] -%}
{%- set tmp_vlan_list=cmd_dict[port]['present'] -%}
{%- set x=tmp_vlan_list.extend([vlan_id[1]]) -%}
{%- set x=cmd_dict[port].update({'present': tmp_vlan_list}) -%}
{%- elif port in cmd_dict and 'present' not in cmd_dict[port] -%}
{%- set x=cmd_dict[port].update({'present': [vlan_id[1]]}) -%}
{%- else -%}
{%- set x=cmd_dict.update({port: {'present': [vlan_id[1]]}}) -%}
{% endif -%}
{% endif -%}
{% endif -%}
{% endfor -%}
{% endif -%}
{% endif -%}
{% endfor -%}
{%- for cmd in cmd_dict -%}
interface {{cmd}}
{% if 'tagged_members_state' in os6_vlan and os6_vlan['tagged_members_state']=='absent' %}
{% if 'tagged_members_state' in os6_vlan and os6_vlan['tagged_members_state']=='absent' %}
no switchport trunk allowed vlan
Comment on lines 23 to 100
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just formatting it

{% else %}
{% for cmd_item in cmd_dict[cmd] %}
{% if 'present' == cmd_item -%}
{% set sort_list = cmd_dict[cmd]['present']| sort %}
{% elif 'absent' in cmd_item -%}
{% set sort_list = cmd_dict[cmd]['absent']| sort %}
{% endif %}
{% set range_list = [] %}
{% set temp = {'temp': []} %}
{% for i in range(sort_list|length) %}
{% set x=temp['temp'].extend([sort_list[i]]) %}
{% if (i != sort_list|length -1 and sort_list[i+1]|int - sort_list[i]|int > 1) or (i == sort_list|length -1) %}
{% if temp['temp']|first != temp['temp']|last %}
{% set x=range_list.extend([temp['temp']|first|string+'-'+temp['temp']|last|string]) %}
{% set x=temp.update({'temp': []}) %}
{% else %}
{% set x=range_list.extend([temp['temp']|last|string]) %}
{% set x=temp.update({'temp': []}) %}
{% endif %}
{% endif %}
{% endfor %}
Comment on lines -102 to -121
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this part got removed

{% if 'present' == cmd_item -%}
{% if 'tagged_members_append' in os6_vlan and os6_vlan['tagged_members_append'] %}
switchport trunk allowed vlan add {{ range_list| join(',') }}
{% else %}
switchport trunk allowed vlan {{ range_list| join(',') }}
{% endif -%}
{% elif 'absent' == cmd_item -%}
switchport trunk allowed vlan remove {{ range_list| join(',') }}
{% endif -%}
{% endfor -%}
{% else %}
{% for cmd_item in cmd_dict[cmd] %}
{% if 'present' == cmd_item -%}
{% if 'tagged_members_append' in os6_vlan and os6_vlan['tagged_members_append'] %}
switchport trunk allowed vlan add {{ cmd_dict[cmd]['present']| join(',') }}
{% else %}
switchport trunk allowed vlan {{ cmd_dict[cmd]['present']| join(',') }}
{% endif -%}
{% elif 'absent' == cmd_item -%}
switchport trunk allowed vlan remove {{ cmd_dict[cmd]['absent']| join(',') }}
{% endif -%}
{% endfor -%}
exit
{% endif -%}
{% endfor -%}
{% endif -%}
{% endif -%}
{% endfor -%}
{% endif -%}