Bug 1909041 - Incorrect deployment of cake-php-mysql template leaving the cluster loader test to fail
Summary: Incorrect deployment of cake-php-mysql template leaving the cluster loader te...
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Cluster Loader
Version: 4.6.z
Hardware: x86_64
OS: Linux
unspecified
low
Target Milestone: ---
: ---
Assignee: Andrew Bond
QA Contact: Walid A.
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-12-18 08:51 UTC by Andre Costa
Modified: 2023-09-15 00:56 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-05-31 15:09:13 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 1859738 0 medium CLOSED [DOC] Cluster Loader example test does not exist 2024-03-25 16:12:02 UTC
Red Hat Bugzilla 1878755 0 medium CLOSED Image stream tags referenced by default cluster loader tests is not present in OCP 4.5. 2024-03-25 16:29:08 UTC
Red Hat Knowledge Base (Solution) 5720441 0 None None None 2021-06-22 21:43:01 UTC

Internal Links: 1859738 1878755

Description Andre Costa 2020-12-18 08:51:44 UTC
Description of problem:
Cluster loader test fails everytime when waiting for the deployments of cake-php and mysql to become ready.
Looking at the project created we can see that many things are missing on how it deploys.
First we need to patch the buildconfig otherwise the build doesn't start. Then we need to update the mysql because of incorrect tag for the imagestream the pod will not start, which then makes the cache-php-hook-pre to fail due to failed mysql connections.

deploymentconfig.apps.openshift.io/postgresql created
Dec 18 08:37:46.270: INFO: Build List: &BuildList{ListMeta:{/apis/build.openshift.io/v1/namespaces/clusterloader-cakephp-mysql0/builds 6200853  <nil>},Items:[]Build{},}
Dec 18 08:37:46.319: INFO: Waiting for deployment: "cakephp-mysql-example"
Dec 18 08:37:46.328: INFO: waiting for deploymentconfig clusterloader-cakephp-mysql0/cakephp-mysql-example to be available with version 1


 - Edit the deployment/mysql and change the image info:

  triggers:
  - imageChangeParams:
      automatic: true
      containerNames:
      - mysql
      from:
        kind: ImageStreamTag
        name: mysql:latest
        namespace: openshift

 - Patch the buildconfig:

oc patch -n clusterloader-cakephp-mysql0 bc cakephp-mysql-example -p '{"spec":{"strategy":{"sourceStrategy":{"from":{"name":"php:7.2-ubi8"}}}}}'

 - The pods then will start but pod will fail:

using migration paths 
 - /opt/app-root/src/config/Migrations
using seed paths 
 - /opt/app-root/src/config/Seeds
Exception: There was a problem connecting to the database: SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client in [/opt/app-root/src/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/PdoAdapter.php, line 82]
2020-12-18 08:47:22 Error: [InvalidArgumentException] There was a problem connecting to the database: SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client in /opt/app-root/src/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/PdoAdapter.php on line 82
Stack Trace:
#0 /opt/app-root/src/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/MysqlAdapter.php(116): Phinx\Db\Adapter\PdoAdapter->createPdoConnection('mysql:host=172....', 'cakephp', 'ugxbkJPI6eFyrfE...', Array)
#1 /opt/app-root/src/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/PdoAdapter.php(148): Phinx\Db\Adapter\MysqlAdapter->connect()
#2 /opt/app-root/src/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/AdapterWrapper.php(496): Phinx\Db\Adapter\PdoAdapter->getConnection()
#3 /opt/app-root/src/vendor/cakephp/migrations/src/CakeAdapter.php(56): Phinx\Db\Adapter\AdapterWrapper->getConnection()
#4 /opt/app-root/src/vendor/cakephp/migrations/src/Command/CommandTrait.php(78): Migrations\CakeAdapter->__construct(Object(Phinx\Db\Adapter\TimedOutputAdapter), Object(Cake\Database\Connection))
#5 /opt/app-root/src/vendor/robmorgan/phinx/src/Phinx/Console/Command/Migrate.php(63): Migrations\Command\Migrate->bootstrap(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#6 /opt/app-root/src/vendor/cakephp/migrations/src/Command/CommandTrait.php(35): Phinx\Console\Command\Migrate->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#7 /opt/app-root/src/vendor/cakephp/migrations/src/Command/Migrate.php(66): Migrations\Command\Migrate->parentExecute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#8 /opt/app-root/src/vendor/symfony/console/Command/Command.php(255): Migrations\Command\Migrate->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#9 /opt/app-root/src/vendor/symfony/console/Application.php(1009): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#10 /opt/app-root/src/vendor/symfony/console/Application.php(273): Symfony\Component\Console\Application->doRunCommand(Object(Migrations\Command\Migrate), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#11 /opt/app-root/src/vendor/symfony/console/Application.php(149): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#12 /opt/app-root/src/vendor/cakephp/migrations/src/Shell/MigrationsShell.php(108): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#13 /opt/app-root/src/vendor/cakephp/cakephp/src/Console/Shell.php(531): Migrations\Shell\MigrationsShell->main('migrations', 'migrate')
#14 /opt/app-root/src/vendor/cakephp/migrations/src/Shell/MigrationsShell.php(169): Cake\Console\Shell->runCommand(Array, true, Array)
#15 /opt/app-root/src/vendor/cakephp/cakephp/src/Console/CommandRunner.php(384): Migrations\Shell\MigrationsShell->runCommand(Array, true)
#16 /opt/app-root/src/vendor/cakephp/cakephp/src/Console/CommandRunner.php(162): Cake\Console\CommandRunner->runShell(Object(Migrations\Shell\MigrationsShell), Array)
#17 /opt/app-root/src/bin/cake.php(12): Cake\Console\CommandRunner->run(Array)
#18 {main}

