Best Python code snippet using yandex-tank
ios_prefix_lists.py
Source:ios_prefix_lists.py  
1#!/usr/bin/python2# -*- coding: utf-8 -*-3# Copyright 2021 Red Hat4# GNU General Public License v3.0+5# (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)6"""7The module file for cisco.ios_prefix_lists8"""9from __future__ import absolute_import, division, print_function10__metaclass__ = type11DOCUMENTATION = """12module: ios_prefix_lists13short_description: Prefix Lists resource module14description:15  - This module configures and manages the attributes of prefix list on Cisco IOS.16version_added: 2.2.017author: Sumit Jaiswal (@justjais)18notes:19  - Tested against Cisco IOSv Version 15.2 on VIRL20  - This module works with connection C(network_cli).21    See L(IOS Platform Options,../network/user_guide/platform_ios.html)22options:23  config:24    description: A list of configurations for Prefix lists.25    type: list26    elements: dict27    suboptions:28      afi:29        description:30          - The Address Family Indicator (AFI) for the  prefix list.31        type: str32        choices: ['ipv4', 'ipv6']33      prefix_lists:34        description: List of Prefix-lists.35        type: list36        elements: dict37        suboptions:38          name:39            description: Name of a prefix-list40            type: str41          description:42            description:  Prefix-list specific description43            type: str44          entries:45            description: Prefix-lists supported params.46            type: list47            elements: dict48            suboptions:49              action:50                description: Specify packets to be rejected or forwarded51                type: str52                choices: ['deny', 'permit']53              sequence:54                description: sequence number of an entry55                type: int56              description:57                description:58                  - Prefix-list specific description59                  - Description param at entries level is DEPRECATED60                  - New Description is introduced at prefix_lists level, please61                    use the Description param defined at prefix_lists level instead of62                    Description param at entries level, as at this level description option63                    will get removed in a future release.64                type: str65              prefix:66                description:67                  - IPv4 prefix <network>/<length>, e.g., A.B.C.D/nn68                  - IPv6 prefix <network>/<length>, e.g., X:X:X:X::X/<0-128>69                type: str70              ge:71                description: Minimum prefix length to be matched72                type: int73              le:74                description: Maximum prefix length to be matched75                type: int76  running_config:77    description:78    - This option is used only with state I(parsed).79    - The value of this option should be the output received from the IOS device by80      executing the command B(sh bgp).81    - The state I(parsed) reads the configuration from C(running_config) option and82      transforms it into Ansible structured data as per the resource module's argspec83      and the value is then returned in the I(parsed) key within the result.84    type: str85  state:86    description:87      - The state the configuration should be left in88      - The states I(merged) is the default state which merges the want and have config, but89        for Prefix-List module as the IOS platform doesn't allow update of Prefix-List over an90        pre-existing Prefix-List, same way Prefix-Lists resource module will error out for91        respective scenario and only addition of new Prefix-List over new sequence will be92        allowed with merge state.93      - The states I(rendered), I(gathered) and I(parsed) does not perform any change94        on the device.95      - The state I(rendered) will transform the configuration in C(config) option to96        platform specific CLI commands which will be returned in the I(rendered) key97        within the result. For state I(rendered) active connection to remote host is98        not required.99      - The state I(gathered) will fetch the running configuration from device and transform100        it into structured data in the format as per the resource module argspec and101        the value is returned in the I(gathered) key within the result.102      - The state I(parsed) reads the configuration from C(running_config) option and103        transforms it into JSON format as per the resource module parameters and the104        value is returned in the I(parsed) key within the result. The value of C(running_config)105        option should be the same format as the output of command I(sh running-config106        | section ^ip prefix-list|^ipv6 prefix-list) executed on device. For state I(parsed) active107        connection to remote host is not required.108    type: str109    choices:110      - merged111      - replaced112      - overridden113      - deleted114      - gathered115      - parsed116      - rendered117    default: merged118"""119EXAMPLES = """120# Using deleted by Name121# Before state:122# -------------123#124# router-ios#sh running-config | section ^ip prefix-list|^ipv6 prefix-list125# ip prefix-list 10 description this is test description126# ip prefix-list 10 seq 5 deny 1.0.0.0/8 le 15127# ip prefix-list 10 seq 10 deny 35.0.0.0/8 ge 10128# ip prefix-list 10 seq 15 deny 12.0.0.0/8 ge 15129# ip prefix-list 10 seq 20 deny 14.0.0.0/8 ge 20 le 21130# ip prefix-list test description this is test131# ip prefix-list test seq 50 deny 12.0.0.0/8 ge 15132# ip prefix-list test_prefix description this is for prefix-list133# ip prefix-list test_prefix seq 5 deny 35.0.0.0/8 ge 10 le 15134# ip prefix-list test_prefix seq 10 deny 35.0.0.0/8 ge 20135# ipv6 prefix-list test_ipv6 description this is ipv6 prefix-list136# ipv6 prefix-list test_ipv6 seq 10 deny 2001:DB8:0:4::/64 ge 80137- name: Delete provided Prefix lists config by Prefix name138  cisco.ios.ios_prefix_lists:139    config:140      - afi: ipv4141        prefix_lists:142          - name: 10143          - name: test_prefix144    state: deleted145#  Commands Fired:146#  ---------------147#148#  "commands": [149#         "no ip prefix-list 10",150#         "no ip prefix-list test_prefix"151#     ]152# After state:153# -------------154# router-ios#sh running-config | section ^ip prefix-list|^ipv6 prefix-list155# ip prefix-list test description this is test156# ip prefix-list test seq 50 deny 12.0.0.0/8 ge 15157# ipv6 prefix-list test_ipv6 description this is ipv6 prefix-list158# ipv6 prefix-list test_ipv6 seq 10 deny 2001:DB8:0:4::/64 ge 80159# Using deleted by AFI160# Before state:161# -------------162#163# router-ios#sh running-config | section ^ip prefix-list|^ipv6 prefix-list164# ip prefix-list 10 description this is test description165# ip prefix-list 10 seq 5 deny 1.0.0.0/8 le 15166# ip prefix-list 10 seq 10 deny 35.0.0.0/8 ge 10167# ip prefix-list 10 seq 15 deny 12.0.0.0/8 ge 15168# ip prefix-list 10 seq 20 deny 14.0.0.0/8 ge 20 le 21169# ip prefix-list test description this is test170# ip prefix-list test seq 50 deny 12.0.0.0/8 ge 15171# ip prefix-list test_prefix description this is for prefix-list172# ip prefix-list test_prefix seq 5 deny 35.0.0.0/8 ge 10 le 15173# ip prefix-list test_prefix seq 10 deny 35.0.0.0/8 ge 20174# ipv6 prefix-list test_ipv6 description this is ipv6 prefix-list175# ipv6 prefix-list test_ipv6 seq 10 deny 2001:DB8:0:4::/64 ge 80176- name: Delete provided Prefix lists config by AFI177  cisco.ios.ios_prefix_lists:178    config:179      - afi: ipv4180    state: deleted181#  Commands Fired:182#  ---------------183#184#  "commands": [185#         "no ip prefix-list test",186#         "no ip prefix-list 10",187#         "no ip prefix-list test_prefix"188#     ]189# After state:190# -------------191# router-ios#sh running-config | section ^ip prefix-list|^ipv6 prefix-list192# ipv6 prefix-list test_ipv6 description this is ipv6 prefix-list193# ipv6 prefix-list test_ipv6 seq 10 deny 2001:DB8:0:4::/64 ge 80194# Using deleted without any config passed (NOTE: This will delete all Prefix lists configuration from device)195# Before state:196# -------------197#198# router-ios#sh running-config | section ^ip prefix-list|^ipv6 prefix-list199# ip prefix-list 10 description this is test description200# ip prefix-list 10 seq 5 deny 1.0.0.0/8 le 15201# ip prefix-list 10 seq 10 deny 35.0.0.0/8 ge 10202# ip prefix-list 10 seq 15 deny 12.0.0.0/8 ge 15203# ip prefix-list 10 seq 20 deny 14.0.0.0/8 ge 20 le 21204# ip prefix-list test description this is test205# ip prefix-list test seq 50 deny 12.0.0.0/8 ge 15206# ip prefix-list test_prefix description this is for prefix-list207# ip prefix-list test_prefix seq 5 deny 35.0.0.0/8 ge 10 le 15208# ip prefix-list test_prefix seq 10 deny 35.0.0.0/8 ge 20209# ipv6 prefix-list test_ipv6 description this is ipv6 prefix-list210# ipv6 prefix-list test_ipv6 seq 10 deny 2001:DB8:0:4::/64 ge 80211- name: Delete all Prefix lists config212  cisco.ios.ios_prefix_lists:213    state: deleted214# Commands Fired:215# ---------------216#217#  "commands": [218#         "no ip prefix-list test",219#         "no ip prefix-list 10",220#         "no ip prefix-list test_prefix",221#         "no ipv6 prefix-list test_ipv6"222#     ]223# After state:224# -------------225# router-ios#sh running-config | section ^ip prefix-list|^ipv6 prefix-list226# router-ios#227# Using merged228# Before state:229# -------------230#231# router-ios#sh running-config | section ^ip prefix-list|^ipv6 prefix-list232# ipv6 prefix-list test_ipv6 description this is ipv6233# ipv6 prefix-list test_ipv6 seq 10 deny 2001:DB8:0:4::/64 ge 80234- name: Merge provided Prefix lists configuration235  cisco.ios.ios_prefix_lists:236    config:237      - afi: ipv6238        prefix_lists:239          - name: test_ipv6240            description: this is ipv6 merge test241            entries:242              - action: deny243                prefix: 2001:DB8:0:4::/64244                ge: 80245                le: 100246                sequence: 10247    state: merged248# After state:249# -------------250#251# Play Execution fails, with error:252# Cannot update existing sequence 10 of Prefix Lists test_ipv6 with state merged.253# Please use state replaced or overridden.254# Before state:255# -------------256#257# router-ios#sh running-config | section ^ip prefix-list|^ipv6 prefix-list258# ipv6 prefix-list test_ipv6 description this is ipv6259# ipv6 prefix-list test_ipv6 seq 10 deny 2001:DB8:0:4::/64 ge 80260- name: Merge provided Prefix lists configuration261  cisco.ios.ios_prefix_lists:262    config:263      - afi: ipv4264        prefix_lists:265          - name: 10266            description: this is new merge test267            entries:268              - action: deny269                prefix: 1.0.0.0/8270                le: 15271                sequence: 5272              - action: deny273                prefix: 35.0.0.0/8274                ge: 10275                sequence: 10276              - action: deny277                prefix: 12.0.0.0/8278                ge: 15279                sequence: 15280              - action: deny281                prefix: 14.0.0.0/8282                ge: 20283                le: 21284                sequence: 20285          - name: test286            description: this is merge test287            entries:288              - action: deny289                prefix: 12.0.0.0/8290                ge: 15291                sequence: 50292          - name: test_prefix293            description: this is for prefix-list294            entries:295              - action: deny296                prefix: 35.0.0.0/8297                ge: 10298                le: 15299                sequence: 5300              - action: deny301                prefix: 35.0.0.0/8302                ge: 20303                sequence: 10304      - afi: ipv6305        prefix_lists:306          - name: test_ipv6307            description: this is ipv6 merge test308            entries:309              - action: deny310                prefix: 2001:DB8:0:4::/64311                ge: 80312                le: 100313                sequence: 20314    state: merged315#  Commands Fired:316#  ---------------317#318#   "commands": [319#         "ip prefix-list test description this is merge test",320#         "ip prefix-list test seq 50 deny 12.0.0.0/8 ge 15",321#         "ip prefix-list 10 seq 15 deny 12.0.0.0/8 ge 15",322#         "ip prefix-list 10 seq 10 deny 35.0.0.0/8 ge 10",323#         "ip prefix-list 10 seq 5 deny 1.0.0.0/8 le 15",324#         "ip prefix-list 10 description this is new merge test",325#         "ip prefix-list 10 seq 20 deny 14.0.0.0/8 ge 20 le 21",326#         "ip prefix-list test_prefix seq 10 deny 35.0.0.0/8 ge 20",327#         "ip prefix-list test_prefix seq 5 deny 35.0.0.0/8 ge 10 le 15",328#         "ip prefix-list test_prefix description this is for prefix-list",329#         "ipv6 prefix-list test_ipv6 seq 20 deny 2001:DB8:0:4::/64 ge 80 le 100",330#         "ipv6 prefix-list test_ipv6 description this is ipv6 merge test"331#     ]332# After state:333# -------------334#335# router-ios#sh running-config | section ^ip prefix-list|^ipv6 prefix-list336# ip prefix-list 10 description this is new merge test337# ip prefix-list 10 seq 5 deny 1.0.0.0/8 le 15338# ip prefix-list 10 seq 10 deny 35.0.0.0/8 ge 10339# ip prefix-list 10 seq 15 deny 12.0.0.0/8 ge 15340# ip prefix-list 10 seq 20 deny 14.0.0.0/8 ge 20 le 21341# ip prefix-list test description this is merge test342# ip prefix-list test seq 50 deny 12.0.0.0/8 ge 15343# ip prefix-list test_prefix description this is for prefix-list344# ip prefix-list test_prefix seq 5 deny 35.0.0.0/8 ge 10 le 15345# ip prefix-list test_prefix seq 10 deny 35.0.0.0/8 ge 20346# ipv6 prefix-list test_ipv6 description this is ipv6 merge test347# ipv6 prefix-list test_ipv6 seq 10 deny 2001:DB8:0:4::/64 ge 80 le 100348# Using overridden349# Before state:350# -------------351#352# router-ios#sh running-config | section ^ip prefix-list|^ipv6 prefix-list353# ip prefix-list 10 description this is test description354# ip prefix-list 10 seq 5 deny 1.0.0.0/8 le 15355# ip prefix-list 10 seq 10 deny 35.0.0.0/8 ge 10356# ip prefix-list 10 seq 15 deny 12.0.0.0/8 ge 15357# ip prefix-list 10 seq 20 deny 14.0.0.0/8 ge 20 le 21358# ip prefix-list test description this is test359# ip prefix-list test seq 50 deny 12.0.0.0/8 ge 15360# ip prefix-list test_prefix description this is for prefix-list361# ip prefix-list test_prefix seq 5 deny 35.0.0.0/8 ge 10 le 15362# ip prefix-list test_prefix seq 10 deny 35.0.0.0/8 ge 20363# ipv6 prefix-list test_ipv6 description this is ipv6 prefix-list364# ipv6 prefix-list test_ipv6 seq 10 deny 2001:DB8:0:4::/64 ge 80365- name: Override provided Prefix lists configuration366  cisco.ios.ios_prefix_lists:367    config:368      - afi: ipv4369        prefix_lists:370          - name: 10371            description: this is override test372            entries:373              - action: deny374                prefix: 12.0.0.0/8375                ge: 15376                sequence: 15377              - action: deny378                prefix: 14.0.0.0/8379                ge: 20380                le: 21381                sequence: 20382          - name: test_override383            description: this is override test384            entries:385              - action: deny386                prefix: 35.0.0.0/8387                ge: 20388                sequence: 10389      - afi: ipv6390        prefix_lists:391          - name: test_ipv6392            description: this is ipv6 override test393            entries:394              - action: deny395                prefix: 2001:DB8:0:4::/64396                ge: 80397                le: 100398                sequence: 10399    state: overridden400# Commands Fired:401# ---------------402#403#  "commands": [404#         "no ip prefix-list test",405#         "no ip prefix-list test_prefix",406#         "ip prefix-list 10 description this is override test",407#         "no ip prefix-list 10 seq 10 deny 35.0.0.0/8 ge 10",408#         "no ip prefix-list 10 seq 5 deny 1.0.0.0/8 le 15",409#         "ip prefix-list test_override seq 10 deny 35.0.0.0/8 ge 20",410#         "ip prefix-list test_override description this is override test",411#         "no ipv6 prefix-list test_ipv6 seq 10 deny 2001:DB8:0:4::/64 ge 80",412#         "ipv6 prefix-list test_ipv6 seq 10 deny 2001:DB8:0:4::/64 ge 80 le 100",413#         "ipv6 prefix-list test_ipv6 description this is ipv6 override test"414#     ]415# After state:416# -------------417#418# router-ios#sh running-config | section ^ip prefix-list|^ipv6 prefix-list419# ip prefix-list 10 description this is override test420# ip prefix-list 10 seq 15 deny 12.0.0.0/8 ge 15421# ip prefix-list 10 seq 20 deny 14.0.0.0/8 ge 20 le 21422# ip prefix-list test_override description this is override test423# ip prefix-list test_override seq 10 deny 35.0.0.0/8 ge 20424# ipv6 prefix-list test_ipv6 description this is ipv6 override test425# ipv6 prefix-list test_ipv6 seq 10 deny 2001:DB8:0:4::/64 ge 80 le 100426# Using replaced427# Before state:428# -------------429#430# router-ios#sh running-config | section ^ip prefix-list|^ipv6 prefix-list431# ip prefix-list 10 description this is test description432# ip prefix-list 10 seq 5 deny 1.0.0.0/8 le 15433# ip prefix-list 10 seq 10 deny 35.0.0.0/8 ge 10434# ip prefix-list 10 seq 15 deny 12.0.0.0/8 ge 15435# ip prefix-list 10 seq 20 deny 14.0.0.0/8 ge 20 le 21436# ip prefix-list test description this is test437# ip prefix-list test seq 50 deny 12.0.0.0/8 ge 15438# ip prefix-list test_prefix description this is for prefix-list439# ip prefix-list test_prefix seq 5 deny 35.0.0.0/8 ge 10 le 15440# ip prefix-list test_prefix seq 10 deny 35.0.0.0/8 ge 20441# ipv6 prefix-list test_ipv6 description this is ipv6 prefix-list442# ipv6 prefix-list test_ipv6 seq 10 deny 2001:DB8:0:4::/64 ge 80443- name: Replaced provided Prefix lists configuration444  cisco.ios.ios_prefix_lists:445    config:446      - afi: ipv4447        prefix_lists:448          - name: 10449            description: this is replace test450            entries:451              - action: deny452                prefix: 12.0.0.0/8453                ge: 15454                sequence: 15455              - action: deny456                prefix: 14.0.0.0/8457                ge: 20458                le: 21459                sequence: 20460          - name: test_replace461            description: this is replace test462            entries:463              - action: deny464                prefix: 35.0.0.0/8465                ge: 20466                sequence: 10467      - afi: ipv6468        prefix_lists:469          - name: test_ipv6470            description: this is ipv6 replace test471            entries:472              - action: deny473                prefix: 2001:DB8:0:4::/64474                ge: 80475                le: 100476                sequence: 10477    state: replaced478# Commands Fired:479# ---------------480#  "commands": [481#         "ip prefix-list 10 description this is replace test",482#         "no ip prefix-list 10 seq 10 deny 35.0.0.0/8 ge 10",483#         "no ip prefix-list 10 seq 5 deny 1.0.0.0/8 le 15",484#         "ip prefix-list test_replace seq 10 deny 35.0.0.0/8 ge 20",485#         "ip prefix-list test_replace description this is replace test",486#         "no ipv6 prefix-list test_ipv6 seq 10 deny 2001:DB8:0:4::/64 ge 80",487#         "ipv6 prefix-list test_ipv6 seq 10 deny 2001:DB8:0:4::/64 ge 80 le 100",488#         "ipv6 prefix-list test_ipv6 description this is ipv6 replace test"489#     ]490# After state:491# -------------492#493# router-ios#sh running-config | section ^ip prefix-list|^ipv6 prefix-list494# ip prefix-list 10 description this is replace test495# ip prefix-list 10 seq 15 deny 12.0.0.0/8 ge 15496# ip prefix-list 10 seq 20 deny 14.0.0.0/8 ge 20 le 21497# ip prefix-list test description this is test498# ip prefix-list test seq 50 deny 12.0.0.0/8 ge 15499# ip prefix-list test_prefix description this is for prefix-list500# ip prefix-list test_prefix seq 5 deny 35.0.0.0/8 ge 10 le 15501# ip prefix-list test_prefix seq 10 deny 35.0.0.0/8 ge 20502# ip prefix-list test_replace description this is replace test503# ip prefix-list test_replace seq 10 deny 35.0.0.0/8 ge 20504# ipv6 prefix-list test_ipv6 description this is ipv6 replace test505# ipv6 prefix-list test_ipv6 seq 10 deny 2001:DB8:0:4::/64 ge 80 le 100506# Using Gathered507# Before state:508# -------------509#510# router-ios#sh running-config | section ^ip prefix-list|^ipv6 prefix-list511# ip prefix-list 10 description this is test description512# ip prefix-list 10 seq 5 deny 1.0.0.0/8 le 15513# ip prefix-list 10 seq 10 deny 35.0.0.0/8 ge 10514# ip prefix-list 10 seq 15 deny 12.0.0.0/8 ge 15515# ip prefix-list 10 seq 20 deny 14.0.0.0/8 ge 20 le 21516# ip prefix-list test description this is test517# ip prefix-list test seq 50 deny 12.0.0.0/8 ge 15518# ip prefix-list test_prefix description this is for prefix-list519# ip prefix-list test_prefix seq 5 deny 35.0.0.0/8 ge 10 le 15520# ip prefix-list test_prefix seq 10 deny 35.0.0.0/8 ge 20521# ipv6 prefix-list test_ipv6 description this is ipv6 prefix-list522# ipv6 prefix-list test_ipv6 seq 10 deny 2001:DB8:0:4::/64 ge 80523- name: Gather Prefix lists provided configurations524  cisco.ios.ios_prefix_lists:525    config:526    state: gathered527# Module Execution Result:528# ------------------------529#530# "gathered": [531#         {532#             "afi": "ipv4",533#             "prefix_lists": [534#                 {535#                     "description": "this is test description"536#                     "entries": [537#                         {538#                             "action": "deny",539#                             "le": 15,540#                             "prefix": "1.0.0.0/8",541#                             "sequence": 5542#                         },543#                         {544#                             "action": "deny",545#                             "ge": 10,546#                             "prefix": "35.0.0.0/8",547#                             "sequence": 10548#                         },549#                         {550#                             "action": "deny",551#                             "ge": 15,552#                             "prefix": "12.0.0.0/8",553#                             "sequence": 15554#                         },555#                         {556#                             "action": "deny",557#                             "ge": 20,558#                             "le": 21,559#                             "prefix": "14.0.0.0/8",560#                             "sequence": 20561#                         }562#                     ],563#                     "name": "10"564#                 },565#                 {566#                     "description": "this is test"567#                     "entries": [568#                         {569#                             "action": "deny",570#                             "ge": 15,571#                             "prefix": "12.0.0.0/8",572#                             "sequence": 50573#                         }574#                     ],575#                     "name": "test"576#                 },577#                 {578#                     "description": "this is for prefix-list"579#                     "entries": [580#                         {581#                             "action": "deny",582#                             "ge": 10,583#                             "le": 15,584#                             "prefix": "35.0.0.0/8",585#                             "sequence": 5586#                         },587#                         {588#                             "action": "deny",589#                             "ge": 20,590#                             "prefix": "35.0.0.0/8",591#                             "sequence": 10592#                         }593#                     ],594#                     "name": "test_prefix"595#                 }596#             ]597#         },598#         {599#             "afi": "ipv6",600#             "prefix_lists": [601#                 {602#                     "description": "this is ipv6 prefix-list"603#                     "entries": [604#                         {605#                             "action": "deny",606#                             "ge": 80,607#                             "prefix": "2001:DB8:0:4::/64",608#                             "sequence": 10609#                         }610#                     ],611#                     "name": "test_ipv6"612#                 }613#             ]614#         }615#     ]616# After state:617# ------------618#619# router-ios#sh running-config | section ^ip prefix-list|^ipv6 prefix-list620# ip prefix-list 10 description this is test description621# ip prefix-list 10 seq 5 deny 1.0.0.0/8 le 15622# ip prefix-list 10 seq 10 deny 35.0.0.0/8 ge 10623# ip prefix-list 10 seq 15 deny 12.0.0.0/8 ge 15624# ip prefix-list 10 seq 20 deny 14.0.0.0/8 ge 20 le 21625# ip prefix-list test description this is test626# ip prefix-list test seq 50 deny 12.0.0.0/8 ge 15627# ip prefix-list test_prefix description this is for prefix-list628# ip prefix-list test_prefix seq 5 deny 35.0.0.0/8 ge 10 le 15629# ip prefix-list test_prefix seq 10 deny 35.0.0.0/8 ge 20630# ipv6 prefix-list test_ipv6 description this is ipv6 prefix-list631# ipv6 prefix-list test_ipv6 seq 10 deny 2001:DB8:0:4::/64 ge 80632# Using Rendered633- name: Render the commands for provided  configuration634  cisco.ios.ios_prefix_lists:635    config:636      - afi: ipv4637        prefix_lists:638          - name: 10639            description: this is new merge test640            entries:641              - action: deny642                prefix: 1.0.0.0/8643                le: 15644                sequence: 5645              - action: deny646                prefix: 35.0.0.0/8647                ge: 10648                sequence: 10649              - action: deny650                prefix: 12.0.0.0/8651                ge: 15652                sequence: 15653              - action: deny654                prefix: 14.0.0.0/8655                ge: 20656                le: 21657                sequence: 20658          - name: test659            description: this is merge test660            entries:661              - action: deny662                prefix: 12.0.0.0/8663                ge: 15664                sequence: 50665          - name: test_prefix666            description: this is for prefix-list667            entries:668              - action: deny669                prefix: 35.0.0.0/8670                ge: 10671                le: 15672                sequence: 5673              - action: deny674                prefix: 35.0.0.0/8675                ge: 20676                sequence: 10677      - afi: ipv6678        prefix_lists:679          - name: test_ipv6680            description: this is ipv6 merge test681            entries:682              - action: deny683                prefix: 2001:DB8:0:4::/64684                ge: 80685                le: 100686                sequence: 10687    state: rendered688# Module Execution Result:689# ------------------------690#691#  "rendered": [692#         "ip prefix-list test description this is test",693#         "ip prefix-list test seq 50 deny 12.0.0.0/8 ge 15",694#         "ip prefix-list 10 seq 15 deny 12.0.0.0/8 ge 15",695#         "ip prefix-list 10 seq 10 deny 35.0.0.0/8 ge 10",696#         "ip prefix-list 10 seq 5 deny 1.0.0.0/8 le 15",697#         "ip prefix-list 10 description this is test description",698#         "ip prefix-list 10 seq 20 deny 14.0.0.0/8 ge 20 le 21",699#         "ip prefix-list test_prefix seq 10 deny 35.0.0.0/8 ge 20",700#         "ip prefix-list test_prefix seq 5 deny 35.0.0.0/8 ge 10 le 15",701#         "ip prefix-list test_prefix description this is for prefix-list",702#         "ipv6 prefix-list test_ipv6 seq 10 deny 2001:DB8:0:4::/64 ge 80 l2 100",703#         "ipv6 prefix-list test_ipv6 description this is ipv6 prefix-list"704#     ]705# Using Parsed706# File: parsed.cfg707# ----------------708#709# ip prefix-list 10 description this is test description710# ip prefix-list 10 seq 5 deny 1.0.0.0/8 le 15711# ip prefix-list 10 seq 10 deny 35.0.0.0/8 ge 10712# ip prefix-list 10 seq 15 deny 12.0.0.0/8 ge 15713# ip prefix-list 10 seq 20 deny 14.0.0.0/8 ge 20 le 21714# ip prefix-list test description this is test715# ip prefix-list test seq 50 deny 12.0.0.0/8 ge 15716# ip prefix-list test_prefix description this is for prefix-list717# ip prefix-list test_prefix seq 5 deny 35.0.0.0/8 ge 10 le 15718# ip prefix-list test_prefix seq 10 deny 35.0.0.0/8 ge 20719# ipv6 prefix-list test_ipv6 description this is ipv6 prefix-list720# ipv6 prefix-list test_ipv6 seq 10 deny 2001:DB8:0:4::/64 ge 80721- name: Parse the provided configuration with the existing running configuration722  cisco.ios.ios_prefix_lists:723    running_config: "{{ lookup('file', 'parsed.cfg') }}"724    state: parsed725# Module Execution Result:726# ------------------------727#728# "parsed": [729#         {730#             "afi": "ipv4",731#             "prefix_lists": [732#                 {733#                     "description": "this is test description"734#                     "entries": [735#                         {736#                             "action": "deny",737#                             "le": 15,738#                             "prefix": "1.0.0.0/8",739#                             "sequence": 5740#                         },741#                         {742#                             "action": "deny",743#                             "ge": 10,744#                             "prefix": "35.0.0.0/8",745#                             "sequence": 10746#                         },747#                         {748#                             "action": "deny",749#                             "ge": 15,750#                             "prefix": "12.0.0.0/8",751#                             "sequence": 15752#                         },753#                         {754#                             "action": "deny",755#                             "ge": 20,756#                             "le": 21,757#                             "prefix": "14.0.0.0/8",758#                             "sequence": 20759#                         }760#                     ],761#                     "name": "10"762#                 },763#                 {764#                     "description": "this is test"765#                     "entries": [766#                         {767#                             "action": "deny",768#                             "ge": 15,769#                             "prefix": "12.0.0.0/8",770#                             "sequence": 50771#                         }772#                     ],773#                     "name": "test"774#                 },775#                 {776#                     "description": "this is for prefix-list"777#                     "entries": [778#                         {779#                             "action": "deny",780#                             "ge": 10,781#                             "le": 15,782#                             "prefix": "35.0.0.0/8",783#                             "sequence": 5784#                         },785#                         {786#                             "action": "deny",787#                             "ge": 20,788#                             "prefix": "35.0.0.0/8",789#                             "sequence": 10790#                         }791#                     ],792#                     "name": "test_prefix"793#                 }794#             ]795#         },796#         {797#             "afi": "ipv6",798#             "prefix_lists": [799#                 {800#                     "description": "this is ipv6 prefix-list"801#                     "entries": [802#                         {803#                             "action": "deny",804#                             "ge": 80,805#                             "prefix": "2001:DB8:0:4::/64",806#                             "sequence": 10807#                         }808#                     ],809#                     "name": "test_ipv6"810#                 }811#             ]812#         }813#     ]814"""815RETURN = """816before:817  description: The configuration prior to the model invocation.818  returned: always819  sample: >820    The configuration returned will always be in the same format821     of the parameters above.822  type: list823after:824  description: The resulting configuration model invocation.825  returned: when changed826  sample: >827    The configuration returned will always be in the same format828     of the parameters above.829  type: list830commands:831  description: The set of commands pushed to the remote device.832  returned: always833  type: list834  sample: ['ip prefix-list 10 description this is test description', 'ip prefix-list 10 seq 5 deny 1.0.0.0/8 le 15']835"""836from ansible.module_utils.basic import AnsibleModule837from ansible_collections.cisco.ios.plugins.module_utils.network.ios.argspec.prefix_lists.prefix_lists import (838    Prefix_listsArgs,839)840from ansible_collections.cisco.ios.plugins.module_utils.network.ios.config.prefix_lists.prefix_lists import (841    Prefix_lists,842)843def main():844    """845    Main entry point for module execution846    :returns: the result form module invocation847    """848    module = AnsibleModule(849        argument_spec=Prefix_listsArgs.argument_spec,850        mutually_exclusive=[["config", "running_config"]],851        required_if=[852            ["state", "merged", ["config"]],853            ["state", "replaced", ["config"]],854            ["state", "overridden", ["config"]],855            ["state", "rendered", ["config"]],856            ["state", "parsed", ["running_config"]],857        ],858        supports_check_mode=True,859    )860    result = Prefix_lists(module).execute_module()861    module.exit_json(**result)862if __name__ == "__main__":...test_ios_prefix_lists.py
Source:test_ios_prefix_lists.py  
1#2# (c) 2019, Ansible by Red Hat, inc3# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)4#5from __future__ import absolute_import, division, print_function6__metaclass__ = type7from ansible_collections.cisco.ios.tests.unit.compat.mock import patch8from ansible_collections.cisco.ios.plugins.modules import ios_prefix_lists9from ansible_collections.cisco.ios.tests.unit.modules.utils import (10    set_module_args,11)12from .ios_module import TestIosModule, load_fixture13class TestIosPrefixListsModule(TestIosModule):14    module = ios_prefix_lists15    def setUp(self):16        super(TestIosPrefixListsModule, self).setUp()17        self.mock_get_config = patch(18            "ansible_collections.ansible.netcommon.plugins.module_utils.network.common.network.Config.get_config"19        )20        self.get_config = self.mock_get_config.start()21        self.mock_load_config = patch(22            "ansible_collections.ansible.netcommon.plugins.module_utils.network.common.network.Config.load_config"23        )24        self.load_config = self.mock_load_config.start()25        self.mock_get_resource_connection_config = patch(26            "ansible_collections.ansible.netcommon.plugins.module_utils.network.common.cfg.base."27            "get_resource_connection"28        )29        self.get_resource_connection_config = (30            self.mock_get_resource_connection_config.start()31        )32        self.mock_get_resource_connection_facts = patch(33            "ansible_collections.ansible.netcommon.plugins.module_utils.network.common.rm_base.resource_module_base."34            "get_resource_connection"35        )36        self.get_resource_connection_facts = (37            self.mock_get_resource_connection_facts.start()38        )39        self.mock_edit_config = patch(40            "ansible_collections.cisco.ios.plugins.module_utils.network.ios.providers.providers.CliProvider.edit_config"41        )42        self.edit_config = self.mock_edit_config.start()43        self.mock_execute_show_command = patch(44            "ansible_collections.cisco.ios.plugins.module_utils.network.ios.facts.prefix_lists.prefix_lists."45            "Prefix_listsFacts.get_prefix_list_data"46        )47        self.execute_show_command = self.mock_execute_show_command.start()48    def tearDown(self):49        super(TestIosPrefixListsModule, self).tearDown()50        self.mock_get_resource_connection_config.stop()51        self.mock_get_resource_connection_facts.stop()52        self.mock_edit_config.stop()53        self.mock_get_config.stop()54        self.mock_load_config.stop()55        self.mock_execute_show_command.stop()56    def load_fixtures(self, commands=None):57        def load_from_file(*args, **kwargs):58            return load_fixture("ios_prefix_lists.cfg")59        self.execute_show_command.side_effect = load_from_file60    def test_ios_prefix_lists_merged(self):61        set_module_args(62            dict(63                config=[64                    dict(65                        afi="ipv4",66                        prefix_lists=[67                            dict(68                                description="this is merge test",69                                entries=[70                                    dict(71                                        action="deny",72                                        ge=10,73                                        le=15,74                                        prefix="25.0.0.0/8",75                                        sequence=25,76                                    )77                                ],78                                name="10",79                            ),80                            dict(81                                description="this is for prefix-list",82                                entries=[83                                    dict(84                                        action="deny",85                                        ge=10,86                                        le=15,87                                        prefix="35.0.0.0/8",88                                        sequence=5,89                                    ),90                                    dict(91                                        action="deny",92                                        ge=20,93                                        prefix="35.0.0.0/8",94                                        sequence=10,95                                    ),96                                ],97                                name="test_prefix",98                            ),99                        ],100                    ),101                    dict(102                        afi="ipv6",103                        prefix_lists=[104                            dict(105                                description="this is merged ipv6 prefix-list",106                                entries=[107                                    dict(108                                        action="deny",109                                        ge=80,110                                        le=100,111                                        prefix="2001:DB8:0:4::/64",112                                        sequence=20,113                                    )114                                ],115                                name="test_ipv6",116                            )117                        ],118                    ),119                ],120                state="merged",121            )122        )123        commands = [124            "ip prefix-list 10 description this is merge test",125            "ip prefix-list 10 seq 25 deny 25.0.0.0/8 ge 10 le 15",126            "ipv6 prefix-list test_ipv6 description this is merged ipv6 prefix-list",127            "ipv6 prefix-list test_ipv6 seq 20 deny 2001:DB8:0:4::/64 ge 80 le 100",128        ]129        result = self.execute_module(changed=True)130        self.assertEqual(sorted(result["commands"]), sorted(commands))131    def test_ios_prefix_lists_merged_idempotent(self):132        set_module_args(133            dict(134                config=[135                    dict(136                        afi="ipv4",137                        prefix_lists=[138                            dict(139                                description="this is test description",140                                entries=[141                                    dict(142                                        action="deny",143                                        le=15,144                                        prefix="1.0.0.0/8",145                                        sequence=5,146                                    ),147                                    dict(148                                        action="deny",149                                        ge=10,150                                        prefix="35.0.0.0/8",151                                        sequence=10,152                                    ),153                                    dict(154                                        action="deny",155                                        ge=15,156                                        prefix="12.0.0.0/8",157                                        sequence=15,158                                    ),159                                    dict(160                                        action="deny",161                                        ge=20,162                                        le=21,163                                        prefix="14.0.0.0/8",164                                        sequence=20,165                                    ),166                                ],167                                name="10",168                            ),169                            dict(170                                description="this is test",171                                entries=[172                                    dict(173                                        action="deny",174                                        ge=15,175                                        prefix="12.0.0.0/8",176                                        sequence=50,177                                    )178                                ],179                                name="test",180                            ),181                            dict(182                                description="this is for prefix-list",183                                entries=[184                                    dict(185                                        action="deny",186                                        ge=10,187                                        le=15,188                                        prefix="35.0.0.0/8",189                                        sequence=5,190                                    ),191                                    dict(192                                        action="deny",193                                        ge=20,194                                        prefix="35.0.0.0/8",195                                        sequence=10,196                                    ),197                                ],198                                name="test_prefix",199                            ),200                        ],201                    ),202                    dict(203                        afi="ipv6",204                        prefix_lists=[205                            dict(206                                description="this is ipv6 prefix-list",207                                entries=[208                                    dict(209                                        action="deny",210                                        ge=80,211                                        prefix="2001:DB8:0:4::/64",212                                        sequence=10,213                                    )214                                ],215                                name="test_ipv6",216                            )217                        ],218                    ),219                ],220                state="merged",221            )222        )223        self.execute_module(changed=False, commands=[])224    def test_ios_prefix_lists_replaced(self):225        set_module_args(226            dict(227                config=[228                    dict(229                        afi="ipv4",230                        prefix_lists=[231                            dict(232                                description="this is replace test",233                                entries=[234                                    dict(235                                        action="deny",236                                        ge=15,237                                        prefix="12.0.0.0/8",238                                        sequence=15,239                                    ),240                                    dict(241                                        action="deny",242                                        ge=20,243                                        le=21,244                                        prefix="14.0.0.0/8",245                                        sequence=20,246                                    ),247                                ],248                                name="10",249                            ),250                            dict(251                                description="this is replace test",252                                entries=[253                                    dict(254                                        action="deny",255                                        ge=20,256                                        prefix="35.0.0.0/8",257                                        sequence=10,258                                    )259                                ],260                                name="test_replace",261                            ),262                        ],263                    ),264                    dict(265                        afi="ipv6",266                        prefix_lists=[267                            dict(268                                description="this is ipv6 replace test",269                                entries=[270                                    dict(271                                        action="deny",272                                        ge=80,273                                        le=100,274                                        prefix="2001:DB8:0:4::/64",275                                        sequence=10,276                                    )277                                ],278                                name="test_ipv6",279                            )280                        ],281                    ),282                ],283                state="replaced",284            )285        )286        commands = [287            "ip prefix-list 10 description this is replace test",288            "no ip prefix-list 10 seq 10 deny 35.0.0.0/8 ge 10",289            "no ip prefix-list 10 seq 5 deny 1.0.0.0/8 le 15",290            "ip prefix-list test_replace seq 10 deny 35.0.0.0/8 ge 20",291            "ip prefix-list test_replace description this is replace test",292            "no ipv6 prefix-list test_ipv6 seq 10 deny 2001:DB8:0:4::/64 ge 80",293            "ipv6 prefix-list test_ipv6 seq 10 deny 2001:DB8:0:4::/64 ge 80 le 100",294            "ipv6 prefix-list test_ipv6 description this is ipv6 replace test",295        ]296        result = self.execute_module(changed=True)297        self.assertEqual(sorted(result["commands"]), sorted(commands))298    def test_ios_prefix_lists_replaced_idempotent(self):299        set_module_args(300            dict(301                config=[302                    dict(303                        afi="ipv4",304                        prefix_lists=[305                            dict(306                                description="this is test description",307                                entries=[308                                    dict(309                                        action="deny",310                                        le=15,311                                        prefix="1.0.0.0/8",312                                        sequence=5,313                                    ),314                                    dict(315                                        action="deny",316                                        ge=10,317                                        prefix="35.0.0.0/8",318                                        sequence=10,319                                    ),320                                    dict(321                                        action="deny",322                                        ge=15,323                                        prefix="12.0.0.0/8",324                                        sequence=15,325                                    ),326                                    dict(327                                        action="deny",328                                        ge=20,329                                        le=21,330                                        prefix="14.0.0.0/8",331                                        sequence=20,332                                    ),333                                ],334                                name="10",335                            ),336                            dict(337                                description="this is test",338                                entries=[339                                    dict(340                                        action="deny",341                                        ge=15,342                                        prefix="12.0.0.0/8",343                                        sequence=50,344                                    )345                                ],346                                name="test",347                            ),348                            dict(349                                description="this is for prefix-list",350                                entries=[351                                    dict(352                                        action="deny",353                                        ge=10,354                                        le=15,355                                        prefix="35.0.0.0/8",356                                        sequence=5,357                                    ),358                                    dict(359                                        action="deny",360                                        ge=20,361                                        prefix="35.0.0.0/8",362                                        sequence=10,363                                    ),364                                ],365                                name="test_prefix",366                            ),367                        ],368                    ),369                    dict(370                        afi="ipv6",371                        prefix_lists=[372                            dict(373                                description="this is ipv6 prefix-list",374                                entries=[375                                    dict(376                                        action="deny",377                                        ge=80,378                                        prefix="2001:DB8:0:4::/64",379                                        sequence=10,380                                    )381                                ],382                                name="test_ipv6",383                            )384                        ],385                    ),386                ],387                state="replaced",388            )389        )390        self.execute_module(changed=False, commands=[])391    def test_ios_prefix_lists_overridden(self):392        set_module_args(393            dict(394                config=[395                    dict(396                        afi="ipv4",397                        prefix_lists=[398                            dict(399                                description="this is override test",400                                entries=[401                                    dict(402                                        action="deny",403                                        ge=15,404                                        prefix="12.0.0.0/8",405                                        sequence=15,406                                    ),407                                    dict(408                                        action="deny",409                                        ge=20,410                                        le=21,411                                        prefix="14.0.0.0/8",412                                        sequence=20,413                                    ),414                                ],415                                name="10",416                            ),417                            dict(418                                description="this is override test",419                                entries=[420                                    dict(421                                        action="deny",422                                        ge=20,423                                        prefix="35.0.0.0/8",424                                        sequence=10,425                                    )426                                ],427                                name="test_override",428                            ),429                        ],430                    ),431                    dict(432                        afi="ipv6",433                        prefix_lists=[434                            dict(435                                description="this is ipv6 override test",436                                entries=[437                                    dict(438                                        action="deny",439                                        ge=80,440                                        le=100,441                                        prefix="2001:DB8:0:4::/64",442                                        sequence=10,443                                    )444                                ],445                                name="test_ipv6",446                            )447                        ],448                    ),449                ],450                state="overridden",451            )452        )453        commands = [454            "no ip prefix-list test",455            "no ip prefix-list test_prefix",456            "ip prefix-list 10 description this is override test",457            "no ip prefix-list 10 seq 10 deny 35.0.0.0/8 ge 10",458            "no ip prefix-list 10 seq 5 deny 1.0.0.0/8 le 15",459            "ip prefix-list test_override seq 10 deny 35.0.0.0/8 ge 20",460            "ip prefix-list test_override description this is override test",461            "no ipv6 prefix-list test_ipv6 seq 10 deny 2001:DB8:0:4::/64 ge 80",462            "ipv6 prefix-list test_ipv6 seq 10 deny 2001:DB8:0:4::/64 ge 80 le 100",463            "ipv6 prefix-list test_ipv6 description this is ipv6 override test",464        ]465        result = self.execute_module(changed=True)466        self.assertEqual(sorted(result["commands"]), sorted(commands))467    def test_ios_prefix_lists_overridden_idempotent(self):468        set_module_args(469            dict(470                config=[471                    dict(472                        afi="ipv4",473                        prefix_lists=[474                            dict(475                                description="this is test description",476                                entries=[477                                    dict(478                                        action="deny",479                                        le=15,480                                        prefix="1.0.0.0/8",481                                        sequence=5,482                                    ),483                                    dict(484                                        action="deny",485                                        ge=10,486                                        prefix="35.0.0.0/8",487                                        sequence=10,488                                    ),489                                    dict(490                                        action="deny",491                                        ge=15,492                                        prefix="12.0.0.0/8",493                                        sequence=15,494                                    ),495                                    dict(496                                        action="deny",497                                        ge=20,498                                        le=21,499                                        prefix="14.0.0.0/8",500                                        sequence=20,501                                    ),502                                ],503                                name="10",504                            ),505                            dict(506                                description="this is test",507                                entries=[508                                    dict(509                                        action="deny",510                                        ge=15,511                                        prefix="12.0.0.0/8",512                                        sequence=50,513                                    )514                                ],515                                name="test",516                            ),517                            dict(518                                description="this is for prefix-list",519                                entries=[520                                    dict(521                                        action="deny",522                                        ge=10,523                                        le=15,524                                        prefix="35.0.0.0/8",525                                        sequence=5,526                                    ),527                                    dict(528                                        action="deny",529                                        ge=20,530                                        prefix="35.0.0.0/8",531                                        sequence=10,532                                    ),533                                ],534                                name="test_prefix",535                            ),536                        ],537                    ),538                    dict(539                        afi="ipv6",540                        prefix_lists=[541                            dict(542                                description="this is ipv6 prefix-list",543                                entries=[544                                    dict(545                                        action="deny",546                                        ge=80,547                                        prefix="2001:DB8:0:4::/64",548                                        sequence=10,549                                    )550                                ],551                                name="test_ipv6",552                            )553                        ],554                    ),555                ],556                state="overridden",557            )558        )559        self.execute_module(changed=False, commands=[])560    def test_ios_prefix_lists_delete_without_config(self):561        set_module_args(dict(state="deleted"))562        commands = [563            "no ip prefix-list test",564            "no ip prefix-list 10",565            "no ip prefix-list test_prefix",566            "no ipv6 prefix-list test_ipv6",567        ]568        result = self.execute_module(changed=True)569        self.assertEqual(sorted(result["commands"]), sorted(commands))570    def test_ios_prefix_lists_rendered(self):571        set_module_args(572            dict(573                config=[574                    dict(575                        afi="ipv4",576                        prefix_lists=[577                            dict(578                                description="this is merge test",579                                entries=[580                                    dict(581                                        action="deny",582                                        ge=10,583                                        le=15,584                                        prefix="25.0.0.0/8",585                                        sequence=25,586                                    )587                                ],588                                name="10",589                            ),590                            dict(591                                description="this is for prefix-list",592                                entries=[593                                    dict(594                                        action="deny",595                                        ge=10,596                                        le=15,597                                        prefix="35.0.0.0/8",598                                        sequence=5,599                                    ),600                                    dict(601                                        action="deny",602                                        ge=20,603                                        prefix="35.0.0.0/8",604                                        sequence=10,605                                    ),606                                ],607                                name="test_prefix",608                            ),609                        ],610                    ),611                    dict(612                        afi="ipv6",613                        prefix_lists=[614                            dict(615                                description="this is ipv6 prefix-list",616                                entries=[617                                    dict(618                                        action="deny",619                                        ge=80,620                                        le=100,621                                        prefix="2001:DB8:0:4::/64",622                                        sequence=10,623                                    )624                                ],625                                name="test_ipv6",626                            )627                        ],628                    ),629                ],630                state="rendered",631            )632        )633        commands = [634            "ip prefix-list 10 description this is merge test",635            "ip prefix-list 10 seq 25 deny 25.0.0.0/8 ge 10 le 15",636            "ip prefix-list test_prefix description this is for prefix-list",637            "ip prefix-list test_prefix seq 5 deny 35.0.0.0/8 ge 10 le 15",638            "ip prefix-list test_prefix seq 10 deny 35.0.0.0/8 ge 20",639            "ipv6 prefix-list test_ipv6 description this is ipv6 prefix-list",640            "ipv6 prefix-list test_ipv6 seq 10 deny 2001:DB8:0:4::/64 ge 80 le 100",641        ]642        result = self.execute_module(changed=False)...test-attr.py
Source:test-attr.py  
1#2# Copyright 2016 Midokura SARL3#4# Licensed under the Apache License, Version 2.0 (the "License");5# you may not use this file except in compliance with the License.6# You may obtain a copy of the License at7#8#     http://www.apache.org/licenses/LICENSE-2.09#10# Unless required by applicable law or agreed to in writing, software11# distributed under the License is distributed on an "AS IS" BASIS,12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.13# See the License for the specific language governing permissions and14# limitations under the License.15#16# This file is a handy way of setting attributes to test functions so it can17# be filtered by nose test tool using logical expressions.18#19# NOTE: this only works in nose, not in nose2, and the filename has to be20#       test*.py, and lexicographically first, so it is loaded before the21#       tests it is marking. Hence the current name of test-attr.py instead of22#       test_attr.py (since in ASCII '-' is placed before '_')23import test_bgp24import test_bgp_ip25import test_chains26import test_conn_tracking27import test_fip_icmp28import test_ipfrag29import test_ipv630import test_l2gw31import test_l4state32import test_load_balancer33import test_midolman_and_interfaces34import test_mirroring35import test_mmctl36import test_nat_router37import test_port_migration38import test_qos39import test_router_peering40import test_tracing41import test_vpnaas42import test_vxlangw43test_bgp.test_icmp_failback.slow = 144test_bgp.test_mn_1172.slow = 145test_bgp.test_multisession_icmp_failback.gate = 146test_bgp.test_multisession_icmp_with_redundancy.gate = 147test_bgp.test_snat.gate = 148test_bgp.test_snat.slow = 149test_bgp_ip.test_bgp_ip_basic.gate = 150test_chains.test_dst_mac_masking.gate = 151test_chains.test_filter_ipv6.gate = 152test_chains.test_filter_ipv6.slow = 053test_chains.test_src_mac_masking.gate = 154test_conn_tracking.test_connection_tracking_by_network_addres.gate = 155test_conn_tracking.test_connection_tracking_with_drop_by_dl.gate = 156test_conn_tracking.test_filtering_by_dl.gate = 157test_conn_tracking.test_filtering_by_network_address.gate = 158test_fip_icmp.test_traceroute.slow = 159test_ipfrag.test_icmp_bridge.gate = 160test_ipfrag.test_icmp_router.gate = 161test_ipfrag.test_udp_bridge.gate = 162test_ipfrag.test_udp_router.gate = 163test_ipv6.test_uplink_ipv6.gate = 164test_ipv6.test_ping_vm_ipv6.gate = 165test_ipv6.test_ping_multi_vms_ipv6.gate = 166test_ipv6.test_neutron_fip6.gate = 167test_ipv6.test_client_server_ipv6.gate = 168test_ipv6.test_lru.gate = 169test_ipv6.test_fip6reuse.gate = 170test_ipv6.test_2uplinks_assymetric.gate = 171test_ipv6.test_fragments.gate = 172test_ipv6.test_dual_stack_full.gate = 173test_l2gw.test_failback_on_generic_failure_with_icmp_from_mn.slow = 174test_l2gw.test_failback_on_generic_failure_with_icmp_to_mn.slow = 175test_l2gw.test_failback_on_ifdown_with_icmp_from_mn.slow = 176test_l2gw.test_failback_on_ifdown_with_icmp_to_mn.slow = 177test_l2gw.test_failover_on_generic_failure_with_icmp_to_mn.slow = 178test_l2gw.test_failover_on_ifdown_with_icmp_to_mn.slow = 179test_l2gw.test_icmp_from_mn.gate = 180test_l4state.test_distributed_l4_port_binding.gate = 181test_l4state.test_distributed_l4.gate = 182#test_load_balancer.test_multi_member_loadbalancing.gate = 183test_load_balancer.test_multi_member_loadbalancing.flaky = 184test_load_balancer.test_disabling_topology_loadbalancing.flaky = 185test_load_balancer.test_haproxy_failback.flaky = 186test_midolman_and_interfaces.test_host_status.gate = 187test_midolman_and_interfaces.test_new_interface_becomes_visible.gate = 188test_mirroring.test_mirroring_bridge_in.gate = 189test_mirroring.test_mirroring_bridge_out.gate = 190test_mirroring.test_mirroring_port.gate = 191test_mirroring.test_mirroring_router_in.gate = 192test_mmctl.test_mmctl_binding.gate = 193test_mmctl.test_mmctl_binding_without_mm_running.gate = 194test_mmctl.test_mmctl_unbinding_without_mm_running.gate = 195test_nat_router.test_dnat.gate = 196test_nat_router.test_dnat_for_udp.gate = 197test_nat_router.test_floating_ip.gate = 198test_nat_router.test_snat.gate = 199test_nat_router.test_snat_for_udp.gate = 1100test_port_migration.test_simple_port_migration.gate = 1101test_qos.test_qos_policy_update.gate = 1102test_qos.test_qos_bw_limit_on_port_with_burst.gate = 1103test_qos.test_qos_bw_limit_on_port_with_network_policy.gate = 1104test_router_peering.test_router_peering_basic.gate = 1105test_tracing.test_tracing_egress_matching.gate = 1106test_tracing.test_tracing_egress_matching_over_nat.gate = 1107test_tracing.test_tracing_with_limit.gate = 1108test_vpnaas.test_ping_between_three_sites.gate = 1109test_vpnaas.test_ping_between_three_sites.flaky = 1110test_vxlangw.test_to_multi_vtep_multi_tz.gate = 1111test_vxlangw.test_to_multi_vtep_single_tz.gate = 1112test_vxlangw.test_to_single_vtep_multi_bridge.gate = 1...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
