Adapt selfLink calculation for KuryrLoadBalancer CRD objects.

Implements: blueprint selflink
Change-Id: I1654572b4653df939d61e0a9875b42c32a26f748
This commit is contained in:
Roman Dobosz 2020-12-23 13:14:59 +01:00
parent 31b96f3ecc
commit 3bd82fe69f
4 changed files with 31 additions and 29 deletions

View File

@ -857,7 +857,7 @@ class LBaaSv2Driver(base.LBaaSDriver):
lb = klb['status']['loadbalancer'] lb = klb['status']['loadbalancer']
try: try:
k8s.patch_crd('status/loadbalancer', klb['metadata']['selfLink'], k8s.patch_crd('status/loadbalancer', utils.get_res_link(klb),
{'security_groups': sgs}) {'security_groups': sgs})
except k_exc.K8sResourceNotFound: except k_exc.K8sResourceNotFound:
LOG.debug('KuryrLoadBalancer CRD not found %s', lbaas_name) LOG.debug('KuryrLoadBalancer CRD not found %s', lbaas_name)

View File

@ -174,8 +174,8 @@ class ServiceHandler(k8s_base.ResourceEventHandler):
spec = self._build_kuryrloadbalancer_spec(service) spec = self._build_kuryrloadbalancer_spec(service)
LOG.debug('Patching KuryrLoadBalancer CRD %s', loadbalancer_crd) LOG.debug('Patching KuryrLoadBalancer CRD %s', loadbalancer_crd)
try: try:
kubernetes.patch_crd('spec', loadbalancer_crd['metadata'][ kubernetes.patch_crd('spec', utils.get_res_link(loadbalancer_crd),
'selfLink'], spec) spec)
except k_exc.K8sResourceNotFound: except k_exc.K8sResourceNotFound:
LOG.debug('KuryrLoadBalancer CRD not found %s', loadbalancer_crd) LOG.debug('KuryrLoadBalancer CRD not found %s', loadbalancer_crd)
except k_exc.K8sConflict: except k_exc.K8sConflict:
@ -374,7 +374,7 @@ class EndpointsHandler(k8s_base.ResourceEventHandler):
try: try:
kubernetes.patch_crd( kubernetes.patch_crd(
'spec', 'spec',
loadbalancer_crd['metadata']['selfLink'], utils.get_res_link(loadbalancer_crd),
spec) spec)
except k_exc.K8sResourceNotFound: except k_exc.K8sResourceNotFound:
LOG.debug('KuryrLoadbalancer CRD not found %s', loadbalancer_crd) LOG.debug('KuryrLoadbalancer CRD not found %s', loadbalancer_crd)

View File

