bottlerocket-os / bottlerocket

An operating system designed for hosting containers
https://bottlerocket.dev
Other
8.64k stars 508 forks source link

fixes for pluto #4032

Closed bcressey closed 3 months ago

bcressey commented 3 months ago

Issue number: Fixes #3828

Description of changes: Conceptually, these changes make pluto act a bit more like a settings generator: it now runs in between sundog and thar-be-settings, and it lets thar-be-settings handle the actual commit.

Testing done: Annotated output after these changes:

bash-5.1# journalctl -o short-monotonic -b |grep -A30 'Generate additional'
# pluto.service starts
[   12.504233] localhost systemd[1]: Starting Generate additional settings for Kubernetes...

# pluto needs settings to be committed so it can read them for its own use
[   12.505915] localhost settings-committer[1149]: 18:01:36 [INFO] Checking pending settings.
[   12.506639] localhost settings-committer[1149]: 18:01:36 [INFO] Committing settings.
[   12.506923] localhost apiserver[1063]: 18:01:36 [INFO] Committed data key settings.metrics.send-metrics
[   12.507106] localhost apiserver[1063]: 18:01:36 [INFO] Committed data key settings.network.hostname
[   12.507106] localhost apiserver[1063]: 18:01:36 [INFO] Committed data key settings.updates.seed
[   12.507106] localhost apiserver[1063]: 18:01:36 [INFO] Committed data key settings.updates.metadata-base-url
[   12.507106] localhost apiserver[1063]: 18:01:36 [INFO] Committed data key settings.host-containers.admin.source
[   12.507106] localhost apiserver[1063]: 18:01:36 [INFO] Committed data key settings.kubernetes.pod-infra-container-image
[   12.507106] localhost apiserver[1063]: 18:01:36 [INFO] Committed data key settings.host-containers.control.source
[   12.507215] localhost apiserver[1063]: 18:01:36 [INFO] Committed data key settings.updates.targets-base-url

# mysterious 3 second pause while pluto does stuff!
[   15.353395] localhost systemd[1]: Finished Generate additional settings for Kubernetes.

# settings-applier.service starts
[   15.355579] localhost systemd[1]: Starting Applies settings to create config files...

# settings-committer now commits the settings from pluto.
[   15.357889] localhost settings-committer[1170]: 18:01:39 [INFO] Checking pending settings.
[   15.358380] localhost settings-committer[1170]: 18:01:39 [INFO] Committing settings.
[   15.358659] localhost apiserver[1063]: 18:01:39 [INFO] Committed data key settings.kubernetes.node-ip
[   15.358877] localhost apiserver[1063]: 18:01:39 [INFO] Committed data key settings.kubernetes.hostname-override
[   15.358877] localhost apiserver[1063]: 18:01:39 [INFO] Committed data key settings.kubernetes.cluster-name
[   15.358877] localhost apiserver[1063]: 18:01:39 [INFO] Committed data key settings.kubernetes.cluster-dns-ip
[   15.358877] localhost apiserver[1063]: 18:01:39 [INFO] Committed data key settings.kubernetes.max-pods

# then thar-be-settings is kicked off - not sure about the 600 ms delay though ...
[   15.950790] localhost thar-be-settings[1175]: 18:01:40 [INFO] thar-be-settings started
[   15.950790] localhost thar-be-settings[1175]: 18:01:40 [INFO] Requesting configuration file data for affected services
[   16.053302] localhost thar-be-settings[1175]: 18:01:40 [INFO] Rendering config files...
[   16.088655] localhost thar-be-settings[1175]: 18:01:40 [INFO] Writing config files to disk...
[   16.089046] localhost thar-be-settings[1175]: 18:01:40 [INFO] Restarting all services...

Terms of contribution:

By submitting this pull request, I agree that this contribution is dual-licensed under the terms of both the Apache License, version 2.0, and the MIT license.