No hint on the number of IP addresses required for MetalLB
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Snap |
Triaged
|
Low
|
Unassigned |
Bug Description
The prompt of setting the IP range doesn't hint anything about the number of IP addresses required for the Sunbeam deployment.
$ sunbeam cluster bootstrap --role control --role compute --role storage
WARNING: Minimum system requirements (4 core CPU, 16 GB RAM) not met.
Management networks shared by hosts (CIDRs, separated by comma) (192.168.123.0/24):
MetalLB address allocation range (supports multiple ranges, comma separated) (10.20.
I didn't take a deeper look yet, but it seems at least two are required. Otherwise it simply fails.
Name: ovn-relay
Namespace: openstack
Labels: app.juju.
Annotations: controller.
Selector: app.kubernetes.
Type: LoadBalancer
IP Family Policy: SingleStack
IP Families: IPv4
IP: 10.152.183.134
IPs: 10.152.183.134
LoadBalancer Ingress: 192.168.123.81
Port: southbound 6642/TCP
TargetPort: 6642/TCP
NodePort: southbound 30907/TCP
Endpoints: 10.1.32.221:6642
Session Affinity: None
External Traffic Policy: Cluster
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal nodeAssigned 65s (x27 over 124m) metallb-speaker announcing from node "sunbeam-1" with protocol "layer2"
Name: traefik
Namespace: openstack
Labels: app.juju.
Annotations: controller.
Selector: app.kubernetes.
Type: LoadBalancer
IP Family Policy: SingleStack
IP Families: IPv4
IP: 10.152.183.35
IPs: 10.152.183.35
Port: traefik 80/TCP
TargetPort: 80/TCP
NodePort: traefik 30149/TCP
Endpoints: 10.1.32.220:80
Port: traefik-tls 443/TCP
TargetPort: 443/TCP
NodePort: traefik-tls 32023/TCP
Endpoints: 10.1.32.220:443
Session Affinity: None
External Traffic Policy: Cluster
Events: <none>
Looks like the number is 4 as of today.
$ kubectl describe all -n openstack | grep -B1 'Type: *LoadBalancer' io/name= ovn-relay io/name= traefik io/name= traefik- public io/name= rabbitmq
Selector: app.kubernetes.
Type: LoadBalancer
--
Selector: app.kubernetes.
Type: LoadBalancer
--
Selector: app.kubernetes.
Type: LoadBalancer
--
Selector: app.kubernetes.
Type: LoadBalancer