Version-Release number of selected component (if applicable):
OCP 4.6.z
quay.io/openshift/origin-tests:4.6

How reproducible:
Everytime

Steps to Reproduce:
1. Run the cluster loader test as present in the documentation
2. Try to deploy the same template using the catalog in the console and compare the differences

Actual results:


Expected results:


Additional info:

Comment 1 Andre Costa 2020-12-18 09:36:13 UTC
Quick correction on the workaround. To make this work we need to open the mysql deployment remove an the imageChange trigger and leave only configChange and then add the specific image:

image: registry.redhat.io/rhscl/mysql-57-rhel7:latest

After that patch the buildconfig and all the pods start and cluster loader continues.

Then it will stop on the clusterloader-dancer-mysql0 project again because we are using mysql 5.7 for these templates and therefore setting imagrestream mysql:5.7 which doesn't exist in OCP 4.6

 $ oc get is -n openshift

mysql                                           image-registry.openshift-image-registry.svc:5000/openshift/mysql                                           8.0,8.0-el7,8.0-el8,latest   

After that clusterloader-django-postgresql0/django-psql-example will fail also because the buildConfig has the imagestream incorrect again.

 $ oc patch bc/django-psql-example -p '{"spec":{"strategy":{"sourceStrategy":{"from":{"name":"python:3.6-ubi8"}}}}}'

In the end everything finishes:

Dec 18 09:33:41.280: INFO: Deployment "postgresql" completed
{"marker":"cluster_loader_marker","name":"cluster-loader-test","type":"metrics.TestDuration","startTime":"2020-12-18T09:17:08.431710774Z","testDuration":992848907036,"Steps":[{"type":"metrics.TemplateStepDuration","startTime":"2020-12-18T09:17:08.784186499Z","totalTime":1884112615,"rateDelay":0,"rateDelayCount":0,"stepPause":0,"stepPauseCount":0,"syncTime":175},{"type":"metrics.TemplateStepDuration","startTime":"2020-12-18T09:17:10.953449953Z","totalTime":862975797,"rateDelay":0,"rateDelayCount":0,"stepPause":0,"stepPauseCount":0,"syncTime":163},{"type":"metrics.TemplateStepDuration","startTime":"2020-12-18T09:17:12.178398002Z","totalTime":889562546,"rateDelay":0,"rateDelayCount":0,"stepPause":0,"stepPauseCount":0,"syncTime":152},{"type":"metrics.TemplateStepDuration","startTime":"2020-12-18T09:17:13.339437464Z","totalTime":784952708,"rateDelay":0,"rateDelayCount":0,"stepPause":0,"stepPauseCount":0,"syncTime":138},{"type":"metrics.TemplateStepDuration","startTime":"2020-12-18T09:17:14.457434171Z","totalTime":887801394,"rateDelay":0,"rateDelayCount":0,"stepPause":0,"stepPauseCount":0,"syncTime":239}]}
Dec 18 09:33:41.280: INFO: Deleting project clusterloader-cakephp-mysql0
Dec 18 09:33:41.315: INFO: Deleting project clusterloader-dancer-mysql0
Dec 18 09:33:41.353: INFO: Deleting project clusterloader-django-postgresql0
Dec 18 09:33:41.388: INFO: Deleting project clusterloader-nodejs-mongodb0
Dec 18 09:33:41.432: INFO: Deleting project clusterloader-rails-postgresql0
[AfterEach] [sig-scalability][Feature:Performance] Load cluster
  github.com/openshift/origin/test/extended/util/client.go:133
[AfterEach] [sig-scalability][Feature:Performance] Load cluster
  github.com/openshift/origin/test/extended/util/client.go:134
Dec 18 09:33:41.470: INFO: Waiting up to 7m0s for all (but 100) nodes to be ready
Dec 18 09:33:41.621: INFO: Running AfterSuite actions on all nodes
Dec 18 09:33:41.622: INFO: Running AfterSuite actions on node 1

Comment 5 oarribas 2021-05-31 15:09:13 UTC
Cluster Loader is deprecated in 4.8 [1][2], and will be removed in 4.9.



[1] https://github.com/openshift/openshift-docs/pull/32702
[2] https://github.com/openshift/openshift-docs/pull/32703

Comment 6 Red Hat Bugzilla 2023-09-15 00:56:24 UTC
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 500 days


Note You need to log in before you can comment on or make changes to this bug.