<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi Yang,<div class=""><br class=""></div><div class=""><blockquote type="cite" class=""><div dir="auto" class=""><div class="">Another confusion I have is about network_vlan_ranges. Is this network VLAN id range?</div></div></blockquote><div class=""><br class=""></div>Yes, it is. But the range is only used for tenant networks when tenant_network_types == vlan. Neutron will automatically assign a vlan ID from this range when a user creates a network.</div><div class=""><br class=""><blockquote type="cite" class=""><div dir="auto" class=""><div class="">If so, does it has to match external network? </div></div></blockquote><div class=""><br class=""></div><div class="">No. In fact, I wouldn’t include the external vlan ID at all. Admins can specify any vlan ID when creating a network and are not limited to the configuration. That would leave you with this configuration:</div><div class=""><span class="crayon-v" style="background-color: rgba(255, 255, 255, 0); box-sizing: inherit; height: inherit;"><br class=""></span></div><div class=""><span class="crayon-v" style="background-color: rgba(255, 255, 255, 0); box-sizing: inherit; height: inherit;">network_vlan_ranges</span><span class="crayon-h" style="background-color: rgba(255, 255, 255, 0); box-sizing: inherit; height: inherit;"> </span><span class="crayon-o" style="background-color: rgba(255, 255, 255, 0); box-sizing: inherit; height: inherit;">=</span><span class="crayon-h" style="background-color: rgba(255, 255, 255, 0); box-sizing: inherit; height: inherit;"> </span><span class="crayon-i" style="background-color: rgba(255, 255, 255, 0); box-sizing: inherit; height: inherit;">physnet1</span></div><br class=""><blockquote type="cite" class=""><div dir="auto" class=""><div class="">For example, we only have one external VLAN we can use as Our provider network and that VLAN id is 775 (xxx.xxx.xxx.0/26). Should I define network_vlan_ranges as following?</div></div></blockquote></div><div class=""><blockquote type="cite" class=""><div dir="auto" class=""><div class=""><div class="crayon-line" id="crayon-558e7fa9a75d4226670151-1" style="box-sizing: inherit; border: 0px; padding: 0px 5px; margin: 0px; height: inherit; background-position: 0px 50%;"><span class="crayon-e " style="box-sizing: inherit; height: inherit; background-color: rgba(255, 255, 255, 0);">[ml2]</span></div><div class="crayon-line crayon-striped-line" id="crayon-558e7fa9a75d4226670151-2" style="box-sizing: inherit; border: 0px; padding: 0px 5px; margin: 0px; height: inherit; background-position: 0px 50%;"><span class="" style="background-color: rgba(255, 255, 255, 0);"><span class="crayon-v" style="box-sizing: inherit; height: inherit;">type_drivers</span><span class="crayon-o" style="box-sizing: inherit; height: inherit;">=</span><span class="crayon-i" style="box-sizing: inherit; height: inherit;">vlan</span></span></div><div class="crayon-line crayon-striped-line" id="crayon-558e7fa9a75d4226670151-2" style="box-sizing: inherit; border: 0px; padding: 0px 5px; margin: 0px; height: inherit; background-position: 0px 50%;"><span class="" style="background-color: rgba(255, 255, 255, 0);"><span class="crayon-i" style="box-sizing: inherit; height: inherit;">tenant_network_types = vlan</span></span></div><div class="crayon-line" id="crayon-558e7fa9a75d4226670151-3" style="box-sizing: inherit; border: 0px; padding: 0px 5px; margin: 0px; height: inherit; background-position: 0px 50%;"><span class="" style="background-color: rgba(255, 255, 255, 0);"><span class="crayon-v" style="box-sizing: inherit; height: inherit;">mechanism_drivers</span><span class="crayon-o" style="box-sizing: inherit; height: inherit;">=</span><span class="crayon-i" style="box-sizing: inherit; height: inherit;">openvswitch</span></span></div><div class="crayon-line crayon-striped-line" id="crayon-558e7fa9a75d4226670151-4" style="box-sizing: inherit; border: 0px; padding: 0px 5px; margin: 0px; height: inherit; background-position: 0px 50%;"><span class="crayon-o" style="box-sizing: inherit; height: inherit; background-color: rgba(255, 255, 255, 0);">#</span></div><div class="crayon-line" id="crayon-558e7fa9a75d4226670151-5" style="box-sizing: inherit; border: 0px; padding: 0px 5px; margin: 0px; height: inherit; background-position: 0px 50%;"><span class="crayon-e " style="box-sizing: inherit; height: inherit; background-color: rgba(255, 255, 255, 0);">[ml2_type_vlan]</span></div><div class="crayon-line crayon-striped-line" id="crayon-558e7fa9a75d4226670151-6" style="box-sizing: inherit; border: 0px; padding: 0px 5px; margin: 0px; height: inherit; background-position: 0px 50%;"><span class="" style="background-color: rgba(255, 255, 255, 0);"><span class="crayon-o" style="box-sizing: inherit; height: inherit;">#</span><span class="crayon-h" style="box-sizing: inherit; height: inherit;"> </span><span class="crayon-i" style="box-sizing: inherit; height: inherit;">this</span><span class="crayon-h" style="box-sizing: inherit; height: inherit;"> </span><span class="crayon-i" style="box-sizing: inherit; height: inherit;">tells</span><span class="crayon-h" style="box-sizing: inherit; height: inherit;"> </span><span class="crayon-i" style="box-sizing: inherit; height: inherit;">Openstack</span><span class="crayon-h" style="box-sizing: inherit; height: inherit;"> </span><span class="crayon-i" style="box-sizing: inherit; height: inherit;">that</span><span class="crayon-h" style="box-sizing: inherit; height: inherit;"> </span><span class="crayon-i" style="box-sizing: inherit; height: inherit;">the</span><span class="crayon-h" style="box-sizing: inherit; height: inherit;"> </span><span class="crayon-i" style="box-sizing: inherit; height: inherit;">internal</span><span class="crayon-h" style="box-sizing: inherit; height: inherit;"> </span><span class="crayon-i" style="box-sizing: inherit; height: inherit;">name</span><span class="crayon-h" style="box-sizing: inherit; height: inherit;"> </span><span class="crayon-s" style="box-sizing: inherit; height: inherit;">"physnet1"</span><span class="crayon-h" style="box-sizing: inherit; height: inherit;"> </span><span class="crayon-i" style="box-sizing: inherit; height: inherit;">provides</span><span class="crayon-h" style="box-sizing: inherit; height: inherit;"> </span><span class="crayon-i" style="box-sizing: inherit; height: inherit;">the</span><span class="crayon-h" style="box-sizing: inherit; height: inherit;"> </span><span class="crayon-i" style="box-sizing: inherit; height: inherit;">vlan</span><span class="crayon-h" style="box-sizing: inherit; height: inherit;"> </span><span class="crayon-i" style="box-sizing: inherit; height: inherit;">range</span><span class="crayon-h" style="box-sizing: inherit; height: inherit;"> </span><span class="crayon-cn" style="box-sizing: inherit; height: inherit;">100</span><span class="crayon-o" style="box-sizing: inherit; height: inherit;">-</span><span class="crayon-cn" style="box-sizing: inherit; height: inherit;">199</span></span></div><div class="crayon-line" id="crayon-558e7fa9a75d4226670151-7" style="box-sizing: inherit; border: 0px; padding: 0px 5px; margin: 0px; height: inherit; background-position: 0px 50%;"><span class="" style="background-color: rgba(255, 255, 255, 0);"><span class="crayon-v" style="box-sizing: inherit; height: inherit;">network_vlan_ranges</span><span class="crayon-h" style="box-sizing: inherit; height: inherit;"> </span><span class="crayon-o" style="box-sizing: inherit; height: inherit;">=</span><span class="crayon-h" style="box-sizing: inherit; height: inherit;"> </span><span class="crayon-i" style="box-sizing: inherit; height: inherit;">physnet1</span><span class="crayon-o" style="box-sizing: inherit; height: inherit;">:775</span></span></div><div class="crayon-line crayon-striped-line" id="crayon-558e7fa9a75d4226670151-8" style="box-sizing: inherit; border: 0px; padding: 0px 5px; margin: 0px; height: inherit; background-position: 0px 50%;"><span class="crayon-o" style="box-sizing: inherit; height: inherit; background-color: rgba(255, 255, 255, 0);">#</span></div></div></div></blockquote></div><div class=""><div dir="auto" class=""><div class=""><div class="crayon-line crayon-striped-line" style="box-sizing: inherit; border: 0px; padding: 0px 5px; margin: 0px; height: inherit; background-position: 0px 50%;"><span class="crayon-o" style="box-sizing: inherit; height: inherit; background-color: rgba(255, 255, 255, 0);"><br class=""></span></div><div class="crayon-line crayon-striped-line" style="box-sizing: inherit; border: 0px; padding: 0px 5px; margin: 0px; height: inherit; background-position: 0px 50%;">If you do specify a range of one vlan, it would look like this:</div><div class="crayon-line crayon-striped-line" style="box-sizing: inherit; border: 0px; padding: 0px 5px; margin: 0px; height: inherit; background-position: 0px 50%;"><span class="crayon-v" style="background-color: rgba(255, 255, 255, 0); box-sizing: inherit; height: inherit;"><br class=""></span></div><div class="crayon-line crayon-striped-line" style="box-sizing: inherit; border: 0px; padding: 0px 5px; margin: 0px; height: inherit; background-position: 0px 50%;"><span class="crayon-v" style="background-color: rgba(255, 255, 255, 0); box-sizing: inherit; height: inherit;">network_vlan_ranges</span><span class="crayon-h" style="background-color: rgba(255, 255, 255, 0); box-sizing: inherit; height: inherit;"> </span><span class="crayon-o" style="background-color: rgba(255, 255, 255, 0); box-sizing: inherit; height: inherit;">=</span><span class="crayon-h" style="background-color: rgba(255, 255, 255, 0); box-sizing: inherit; height: inherit;"> </span><span class="crayon-i" style="background-color: rgba(255, 255, 255, 0); box-sizing: inherit; height: inherit;">physnet1</span><span class="crayon-o" style="background-color: rgba(255, 255, 255, 0); box-sizing: inherit; height: inherit;">:775:775</span></div><div class="crayon-line crayon-striped-line" style="box-sizing: inherit; border: 0px; padding: 0px 5px; margin: 0px; height: inherit; background-position: 0px 50%;"><br class=""></div><div class="crayon-line crayon-striped-line" style="box-sizing: inherit; border: 0px; padding: 0px 5px; margin: 0px; height: inherit; background-position: 0px 50%;">In the configuration you shared, users would be limited to creating vlan networks. If vlan 775 already exists as a provider network, then the tenant will get an error upon trying to create a network, since there are no vlans left for allocation. If you don’t have any vlans available other than 775 then you’ll need to look into using gre or vxlan instead to overcome that limitation.</div></div></div></div><div class=""><br class=""><div apple-content-edited="true" class="">
<div class=""><div class="">James</div></div>

