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 <d...@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 <d...@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-requ...@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-requ...@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-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to