X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Flibraries%2Fpython%2FIPv4NodeAddress.py;h=27d55b7bb65ee96a4ed6f62971e7b5fe3bbb156a;hp=49ce41b25cfcc1efff069705d87673a6e879cab8;hb=4c6fe5602edcbd9857a846e5b13a21d5c671a2c8;hpb=da15035461569ea175aabbac1df735cd5598b0b3 diff --git a/resources/libraries/python/IPv4NodeAddress.py b/resources/libraries/python/IPv4NodeAddress.py index 49ce41b25c..27d55b7bb6 100644 --- a/resources/libraries/python/IPv4NodeAddress.py +++ b/resources/libraries/python/IPv4NodeAddress.py @@ -1,4 +1,4 @@ -# Copyright (c) 2016 Cisco and/or its affiliates. +# Copyright (c) 2018 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -13,25 +13,25 @@ """Robot framework variable file. - Create dictionary variable nodes_ipv4_addr of IPv4 addresses from - available networks. +Create dictionary variable nodes_ipv4_addr of IPv4 addresses from +available networks. """ + from ipaddress import IPv4Network from resources.libraries.python.topology import Topology # Default list of IPv4 subnets -IPV4_NETWORKS = ['20.20.20.0/24', - '10.10.10.0/24', - '1.1.1.0/30'] +IPV4_NETWORKS = ['192.168.{}.0/24'.format(i) for i in range(1, 100)] class IPv4NetworkGenerator(object): """IPv4 network generator.""" def __init__(self, networks): """ - :param networks: list of strings containing IPv4 subnet - with prefix length + :param networks: List of strings containing IPv4 subnet + with prefix length. + :type networks: list """ self._networks = list() for network in networks: @@ -42,8 +42,8 @@ class IPv4NetworkGenerator(object): def next_network(self): """ - :return: next network in form (IPv4Network, subnet) - :raises: StopIteration if there are no more elements. + :returns: Next network in form (IPv4Network, subnet). + :raises StopIteration: If there are no more elements. """ if len(self._networks): return self._networks.pop() @@ -53,15 +53,15 @@ class IPv4NetworkGenerator(object): def get_variables(nodes, networks=IPV4_NETWORKS[:]): """Special robot framework method that returns dictionary nodes_ipv4_addr, - mapping of node and interface name to IPv4 adddress. + mapping of node and interface name to IPv4 address. - :param nodes: Nodes of the test topology. - :param networks: list of available IPv4 networks - :type nodes: dict - :type networks: list + :param nodes: Nodes of the test topology. + :param networks: List of available IPv4 networks. + :type nodes: dict + :type networks: list - .. note:: - Robot framework calls it automatically. + .. note:: + Robot framework calls it automatically. """ topo = Topology() links = topo.get_links(nodes) @@ -79,7 +79,8 @@ def get_variables(nodes, networks=IPV4_NETWORKS[:]): port_idx = 0 ports = {} for node in nodes.values(): - if_name = topo.get_interface_by_link_name(node, link) + if_key = topo.get_interface_by_link_name(node, link) + if_name = topo.get_interface_name(node, if_key) if if_name is not None: port = {'addr': str(next(net_hosts)), 'node': node['host'],