From 2a90b44ddd797b7e493bbfbe4de80115c96a9ab4 Mon Sep 17 00:00:00 2001 From: Jason Kölker Date: Thu, 16 Jun 2011 11:27:01 -0500 Subject: initial commit of multinic doc --- doc/source/devref/multinic.rst | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 doc/source/devref/multinic.rst (limited to 'doc/source') diff --git a/doc/source/devref/multinic.rst b/doc/source/devref/multinic.rst new file mode 100644 index 000000000..2a0101078 --- /dev/null +++ b/doc/source/devref/multinic.rst @@ -0,0 +1,26 @@ +MultiNic +======== + +What is it +---------- + +Multinic allows an instance to have more than one vif connected to it. Each vif is represenative of a separate network with its own IP block. + + + +Managers +-------- + +Each of the 3 network managers are designed to run indipendantly of the compute manager. They expose a common API for the compute manager to call to determine and configure the network(s) for an instance. Direct calls to either the network api or especially the DB should be avoided by the virt layers. + +Flat Examples +------------- + + + + +FlatDHCP Examples +----------------- + +VLAN Examples +------------- -- cgit From 9010195558be896bdf536003e00843019a1077d7 Mon Sep 17 00:00:00 2001 From: Jason Kölker Date: Thu, 16 Jun 2011 13:44:38 -0500 Subject: more doc (and by more I mean like 2 or 3 sentances) --- doc/source/devref/multinic.rst | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'doc/source') diff --git a/doc/source/devref/multinic.rst b/doc/source/devref/multinic.rst index 2a0101078..38e750a2d 100644 --- a/doc/source/devref/multinic.rst +++ b/doc/source/devref/multinic.rst @@ -13,14 +13,21 @@ Managers Each of the 3 network managers are designed to run indipendantly of the compute manager. They expose a common API for the compute manager to call to determine and configure the network(s) for an instance. Direct calls to either the network api or especially the DB should be avoided by the virt layers. -Flat Examples -------------- +Flat Manager +------------ + +The flat manager is most similar to a traditional switched network environment. It assumes that the IP routing, DNS, DHCP (possibly) and bridge creation is handled by something else. That is it makes no attemp to configure any of this. It does keep track of a range of IPs for the instances that are connected to the network to be allocated. +Each instance will get a fixed ip from each network's pool. The guest operating system may be configured to gather this information through an agent or by the hypervisor injecting the files, or it may ignore it completly and come up with only a layer 2 connection. -FlatDHCP Examples ------------------ +FlatDHCP Manager +---------------- -VLAN Examples -------------- + + + + +VLAN Manager +------------ -- cgit From c86bfba6e76f749626b2472ed5e3c6eadf9d5529 Mon Sep 17 00:00:00 2001 From: Jason Kölker Date: Thu, 16 Jun 2011 14:44:17 -0500 Subject: add the actual image --- doc/source/devref/multinic.rst | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'doc/source') diff --git a/doc/source/devref/multinic.rst b/doc/source/devref/multinic.rst index 38e750a2d..141763bd7 100644 --- a/doc/source/devref/multinic.rst +++ b/doc/source/devref/multinic.rst @@ -6,8 +6,6 @@ What is it Multinic allows an instance to have more than one vif connected to it. Each vif is represenative of a separate network with its own IP block. - - Managers -------- @@ -16,7 +14,7 @@ Each of the 3 network managers are designed to run indipendantly of the compute Flat Manager ------------ - + .. image:: /images/multinic_flat.png The flat manager is most similar to a traditional switched network environment. It assumes that the IP routing, DNS, DHCP (possibly) and bridge creation is handled by something else. That is it makes no attemp to configure any of this. It does keep track of a range of IPs for the instances that are connected to the network to be allocated. -- cgit From cedd8e5fe0189477bc0658990e7d8ba519d85d02 Mon Sep 17 00:00:00 2001 From: Jason Kölker Date: Thu, 16 Jun 2011 14:44:57 -0500 Subject: add multinic diagram --- doc/source/image_src/multinic_1.odg | Bin 0 -> 12839 bytes doc/source/images/multinic_flat.png | Bin 0 -> 50924 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 doc/source/image_src/multinic_1.odg create mode 100644 doc/source/images/multinic_flat.png (limited to 'doc/source') diff --git a/doc/source/image_src/multinic_1.odg b/doc/source/image_src/multinic_1.odg new file mode 100644 index 000000000..249c105fc Binary files /dev/null and b/doc/source/image_src/multinic_1.odg differ diff --git a/doc/source/images/multinic_flat.png b/doc/source/images/multinic_flat.png new file mode 100644 index 000000000..16d119686 Binary files /dev/null and b/doc/source/images/multinic_flat.png differ -- cgit From 69f346bd9dd5df3df74d18551429db8f310e8d24 Mon Sep 17 00:00:00 2001 From: Jason Kölker Date: Thu, 16 Jun 2011 14:57:22 -0500 Subject: remove the network-host fromt he flat diagram --- doc/source/image_src/multinic_1.odg | Bin 12839 -> 12363 bytes doc/source/images/multinic_flat.png | Bin 50924 -> 40871 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'doc/source') diff --git a/doc/source/image_src/multinic_1.odg b/doc/source/image_src/multinic_1.odg index 249c105fc..bbd76b10e 100644 Binary files a/doc/source/image_src/multinic_1.odg and b/doc/source/image_src/multinic_1.odg differ diff --git a/doc/source/images/multinic_flat.png b/doc/source/images/multinic_flat.png index 16d119686..e055e60e8 100644 Binary files a/doc/source/images/multinic_flat.png and b/doc/source/images/multinic_flat.png differ -- cgit From 829319649af615f2b4c51f8ffa9ce9f1a9e50295 Mon Sep 17 00:00:00 2001 From: Jason Kölker Date: Thu, 16 Jun 2011 15:36:29 -0500 Subject: add in dhcp drawing --- doc/source/devref/multinic.rst | 4 +++- doc/source/image_src/multinic_2.odg | Bin 0 -> 13425 bytes doc/source/images/multinic_dhcp.png | Bin 0 -> 54531 bytes 3 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 doc/source/image_src/multinic_2.odg create mode 100644 doc/source/images/multinic_dhcp.png (limited to 'doc/source') diff --git a/doc/source/devref/multinic.rst b/doc/source/devref/multinic.rst index 141763bd7..08617aab5 100644 --- a/doc/source/devref/multinic.rst +++ b/doc/source/devref/multinic.rst @@ -20,10 +20,12 @@ The flat manager is most similar to a traditional switched network environment. Each instance will get a fixed ip from each network's pool. The guest operating system may be configured to gather this information through an agent or by the hypervisor injecting the files, or it may ignore it completly and come up with only a layer 2 connection. +Flat manager requires at least one nova-network process running that will listen to the API queue and respond to queries. It does not need to sit on any of the networks but it does keep track of the ip's it hands out to instances. + FlatDHCP Manager ---------------- - + .. image:: /images/multinic_dhcp.png diff --git a/doc/source/image_src/multinic_2.odg b/doc/source/image_src/multinic_2.odg new file mode 100644 index 000000000..1f1e4251a Binary files /dev/null and b/doc/source/image_src/multinic_2.odg differ diff --git a/doc/source/images/multinic_dhcp.png b/doc/source/images/multinic_dhcp.png new file mode 100644 index 000000000..bce05b595 Binary files /dev/null and b/doc/source/images/multinic_dhcp.png differ -- cgit From 215452cb79e5d006ad57fbe206e886115b864ed0 Mon Sep 17 00:00:00 2001 From: Jason Kölker Date: Fri, 17 Jun 2011 10:46:14 -0500 Subject: add vlan diagram and some text --- doc/source/devref/multinic.rst | 16 ++++++++++------ doc/source/image_src/multinic_3.odg | Bin 0 -> 13598 bytes doc/source/images/multinic_vlan.png | Bin 0 -> 58552 bytes 3 files changed, 10 insertions(+), 6 deletions(-) create mode 100644 doc/source/image_src/multinic_3.odg create mode 100644 doc/source/images/multinic_vlan.png (limited to 'doc/source') diff --git a/doc/source/devref/multinic.rst b/doc/source/devref/multinic.rst index 08617aab5..2d2d1c452 100644 --- a/doc/source/devref/multinic.rst +++ b/doc/source/devref/multinic.rst @@ -4,30 +4,34 @@ MultiNic What is it ---------- -Multinic allows an instance to have more than one vif connected to it. Each vif is represenative of a separate network with its own IP block. +Multinic allows an instance to have more than one vif connected to it. Each vif is representative of a separate network with its own IP block. Managers -------- -Each of the 3 network managers are designed to run indipendantly of the compute manager. They expose a common API for the compute manager to call to determine and configure the network(s) for an instance. Direct calls to either the network api or especially the DB should be avoided by the virt layers. +Each of the network managers are designed to run independently of the compute manager. They expose a common API for the compute manager to call to determine and configure the network(s) for an instance. Direct calls to either the network api or especially the DB should be avoided by the virt layers. Flat Manager ------------ .. image:: /images/multinic_flat.png -The flat manager is most similar to a traditional switched network environment. It assumes that the IP routing, DNS, DHCP (possibly) and bridge creation is handled by something else. That is it makes no attemp to configure any of this. It does keep track of a range of IPs for the instances that are connected to the network to be allocated. +The Flat manager is most similar to a traditional switched network environment. It assumes that the IP routing, DNS, DHCP (possibly) and bridge creation is handled by something else. That is it makes no attempt to configure any of this. It does keep track of a range of IPs for the instances that are connected to the network to be allocated. -Each instance will get a fixed ip from each network's pool. The guest operating system may be configured to gather this information through an agent or by the hypervisor injecting the files, or it may ignore it completly and come up with only a layer 2 connection. +Each instance will get a fixed IP from each network's pool. The guest operating system may be configured to gather this information through an agent or by the hypervisor injecting the files, or it may ignore it completely and come up with only a layer 2 connection. -Flat manager requires at least one nova-network process running that will listen to the API queue and respond to queries. It does not need to sit on any of the networks but it does keep track of the ip's it hands out to instances. +Flat manager requires at least one nova-network process running that will listen to the API queue and respond to queries. It does not need to sit on any of the networks but it does keep track of the IPs it hands out to instances. FlatDHCP Manager ---------------- .. image:: /images/multinic_dhcp.png - +FlatDHCP manager builds on the the Flat manager adding dnsmask (DNS and DHCP) and radvd (Router Advertisement) servers on the bridge for that network. The services run on the host that is assigned to that nework. VLAN Manager ------------ + + .. image:: /images/multinic_vlan.png + +The VLAN manager sets up forwarding to/from a cloudpipe instance in addition to providing dnsmask (DNS and DHCP) and radvd (Router Advertisement) services for each network. diff --git a/doc/source/image_src/multinic_3.odg b/doc/source/image_src/multinic_3.odg new file mode 100644 index 000000000..d29e16353 Binary files /dev/null and b/doc/source/image_src/multinic_3.odg differ diff --git a/doc/source/images/multinic_vlan.png b/doc/source/images/multinic_vlan.png new file mode 100644 index 000000000..9b0e4fd63 Binary files /dev/null and b/doc/source/images/multinic_vlan.png differ -- cgit From 16c481fc6c26877f78c75122c316c22cd216e3c3 Mon Sep 17 00:00:00 2001 From: Jason Kölker Date: Fri, 17 Jun 2011 11:49:20 -0500 Subject: more words --- doc/source/devref/multinic.rst | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'doc/source') diff --git a/doc/source/devref/multinic.rst b/doc/source/devref/multinic.rst index 2d2d1c452..b3a82d341 100644 --- a/doc/source/devref/multinic.rst +++ b/doc/source/devref/multinic.rst @@ -11,6 +11,8 @@ Managers Each of the network managers are designed to run independently of the compute manager. They expose a common API for the compute manager to call to determine and configure the network(s) for an instance. Direct calls to either the network api or especially the DB should be avoided by the virt layers. +On startup a manager looks in the networks table for networks it is assigned and configures itself to support that network. Using the periodic task, they will claim new networks that have no host set. Only one network per network-host will be claimed at a time. This allows for psuedo-loadbalancing if there are multiple network-hosts running. + Flat Manager ------------ @@ -27,11 +29,11 @@ FlatDHCP Manager .. image:: /images/multinic_dhcp.png -FlatDHCP manager builds on the the Flat manager adding dnsmask (DNS and DHCP) and radvd (Router Advertisement) servers on the bridge for that network. The services run on the host that is assigned to that nework. +FlatDHCP manager builds on the the Flat manager adding dnsmask (DNS and DHCP) and radvd (Router Advertisement) servers on the bridge for that network. The services run on the host that is assigned to that nework. The FlatDHCP manager will create its bridge as specified when the network was created on the network-host when the network host starts up or when a new network gets allocated to that host. Compute nodes will also create the bridges as necessary and connect instance VIFs to them. VLAN Manager ------------ .. image:: /images/multinic_vlan.png -The VLAN manager sets up forwarding to/from a cloudpipe instance in addition to providing dnsmask (DNS and DHCP) and radvd (Router Advertisement) services for each network. +The VLAN manager sets up forwarding to/from a cloudpipe instance in addition to providing dnsmask (DNS and DHCP) and radvd (Router Advertisement) services for each network. The manager will create its bridge as specified when the network was created on the network-host when the network host starts up or when a new network gets allocated to that host. Compute nodes will also create the bridges as necessary and conenct instance VIFs to them. -- cgit