Skip to content
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

services.percona: fix initialScript execution #1029

Open
wants to merge 4 commits into
base: fc-24.05-dev
Choose a base branch
from

Conversation

osnyx
Copy link
Member

@osnyx osnyx commented Jun 13, 2024

@flyingcircusio/release-managers

Release process

Impact: mysql will be restarted

Changelog:

  • services.percona: fix initialScript execution

PR release workflow (internal)

  • PR has internal ticket
  • internal issue ID (PL-…) part of branch name
  • internal issue ID mentioned in PR description text
  • ticket is on Platform agile board
  • ticket state set to Pull request ready
  • if ticket is more urgent than within the next few days, directly contact a member of the Platform team

Design notes

  • Provide a feature toggle if the change might need to be adjusted/reverted quickly depending on context. Consider whether the default should be on or off. Example: rate limiting.
    • n/a
  • All customer-facing features and (NixOS) options need to be discoverable from documentation. Add or update relevant documentation such that hosted and guided customers can understand it as well.
    • slightly adapted docs to clarify super user and root role

Security implications

  • Security requirements defined? (WHERE)
    • must not introduce any known regressions
    • extended automated NixOS tests to include executing an initial script? Exact use case is still unclear.
    • fix a provided feature that was broken
    • unexpected restrictions/ behaviour needs to be documented
  • Security requirements tested? (EVIDENCE)
    • automated tests still pass
    • manually tested the execution of the initialScript in a testvm with mysql57, can be re-triggered by touch /run/mysql_init
    • looked at rendered doc changes

In the docs, the terms "super user" and "root" had been used interchangeably. To clarify that both terms always refer to *root*, I decided to unify this.
Background: This confused me personally a bit, as with some other DBs and socket auth this disticntion can be a meaningful one. But here, socket auth is not used anyways.
The initial script execution had failed due to the `mysql` command
failing to login as *root* user correctly. The underlying cause was
that the .my.cnf file containing the authentication data was not found
automatically as it is in an interactive shell, because within the
systemd execution context no $HOME was set.

PL-132089
Whether this separate timeout handler is actually necessary or
we could rely on the TimeoutSec of the unit, and thus the error won't be shown
anyways, is unclear. But the number of seconds was definitely wrong.
@dpausp dpausp changed the base branch from fc-23.11-dev to fc-24.05-dev June 28, 2024 12:04
@osnyx osnyx marked this pull request as ready for review July 8, 2024 09:34
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.

None yet

1 participant