[openstack-dev] [oslo] Propose support generate IPv4 and IPv6 random address( or network) for documentation(test?)

Doug Hellmann doug at doughellmann.com
Mon Oct 17 14:11:21 UTC 2016


Excerpts from TommyLike Hu's message of 2016-10-17 09:56:15 +0000:
> When I handle some stuff related to Manila recently, I found a case which
> may be suitable for Oslo, Anyhow I put it in the maillist so it can be
> discussed before I put it in action.
> In testcase, we need a function(maybe 2) to generate random ip address (or
> network), also they should in the range of [1](ipv4 documentation range) or
> [2](ipv6 documentation range), this is the draft code for ipv4:
> 
> import six
> import random
> 
> 
> def rand_ipv4(network=False):
>     """This uses the TEST-NET-3 range of reserved IP addresses."""
> 
>     test_net_3 = '203.0.113.'
>     if network:
>         host_length = random.randint(0, 8)
>         address_segment = random.randint(0, 8 - host_length)
>         address_segment <<= host_length
>         address = test_net_3 + six.text_type(address_segment)
>         address = '/'.join((address,
>                             six.text_type(32 - host_length)))
>     else:
>         address = test_net_3 + six.text_type(random.randint(0, 255))
>     return address
> 
> The primary use case here is writing testcases,  I am not sure whether it
> is suitable here, or maybe I misunderstood the intention of TEST-NET-3,
> please leave any comment you like.
> 
> 
> [1]  https://tools.ietf.org/html/rfc5737
> [2]  https://tools.ietf.org/html/rfc5156

In what way are you using random addresses in tests?

Doug



More information about the OpenStack-dev mailing list