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

TommyLike Hu tommylikehu at gmail.com
Mon Oct 17 09:56:15 UTC 2016


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20161017/18900812/attachment.html>


More information about the OpenStack-dev mailing list