5 Commits

Author SHA1 Message Date
Ilya Chukhnakov
fa03953aff Experimental CNI & VIFBridge binding
This patch provides an experimental CNI driver. It's primary purpose
is to enable development of other components (e.g. functional tests,
service/LBaaSv2 support). It is expected to be replaced with daemon
to configure VIF and connect it to the pods and a small lightweight
client to serve as CNI driver called by Kubernetes.

NOTE: unit tests are not provided as part of this patch as it is yet
unclear what parts of it will be reused in daemon-based
implementation.

Change-Id: Iacc8439dd3aee910d542e48ed013d6d3f354786e
Partially-Implements: blueprint kuryr-k8s-integration
2016-12-05 18:05:22 +00:00
Ilya Chukhnakov
d6dd891bef Generic VIF controller driver
This patch introduces a driver that manages normal Neutron ports to
provide VIFs for Kubernetes Pods.

Change-Id: Ice32e96e107f7b7331caca3b79c488532710b4a2
Partially-Implements: blueprint kuryr-k8s-integration
2016-11-22 18:34:10 +00:00
Ilya Chukhnakov
634290839a Port-to-VIF os-vif translator for hybrid OVS case
This patch introduces Port-to-VIF translation to 'os_vif_util' and
implements a translator that supports hybrid OpenVSwitch plugging
case.

Change-Id: I9f5c36fa32b51da8cccf377455b096270f23a782
Partially-Implements: blueprint kuryr-k8s-integration
2016-11-22 15:01:06 +03:00
Ilya Chukhnakov
5f6c9a574e Retry handler
This patch adds the Retry handler that can be used as part of the
event handling pipeline to retry failed handlers.

Change-Id: Ia86790de8efa6a3ef5b677a70ffbd2d8201f9d95
Partially-Implements: blueprint kuryr-k8s-integration
2016-10-31 10:53:07 +00:00
Ilya Chukhnakov
d68a97fe47 K8s and Neutron clients support
Adds basic K8s client implementation and CONF-based singletons for
both Neutron and K8s clients.

The K8s client added by this patch should be considered a temporary
solution that only implements the necessary parts to let us move
forward with kuryr-kubernetes. Eventually it will be replaced by either
[1] or [2].

The problem with [1] is that it does not yet support the streaming API
that we need for WATCH. And [2] is outside of the OSt umbrella, so [1]
is preferred over [2] unless [2] makes it into global-requirements.txt.

[1] https://github.com/openstack/python-k8sclient
[2] https://pypi.python.org/pypi/pykube

NOTE: Removed py3-related code from config and top-level __init__.
      How to properly deal with that code is TBD.

Change-Id: Ib4eb410eaf9725c296fcdddd8857eb24b8929915
Partially-Implements: blueprint kuryr-k8s-integration
2016-10-03 16:07:03 +00:00