>>But, to not hinder you to much we could go a "include and register >>API if it's installed" approach, e.g., someting like pve-firewall >>does for qemu-server and container (it does it for other reasons but, >>the principle would stay the same):
Yes, no problem , good idea. (Like this users could also test/review it). I'll test that today, but I think it should work without problem. I'll try to send patch for pvestatd too this week, I'll do it the same way. ----- Mail original ----- De: "Thomas Lamprecht" <t.lampre...@proxmox.com> À: "pve-devel" <pve-devel@pve.proxmox.com>, "aderumier" <aderum...@odiso.com> Envoyé: Lundi 24 Juin 2019 07:31:03 Objet: Re: [pve-devel] [PATCH pve-manager 1/2] api2 : cluster: add sdn api endpoint On 6/21/19 3:54 PM, Alexandre Derumier wrote: > Signed-off-by: Alexandre Derumier <aderum...@odiso.com> I would really like to avoid any hard dependency for now, until this is not more ready and more tested (@Stoiko ;)). But, to not hinder you to much we could go a "include and register API if it's installed" approach, e.g., someting like pve-firewall does for qemu-server and container (it does it for other reasons but, the principle would stay the same): https://git.proxmox.com/?p=pve-firewall.git;a=blob;f=src/PVE/Firewall.pm;h=b08cea57312b9e6a54680e24abced4e4de4c47be;hb=HEAD#l30 So do a guarded include, if it works also register the SDN api endpoint and return the "sdn" entry in the index call. With that one would simply needs to install pve-network to make the API available and test it quite easily. Would that sound OK for you? > --- > PVE/API2/Cluster.pm | 7 +++++++ > debian/control | 1 + > 2 files changed, 8 insertions(+) > > diff --git a/PVE/API2/Cluster.pm b/PVE/API2/Cluster.pm > index 8af5f3f0..c826aecf 100644 > --- a/PVE/API2/Cluster.pm > +++ b/PVE/API2/Cluster.pm > @@ -23,6 +23,7 @@ use PVE::Firewall; > use PVE::API2::Firewall::Cluster; > use PVE::API2::ReplicationConfig; > use PVE::API2::ACMEAccount; > +use PVE::API2::Network::SDN; > > use base qw(PVE::RESTHandler); > > @@ -56,6 +57,11 @@ __PACKAGE__->register_method ({ > path => 'acme', > }); > > +__PACKAGE__->register_method ({ > + subclass => "PVE::API2::Network::SDN", > + path => 'sdn', > +}); > + > my $dc_schema = PVE::Cluster::get_datacenter_schema(); > my $dc_properties = { > delete => { > @@ -103,6 +109,7 @@ __PACKAGE__->register_method ({ > { name => 'config' }, > { name => 'acme' }, > { name => 'ceph' }, > + { name => 'sdn' }, > ]; > > return $result; > diff --git a/debian/control b/debian/control > index 9ab0a7cd..1d94d3c8 100644 > --- a/debian/control > +++ b/debian/control > @@ -47,6 +47,7 @@ Depends: apt-transport-https, > libpve-guest-common-perl (>= 2.0-14), > libpve-http-server-perl (>= 2.0-12), > libpve-storage-perl (>= 6.0-1), > + libpve-network-perl, > librados2-perl, > libtemplate-perl, > libterm-readline-gnu-perl, > _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel