Skip to content

k3s: retry ip address retrieval during setup#1374

Merged
abiosoft merged 2 commits intoabiosoft:mainfrom
Nevon:k3s-wait-for-ip
Aug 7, 2025
Merged

k3s: retry ip address retrieval during setup#1374
abiosoft merged 2 commits intoabiosoft:mainfrom
Nevon:k3s-wait-for-ip

Conversation

@Nevon
Copy link
Contributor

@Nevon Nevon commented Aug 7, 2025

When networking is enabled but the interface does not have any IP assigned yet, k3s installation can fail. The IPAddress function says that it is guaranteed to return a value, which is technically true, but that value can be an empty string if the network interface exists but doesn't have any IP assigned.

This changes the k3s installation to wait for up to 20 seconds for an address to be assigned before failing.

Fixes #1373

When networking is enabled but the interface does not have any IP
assigned yet, k3s installation can fail. This changes that to wait for
up to 20 seconds for an address to be assigned before failing.

Fixes abiosoft#1373
@Nevon Nevon marked this pull request as ready for review August 7, 2025 09:45
@Nevon
Copy link
Contributor Author

Nevon commented Aug 7, 2025

Looks like one of the runners had an issue for one of the checks, but I don't have a way to retrigger it.

Co-authored-by: Abiola Ibrahim <git@abiosoft.com>
@abiosoft abiosoft changed the title Retry getting ip during k3s installation k3s: retry ip address retrieval during setup Aug 7, 2025
@abiosoft abiosoft merged commit 8c9d728 into abiosoft:main Aug 7, 2025
11 checks passed
@abiosoft
Copy link
Owner

abiosoft commented Aug 7, 2025

Thanks again :)

