-
Notifications
You must be signed in to change notification settings - Fork 53
Description
What I'd like:
I'd like to address a significant boot time optimization opportunity by decoupling the network stack initialization from local filesystem mounting in Bottlerocket.
Currently, the network stack waits for the DATA partition to be available due to an indirect dependency chain:
- Network services need files from the PRIVATE partition mounted at
/var/lib/bottlerocket /var/lib/bottlerocketdepends on/varbeing available/varis a bind mount to/local/var/localis the mount point for the DATA partition
This creates an artificial sequencing dependency that forces network initialization to wait for DATA partition setup, even though network configuration only requires files from the PRIVATE partition.
By creating a direct mount path to the PRIVATE partition that doesn't depend on the DATA partition, we can allow the network stack to initialize concurrently with local filesystem operations.
This issue is related to bottlerocket-os/bottlerocket#4348, which requests mounting BOTTLEROCKET-PRIVATE before BOTTLEROCKET-DATA to eliminate the dependency on the DATA partition for early boot operations. This network stack optimization addresses the same underlying architectural issue from a boot performance perspective.
Any alternatives you've considered:
I've considered alternative approaches such as:
- Prioritizing the DATA partition mount before other operations
- Optimizing the existing systemd service ordering
However, these approaches don't address the fundamental issue of unnecessary coupling between network initialization and local filesystem operations. The most effective solution is to properly decouple the network stack from local filesystem operations by eliminating the dependency path entirely.