<div dir="ltr">It's used in testcase already, and basic codes is from here:  <a href="https://github.com/openstack/manila/blob/master/manila_tempest_tests/utils.py#L93">https://github.com/openstack/manila/blob/master/manila_tempest_tests/utils.py#L93</a><br><br><div class="gmail_quote"><div dir="ltr">Doug Hellmann <<a href="mailto:doug@doughellmann.com">doug@doughellmann.com</a>>于2016年10月17日周一 下午10:13写道:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Excerpts from TommyLike Hu's message of 2016-10-17 09:56:15 +0000:<br class="gmail_msg">
> When I handle some stuff related to Manila recently, I found a case which<br class="gmail_msg">
> may be suitable for Oslo, Anyhow I put it in the maillist so it can be<br class="gmail_msg">
> discussed before I put it in action.<br class="gmail_msg">
> In testcase, we need a function(maybe 2) to generate random ip address (or<br class="gmail_msg">
> network), also they should in the range of [1](ipv4 documentation range) or<br class="gmail_msg">
> [2](ipv6 documentation range), this is the draft code for ipv4:<br class="gmail_msg">
><br class="gmail_msg">
> import six<br class="gmail_msg">
> import random<br class="gmail_msg">
><br class="gmail_msg">
><br class="gmail_msg">
> def rand_ipv4(network=False):<br class="gmail_msg">
>     """This uses the TEST-NET-3 range of reserved IP addresses."""<br class="gmail_msg">
><br class="gmail_msg">
>     test_net_3 = '203.0.113.'<br class="gmail_msg">
>     if network:<br class="gmail_msg">
>         host_length = random.randint(0, 8)<br class="gmail_msg">
>         address_segment = random.randint(0, 8 - host_length)<br class="gmail_msg">
>         address_segment <<= host_length<br class="gmail_msg">
>         address = test_net_3 + six.text_type(address_segment)<br class="gmail_msg">
>         address = '/'.join((address,<br class="gmail_msg">
>                             six.text_type(32 - host_length)))<br class="gmail_msg">
>     else:<br class="gmail_msg">
>         address = test_net_3 + six.text_type(random.randint(0, 255))<br class="gmail_msg">
>     return address<br class="gmail_msg">
><br class="gmail_msg">
> The primary use case here is writing testcases,  I am not sure whether it<br class="gmail_msg">
> is suitable here, or maybe I misunderstood the intention of TEST-NET-3,<br class="gmail_msg">
> please leave any comment you like.<br class="gmail_msg">
><br class="gmail_msg">
><br class="gmail_msg">
> [1]  <a href="https://tools.ietf.org/html/rfc5737" rel="noreferrer" class="gmail_msg" target="_blank">https://tools.ietf.org/html/rfc5737</a><br class="gmail_msg">
> [2]  <a href="https://tools.ietf.org/html/rfc5156" rel="noreferrer" class="gmail_msg" target="_blank">https://tools.ietf.org/html/rfc5156</a><br class="gmail_msg">
<br class="gmail_msg">
In what way are you using random addresses in tests?<br class="gmail_msg">
<br class="gmail_msg">
Doug<br class="gmail_msg">
<br class="gmail_msg">
__________________________________________________________________________<br class="gmail_msg">
OpenStack Development Mailing List (not for usage questions)<br class="gmail_msg">
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" class="gmail_msg" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br class="gmail_msg">
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" class="gmail_msg" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br class="gmail_msg">
</blockquote></div></div>