root / doc / design-openvswitch.rst @ 3771161c
History | View | Annotate | Download (2.2 kB)
1 |
======================== |
---|---|
2 |
Support for Open vSwitch |
3 |
======================== |
4 |
|
5 |
.. contents:: :depth: 3 |
6 |
|
7 |
This is a design document detailing the implementation of support for |
8 |
Open vSwitch in the Ganeti tool chain. |
9 |
|
10 |
Current state and shortcomings |
11 |
============================== |
12 |
|
13 |
At the moment Ganeti's support for Open vSwitch is very basic and |
14 |
limited to connecting instances to an existing vSwitch. |
15 |
|
16 |
The shortcomings of this approach are: |
17 |
|
18 |
1. The full functionality (VLANs, QoS and trunking) of Open vSwitch is not used. |
19 |
|
20 |
2. Open vSwitch cannot be managed centrally. |
21 |
|
22 |
Proposed changes |
23 |
---------------- |
24 |
1. Implement functions into gnt-network to manage Open vSwitch through Ganeti gnt-network |
25 |
should be able to create, modify and delete vSwitches. The resulting configuration shall |
26 |
automatically be done on all members of the node group. Connecting Ethernet devices to |
27 |
vSwitches should be managed through this interface as well. |
28 |
|
29 |
2. Implement VLAN-capabilities: Instances shall have additional information for every NIC: VLAN-ID |
30 |
and port type. These are used to determine their type of connection to Open vSwitch. This will |
31 |
require modifying the methods for instance creation and modification |
32 |
|
33 |
3. Implement NIC bonding: Functions to bond NICs for performance improvement, load-balancing and |
34 |
failover should be added. It is preferable to have a configuration option to determine the |
35 |
type of the trunk, as there are different types of trunks (LACP dynamic and static, different |
36 |
failover and load-balancing mechanisms) |
37 |
|
38 |
4. Set QoS level on per instance basis: Instances shall have an additional information: maximum |
39 |
bandwidth and maximum burst. This helps to balance the bandwidth needs between the VMs and to |
40 |
ensure fair sharing of the bandwidth. |
41 |
|
42 |
Configuration changes |
43 |
+++++++++++++++++++++ |
44 |
Instances shall be extended with configuration options for |
45 |
|
46 |
- VLAN-ID |
47 |
- port type (access port, trunk, hybrid) |
48 |
- maximum bandwidth |
49 |
- maximum burst rate |
50 |
|
51 |
New configuration objects need to be created for the Open vSwitch configuration. |
52 |
|
53 |
All these configuration changes need to be made available on the whole node group. |
54 |
|
55 |
.. vim: set textwidth=72 : |
56 |
.. Local Variables: |
57 |
.. mode: rst |
58 |
.. fill-column: 72 |
59 |
.. End: |