public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH pve-network 00/38] add subnet plugin
@ 2020-11-08 14:19 Alexandre Derumier
  2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 01/38] vnets: add subnets Alexandre Derumier
                   ` (38 more replies)
  0 siblings, 39 replies; 41+ messages in thread
From: Alexandre Derumier @ 2020-11-08 14:19 UTC (permalink / raw)
  To: pve-devel

This patch series add basic subnets managements.
(need pve-cluster V5 patch series)

Subnets will be use for multiple things:
- defined gateway ip on vnets
- enable snat on a subnet
- add cloudnit|dhcp default network configs (gateway, static routes, nameservers,searchdomain,....)
- add ipam management. (ip registrations to external ipam, for vm|ct ip management)
- add dns registration. (reverse dns for subnet, and searchdomain regisration in external dns like powerdns )
- ...


Already implemented:

- gateway option is implemented:

It's currently replace ip management on vnets for layer3 plugins,
through the option "gateway".

If the option gateway is defined, for layer3 plugins (evpn && simple),
the ip will be used for the vnet.

A vnet can have multiple subnets, with multiples ipv4/ipv6.

- ipam
- dns registration


Changelog v2:

- add ipams plugins. Currently netbox && phpipam.
- the subnet && the subnet gateway are registered to ipam
- add/del/find_next_free ip are implemented, so it should be easy to use them in qemu && lxc config.

Changelog v3:

- add an internal ipam plugin

Changelog v4:

- fix pveipam plugin find_free_ip
- detect ipv4/ipv6 in find_free_ip

Changelog v5:

- add vnets add_ip,del_ip,... should be ok for use in lxc/qemuserver

Changelog v6:

- add dns plugins
- internal ipam fixes
- rework vnet-subnet association
- fixes && cleanup

Changelog v7:

- add snat to simple|evpn plugin
- cleanup subnet options
- fix reversedns

Changelog v8:

- move subnet api to /sdn/vnet/<vnet>/subnet
- make ipam non optionnal && use pve ipam as default
- don't allow subnets on vlanaware vnet
- fixes && cleanup

Changelog v9:

- write running config on commit in /etc/pve/sdn/.running-config
  and use it as source for config generation,status

Changelog v10:

- move ipams/dns options from subnets to zone
- add hostname/description to ipam db
- cleanup && bugfix

Changelog v11:
- vnets: remove unused hash:diff
- evpn plugin improvements


Alexandre Derumier (38):
  vnets: add subnets
  add subnets verifications hooks
  zones: simple|evpn: add gateway ip from subnets to vnet
  zone: add vnet_update_hook
  vnets: subnets: use cidr
  subnet: fix on_delete_hook
  api2: subnet create: convert cidr to subnetid
  api2: increase version on apply/reload only
  add ipams plugins
  add pve internal ipam plugin
  vnets: find_free_ip : add ipversion detection
  vnets: add add_ip
  vnets: add del_ip + rework add_ip/find_free_ip
  add dns plugin
  Fix vnet gateway for routed setup + /32 pointopoint subnet
  ipam : pveplugin : fix find_next_free_ip
  add vnet to subnets && remove subnetlist from vnet
  zones: evpn|simple: add snat iptables rules
  subnet: disable route option for now and add dns domain format
  dns: fix reverse dns
  subnets: move api to /sdn/vnet/<vnet>/subnets && make vnet option not
    optionnal
  zones: evpn : fix raise exception
  subnet: make ipam not optionnal and use pve ipam as default
  don't allow subnets on vlanware vnet
  generate sdn/.running-config on apply
  api: add running/pending zones/vnets/subnets/controllers
  small bugfixes
  move dns options from subnets to zone
  move ipam option from subnet to zone
  subnets/ipam: allow same subnet on different zones
  vnets: allow duplicate tags in differents zones
  ipam: verify api access  on create/update
  ipam: add hostname/description to ipam db
  update documentation
  vnets: remove unused hash:diff
  zones: auto find controller
  sdn: controllers : add ebgp support
  update test documentation

 PVE/API2/Network/SDN.pm                   |  18 +-
 PVE/API2/Network/SDN/Controllers.pm       |  59 ++++-
 PVE/API2/Network/SDN/Dns.pm               | 242 ++++++++++++++++++++
 PVE/API2/Network/SDN/Ipams.pm             | 248 +++++++++++++++++++++
 PVE/API2/Network/SDN/Makefile             |   2 +-
 PVE/API2/Network/SDN/Subnets.pm           | 120 ++++++++--
 PVE/API2/Network/SDN/Vnets.pm             |  80 ++++++-
 PVE/API2/Network/SDN/Zones.pm             | 101 ++++++++-
 PVE/Network/SDN.pm                        | 102 +++++++--
 PVE/Network/SDN/Controllers.pm            |  47 ++--
 PVE/Network/SDN/Controllers/EvpnPlugin.pm |  21 +-
 PVE/Network/SDN/Controllers/Plugin.pm     |   1 +
 PVE/Network/SDN/Dns.pm                    |  57 +++++
 PVE/Network/SDN/Dns/Makefile              |   8 +
 PVE/Network/SDN/Dns/Plugin.pm             | 118 ++++++++++
 PVE/Network/SDN/Dns/PowerdnsPlugin.pm     | 255 ++++++++++++++++++++++
 PVE/Network/SDN/Ipams.pm                  |  70 ++++++
 PVE/Network/SDN/Ipams/Makefile            |   8 +
 PVE/Network/SDN/Ipams/NetboxPlugin.pm     | 189 ++++++++++++++++
 PVE/Network/SDN/Ipams/PVEPlugin.pm        | 204 +++++++++++++++++
 PVE/Network/SDN/Ipams/PhpIpamPlugin.pm    | 217 ++++++++++++++++++
 PVE/Network/SDN/Ipams/Plugin.pm           | 131 +++++++++++
 PVE/Network/SDN/Makefile                  |   4 +-
 PVE/Network/SDN/SubnetPlugin.pm           | 124 +++++++----
 PVE/Network/SDN/Subnets.pm                | 238 +++++++++++++++++++-
 PVE/Network/SDN/VnetPlugin.pm             |  37 ++--
 PVE/Network/SDN/Vnets.pm                  |  92 +++++++-
 PVE/Network/SDN/Zones.pm                  |  51 +++--
 PVE/Network/SDN/Zones/EvpnPlugin.pm       |  98 +++++++--
 PVE/Network/SDN/Zones/FaucetPlugin.pm     |   4 +
 PVE/Network/SDN/Zones/Plugin.pm           |  16 +-
 PVE/Network/SDN/Zones/QinQPlugin.pm       |  26 ++-
 PVE/Network/SDN/Zones/SimplePlugin.pm     |  73 ++++++-
 PVE/Network/SDN/Zones/VlanPlugin.pm       |  28 ++-
 PVE/Network/SDN/Zones/VxlanPlugin.pm      |  30 ++-
 debian/control                            |   2 +
 test/documentation.txt                    |  33 ++-
 test/generateconfig.pl                    |   5 +-
 38 files changed, 2942 insertions(+), 217 deletions(-)
 create mode 100644 PVE/API2/Network/SDN/Dns.pm
 create mode 100644 PVE/API2/Network/SDN/Ipams.pm
 create mode 100644 PVE/Network/SDN/Dns.pm
 create mode 100644 PVE/Network/SDN/Dns/Makefile
 create mode 100644 PVE/Network/SDN/Dns/Plugin.pm
 create mode 100644 PVE/Network/SDN/Dns/PowerdnsPlugin.pm
 create mode 100644 PVE/Network/SDN/Ipams.pm
 create mode 100644 PVE/Network/SDN/Ipams/Makefile
 create mode 100644 PVE/Network/SDN/Ipams/NetboxPlugin.pm
 create mode 100644 PVE/Network/SDN/Ipams/PVEPlugin.pm
 create mode 100644 PVE/Network/SDN/Ipams/PhpIpamPlugin.pm
 create mode 100644 PVE/Network/SDN/Ipams/Plugin.pm

-- 
2.20.1




^ permalink raw reply	[flat|nested] 41+ messages in thread

end of thread, other threads:[~2020-11-23 10:04 UTC | newest]

Thread overview: 41+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-08 14:19 [pve-devel] [PATCH pve-network 00/38] add subnet plugin Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 01/38] vnets: add subnets Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 02/38] add subnets verifications hooks Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 03/38] zones: simple|evpn: add gateway ip from subnets to vnet Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 04/38] zone: add vnet_update_hook Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 05/38] vnets: subnets: use cidr Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 06/38] subnet: fix on_delete_hook Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 07/38] api2: subnet create: convert cidr to subnetid Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 08/38] api2: increase version on apply/reload only Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 09/38] add ipams plugins Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 10/38] add pve internal ipam plugin Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 11/38] vnets: find_free_ip : add ipversion detection Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 12/38] vnets: add add_ip Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 13/38] vnets: add del_ip + rework add_ip/find_free_ip Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 14/38] add dns plugin Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 15/38] Fix vnet gateway for routed setup + /32 pointopoint subnet Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 16/38] ipam : pveplugin : fix find_next_free_ip Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 17/38] add vnet to subnets && remove subnetlist from vnet Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 18/38] zones: evpn|simple: add snat iptables rules Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 19/38] subnet: disable route option for now and add dns domain format Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 20/38] dns: fix reverse dns Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 21/38] subnets: move api to /sdn/vnet/<vnet>/subnets && make vnet option not optionnal Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 22/38] zones: evpn : fix raise exception Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 23/38] subnet: make ipam not optionnal and use pve ipam as default Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 24/38] don't allow subnets on vlanware vnet Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 25/38] generate sdn/.running-config on apply Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 26/38] api: add running/pending zones/vnets/subnets/controllers Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 27/38] small bugfixes Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 28/38] move dns options from subnets to zone Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 29/38] move ipam option from subnet " Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 30/38] subnets/ipam: allow same subnet on different zones Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 31/38] vnets: allow duplicate tags in differents zones Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 32/38] ipam: verify api access on create/update Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 33/38] ipam: add hostname/description to ipam db Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 34/38] update documentation Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 35/38] vnets: remove unused hash:diff Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 36/38] zones: auto find controller Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 37/38] sdn: controllers : add ebgp support Alexandre Derumier
2020-11-08 14:19 ` [pve-devel] [PATCH pve-network 38/38] update test documentation Alexandre Derumier
2020-11-22 18:17 ` [pve-devel] [PATCH pve-network 00/38] add subnet plugin Thomas Lamprecht
2020-11-23 10:04   ` alexandre derumier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal