-
Bug
-
Resolution: Won't Do
-
Major
-
None
-
quay-v3.3.2, quay-v3.4.0
-
None
Description:
This is an issue found when use Quay Operator to deploy Quay, as officially Quay support use Postgresql and Mysql as Quay's database, and also using Quay-config app admin can choose Mysql database to setup database schema, but when specify Mysql database connection info in Quay CR file, quay deployment was failed with error message "Connection pooling disabled for postgresql", that means Quay operator can only support "Postgresql", if Quay Customers want to use Mysql Database, they need to use Quay-config app to setup db and update Quay config.yaml manually.
Suggestions:
To improve Customer's user experience, suggest Quay Operator add support Mysql database.
Quay Operator Image: V3.3.2
Steps:
- Deploy Quay V3.3.2 Operator on OCP
- Create new Quay CR file by specifying mysql database server
- Create secret including Mysql server's userName, password and dbName
- Trigger Quay Deployment
Expected Results:
Quay deployment complete successfully.
Actual Results:
Quay deployment was failed at setup DB, see logs.
apiVersion: redhatcop.redhat.io/v1alpha1
kind: QuayEcosystem
metadata:
name: demo-quayecosystem
spec:
quay:
imagePullSecretName: redhat-pull-secret
enableRepoMirroring: true
image: quay.io/projectquay/quay:0c65f88a
registryBackends:
- name: default
s3:
accessKey: ************************
bucketName: quaymysql0909
secretKey: ************************
host: s3.us-east-2.amazonaws.com
database:
credentialsSecretName: quaydb
server: terraform-20200909023133730900000001.cmqwuswughvh.us-east-2.rds.amazonaws.com
envVars:
- name: DEBUGLOG
value: "true"
clair:
enabled: true
image: quay.io/quay/clair-jwt:v3.3.1-2
imagePullSecretName: redhat-pull-secret
Logs:
2020-09-09 06:29:06,606 [53] [INFO] [gunicorn.access] - quayconfig [09/Sep/2020:06:29:06 +0000] "POST /api/v1/configapp/initialization HTTP/1.0" 200 2 "-" "Go-http-client/1.1" gunicorn-config stdout | 2020-09-09 06:29:06,606 [53] [INFO] [gunicorn.access] - quayconfig [09/Sep/2020:06:29:06 +0000] "POST /api/v1/configapp/initialization HTTP/1.0" 200 2 "-" "Go-http-client/1.1" 2020-09-09 06:29:06,608 [53] [INFO] [data.database] Connection pooling disabled for postgresql gunicorn-config stdout | 2020-09-09 06:29:06,608 [53] [INFO] [data.database] Connection pooling disabled for postgresql 2020-09-09 06:29:11,641 [53] [ERROR] [util.config.validator] Validation exception Traceback (most recent call last): File "/usr/local/lib/python3.6/site-packages/peewee.py", line 2993, in connect self._state.set_connection(self._connect()) File "/usr/local/lib/python3.6/site-packages/peewee.py", line 3688, in _connect conn = psycopg2.connect(database=self.database, **self.connect_params) File "/usr/local/lib64/python3.6/site-packages/psycopg2/__init__.py", line 126, in connect conn = _connect(dsn, connection_factory=connection_factory, **kwasync) psycopg2.OperationalError: timeout expired