-
Notifications
You must be signed in to change notification settings - Fork 356
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pageserver: use identity file as node is authority and remove init command and config-override flags #7766
base: main
Are you sure you want to change the base?
Conversation
Ansible will soon write the node id to `identity.toml` in the work dir for new pageservers. On the pageserver side, we read the node id from the identity file if it is present and use that as the source of truth. If the file is not present, we rely on the node id stored in `pageserver.toml`. This allows us to remove the `pageserver init` step altogether since Ansible was the only user of it. Note that this change and the associated Ansible change should merge roughly at the same time. While only one of them is merged we will not be able to provision new pageservers.
3060 tests run: 2933 passed, 0 failed, 127 skipped (full report)Code coverage* (full report)
* collected from Rust tests only The comment gets automatically updated with the latest test results
338bbed at 2024-05-17T09:27:24.534Z :recycle: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Title should mention that we remove the --init
mode.
The test test_pageserver_init_node_id
will fail because of that.
The removal of --init
is a breaking change, so, we might as well get rid of --config-override
in this PR as well. (The title should mention that as well)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor requests for changes, but approving to unblock. This does what we need for the rollout plan. Let's try that it works tomorrow by merging the aws.git PR first, then this one, and watching it land in staging.
The |
"newline is not allowed in an inline table"
Overall plan: https://www.notion.so/neondatabase/Rollout-Plan-simplified-pageserver-initialization-f935ae02b225444e8a41130b7d34e4ea?pvs=4
Ansible will soon write the node id to
identity.toml
in the work dir for new pageservers. On the pageserver side, we read the node id from the identity file if it is present and use that as the source of truth. If the file is not present, we rely on the node id stored inpageserver.toml
.This PR also removes the
--init
mode and the--config-override
flag from thepageserver
binary.The neon_local is already not using these flags anymore.
Ansible still uses them until the linked change is merged, so, this PR has to land simultaneously or after the Ansible change due to that.
Related ansible change: https://github.com/neondatabase/aws/pull/1322
Cplane change to remove config-override usages: https://github.com/neondatabase/cloud/pull/13417
Closes: #7736
Checklist before requesting a review
Checklist before merging