The compute1 node of multinode gate was not explicitly set to use Python
3 and failed after Nova dropped support for it. This commit fixes that.
Change-Id: I2f0376091af67bb79dcef51974d11e7a40bb0e4c
Ussuri release is the one in which we drop Python 2 support, as its EOL
is pretty close now. This commit does so in kuryr-kubernetes by
removing Python 2 unit test jobs, switching all tempest jobs to Python
3, removing specific jobs for Python 3 and updating Dockerfiles to
centos:8 that includes Python 3 from the box.
Also CentOS 7 job is removed from check queue as it seems it doesn't
play well with Python 3. A CentOS 8 job will get created soon.
Change-Id: Id9983d2fd83cef89e3198b2760816cf4a851008b
It might happen, that on older version of Sphinx code-block directive
will fail without an argument - which is type of language/output/type
used by pygments for syntax highlight. We fix it in this patch.
Change-Id: I2b2ef73859fd7b86dc0c03af010570569854d568
There is a lot of lists in documentation, unfortunately they were used
incorrectly. In this patch we fix that. For ordered lists we use
auto numbering restructuredtext feature.
Change-Id: I77c4aa2fa333a3968daf8cdf9440848c51374582
Inline, named hyperlinks seems to be fine, but often they just provides
noise to the paragrafs. In this patch we propose to use link-target
style for hyperlinks, where named link(s) is (are) placed in paragraph
while its target is at the bottom of the document.
Change-Id: Ia4f4c66f51ea193dc201b3dba5be2788f20765e0
In this patch we convert preformatted directive (double colon at the end
of line) to code-block sphinx directive. Also, fixed formatting for
existing code-block directives, and changes restructuredtext code
directive into sphinx code-block.
Change-Id: I9db48fbb169263e3bf66eacca7d9bce6c355739f
According to restructuredtext guidelines, directives should have
following formatting:
.. directive_name:: param
:option:
body
So it starts with the leading two dots and the space. Next directive
name follows with two colons, and finally optional parameter. Than, line
below it is either some options delimited with colons, or an empty line.
After which body of the directive follows. It should be positioned just
at the same column as directive name, so exactly 3 spaces. Most of the
directives are formatted wrong, including:
- note
- image
- todo
- toctree
- warning
- figure
This patch fixes that.
Change-Id: Ic970f72aeb93bcda82f02e57b70370ab79d6855d
There are the cases, where text blocks in restructuredtext files are
exceeding text 79 column, or are formatted in weeird way. In this patch
it is fixed. Also couple of typos were tided up.
Change-Id: I78c20cbb45c74e817d60582439acc7b01b577a83
There are several restructuredtext files, which don't follow guide for
document contribution. Also made a rule for having additional line
between section body and folowing section headline.
Change-Id: I2dfe9aea36299e3986acb16b1805a4dc0cd952d2
Netaddr library is supported in py2 and py3. We should be using it
instead of relying on ipaddress, which is only supported in py3.
Co-Authored-By: Michał Dulko <mdulko@redhat.com>
Change-Id: I93ee6343a66de1adcaca800e0614da72a4df60d9
When an egress Network Policy is enforced, there is no
need to allow the update of the LB SG. Right now, as this
operation is being allowed, we can end up with ingress
rules being removed from the LB.
Closes-Bug: 1850715
Change-Id: Idcdef5c4f2f47a165bfb9b38779b591d5b995216
We're not taking into account the case of a Network Policy
with an egress rule to a pod that contains a Service sitting
in front of it. Right now, only an egress rule to the matched
pod is created, when one for the matched SVC is also required.
Related-Bug: 1849139
Change-Id: I9830f30ba1fde3e5ec1a98fcbca22af992dd1bec
Currently, OpenStackSDK network object doesn't provide a method for bulk
create ports. This is a workaround for Kuryr, since we need it for
driver NeutronPodVIFDriver.
Implements: blueprint switch-to-openstacksdk
Change-Id: I4d06f07eb8bd80b4a3042c98fed8acfbc6ccdd4d
OpenStack SDK is a framework, which provides consistent and complete
interface for OpenStack cloud. As we already use it for Octavia
integration, in this patch we propose to use it also for other parts of
Kuryr.
Implements: blueprint switch-to-openstacksdk
Change-Id: Ia87bf68bdade3e6f7f752d013f4bdb29bfa5d444
Since possibility to operate with virtual functions
was introduced in pyroute2 it is not necessary
to use ip program in kuryr-kubernetes anymore.
This commit adds a using of pyroute2 library
in sriov binding driver.
Partially implements: bp use-pyroute2-to-tweak-vf-in-sriov
Change-Id: I3cb2da476a6948dc98b2312a5779e47a410832bf
Signed-off-by: Danil Golov <d.golov@samsung.com>
When a namespace is deleted, kuryr-controller is in charge of
deleting its associated openstack resources (net, subnet and ports)
as well as the associated KuryrNet CRD.
As removing OpenStack resources may take some time, if the
kuryr-controller is restarted by any different reason during that
process, the resources will be left behind as no new events for the
namespace (already deleted) will happen after the restart. This
patch fixes this problem by ensuring upon reboot that there are no
orphan KuryrNet CRDs for unexisting namespaces, and deleting them
in case there are (including its associated OpenStack resources).
Closes-Bug: 1848761
Change-Id: I0c4852f5bb816756cc1bf536354da20aa3948dc7
This patch set increases the timeout to wait for resources to be
created/deleted. This is needed to better support spikes without
restarting the kuryr-controller. This patch also ensures that
future retry events are not afecting the kuryr controller if
they are retried once the related resources are already deleted,
i.e., the on_delete event was executed before one of the retries.
Closes-Bug: 1847753
Change-Id: I725ba22f0babf496af219a37e42e1c33b247308a
Seems like there's a race condition or bug in K8s that on DELETE events
we can end up with annotated pod that doesn't have `status.hostIP` field
set. This is problematic for NestedVIFPool driver that used it as one of
the pool key elements.
This patch solves that by looking up host IP through Neutron and trunks
info if the field is missing from the pod.
Change-Id: Ib477213bab7e09bf6520f60b31d7d30584d90199
Closes-Bug: 1848172
We haven't updated the Kubernetes version support matrix for a while.
This commit does so and adds a few disclaimers and explanations in
there.
Change-Id: I51bb352f6115ac4c903e77c69d241ae6bb79e5f4
We've just got hit by cffi pypi package upgrade. This is because we're
not using upper-constraints in our `docs` tox environment. This commit
fixes that by adding it to the env.
Change-Id: Ia4719e7f98b2f6632f321b215f4a31015cc1ca69
Seems like Kubernetes 1.16 is more strict regarding not-ready taint on
the node and keeps it until CNI is correctly configured. This means that
we at least need kuryr-cni to have toleration for that. This commit adds
it to both kuryr-cni and kuryr-controller as well as missing master
toleration to kuryr-controller.
Change-Id: Ifa9c27a416c3347441a2568b37e1bb7b0eba2f28
This PS ensures that kuryr-controller does not crash if neutron
cannot be reached to check the port status, or if neutron replies
with unexpected error when trying to add ports to the trunks
Change-Id: I037a882e1231118b3e85abace8cc13c4e79ee6da
Closes-Bug: 1848012