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

Doug Hellmann doug at doughellmann.com
Tue Oct 18 13:20:56 UTC 2016


Excerpts from Joshua Harlow's message of 2016-10-17 20:59:23 -0700:
> 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

Yes, thanks, Josh, that's what I was trying to ask.

Doug

> 
> 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