OCI load balancer doesnt receive WorkRequest to be terminated

Aperta
#321 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
25/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
go, helm, kubernetes, terraform

Direzione di ricerca

Inizia con le Kubernetes Service annotations e il Terraform-managed Helm release descritti nel report, quindi traccia la terminazione del OCI load balancer durante destroy. Riproduci, se possibile, il problema che si verifica solo in produzione e verifica se tutti e tre i load balancers ricevono termination work requests; il lavoro è completato quando ogni load balancer viene rimosso in modo coerente e il subnet può essere eliminato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

We create 2 oci load balancers by executing the following lines in one of our helm charts:

service:
  enabled: true
  type: LoadBalancer
  port: 443
  annotations:
    service.beta.kubernetes.io/oci-load-balancer-shape: "${wtss_shape}"
    service.beta.kubernetes.io/oci-load-balancer-security-list-management-mode: "None"
    service.beta.kubernetes.io/oci-load-balancer-backend-protocol: "HTTP"
  sslEnabled: true

and one internal load balancer by executing these lines:

service:
  enabled: true
  type: LoadBalancer
  port: 80
  annotations:
    service.beta.kubernetes.io/oci-load-balancer-internal: "true"
    service.beta.kubernetes.io/oci-load-balancer-shape: "${wtss_shape}"
    service.beta.kubernetes.io/oci-load-balancer-security-list-management-mode: "None"

Environments are provisioned with terraform 0.12.19 and the following set of terraform providers:
oci 3.74.0
helm 0.10.2
kubernetes 1.9.0
tls 2.1.1

No issues with creation, all works well in both dev and production OCI tenancy.
Problem arises randomly in destruction of environment in production OCI tenancy, where one of the 3 load balancers is not destroyed, causing the load balancer subnet to not being able to be destroyed:

Error: Service error:Conflict. The Subnet ocid1.subnet.oc1.iad.aaaaaaaa6ksuldcwn7i52prronlm7hc2mmt2lwxeskjgpyxkq26zxwmiuexq references the VNIC ocid1.vnic.oc1.iad.abuwcljse6jxsl3fbx5vvgtjrud2xty2bmjmu6uwpt4cd7mkklgbpp77fqwq. You must remove the reference to proceed with this operation.. http status code: 409. Opc request id: 54b539a5d9b2a538a89cb3dccd9ce78b/EFF51FBB2571BC628C5383C03DD97940/57E2CAFEFE75FAD2DBE403D52079245C

This happens randomly only in production OCI tenancy

BUG REPORT

Versions

CCM Version:

Environment:

  • Kubernetes version (use kubectl version):
    v1.15.7
  • OS (e.g. from /etc/os-release): NAME="Oracle Linux Server"
    VERSION="7.6"
    ID="ol"
    VARIANT="Server"
    VARIANT_ID="server"
    VERSION_ID="7.6"
    PRETTY_NAME="Oracle Linux Server 7.6"
    ANSI_COLOR="0;31"
    CPE_NAME="cpe:/o:oracle:linux:7:6:server"
    HOME_URL="https://linux.oracle.com/"
    BUG_REPORT_URL="https://bugzilla.oracle.com/"

ORACLE_BUGZILLA_PRODUCT="Oracle Linux 7"
ORACLE_BUGZILLA_PRODUCT_VERSION=7.6
ORACLE_SUPPORT_PRODUCT="Oracle Linux"
ORACLE_SUPPORT_PRODUCT_VERSION=7.6

  • Kernel (e.g. uname -a):
    Linux vault01 4.14.35-1844.5.3.el7uek.x86_64 #2 SMP Wed May 8 21:50:52 PDT 2019 x86_64 x86_64 x86_64 GNU/Linux
  • Others:

What happened?

One of the OCI load balancers in production tenancy created from oci-cloud-controller randomly doesnt receive work request to be terminated by terraform destroy of the helm release

What you expected to happen?

All OCI load balancers to be consistently terminated

How to reproduce it (as minimally and precisely as possible)?

Create a terraform module to deploy helm release which creates an OCI load balancer by deploying a k8s service by setting annotation service.beta.kubernetes.io/oci-load-balancer-* and try destroying the module from terraform

Anything else we need to know?

Lingua principale
Go
Stelle
160
Fork
109
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di oracle/oci-cloud-controller-manager

Tutte le issue di oracle/oci-cloud-controller-manager

Issue simili

Altre issue su Go

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.