removes kuryr_kubernetes_ingress_design from doc,
because the feature kuryr_kubernetes_ingress_design
was deprecated and removed
Change-Id: Id7b8cdda8f534971b99c7bef7d8536744b1e714e
Seems like due to a mistake we've made is_host_network utility function
to always return False. This means that we considered hostNetworking
pods as regular one, ending up creating additional unused ports. Besides
that some anomalies regarding network policy could occur too as function
is used there.
Closes-Bug: 1899182
Change-Id: I0dade137b83499c80ec81cadf6437ea4e70d02c1
With the new default Kubernetes 1.18 version used by Kuryr,
the command "kubectl run" does not create a Kubernetes Deployment
anymore, but instead creates a Pod.
The Kuryr docs should get updated to still support a
Deployment creation with the command "kubectl create deployment"
Change-Id: I8df10e64d71cc224e08825987d538693df1719f3
Closes-Bug: #1897391
This patch adds protection for some problems in Neutron side:
- Ports created without IPs
- Detached subports that do not have its device_owner reset
Depends-On: If23b311ed07578b3fbe85f46aa4a314e6a05b7f3
Change-Id: Ia386274fe5c491432140a770cdd0b1beb969ac24
Tox trying to install latest versions for building releasenotes,
which may not be supported by stable and lower branches,
so should be restricted by respective version's upper-constraints.txt
This ps to reuse upper-constraints.txt from docs deps
Change-Id: I70d53f31dccca644bcea1abf0b1976bc7121ffe9
Using --no-cache-dir flag in pip install ,make sure dowloaded packages
by pip don't cached on system . This is a best practise which make sure
to fetch ftom repo instead of using local cached one . Further , in case
of Docker Containers , by restricing caching , we can reduce image size.
In term of stats , it depends upon the number of python packages
multiplied by their respective size . e.g for heavy packages with a lot
of dependencies it reduce a lot by don't caching pip packages.
Further , more detail information can be found at
https://medium.com/sciforce/strategies-of-docker-images-optimization-2ca9cc5719b6
Change-Id: I35b33ea50afce70b687762dba8b18f3f2be60e03
Signed-off-by: Pratik Raj <rajpratik71@gmail.com>
It's possible that a LB member got created and not
updated on the CRD, while the corresponding Kubernetes
resource also got the name update. This commit
adds a protection for LB members creation ensuring
that in case conflict the member has the name
updated.
Change-Id: I4e8a78ac5bc69665fb05031000ff20ae57e16bf7
Seems like there are options to set default values for several
parameters in requests session. This commit attempts to leverage that
by globally setting certificates, SSL verification, token header and
timeout.
Change-Id: Ieecc14cef94f1678a935f23affa6ca37e3de4a91
We're often contacting the K8s API through a loadbalancer (e.g. Octavia
LB in DevStack deployments, HAProxy in OpenShift) and we've often seen
they're able to drop connections silently, effectively leaving our
requests hanging forever. This got fixed in `K8sClient.watch` which
helped a lot, but we now seem to see it happening with other requests.
In order to make sure we won't block processing events for a resource
forever due to that, this commit adds read timeout to all the methods in
K8sClient.
Closes-Bug: 1897893
Change-Id: If1846ec78abc0840e7aba04565b220a1d20e5dc9
It's possible that while ensuring the listener,
the load balancer was not present anymore and
consequently there is not need to update the vip
port sg. This commit enforces that the update only
happens if a listener was created and the vip is
present.
Change-Id: I3f104062887626f7b374993b5466fc962ccca85a
When user manually deletes the load balancer for one specific service
we need to recreate the load balanacer.
This commit makes sure that the load balancer is recreated when the
service is updated.
Change-Id: I47cf26bf50bba865d727221c8df09bce01a9935a
This commit removes some methods or variables definitions
that are not used. Also, reorder or remove interactions to
k8s API.
Change-Id: I424ce0b9a9a8c9fb0940bd3b60690f14140442ed
Sometimes, on pod deletion it happens that kuryr network policy CRD
cannot be found anymore, but we get error from K8s API. Let's wait for
API is functional again.
Change-Id: I24255e59fac46ac10ca815b50d6060c395b4bf34
Add file to the reno documentation build to show release notes for
stable/victoria.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/victoria.
Change-Id: Ic8a64b13dfc7387a379937ae32313949c6439c35
Sem-Ver: feature
It may be possible that add_finalizer function first fails due
to a Conflict updating the object as it got updated (in this case
triggered the deletion) from the Kubernetes side, and then when
trying to get the new object this is actually gone as the deletion
was completed in between both actions. If that is the case we just
need to return false as there is no need to add a finalizer for it
Change-Id: I118a7c01d98722af30435f4d091820c81e4e95e4
Due to the use of pools, there may be ports that belongs to pools
associated to deleted nodes. Thus those ports are wasted as they
cannot be used.
This patch regularly checks for ports associated to deleted
nodes/trunks which would have lost their device_owner (for the
nested case), and for ports associated to deleted nodes for the
neutron vif case, where device owner is set but binding information
should not be there anymore.
Change-Id: I26be958aa3c0b51eb1a296eb2b4ac7996bc3263c
Apparently dstat's bug causing it to show that kuryr-daemon is using
1 TB of RAM causes some buffer overflow in Python 3.8. We need to
disable it in order to enable testing on Ubuntu Focal.
Change-Id: Ifacc8c5f3e4a7adc010de75923d69f1df615450a
Because we raise ResourceNotReady, which basically means, that we wait
for the resource, and on failure appropriate log with traceback will be
issued, we don't need it here, since it is misleading.
Change-Id: I54190e4baa97bf86ad53dd2c7de54c738599ffb4
In theory with the usage of Finalizers having leaks of loadbalancers
is not possible anymore, and if the CRD is deleted it gets recreated
and also the loadbalancer is recreated.
This commit is deleting ensure_release_lbaas and _cleanup_leftover_lbaas
functions.
Change-Id: I0db62a845b23a32eef4358368332c4da2cad5460
Headless Service are not wired by Kuryr as it returns
directly the Pod's IPs behind the Service and do not
load-balance between them. This commit makes sure a klb
CR is not created for headless services as a LB won't
get created for it.
Change-Id: Ib389ddd5edca44c713149adc13486ab0b08007d2