</div>
<br class=""><div><blockquote type="cite" class=""><div class="">On Jun 27, 2015, at 6:47 AM, YANG LI <<a href="mailto:yangli@clemson.edu" class="">yangli@clemson.edu</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252" class="">

<div dir="auto" class="">
<div style="-webkit-text-size-adjust: auto;" class="">Thank you so much, James! This is so helpful. Another confusion I have is about network_vlan_ranges. Is this network VLAN id range? If so, does it has to match external network? For example, we only have one external
 VLAN we can use as Our provider network and that VLAN id is 775 (xxx.xxx.xxx.0/26). Should I define network_vlan_ranges as following?</div>
<div style="-webkit-text-size-adjust: auto;" class=""><br class="">
</div>
<div class="">
<div class="crayon-line" id="crayon-558e7fa9a75d4226670151-1" style="box-sizing: inherit; border: 0px; padding: 0px 5px; margin: 0px; height: inherit; background-position: 0px 50%;">
<span class="crayon-e " style="box-sizing: inherit; height: inherit; -webkit-text-size-adjust: auto; background-color: rgba(255, 255, 255, 0);">[ml2]</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-558e7fa9a75d4226670151-2" style="box-sizing: inherit; border: 0px; padding: 0px 5px; margin: 0px; height: inherit; background-position: 0px 50%;">
<span style="-webkit-text-size-adjust: auto; background-color: rgba(255, 255, 255, 0);" class=""><span class="crayon-v" style="box-sizing: inherit; height: inherit;">type_drivers</span><span class="crayon-o" style="box-sizing: inherit; height: inherit;">=</span><span class="crayon-i" style="box-sizing: inherit; height: inherit;">vlan</span></span></div>
<div class="crayon-line crayon-striped-line" id="crayon-558e7fa9a75d4226670151-2" style="box-sizing: inherit; border: 0px; padding: 0px 5px; margin: 0px; height: inherit; background-position: 0px 50%;">
<span style="background-color: rgba(255, 255, 255, 0);" class=""><span class="crayon-i" style="box-sizing: inherit; height: inherit; -webkit-text-size-adjust: auto;">tenant_network_types = vlan</span></span></div>
<div class="crayon-line" id="crayon-558e7fa9a75d4226670151-3" style="box-sizing: inherit; border: 0px; padding: 0px 5px; margin: 0px; height: inherit; background-position: 0px 50%;">
<span style="-webkit-text-size-adjust: auto; background-color: rgba(255, 255, 255, 0);" class=""><span class="crayon-v" style="box-sizing: inherit; height: inherit;">mechanism_drivers</span><span class="crayon-o" style="box-sizing: inherit; height: inherit;">=</span><span class="crayon-i" style="box-sizing: inherit; height: inherit;">openvswitch</span></span></div>
<div class="crayon-line crayon-striped-line" id="crayon-558e7fa9a75d4226670151-4" style="box-sizing: inherit; border: 0px; padding: 0px 5px; margin: 0px; height: inherit; background-position: 0px 50%;">
<span class="crayon-o" style="box-sizing: inherit; height: inherit; -webkit-text-size-adjust: auto; background-color: rgba(255, 255, 255, 0);">#</span></div>
<div class="crayon-line" id="crayon-558e7fa9a75d4226670151-5" style="box-sizing: inherit; border: 0px; padding: 0px 5px; margin: 0px; height: inherit; background-position: 0px 50%;">
<span class="crayon-e " style="box-sizing: inherit; height: inherit; -webkit-text-size-adjust: auto; background-color: rgba(255, 255, 255, 0);">[ml2_type_vlan]</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-558e7fa9a75d4226670151-6" style="box-sizing: inherit; border: 0px; padding: 0px 5px; margin: 0px; height: inherit; background-position: 0px 50%;">
<span style="-webkit-text-size-adjust: auto; background-color: rgba(255, 255, 255, 0);" class=""><span class="crayon-o" style="box-sizing: inherit; height: inherit;">#</span><span class="crayon-h" style="box-sizing: inherit; height: inherit;">
</span><span class="crayon-i" style="box-sizing: inherit; height: inherit;">this</span><span class="crayon-h" style="box-sizing: inherit; height: inherit;">
</span><span class="crayon-i" style="box-sizing: inherit; height: inherit;">tells</span><span class="crayon-h" style="box-sizing: inherit; height: inherit;">
</span><span class="crayon-i" style="box-sizing: inherit; height: inherit;">Openstack</span><span class="crayon-h" style="box-sizing: inherit; height: inherit;">
</span><span class="crayon-i" style="box-sizing: inherit; height: inherit;">that</span><span class="crayon-h" style="box-sizing: inherit; height: inherit;">
</span><span class="crayon-i" style="box-sizing: inherit; height: inherit;">the</span><span class="crayon-h" style="box-sizing: inherit; height: inherit;">
</span><span class="crayon-i" style="box-sizing: inherit; height: inherit;">internal</span><span class="crayon-h" style="box-sizing: inherit; height: inherit;">
</span><span class="crayon-i" style="box-sizing: inherit; height: inherit;">name</span><span class="crayon-h" style="box-sizing: inherit; height: inherit;">
</span><span class="crayon-s" style="box-sizing: inherit; height: inherit;">"physnet1"</span><span class="crayon-h" style="box-sizing: inherit; height: inherit;">
</span><span class="crayon-i" style="box-sizing: inherit; height: inherit;">provides</span><span class="crayon-h" style="box-sizing: inherit; height: inherit;">
</span><span class="crayon-i" style="box-sizing: inherit; height: inherit;">the</span><span class="crayon-h" style="box-sizing: inherit; height: inherit;">
</span><span class="crayon-i" style="box-sizing: inherit; height: inherit;">vlan</span><span class="crayon-h" style="box-sizing: inherit; height: inherit;">
</span><span class="crayon-i" style="box-sizing: inherit; height: inherit;">range</span><span class="crayon-h" style="box-sizing: inherit; height: inherit;">
</span><span class="crayon-cn" style="box-sizing: inherit; height: inherit;">100</span><span class="crayon-o" style="box-sizing: inherit; height: inherit;">-</span><span class="crayon-cn" style="box-sizing: inherit; height: inherit;">199</span></span></div>
<div class="crayon-line" id="crayon-558e7fa9a75d4226670151-7" style="box-sizing: inherit; border: 0px; padding: 0px 5px; margin: 0px; height: inherit; background-position: 0px 50%;">
<span style="-webkit-text-size-adjust: auto; background-color: rgba(255, 255, 255, 0);" class=""><span class="crayon-v" style="box-sizing: inherit; height: inherit;">network_vlan_ranges</span><span class="crayon-h" style="box-sizing: inherit; height: inherit;">
</span><span class="crayon-o" style="box-sizing: inherit; height: inherit;">=</span><span class="crayon-h" style="box-sizing: inherit; height: inherit;">
</span><span class="crayon-i" style="box-sizing: inherit; height: inherit;">physnet1</span><span class="crayon-o" style="box-sizing: inherit; height: inherit;">:775</span></span></div>
<div class="crayon-line crayon-striped-line" id="crayon-558e7fa9a75d4226670151-8" style="box-sizing: inherit; border: 0px; padding: 0px 5px; margin: 0px; height: inherit; background-position: 0px 50%;">
<span class="crayon-o" style="box-sizing: inherit; height: inherit; -webkit-text-size-adjust: auto; background-color: rgba(255, 255, 255, 0);">#</span></div>
<div style="-webkit-text-size-adjust: auto;" class=""><br class="">
</div>
Thanks,</div>
<div class="">Yang<br class="">
<span style="-webkit-text-size-adjust: auto;" class="">Sent from my iPhone</span></div>
<div style="-webkit-text-size-adjust: auto;" class=""><br class="">
On Jun 26, 2015, at 8:54 AM, "James Denton" <<a href="mailto:james.denton@rackspace.com" class="">james.denton@rackspace.com</a>> wrote:<br class="">
<br class="">
</div>
<blockquote type="cite" style="-webkit-text-size-adjust: auto;" class="">
<div class="">You can absolutely have instances in the same network span different compute nodes. As an admin, you can run ‘nova show <instanceid>’ and see the host in the output:
<div class=""><br class="">
</div>
<div class="">root@controller01:~# nova show 7bb18175-87da-4d1f-8dca-2ef07fee9d21 | grep host</div>
<div class="">
<div class="">| OS-EXT-SRV-ATTR:host                 | compute02                              |</div>
<div class=""><br class="">
</div>
<div class="">That info is not available to non-admin users by default.</div>
<div class=""><br class="">
</div>
<div apple-content-edited="true" class="">
<div class="">
<div class="">James </div>
</div>
</div>
<br class="">
<div class="">
<blockquote type="cite" class="">
<div class="">On Jun 26, 2015, at 7:38 AM, YANG LI <<a href="mailto:yangli@clemson.edu" class="">yangli@clemson.edu</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
Thanks, James for the explanation. it make more sense <a href="http://now.it/" class="">
now.</a> it is possible that a instances on same tenant network reside on different compute nodes right? how do I tell which compute node a instance is on? 
<div class=""><br class="">
</div>
<div class="">Thanks,</div>
<div class="">Yang<br class="">
<div class=""><br class="">
<div class="">
<blockquote type="cite" class="">
<div class="">On Jun 24, 2015, at 10:27 AM, James Denton <<a href="mailto:james.denton@rackspace.com" class="">james.denton@rackspace.com</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">Hello.<br class="">
<br class="">
<blockquote type="cite" class="">all three nodes will have eth0 on management/api network. since I am using ml2 plugin with vlan for tenant network, I think all compute node should have eth1 as the second nic on provider network. Is this correct?  I understand
 provider network is for instance to get external access  to internet, but how is instance live on compute1  communicate with instance live on compute2? are they also go through provider network?<br class="">
