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

TommyLike Hu tommylikehu at gmail.com
Tue Oct 18 02:40:52 UTC 2016


Hmm,it's used to generate the ip address for validation or rule checking,
Meanwhile add some randomness. Of course it's unreasonable the case you
mentioned, please check the existed cases [1] and [2]

[1]
https://github.com/openstack/manila/blob/master/manila_tempest_tests/tests/api/base.py#L828
[2]
https://github.com/openstack/manila/blob/master/manila_tempest_tests/tests/api/test_replication.py#L76

Doug Hellmann <doug at doughellmann.com>于2016年10月18日周二 上午12:01写道:

> Excerpts from TommyLike Hu's message of 2016-10-17 14:46:36 +0000:
> > It's used in testcase already, and basic codes is from here:
> >
> https://github.com/openstack/manila/blob/master/manila_tempest_tests/utils.py#L93
>
> OK, I guess the real question I had is why use *random* addresses.
> Because that seems like a way to end up having two tests try to use the
> same address at the same time. If that did happen, would it cause
> conflicts or race conditions for the manila tests?
>
> >
> > Doug Hellmann <doug at doughellmann.com>于2016年10月17日周一 下午10:13写道:
> >
> > > 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
> > >
> > >
> __________________________________________________________________________
> > > OpenStack Development Mailing List (not for usage questions)
> > > Unsubscribe:
> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> > > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> > >
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20161018/c43b96c3/attachment.html>


More information about the OpenStack-dev mailing list