Repository navigation
Conversation
The units were enabled, so on every boot after the first systemd started them at multi-user.target, before cloud-init's final stage ran install.sh (cloud-final.service is After=multi-user.target): a Dot's serial log shows dot-agentd and the engine up about two seconds before install.sh, which is what sets the VM proxy's firewall and tunnel. A Dot with a proxy could go out directly in that window, and install.sh's own comment said the opposite. The units are no longer enabled (no [Install]): install.sh starts them on every boot after the proxy, as it already did on the first, and removes the wants links an earlier runtime made. install.sh is also the first point of the boot that has the seed's config.json, which the same final stage writes.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The Dot's units now start only from
install.sh, after the VM proxy is set.Why
The units were enabled. So from the second boot on, systemd started them at
multi-user.target.But
install.shruns later. cloud-init's final stage runs it, and that stage comes after the target (cloud-final.serviceisAfter=multi-user.target).install.shis what sets up the VM proxy's firewall and tunnel.A Dot's serial log shows dot-agentd and the engine up about 2 s before
install.sh. In that window a Dot with a proxy could go out directly.install.sh's own comment claimed the opposite ("The units below start after this").What changes
[Install]and are never enabled.install.shstarts them on every boot after the proxy, as it already did on the first boot.install.shremoves themulti-user.target.wantslinks that an earlier runtime made.docs/architecture.mdfollow.Split out of #1455. #1455's in-Dot browser update will be replaced by a browser disk, which waits on an invisible-core change. This fix stands on its own.
Verified
multi-user.targetwithout the units. They start only afterinstall.sh.Known limit
On an existing Dot, the first boot with this runtime disk still has the units enabled from before. They start early that one time; from the next boot the order holds.