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

Joshua Harlow harlowja at fastmail.com
Tue Oct 18 03:59:23 UTC 2016


I think doug (he can correct me if I am wrong) was more wondering the 
question of 'why would you want to use random data' in a test vs using 
known fixed data. When a test fails it can be quite hard to identify the 
reason if certain data that the test uses is randomized for each run.

Randomness might be useful, but it has always made me feel like 
something is off when you see to much of it in tests...

-Josh

TommyLike Hu wrote:
> 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 <mailto: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
>     <mailto: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://OpenStack-dev-request@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://OpenStack-dev-request@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



More information about the OpenStack-dev mailing list