Jump to: navigation, search

Difference between revisions of "Neutron Trunk API Performance and Scaling"

(local.conf)
Line 43: Line 43:
 
|}
 
|}
  
== local.conf ==
+
=== local.conf ===
  
 
only the relevant parts
 
only the relevant parts
Line 81: Line 81:
 
# NOTE this could have probably stayed the default and not make a difference
 
# NOTE this could have probably stayed the default and not make a difference
 
vif_plugging_timeout = 300
 
vif_plugging_timeout = 300
 +
</pre>
 +
 +
== workflow variations ==
 +
 +
pseudocode of test scripts
 +
 +
=== add subports before boot ===
 +
 +
<pre>
 +
for 1 parent port:
 +
    network create
 +
    subnet create
 +
    port create
 +
 +
for N subports:
 +
    network create
 +
    subnet create
 +
    port create
 +
 +
trunk create with N subports
 +
server create with parent port
 +
</pre>
 +
 +
=== add subports after boot, one by one ===
 +
 +
<pre>
 +
for 1 parent port:
 +
    network create
 +
    subnet create
 +
    port create
 +
 +
trunk create with 0 subports
 +
server create with parent port
 +
 +
for N subports:
 +
    network create
 +
    subnet create
 +
    port create
 +
    trunk set (add one subport)
 +
 +
port list
 +
port list --device-id server-uuid
 +
server show
 +
</pre>
 +
 +
=== add subports after boot, in batches ===
 +
 +
<pre>
 +
for 1 parent port:
 +
    network create
 +
    subnet create
 +
    port create
 +
 +
trunk create with 0 subports
 +
server create with parent port
 +
 +
for N batches of subports:
 +
    for M subports in a batch:
 +
        network create
 +
        subnet create
 +
        port create
 +
    trunk set (add M subports)
 +
 +
port list
 +
port list --device-id server-uuid
 +
server show
 
</pre>
 
</pre>

Revision as of 14:47, 2 December 2016

Back to Neutron/TrunkPort

Testbed

underlying hardware

CPU Intel(R) Core(TM) i7-4600M CPU @ 2.90GHz
RAM DDR3 Synchronous 1600 MHz

VM running devstack

vCPU count 2
RAM 6 GiB

software versions

2016 late november, cc. 6 weeks after the newton release

ubuntu 16.04.1
openvswitch 2.5.0-0ubuntu1
devstack a3bb131
neutron b8347e1
nova 2249898
python-neutronclient 36ad0b7
python-novaclient 6.0.0
python-openstackclient 3.3.0

local.conf

only the relevant parts

[[post-config|/etc/neutron/neutron.conf]]
[DEFAULT]
service_plugins = trunk,...
rpc_response_timeout = 600
[quotas]
default_quota = -1
quota_network = -1
quota_subnet = -1
quota_port = -1

[[post-config|/etc/neutron/plugins/ml2/ml2_conf.ini]]
[ml2]
mechanism_drivers = openvswitch,linuxbridge
tenant_network_types = vxlan,vlan
[ovs]
ovsdb_interface = native
of_interface = native
datapath_type = system
[securitygroup]
firewall_driver = openvswitch

[[post-config|/etc/neutron/dhcp_agent.ini]]
[DEFAULT]
enable_isolated_metadata = false

[[post-config|/etc/neutron/l3_agent.ini]]
[DEFAULT]
enable_metadata_proxy = false

[[post-config|/etc/nova/nova.conf]]
[DEFAULT]
# NOTE this could have probably stayed the default and not make a difference
vif_plugging_timeout = 300

workflow variations

pseudocode of test scripts

add subports before boot

for 1 parent port:
    network create
    subnet create
    port create

for N subports:
    network create
    subnet create
    port create

trunk create with N subports
server create with parent port

add subports after boot, one by one

for 1 parent port:
    network create
    subnet create
    port create

trunk create with 0 subports
server create with parent port

for N subports:
    network create
    subnet create
    port create
    trunk set (add one subport)

port list
port list --device-id server-uuid
server show

add subports after boot, in batches

for 1 parent port:
    network create
    subnet create
    port create

trunk create with 0 subports
server create with parent port

for N batches of subports:
    for M subports in a batch:
        network create
        subnet create
        port create
    trunk set (add M subports)

port list
port list --device-id server-uuid
server show