Previously VPN service relied on default behaviours and an open
firewall. This specifies more values and ensures the firewall is
properly set. Additionally, test coverage is expanded.
Closes-Bug:1564213
Change-Id: Iefaccddaad54c412195802f97811722bb593b2ca
In order to remove the auto-addition of external networks, we need
to remove the assumption in the appliance that all routers have one.
This avoids adding external network related iptables rules when the
router config does not have an external port.
Change-Id: Ifaf53a26f6d89da199101f386f4674c9f39f8326
As of mitaka, the infra team won't have the resources available to
reasonably test py26, also the oslo team is dropping py26 support
from their libraries. sine we rely on oslo for a lot of our work,
and depend on infra for our CI, we should drop py26 support too.
Change-Id: I1c913919f0516ecdf54a7004f66a975a4a1be990
Closes-Bug: #1519510
This introduces the ability to create service manager drivers to handle
managing advanced services within the akanda-appliance.
It splits some common things into a System manager. Existing
stuff that is router-specific is moved to a Router manager and we begin
implementing LBAAS drivers using Nginx.
At the moment, configuration for which drivers are loaded by the appliance
code itself is stored in /etc/default/akanda-appliance. This is setup by
a DIB_* variable and accessed by the appliance via environment variable. We
should improve this later when we need to expose richer configuration to the
appliance.
We could and should work on the API for this. Currently, our v1
API is entirely router-specific. This adds to that and allows the
RUG to attach other advanced service configuratino data to the config
object it pushes. If the corresponding service's driver has been enabled
in the appliance, it will attempt to find that data and configure the
advanced service accordingly. Ideally, longterm we want a v2 API
that can reference all services the same. There's a few ugly compat
hacks added here to maintain compatability with where the RUG expects
certain router resources to be. We can evolve this over time.
Partially-implements: blueprint appliance-provisioning-driver
Depends-on: Ic19a883f56fb6d65a83b1f4d93b581f9e242d97f
Change-Id: I6048789ec15fad1dbc899cbbd82508433cb96d44
Also, fix a unit test that is failing with newer versions of mock,
which apparently changed the API around assert_has_calls()
Change-Id: Icf7f159fb37783a38a33759963f04f50ec05e262
Depends-on: Ide474eb90acf0d07a807c401173b1f14f351f1c9
updated setup.cfg with sections and
setup.py with packaging pbr
Partialy Implements: blueprint ci-updates
Change-Id: Ie4707c1bba741cbeb16f02312d5db8cc0c134b6a
Move the files around so that requirements, testing, and source are
clustered for the router component. The new organization also modifies
import paths to move modules into the akanda.router namespace. Tests
are also moved into a single heirarchy.