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

Unable to change root password for the persistent storage implementation in OpenShift #362

Open
rludva opened this issue May 22, 2024 · 1 comment

Comments

@rludva
Copy link

rludva commented May 22, 2024

Container platform

OCP 4

Version

  • 8.0-el8
  • Version: '8.0.32'

OS version of the container image

No response

Bugzilla, Jira

No response

Description

Is it expected to have the option to change password for root in the persistent storage scenario?
If yes, how to change the password for root once the pod is created?

When root password is changed in the secrets the pod in OpenShift is constantly in CrashLoopBackOff/Error and restarts. The documentation says that the only way how to change the root password is via env variables. These are defined in the secrets.

When the password is changed via mysql and mysql-persistent-parameters-_____ secrets logs show:

$ oc logs mysql-1-m24qs
=> sourcing 20-validate-variables.sh ...
error: Invalid root password
You must either specify the following environment variables:
  MYSQL_USER (regex: '^[a-zA-Z0-9_]+$')
  MYSQL_PASSWORD (regex: '^[a-zA-Z0-9_~!@#$%^&*()-=<>,.?;:|]+$')
  MYSQL_DATABASE (regex: '^[a-zA-Z0-9_]+$')
Or the following environment variable:
  MYSQL_ROOT_PASSWORD (regex: '^[a-zA-Z0-9_~!@#$%^&*()-=<>,.?;:|]+$')
Or both.
Optional Settings:
  MYSQL_LOWER_CASE_TABLE_NAMES (default: 0)
  MYSQL_LOG_QUERIES_ENABLED (default: 0)
  MYSQL_MAX_CONNECTIONS (default: 151)
  MYSQL_FT_MIN_WORD_LEN (default: 4)
  MYSQL_FT_MAX_WORD_LEN (default: 20)
  MYSQL_AIO (default: 1)
  MYSQL_KEY_BUFFER_SIZE (default: 32M or 10% of available memory)
  MYSQL_MAX_ALLOWED_PACKET (default: 200M)
  MYSQL_TABLE_OPEN_CACHE (default: 400)
  MYSQL_SORT_BUFFER_SIZE (default: 256K)
  MYSQL_READ_BUFFER_SIZE (default: 8M or 5% of available memory)
  MYSQL_INNODB_BUFFER_POOL_SIZE (default: 32M or 50% of available memory)
  MYSQL_INNODB_LOG_FILE_SIZE (default: 8M or 15% of available memory)
  MYSQL_INNODB_LOG_BUFFER_SIZE (default: 8M or 15% of available memory)

For more information, see https://github.com/sclorg/mysql-container

Reproducer

  • Create instance in the OpenShift via OpenShift WebConsole -> Developer -> Add -> Database...
  • Ensure that you are able to connect to the MySQL with the current password.
  • Scale down the pod via deploymentconfig
  • Create a new MYSQL_ROOT_PASSWORD end put it to the secrets mysl and mysql-persistent-parameters-_____ properly encoded to base64.
  • Scale up the mysql deploymentconfig:
$ oc get pods
NAME             READY   STATUS             RESTARTS      AGE
mysql-1-deploy   0/1     Completed          0             9m57s
mysql-1-m24qs    0/1     CrashLoopBackOff   6 (13s ago)   5m59s

```an 
@dasabhisek
Copy link

I am also facing the same issue.

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

No branches or pull requests

2 participants