@Nevon Nevon deleted the k3s-wait-for-ip branch August 8, 2025 08:10
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Sep 26, 2025
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [abiosoft/colima](https://github.com/abiosoft/colima) | minor | `v0.8.4` -> `v0.9.1` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>abiosoft/colima (abiosoft/colima)</summary>

### [`v0.9.1`](https://github.com/abiosoft/colima/releases/tag/v0.9.1)

[Compare Source](abiosoft/colima@v0.9.0...v0.9.1)

#### Highlights

This is a hotfix release to address disk error issues for a subset of users.

Check [v0.9.0 release notes](https://github.com/abiosoft/colima/releases/tag/v0.9.0) for the main release notes.

#### Commits

- vm: fix root disk size getting set to zero by [@&#8203;abiosoft](https://github.com/abiosoft) in [#&#8203;1418](abiosoft/colima#1418)
- k3s: customizable listen port by [@&#8203;abiosoft](https://github.com/abiosoft) in [#&#8203;1419](abiosoft/colima#1419)

**Full Changelog**: <abiosoft/colima@v0.9.0...v0.9.1>

### [`v0.9.0`](https://github.com/abiosoft/colima/releases/tag/v0.9.0)

[Compare Source](abiosoft/colima@v0.8.4...v0.9.0)

#### Highlights

This is a new release with several fixes and new features.

#### New Features

##### Bridged network

This has been a long requested feature and it is finally here.  A new `--network-mode` flag has been introduced.
Valid options are `shared` and `bridged` with the default being `shared`.

```
colima start --network-address --network-mode bridged
```

⚠️  Bridged should only be used if required and the local network is compatible. Shared networking is still the recommended option and remains the default.

##### Persistent Disk

**This applies only to newly created instances.**

Colima now uses a separate virtual machine disk for container data as a means to guard against accidental loss of data.
A deleted instance would not delete the container data disk, and a subsequent `colima start` would attempt to reinstate the data.

Supported for Docker, Containerd and Incus runtimes. Kubernetes however is not yet support.

To delete all data, the `--data` flag should be passed to `colima delete`.

```sh
colima delete --data # delete instance and container data
```

⚠️  While it works reliably, there  are no guarantees against loss of data. It should be used as a disaster recovery mechanism.

#### Fixes

- The previous behaviour with templates has been reinstated. i.e. Colima would load config from template file if present. It can still be disabled by passing `--template=false` to `colima start`.
- DNS resolution for `host.docker.internal` has been improved and now works fine in Docker, Containerd and Kubernetes containers.
- `/tmp/colima` has been removed as a default mount due to issues caused when Colima is being run by multiple users on macOS.
- Port forwarder is now configurable between `ssh` and `grpc` with the `--port-forwarder` flag. Defaults to `ssh`.
- Fix for 386 architecture emulation when Rosetta is enabled.
- Introduction of `--network-preferred-route` flag to use the network address interface as the default route when network address is enabled. This resolves networking issue for some users.
- The size of the default storage pool for Incus runtime is now synced on startup to align with the available disk space on the virtual machine.

##### Runtime version bumps

**NOTE:** container runtime versions can be updated manually by running the `colima update` command.

- Docker version updated to `v28.4.0`
- Nerdctl version updated to `v2.1.4`
- Incus version updated to `v6.16`
- K3s version defaults to `v1.33.4+k3s1 `

#### Commits

- k3s: retry ip address retrieval during setup by [@&#8203;Nevon](https://github.com/Nevon) in [#&#8203;1374](abiosoft/colima#1374)
- build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1377](abiosoft/colima#1377)
- build(deps): bump actions/checkout from 4.2.2 to 5.0.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1378](abiosoft/colima#1378)
- chore: replace net.ParseIP("0.0.0.0") with net.IPv4zero by [@&#8203;alexandear](https://github.com/alexandear) in [#&#8203;1375](abiosoft/colima#1375)
- chore: remove tmp mount by [@&#8203;abiosoft](https://github.com/abiosoft) in [#&#8203;1379](abiosoft/colima#1379)
- cli: default template flag to true. by [@&#8203;abiosoft](https://github.com/abiosoft) in [#&#8203;1380](abiosoft/colima#1380)
- net: use internal dnsmasq by [@&#8203;abiosoft](https://github.com/abiosoft) in [#&#8203;1381](abiosoft/colima#1381)
- net: add support for bridged mode by [@&#8203;abiosoft](https://github.com/abiosoft) in [#&#8203;1382](abiosoft/colima#1382)
- misc: improve password prompt message for network setup by [@&#8203;abiosoft](https://github.com/abiosoft) in [#&#8203;1383](abiosoft/colima#1383)
- vm: make port forwarder configurable by [@&#8203;abiosoft](https://github.com/abiosoft) in [#&#8203;1384](abiosoft/colima#1384)
- chore: fix default value for portForwarder by [@&#8203;abiosoft](https://github.com/abiosoft) in [#&#8203;1385](abiosoft/colima#1385)
- core: update disk images by [@&#8203;abiosoft](https://github.com/abiosoft) in [#&#8203;1387](abiosoft/colima#1387)
- chore: update start command k3s-args example by [@&#8203;jessegonzalez](https://github.com/jessegonzalez) in [#&#8203;1386](abiosoft/colima#1386)
- vm: enable 386 emulation regardless of rosetta by [@&#8203;abiosoft](https://github.com/abiosoft) in [#&#8203;1388](abiosoft/colima#1388)
- config: consider MountPoint in checkOverlappingMounts by [@&#8203;sakkyoi](https://github.com/sakkyoi) in [#&#8203;1391](abiosoft/colima#1391)
- net: add option to make vmnet the default route by [@&#8203;sakkyoi](https://github.com/sakkyoi) in [#&#8203;1392](abiosoft/colima#1392)
- build(deps): bump actions/setup-go from 5.5.0 to 6.0.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;1394](abiosoft/colima#1394)
- docs: add contribution instructions. by [@&#8203;abiosoft](https://github.com/abiosoft) in [#&#8203;1396](abiosoft/colima#1396)
- vm: use external disk for container runtime by [@&#8203;abiosoft](https://github.com/abiosoft) in [#&#8203;1397](abiosoft/colima#1397)
- core: update disk images by [@&#8203;abiosoft](https://github.com/abiosoft) in [#&#8203;1398](abiosoft/colima#1398)
- vm: fix service clash with runtime disk mount by [@&#8203;abiosoft](https://github.com/abiosoft) in [#&#8203;1399](abiosoft/colima#1399)
- vm: fix runtime disk mount directories for containerd by [@&#8203;abiosoft](https://github.com/abiosoft) in [#&#8203;1400](abiosoft/colima#1400)
- vm: validate container runtime for the runtime disk by [@&#8203;abiosoft](https://github.com/abiosoft) in [#&#8203;1401](abiosoft/colima#1401)
- vm: improve container runtime disk by [@&#8203;abiosoft](https://github.com/abiosoft) in [#&#8203;1404](abiosoft/colima#1404)
- docs: add how to edit colima default template file to README by [@&#8203;olamilekan000](https://github.com/olamilekan000) in [#&#8203;1405](abiosoft/colima#1405)
- Improvements to dedicated runtime disk by [@&#8203;abiosoft](https://github.com/abiosoft) in [#&#8203;1408](abiosoft/colima#1408)
- chore: code cleanups by [@&#8203;abiosoft](https://github.com/abiosoft) in [#&#8203;1409](abiosoft/colima#1409)
- incus: fix unavailable storage pool on restart by [@&#8203;abiosoft](https://github.com/abiosoft) in [#&#8203;1410](abiosoft/colima#1410)
- Pre release cleanup by [@&#8203;abiosoft](https://github.com/abiosoft) in [#&#8203;1411](abiosoft/colima#1411)
- incus: rework runtime disk by [@&#8203;abiosoft](https://github.com/abiosoft) in [#&#8203;1412](abiosoft/colima#1412)
- expose configuration for root disk size by [@&#8203;abiosoft](https://github.com/abiosoft) in [#&#8203;1413](abiosoft/colima#1413)
- Disk Cleanups by [@&#8203;abiosoft](https://github.com/abiosoft) in [#&#8203;1414](abiosoft/colima#1414)
- incus: sync size of the default pool on startup by [@&#8203;abiosoft](https://github.com/abiosoft) in [#&#8203;1415](abiosoft/colima#1415)

#### New Contributors

- [@&#8203;jessegonzalez](https://github.com/jessegonzalez) made their first contribution in [#&#8203;1386](abiosoft/colima#1386)
- [@&#8203;sakkyoi](https://github.com/sakkyoi) made their first contribution in [#&#8203;1391](abiosoft/colima#1391)

**Full Changelog**: <abiosoft/colima@v0.8.4...v0.9.0>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMjcuMiIsInVwZGF0ZWRJblZlciI6IjQxLjEzMC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

k3s installation potentially starts before IP assignment

2 participants