oracle / oracle/oci-cloud-controller-manager
[BUG REPORT] When creating a Load Balancer the backends of the backend set (TCP 80) are not created automatically.
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 158
- Forks
- 108
- PR merge metrics
- No merged PRs in 30d
Description
Is this a BUG REPORT or FEATURE REQUEST?
BUG REPORT
Versions
CCM Version: v1.25.0
Environment:
- Kubernetes version (use
kubectl version): v1.25.9 - OS (e.g. from /etc/os-release): Ubuntu 22.04.2 LTS
- Kernel (e.g.
uname -a): Linux kow-m02 5.15.0-1032-oracle #38-Ubuntu SMP Thu Mar 23 19:30:10 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux - Others:
What happened?
When creating a Load Balancer with the Nginx example from https://github.com/oracle/oci-cloud-controller-manager/blob/master/docs/tutorial.md the backends of the backend set (TCP 80) aren't automatically created.
What you expected to happen?
That the the backends of the backend set (TCP 80) would be created automatically.
How to reproduce it (as minimally and precisely as possible)?
Use the example from https://github.com/oracle/oci-cloud-controller-manager/blob/master/docs/tutorial.md and append the following annotations to the LB service:
annotations:
oci.oraclecloud.com/load-balancer-type: "lb"
service.beta.kubernetes.io/oci-load-balancer-shape: "flexible"
service.beta.kubernetes.io/oci-load-balancer-shape-flex-min: "10"
service.beta.kubernetes.io/oci-load-balancer-shape-flex-max: "10"
service.beta.kubernetes.io/oci-load-balancer-subnet1: "ocid1.aaaaaaaaaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
Then this LB will be created, with a backend configured TCP 80, but empty of backends inside it

Anything else we need to know?
If I try to curl the web, this happens:
guille@raspberrypi: $ curl http://<LoadBalancer_IP>:80/
curl: (56) Recv failure: Connection reset by peer
But, If I create the backends myself (via the web console) then I'm able to connect to the webpage e.g.
guille@raspberrypi: $ curl http://<LoadBalancer_IP>:80/
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Nginx example in docs/tutorial.md and reproduce the Load Balancer using the listed service annotations on Kubernetes v1.25. Verify that the TCP 80 backend set is created without backends, then confirm the fix by checking that the backends appear automatically and that curl to the load balancer returns the Nginx page.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes, nginx
- Domain
- backend, cloud, infrastructure
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100