nebari-dev / nebari-dev/software-pack-template

dev/Makefile MetalLB config fails on dual-stack (IPv6+IPv4) Docker networks

Open
#8 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Makefile
Stars
0
Forks
1
Avg merge
26m
Merged PRs (30d)
1

Description

Problem

The dev/Makefile uses this approach to extract the MetalLB IP range:

```makefile
KIND_NET_CIDR=$(docker network inspect kind -f '{{range .IPAM.Config}}{{.Subnet}}{{"\n"}}{{end}}' | grep '.' | head -n1)
```

This works on systems where the kind Docker network has only IPv4, or where IPv4 appears first. However, on systems with dual-stack Docker networks (e.g., Fedora 43 with Docker's default IPv6 support), the network may return IPv6 subnets first:

```
fc00:f853:ccd:e793::/64
172.19.0.0/16
```

The current template Makefile already handles this correctly with the `grep '\.'` filter. This is just a note that this is a real issue we hit during testing - the filtering is important and should not be removed.

Context

When building the nebari-superset-pack, the initial Makefile didn't include the IPv4 filter, causing MetalLB configuration to fail with an invalid CIDR error.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with dev/Makefile and compare its KIND_NET_CIDR extraction with the current template Makefile. Verify how Docker dual-stack output is handled and confirm that the IPv4 subnet is selected for MetalLB; done means the Makefile remains valid when IPv6 appears first.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker
Domain
infrastructure, networking
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.