</blockquote>
<br class="">
In short, yes. If you’re connecting instances to vlan “provider” networks, traffic between instances on different compute nodes will traverse the “provider bridge”, get tagged out eth1, and hit the physical switching fabric. Your external gateway device could
 also sit in that vlan, and the default route on the instance would direct external traffic to that device.<br class="">
<br class="">
In reality, every network has ‘provider’ attributes that describe the network type, segmentation id, and bridge interface (for vlan/flat only). So tenant networks that leverage vlans would have provider attributes set by Neutron automatically based on the configuration
 set in the ML2 config file. If you use Neutron routers that connect to both ‘tenant’ vlan-based networks and external ‘provider’ networks, all of that traffic could traverse the same provider bridge on the controller/network node, but would be tagged accordingly
 based on the network (ie. vlan 100 for external network, vlan 200 for tenant network).<br class="">
<br class="">
Hope that’s not too confusing!<br class="">
<br class="">
James<br class="">
<br class="">
<blockquote type="cite" class="">On Jun 24, 2015, at 8:54 AM, YANG LI <<a href="mailto:yangli@clemson.edu" class="">yangli@clemson.edu</a>> wrote:<br class="">
<br class="">
I am working on install openstack from scratch, but get confused with network part. I want to have one controller node, two compute nodes.<br class="">
<br class="">
the controller node will only handle following services:<br class="">
glance-api<br class="">
glance-registry<br class="">
keystone<br class="">
nova-api<br class="">
nova-cert<br class="">
nova-conductor<br class="">
nova-consoleauth<br class="">
nova-novncproxy<br class="">
nova-scheduler<br class="">
qpid<br class="">
mysql<br class="">
neutron-server<br class="">
<br class="">
compute nodes will have following services:<br class="">
neutron-dhcp-agent<br class="">
neutron-l3-agent<br class="">
neutron-metadata-agent<br class="">
neutron-openvswitch-agent<br class="">
neutron-ovs-cleanup<br class="">
openvswtich<br class="">
nova-compute<br class="">
<br class="">
all three nodes will have eth0 on management/api network. since I am using ml2 plugin with vlan for tenant network, I think all compute node should have eth1 as the second nic on provider network. Is this correct?  I understand provider network is for instance
 to get external access  to internet, but how is instance live on compute1  communicate with instance live on compute2? are they also go through provider network?<br class="">
_______________________________________________<br class="">
Mailing list: <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack" class="">
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack</a><br class="">
Post to     : <a href="mailto:openstack@lists.openstack.org" class="">openstack@lists.openstack.org</a><br class="">
Unsubscribe : <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack" class="">
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack</a><br class="">
</blockquote>
<br class="">
</div>
</blockquote>
</div>
<br class="">
</div>
</div>
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</div>
</blockquote>
</div>

</div></blockquote></div><br class=""></div></body></html>