@ -98,9 +98,8 @@ class KuryrLoadBalancerHandler(k8s_base.ResourceEventHandler):
self._update_lb_status(loadbalancer_crd) self._update_lb_status(loadbalancer_crd)
kubernetes = clients.get_kubernetes_client() kubernetes = clients.get_kubernetes_client()
try: try:
kubernetes.patch_crd('status', loadbalancer_crd[ kubernetes.patch_crd('status', utils.get_res_link(
'metadata']['selfLink'], loadbalancer_crd[ loadbalancer_crd), loadbalancer_crd['status'])
'status'])
except k_exc.K8sResourceNotFound: except k_exc.K8sResourceNotFound:
LOG.debug('KuryrLoadbalancer CRD not found %s', LOG.debug('KuryrLoadbalancer CRD not found %s',
loadbalancer_crd) loadbalancer_crd)
@ -202,8 +201,7 @@ class KuryrLoadBalancerHandler(k8s_base.ResourceEventHandler):
lb['security_groups'] = lb_sgs lb['security_groups'] = lb_sgs
try: try:
k8s.patch_crd('status/loadbalancer', k8s.patch_crd('status/loadbalancer', utils.get_res_link(klb_crd),
klb_crd['metadata']['selfLink'],
{'security_groups': lb_sgs}) {'security_groups': lb_sgs})
except k_exc.K8sResourceNotFound: except k_exc.K8sResourceNotFound:
LOG.debug('KuryrLoadBalancer %s not found', svc_name) LOG.debug('KuryrLoadBalancer %s not found', svc_name)
@ -327,9 +325,8 @@ class KuryrLoadBalancerHandler(k8s_base.ResourceEventHandler):
member) member)
kubernetes = clients.get_kubernetes_client() kubernetes = clients.get_kubernetes_client()
try: try:
kubernetes.patch_crd('status', loadbalancer_crd[ kubernetes.patch_crd('status', utils.get_res_link(
'metadata']['selfLink'], loadbalancer_crd[ loadbalancer_crd), loadbalancer_crd['status'])
'status'])
except k_exc.K8sResourceNotFound: except k_exc.K8sResourceNotFound:
LOG.debug('KuryrLoadbalancer CRD not found %s', LOG.debug('KuryrLoadbalancer CRD not found %s',
loadbalancer_crd) loadbalancer_crd)
@ -440,9 +437,9 @@ class KuryrLoadBalancerHandler(k8s_base.ResourceEventHandler):
kubernetes = clients.get_kubernetes_client() kubernetes = clients.get_kubernetes_client()
try: try:
kubernetes.patch_crd('status', loadbalancer_crd[ kubernetes.patch_crd('status',
'metadata']['selfLink'], loadbalancer_crd[ utils.get_res_link(loadbalancer_crd),
'status']) loadbalancer_crd['status'])
except k_exc.K8sResourceNotFound: except k_exc.K8sResourceNotFound:
LOG.debug('KuryrLoadbalancer CRD not found %s', LOG.debug('KuryrLoadbalancer CRD not found %s',
loadbalancer_crd) loadbalancer_crd)
@ -489,8 +486,9 @@ class KuryrLoadBalancerHandler(k8s_base.ResourceEventHandler):
pool) pool)
kubernetes = clients.get_kubernetes_client() kubernetes = clients.get_kubernetes_client()
try: try:
kubernetes.patch_crd('status', loadbalancer_crd['metadata'][ kubernetes.patch_crd('status',
'selfLink'], loadbalancer_crd['status']) utils.get_res_link(loadbalancer_crd),
loadbalancer_crd['status'])
except k_exc.K8sResourceNotFound: except k_exc.K8sResourceNotFound:
LOG.debug('KuryrLoadbalancer CRD not found %s', LOG.debug('KuryrLoadbalancer CRD not found %s',
loadbalancer_crd) loadbalancer_crd)
@ -535,9 +533,9 @@ class KuryrLoadBalancerHandler(k8s_base.ResourceEventHandler):
kubernetes = clients.get_kubernetes_client() kubernetes = clients.get_kubernetes_client()
try: try:
kubernetes.patch_crd('status', loadbalancer_crd[ kubernetes.patch_crd('status',
'metadata']['selfLink'], loadbalancer_crd[ utils.get_res_link(loadbalancer_crd),
'status']) loadbalancer_crd['status'])
except k_exc.K8sResourceNotFound: except k_exc.K8sResourceNotFound:
LOG.debug('KuryrLoadbalancer CRD not found %s', LOG.debug('KuryrLoadbalancer CRD not found %s',
loadbalancer_crd) loadbalancer_crd)
@ -611,8 +609,9 @@ class KuryrLoadBalancerHandler(k8s_base.ResourceEventHandler):
kubernetes = clients.get_kubernetes_client() kubernetes = clients.get_kubernetes_client()
try: try:
kubernetes.patch_crd('status', loadbalancer_crd[ kubernetes.patch_crd('status',
'metadata']['selfLink'], loadbalancer_crd['status']) utils.get_res_link(loadbalancer_crd),
loadbalancer_crd['status'])
except k_exc.K8sResourceNotFound: except k_exc.K8sResourceNotFound:
LOG.debug('KuryrLoadbalancer CRD not found %s', LOG.debug('KuryrLoadbalancer CRD not found %s',
loadbalancer_crd) loadbalancer_crd)
@ -641,9 +640,9 @@ class KuryrLoadBalancerHandler(k8s_base.ResourceEventHandler):
kubernetes = clients.get_kubernetes_client() kubernetes = clients.get_kubernetes_client()
try: try:
kubernetes.patch_crd('status', loadbalancer_crd[ kubernetes.patch_crd('status',
'metadata']['selfLink'], loadbalancer_crd[ utils.get_res_link(loadbalancer_crd),
'status']) loadbalancer_crd['status'])
except k_exc.K8sResourceNotFound: except k_exc.K8sResourceNotFound:
LOG.debug('KuryrLoadbalancer CRD not found %s', LOG.debug('KuryrLoadbalancer CRD not found %s',
loadbalancer_crd) loadbalancer_crd)
@ -715,8 +714,9 @@ class KuryrLoadBalancerHandler(k8s_base.ResourceEventHandler):
kubernetes = clients.get_kubernetes_client() kubernetes = clients.get_kubernetes_client()
try: try:
kubernetes.patch_crd('status', loadbalancer_crd['metadata'][ kubernetes.patch_crd('status',
'selfLink'], loadbalancer_crd['status']) utils.get_res_link(loadbalancer_crd),
loadbalancer_crd['status'])
except k_exc.K8sResourceNotFound: except k_exc.K8sResourceNotFound:
LOG.debug('KuryrLoadbalancer CRD not found %s', LOG.debug('KuryrLoadbalancer CRD not found %s',
loadbalancer_crd) loadbalancer_crd)
@ -757,8 +757,8 @@ class KuryrLoadBalancerHandler(k8s_base.ResourceEventHandler):
loadbalancer_crd['status'] = {} loadbalancer_crd['status'] = {}
k8s = clients.get_kubernetes_client() k8s = clients.get_kubernetes_client()
try: try:
k8s.patch_crd('status', loadbalancer_crd['metadata'][ k8s.patch_crd('status', utils.get_res_link(loadbalancer_crd),
'selfLink'], loadbalancer_crd['status']) loadbalancer_crd['status'])
except k_exc.K8sResourceNotFound: except k_exc.K8sResourceNotFound:
LOG.debug('KuryrLoadbalancer CRD not found %s', LOG.debug('KuryrLoadbalancer CRD not found %s',
loadbalancer_crd) loadbalancer_crd)

View File

@ -30,6 +30,8 @@ _SUPPORTED_LISTENER_PROT = ('HTTP', 'HTTPS', 'TCP')
def get_lb_crd(): def get_lb_crd():
return { return {
'apiVersion': 'openstack.org/v1',
'kind': 'KuryrLoadBalancer',
"metadata": { "metadata": {
"creationTimestamp": "2020-07-28T13:13:30Z", "creationTimestamp": "2020-07-28T13:13:30Z",
"finalizers": [ "finalizers": [