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

Conversation

GuyFoetz
Copy link

SUMMARY

Fixes #22

I removed the vlan ranging as the sort function used to do this cannot sort numerically correct

ISSUE TYPE
  • Bugfix Pull Request
COMPONENT NAME

os6_vlan

ADDITIONAL INFORMATION

Comment on lines 23 to 100
{% 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
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

Comment on lines -102 to -121
{% 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 %}
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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Switchport trunk allowed vlans are gathered incorrectly
1 participant