We dont ever actually import this anywhere or depend on it as a python
dependency. Instead, its part of our diskimage-builder elements and
is largely an opinionated deployer choice we've made. The only purpose
having it in requirements.txt is to pull it in during installation, which
should be delegated to ansible/DIB instead.
This also manually sync's global-requirements along with the update.
Closes-bug: #1526527
Change-Id: I834efb47ccda02a5163c5083836ff29fdc3fdd6f
The gate's post-jobs run from a detached head. Using rev-parse yields
the last commit of master as opposed to the newly merged commit.
Use and parse git-log instead.
Change-Id: I2c4d8501191a95005e566f2c594a3d880b688096
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
This adds a little script to call DIB to build an appliance with the
currently checked out code, and adds a tox target to call that.
This'll mostly be used by the jenkins bot when doing image builds as
a post build job.
Change-Id: I636cd5c37884c5bf9bfe1051716e6c3790ed0165
This change makes the MGT API service fully configurable to either IPv4
or IPv6 address.
Implements blueprint: cloud-init-provisioning
Change-Id: Ibff39030c4e3fe04c3f8cc238508e33d450a4398
In order to address CVE-2014-6271, the 3.14 kernel is needed. However,
this kernel is no longer available in the repos (3.16.0 is now
available). As such, this patch bumps the kernel to > 3.14.
Disable duplicate address detection on all interfaces except
the external interface (eth1). This change is to fix race conditions
with bird6 binding to tenant networks as well as SSHD binding to
the mgmt interface on boot.
These tools (tcpdump,tshark, mtr) are useful for debugging various network issues with
routers. The conntrack pacakge will be required in future versions of the
appliance to clear old floater entries.
Debian's default 3.2 kernel seems to include a few IPv6-related
bugs that, in some cases, make IPv6 forwarding performance
unacceptable. The linux-image-3.14-0.bpo.2-amd64 package
from backports appears to fix all of those known issues.
Apparently GSO (Generic Segmentation Offload) doesn't
work quite right when forwarding IPv6 in a virtual
environment. It provides negligible improvements
to performance anyway, so let's just disable it
outright.
This commit modifies create-akanda-raw-image.sh to configure/install akanda-appliance on
debian machines. It also includes multiple cleanups of files that are no longer needed.