← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1326793] [NEW] VPNaaS enhance abstract methods for service driver APIs

 

Public bug reported:

Currently an ABC is defined (VPNPlugin) for the service driver APIs. For
some of the methods that must be implemented by the vendor and reference
service drivers, there is an abstract method defined in this class to
ensure that the child classes implement the method:

    @abc.abstractmethod
    def create_vpnservice(self, context, vpnservice):
        pass

    @abc.abstractmethod
    def update_vpnservice(
        self, context, old_vpnservice, vpnservice):
        pass

    @abc.abstractmethod
    def delete_vpnservice(self, context, vpnservice):
        pass

However, for other methods, there are no abstract methods defined in
VPNPlugin. Fortunately, the reference implmentation and every provider
currently implement these methods in their child classes, but it would
be good to enforce this in the ABC, so that any new service drivers will
be sure to implement.

This is a low-hanging fruit enhancement, ideal for new contributors.

** Affects: neutron
     Importance: Undecided
         Status: New


** Tags: vpnaas

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1326793

Title:
  VPNaaS enhance abstract methods for service driver APIs

Status in OpenStack Neutron (virtual network service):
  New

Bug description:
  Currently an ABC is defined (VPNPlugin) for the service driver APIs.
  For some of the methods that must be implemented by the vendor and
  reference service drivers, there is an abstract method defined in this
  class to ensure that the child classes implement the method:

      @abc.abstractmethod
      def create_vpnservice(self, context, vpnservice):
          pass

      @abc.abstractmethod
      def update_vpnservice(
          self, context, old_vpnservice, vpnservice):
          pass

      @abc.abstractmethod
      def delete_vpnservice(self, context, vpnservice):
          pass

  However, for other methods, there are no abstract methods defined in
  VPNPlugin. Fortunately, the reference implmentation and every provider
  currently implement these methods in their child classes, but it would
  be good to enforce this in the ABC, so that any new service drivers
  will be sure to implement.

  This is a low-hanging fruit enhancement, ideal for new contributors.

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1326793/+subscriptions


Follow ups

References