Commit Graph

285 Commits

Author SHA1 Message Date
Alexandre Derumier
155fa5c731 cleanup code with wrong copy/paste from Storage
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2020-07-03 13:46:52 +02:00
Alexandre Derumier
1d44ce7047 vnet: make tag optional and verify value in zone plugins
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2020-07-03 13:46:52 +02:00
Alexandre Derumier
880ae857ba add simple plugin
allow to create standalone or simple routed vnets

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2020-07-03 13:46:52 +02:00
Thomas Lamprecht
fc197ef2b6 white space and other minor cleanups
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-07-03 13:46:43 +02:00
Fabian Grünbichler
8dbcb0dddd build: fix erroneous install with empty DESTDIR
dh calls make in the dh_auto_build step without setting DESTDIR, so the
missing empty default target meant that we'd install all the files to
the build system during dh_auto_build, and then install them again to
the tmp build dir during dh_auto_install. obviously the former is not
something we want to do ;)

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-07-01 10:31:43 +02:00
Fabian Grünbichler
c559eac1c3 remove more variable declarations with post-ifs
usage of $mtu is always guarded by an if itself anyway, so all of these
are redundant post-ifs and can be removed.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-07-01 10:16:38 +02:00
Fabian Grünbichler
3caa7687f9 split declaration and initialization with post-if
since combining them is undefined behaviour in perl and can cause
strange side-effects.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-07-01 09:57:34 +02:00
Alexandre Derumier
5a60da84d9 use PVE::Tools::split_list for ip lists
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2020-07-01 09:36:40 +02:00
Thomas Lamprecht
0f70063526 fixup: drop trailing whitespaces
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-06-25 13:41:28 +02:00
Alexandre Derumier
4d7cc94ffd improve status
check all plumbing interfaces needed for vnets

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2020-06-25 13:41:14 +02:00
Thomas Lamprecht
9a19045d37 bump version to 0.4-6
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-06-03 14:15:45 +02:00
Thomas Lamprecht
9ddc4a6f68 status: warn only once about old or void SDN interfaces config
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-06-03 13:19:26 +02:00
Thomas Lamprecht
22b244471f sdn: add generate controller/zone config helpers
mostly just to have a single method to call from manager

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-06-03 13:13:05 +02:00
Thomas Lamprecht
cd01a0c093 generate_etc_network_config: avoid warn line info
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-06-03 11:35:37 +02:00
Alexandre Derumier
f22398365f vlan: ovs : vlanaware: use 802.1q for tunnel
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2020-06-03 09:50:34 +02:00
Alexandre Derumier
9825bd7178 vlan: ovs: remove twice defined ovsbridge ports
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2020-06-03 09:50:34 +02:00
Alexandre Derumier
82159388f2 vlan|qinq: add mtu to ovsint link port
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2020-06-03 09:50:34 +02:00
Alexandre Derumier
ae3f4de815 catch errors on sdn config generation
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2020-06-03 09:50:34 +02:00
Alexandre Derumier
880f6d610f qinq|vlan: ovs: add ovsint interfaces to ovs-ports list
if not, on reload, interfaces are unplug/replugged with packet
loss.

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2020-06-03 09:50:34 +02:00
Alexandre Derumier
607db889f0 vlan: ovs: use dot1q-tunnel when vlanaware is enabled
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2020-06-03 09:50:34 +02:00
Alexandre Derumier
912fb4435d add vnet vlan-aware option
Some users would like to be able to defined vlans at
vm level, or allow trunks,  on top of already
tagged vnet. (including vlan on top of vxlan tunnel)

Allow it on all layer2 plugins, and add a warn
for evpn layer3 plugin.

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2020-06-03 09:50:34 +02:00
Thomas Lamprecht
1c95991c7f qinq: improve schema
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-19 21:38:53 +02:00
Thomas Lamprecht
f455c6863f bump version to 0.4-5
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-19 21:23:09 +02:00
Alexandre Derumier
ff3088cb29 vxlan: prefix interfaces
vnets can have random name, prefix other interfaces to avoid conflicts

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2020-05-19 21:20:46 +02:00
Alexandre Derumier
1de0abc095 evpn: prefix interfaces
vnets can have random name, prefix other interfaces to avoid conflicts

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2020-05-19 21:20:46 +02:00
Alexandre Derumier
3dfdc68465 qinq: use new model + ovs/classic bridge support
Always create a vnet bridge for each vnet, and avoid to tag
vm port directly.

As we don't manage tap|veth vlan tag in /etc/network/interfaces,
this could break on reload if user change vlan value on a vnet.

ovs
2020-05-19 21:20:46 +02:00
Alexandre Derumier
0be2f7ec82 vlan: use new model
Always create a vnet bridge for each vnet, and avoid to tag
vm port directly.

As we don't manage tap|veth vlan tag in /etc/network/interfaces,
this could break on reload if user change vlan value on a vnet.

ovs
2020-05-19 21:20:46 +02:00
Alexandre Derumier
3d273fa98d retrict vnet name to 8 characters
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2020-05-19 21:20:46 +02:00
Alexandre Derumier
4d7d91dae6 restrict zone name to 8 characters
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2020-05-19 21:20:46 +02:00
Thomas Lamprecht
14e55c650e api: fix reload all UPID handling
run_command returns the exit code, we need to parse out the UPID from
the outfunc.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-12 14:48:33 +02:00
Thomas Lamprecht
c239a193e1 bump version to 0.4-4
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-10 17:08:37 +02:00
Alexandre Derumier
7d1035b27a vlan plugin: add support for no vlan-aware bridge
Some users could have problem with vlan-aware and some nics.

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2020-05-08 11:52:11 +02:00
Thomas Lamprecht
74515f4295 d/control: recommend frr-pythontools, ifupdown2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-06 12:29:28 +02:00
Thomas Lamprecht
e0c1938335 zones: improve error messages and code style
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-06 12:29:06 +02:00
Stoiko Ivanov
06c870867f only parse version if local sdn file exists
if a file does not exist PVE::Tools::file_read_firstline returns undef.

This happens e.g. if you install the libpve-network-perl package before
creating the local sdn file.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2020-05-05 18:26:51 +02:00
Thomas Lamprecht
b27a097a56 bump version to 0.4-3
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-03 18:56:32 +02:00
Thomas Lamprecht
3d2cf5e17a d/triggers: activate-noawait pve-api-updates
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-03 18:56:32 +02:00
Thomas Lamprecht
28664c9bec sdn version: default to 0 for undef/empty-string
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-03 18:55:38 +02:00
Alexandre Derumier
6f4d061058 zones: status : use version to compare local sdn vs cluster sdn 2020-05-02 19:14:58 +02:00
Alexandre Derumier
0814c9a9f1 /etc/network/interfaces.d/sdn : add version 2020-05-02 19:14:58 +02:00
Alexandre Derumier
f9bc964082 sdn: use .version and global lock 2020-05-02 19:14:58 +02:00
Alexandre Derumier
f703d2ae09 remove .new files 2020-05-02 19:14:58 +02:00
Thomas Lamprecht
2d4c068e0f zones: sort network config keys when iterating for stabillity
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-04-09 10:27:53 +02:00
Thomas Lamprecht
a1ef0eb9c4 zones: code cleanup fallback to classic bridge case
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-04-09 10:27:24 +02:00
Thomas Lamprecht
41d40fb144 zones: factor out get_plugin_config
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-04-09 10:26:59 +02:00
Thomas Lamprecht
70da044264 sdn zones: indentation and whitespace cleanup
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-04-09 08:03:33 +02:00
Thomas Lamprecht
6933ca8916 sdn zones: add newline to warn
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-04-09 08:03:18 +02:00
Thomas Lamprecht
19d8e7995f bump version to 0.4-2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-04-08 19:58:14 +02:00
Alexandre Derumier
7129a3caf6 add get_local_vnets()
return the vnets of the localnode

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2020-03-27 07:45:34 +01:00
Thomas Lamprecht
afeeb0c5cf bump version to 0.4-1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-03-10 19:02:16 +01:00