Search code examples
phpibm-cloudsymfonycleardb

Error with ClearDB connection during migration to IBM Bluemix


I'm trying to use ClearDB service on my PHP App on Symfony 3 which is hosted on IBM Bluemix. I have successfully linked cleardb service with app and got credentials all gathered from Bluemix dashboard.

However during application upload (cf push) an error occurs:

An exception occured in driver:

SQLSTATE[HY000] [1045] Access denied for user 'bf655aa76ba65b'@'ip-10-139-25-93.ec2.internal' (using password:
YES) 
[Doctrine\DBAL\Driver\PDOException] 

SQLSTATE[HY000] [1045] Access denied for user
'bf655aa76ba65b'@'ip-10-139-25-93.ec2.internal' (using password: YES)

I've contacted ClearDB support and they confirmed that my account is enabled and have all privilages.

I am using https://github.com/cloudfoundry/php-buildpack

Here is full error log:

2016-06-20T22:58:00.69+0200 [API/0]      OUT Updated app with guid 3ddcce14-6aa2-421c-bb8b-1b29b03265be ({"name"=>"qtogo-admin", "memory"=>128, "buildpack"=>"https://github.com/cloudfoundry/php-buildpack", "environment_json"=>"PRIVATE DATA HIDDEN"})
2016-06-20T22:58:40.46+0200 [API/2]      OUT Updated app with guid 3ddcce14-6aa2-421c-bb8b-1b29b03265be ({"state"=>"STOPPED"})
2016-06-20T22:58:42.78+0200 [DEA/191]    OUT Got staging request for app with id 3ddcce14-6aa2-421c-bb8b-1b29b03265be
2016-06-20T22:58:48.19+0200 [API/1]      OUT Updated app with guid 3ddcce14-6aa2-421c-bb8b-1b29b03265be ({"state"=>"STARTED"})
2016-06-20T22:58:49.56+0200 [STG/191]    OUT -----> Downloaded app package (43M)
2016-06-20T22:58:50.17+0200 [STG/0]      ERR     Cloning into '/tmp/buildpacks/php-buildpack'...
2016-06-20T22:58:59.13+0200 [STG/0]      OUT     Submodule 'compile-extensions' (https://github.com/cloudfoundry/compile-extensions) registered for path 'compile-extensions'
2016-06-20T22:58:59.20+0200 [STG/0]      ERR Cloning into 'compile-extensions'...
2016-06-20T22:59:01.18+0200 [STG/0]      OUT Submodule path 'compile-extensions': checked out '4a0e48afc46c1d467b7c75a8ae5e6f3a044d3d64'
2016-06-20T22:59:01.51+0200 [STG/0]      OUT -------> Buildpack version 4.3.14
2016-06-20T22:59:01.59+0200 [STG/0]      OUT Installing HTTPD
2016-06-20T22:59:05.22+0200 [STG/0]      OUT Downloaded [https://pivotal-buildpacks.s3.amazonaws.com/concourse-binaries/httpd/httpd-2.4.20-linux-x64.tgz] to [/tmp]
2016-06-20T22:59:05.50+0200 [STG/0]      OUT WARNING: A version of PHP has been specified in both `composer.json` and `./bp-config/options.json`.
2016-06-20T22:59:05.50+0200 [STG/0]      OUT WARNING: The version defined in `composer.json` will be used.
2016-06-20T22:59:05.50+0200 [STG/0]      OUT Installing PHP
2016-06-20T22:59:05.50+0200 [STG/0]      OUT PHP 5.5.36
2016-06-20T22:59:30.02+0200 [STG/0]      OUT Downloaded [https://pivotal-buildpacks.s3.amazonaws.com/concourse-binaries/php/php-5.5.36-linux-x64-1464282808.tgz] to [/tmp]
2016-06-20T22:59:41.48+0200 [STG/0]      OUT Downloaded [https://pivotal-buildpacks.s3.amazonaws.com/concourse-binaries/php/php-5.5.36-linux-x64-1464282808.tgz] to [/tmp]
2016-06-20T22:59:45.01+0200 [STG/0]      OUT Downloaded [https://pivotal-buildpacks.s3.amazonaws.com/php/binaries/trusty/composer/1.1.2/composer.phar] to [/tmp]
2016-06-20T22:59:45.01+0200 [STG/0]      OUT PROTIP: Include a `composer.lock` file with your application! This will make sure the exact same version of dependencies are used when you deploy to CloudFoundry.
2016-06-20T22:59:45.03+0200 [STG/0]      ERR   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
2016-06-20T22:59:45.04+0200 [STG/0]      ERR                                  Dload  Upload   Total   Spent    Left  Speed
2016-06-20T22:59:45.45+0200 [STG/0]      ERR 
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   283  100   283    0     0    674      0 --:--:-- --:--:-- --:--:--   675
2016-06-20T22:59:45.68+0200 [STG/0]      ERR Loading composer repositories with package information
2016-06-20T22:59:45.82+0200 [STG/0]      ERR Updating dependencies
2016-06-20T23:00:26.42+0200 [STG/0]      ERR   - Installing doctrine/cache (v1.6.0)
2016-06-20T23:00:26.42+0200 [STG/0]      ERR     Downloading
2016-06-20T23:00:29.32+0200 [STG/0]      ERR   - Installing doctrine/inflector (v1.1.0)
2016-06-20T23:00:29.32+0200 [STG/0]      ERR     Downloading
2016-06-20T23:00:31.37+0200 [STG/0]      ERR   - Installing symfony/polyfill-util (v1.2.0)
2016-06-20T23:00:31.37+0200 [STG/0]      ERR     Downloading
2016-06-20T23:00:33.46+0200 [STG/0]      ERR   - Installing paragonie/random_compat (v2.0.2)
2016-06-20T23:00:33.46+0200 [STG/0]      ERR     Downloading
2016-06-20T23:00:35.52+0200 [STG/0]      ERR   - Installing symfony/polyfill-php70 (v1.2.0)
2016-06-20T23:00:35.52+0200 [STG/0]      ERR     Downloading
2016-06-20T23:00:37.45+0200 [STG/0]      ERR   - Installing symfony/polyfill-php56 (v1.2.0)
2016-06-20T23:00:37.45+0200 [STG/0]      ERR     Downloading
2016-06-20T23:00:39.55+0200 [STG/0]      ERR   - Installing symfony/polyfill-mbstring (v1.2.0)
2016-06-20T23:00:39.55+0200 [STG/0]      ERR     Downloading
2016-06-20T23:00:41.59+0200 [STG/0]      ERR   - Installing symfony/symfony (v3.1.1)
2016-06-20T23:00:41.59+0200 [STG/0]      ERR     Downloading
2016-06-20T23:00:47.72+0200 [STG/0]      ERR   - Installing symfony/polyfill-intl-icu (v1.2.0)
2016-06-20T23:00:47.72+0200 [STG/0]      ERR     Downloading
2016-06-20T23:00:49.68+0200 [STG/0]      ERR   - Installing psr/log (1.0.0)
2016-06-20T23:00:49.68+0200 [STG/0]      ERR     Downloading
2016-06-20T23:00:51.75+0200 [STG/0]      ERR   - Installing psr/cache (1.0.0)
2016-06-20T23:00:51.75+0200 [STG/0]      ERR     Downloading
2016-06-20T23:00:53.96+0200 [STG/0]      ERR   - Installing twig/twig (v1.24.1)
2016-06-20T23:00:53.96+0200 [STG/0]      ERR     Downloading
2016-06-20T23:00:56.79+0200 [STG/0]      ERR   - Installing doctrine/lexer (v1.0.1)
2016-06-20T23:00:56.79+0200 [STG/0]      ERR     Downloading
2016-06-20T23:00:58.75+0200 [STG/0]      ERR   - Installing doctrine/annotations (v1.2.7)
2016-06-20T23:00:58.75+0200 [STG/0]      ERR     Downloading
2016-06-20T23:01:00.76+0200 [STG/0]      ERR   - Installing doctrine/collections (v1.3.0)
2016-06-20T23:01:00.76+0200 [STG/0]      ERR     Downloading
2016-06-20T23:01:02.94+0200 [STG/0]      ERR   - Installing doctrine/common (v2.6.1)
2016-06-20T23:01:02.94+0200 [STG/0]      ERR     Downloading
2016-06-20T23:01:05.41+0200 [STG/0]      ERR   - Installing doctrine/doctrine-cache-bundle (1.3.0)
2016-06-20T23:01:05.41+0200 [STG/0]      ERR     Downloading
2016-06-20T23:01:07.63+0200 [STG/0]      ERR   - Installing jdorn/sql-formatter (v1.2.17)
2016-06-20T23:01:07.63+0200 [STG/0]      ERR     Downloading
2016-06-20T23:01:09.79+0200 [STG/0]      ERR   - Installing doctrine/dbal (v2.5.4)
2016-06-20T23:01:09.79+0200 [STG/0]      ERR     Downloading
2016-06-20T23:01:12.26+0200 [STG/0]      ERR   - Installing doctrine/doctrine-bundle (1.6.3)
2016-06-20T23:01:12.26+0200 [STG/0]      ERR     Downloading
2016-06-20T23:01:14.70+0200 [STG/0]      ERR   - Installing doctrine/instantiator (1.0.5)
2016-06-20T23:01:14.70+0200 [STG/0]      ERR     Downloading
2016-06-20T23:01:16.77+0200 [STG/0]      ERR   - Installing doctrine/orm (v2.5.4)
2016-06-20T23:01:16.77+0200 [STG/0]      ERR     Downloading
2016-06-20T23:01:19.39+0200 [STG/0]      ERR   - Installing th3mouk/doctrine-table-prefix-bundle (1.0.1)
2016-06-20T23:01:19.39+0200 [STG/0]      ERR     Downloading
2016-06-20T23:01:21.30+0200 [STG/0]      ERR   - Installing willdurand/jsonp-callback-validator (v1.1.0)
2016-06-20T23:01:21.30+0200 [STG/0]      ERR     Downloading
2016-06-20T23:01:23.18+0200 [STG/0]      ERR   - Installing friendsofsymfony/jsrouting-bundle (1.6.0)
2016-06-20T23:01:23.18+0200 [STG/0]      ERR     Downloading
2016-06-20T23:01:25.32+0200 [STG/0]      ERR   - Installing phpoption/phpoption (1.5.0)
2016-06-20T23:01:25.32+0200 [STG/0]      ERR     Downloading
2016-06-20T23:01:27.22+0200 [STG/0]      ERR   - Installing phpcollection/phpcollection (0.4.0)
2016-06-20T23:01:27.22+0200 [STG/0]      ERR     Downloading
2016-06-20T23:01:29.27+0200 [STG/0]      ERR   - Installing jms/parser-lib (1.0.0)
2016-06-20T23:01:29.27+0200 [STG/0]      ERR     Downloading
2016-06-20T23:01:31.18+0200 [STG/0]      ERR   - Installing jms/metadata (1.5.1)
2016-06-20T23:01:31.18+0200 [STG/0]      ERR     Downloading
2016-06-20T23:01:33.31+0200 [STG/0]      ERR   - Installing jms/serializer (1.1.0)
2016-06-20T23:01:33.31+0200 [STG/0]      ERR     Downloading
2016-06-20T23:01:35.89+0200 [STG/0]      ERR   - Installing jms/serializer-bundle (1.1.0)
2016-06-20T23:01:35.89+0200 [STG/0]      ERR     Downloading
2016-06-20T23:01:38.22+0200 [STG/0]      ERR   - Installing kriswallsmith/buzz (v0.15)
2016-06-20T23:01:38.22+0200 [STG/0]      ERR     Downloading
2016-06-20T23:01:40.36+0200 [STG/0]      ERR   - Installing richsage/rms-push-notifications-bundle (dev-master 324b294)
2016-06-20T23:01:40.36+0200 [STG/0]      ERR     Cloning 324b29431ad58a006f53891cb103fad65c23d948
2016-06-20T23:01:44.96+0200 [STG/0]      ERR   - Installing friendsofsymfony/user-bundle (dev-master d1fccc6)
2016-06-20T23:01:44.96+0200 [STG/0]      ERR     Cloning d1fccc6335b74beca94525551cacc06b256ed261
2016-06-20T23:01:52.54+0200 [STG/0]      ERR   - Installing nelmio/cors-bundle (1.4.1)
2016-06-20T23:01:52.54+0200 [STG/0]      ERR     Downloading
2016-06-20T23:01:54.47+0200 [STG/0]      ERR   - Installing incenteev/composer-parameter-handler (v2.1.2)
2016-06-20T23:01:54.47+0200 [STG/0]      ERR     Downloading
2016-06-20T23:01:56.56+0200 [STG/0]      ERR   - Installing swiftmailer/swiftmailer (v5.4.2)
2016-06-20T23:01:56.56+0200 [STG/0]      ERR     Downloading
2016-06-20T23:01:59.03+0200 [STG/0]      ERR   - Installing symfony/swiftmailer-bundle (v2.3.11)
2016-06-20T23:01:59.03+0200 [STG/0]      ERR     Downloading
2016-06-20T23:02:01.22+0200 [STG/0]      ERR   - Installing monolog/monolog (1.19.0)
2016-06-20T23:02:01.22+0200 [STG/0]      ERR     Downloading
2016-06-20T23:02:03.65+0200 [STG/0]      ERR   - Installing symfony/monolog-bundle (2.11.1)
2016-06-20T23:02:03.65+0200 [STG/0]      ERR     Downloading
2016-06-20T23:02:05.83+0200 [STG/0]      ERR   - Installing sensiolabs/security-checker (v3.0.2)
2016-06-20T23:02:05.84+0200 [STG/0]      ERR     Downloading
2016-06-20T23:02:07.88+0200 [STG/0]      ERR   - Installing sensio/distribution-bundle (v5.0.6)
2016-06-20T23:02:07.88+0200 [STG/0]      ERR     Downloading
2016-06-20T23:02:09.95+0200 [STG/0]      ERR   - Installing sensio/framework-extra-bundle (v3.0.16)
2016-06-20T23:02:09.96+0200 [STG/0]      ERR     Downloading
2016-06-20T23:02:12.08+0200 [STG/0]      ERR   - Installing zendframework/zend-eventmanager (3.0.1)
2016-06-20T23:02:12.08+0200 [STG/0]      ERR     Downloading
2016-06-20T23:02:14.43+0200 [STG/0]      ERR   - Installing zendframework/zend-code (2.6.3)
2016-06-20T23:02:14.43+0200 [STG/0]      ERR     Downloading
2016-06-20T23:02:16.67+0200 [STG/0]      ERR   - Installing ocramius/proxy-manager (1.0.2)
2016-06-20T23:02:19.20+0200 [STG/0]      ERR   - Installing doctrine/migrations (1.4.1)
2016-06-20T23:02:19.20+0200 [STG/0]      ERR     Downloading
2016-06-20T23:02:21.39+0200 [STG/0]      ERR   - Installing doctrine/doctrine-migrations-bundle (1.1.1)
2016-06-20T23:02:21.39+0200 [STG/0]      ERR     Downloading
2016-06-20T23:02:23.42+0200 [STG/0]      ERR   - Installing kriswallsmith/assetic (v1.3.2)
2016-06-20T23:02:23.42+0200 [STG/0]      ERR     Downloading
2016-06-20T23:02:25.60+0200 [STG/0]      ERR   - Installing symfony/assetic-bundle (v2.8.0)
2016-06-20T23:02:25.60+0200 [STG/0]      ERR     Downloading
2016-06-20T23:02:27.78+0200 [STG/0]      ERR   - Installing vich/uploader-bundle (1.1.0)
2016-06-20T23:02:27.78+0200 [STG/0]      ERR     Downloading
2016-06-20T23:02:29.83+0200 [STG/0]      ERR   - Installing willdurand/negotiation (1.5.0)
2016-06-20T23:02:29.83+0200 [STG/0]      ERR     Downloading
2016-06-20T23:02:31.91+0200 [STG/0]      ERR   - Installing friendsofsymfony/rest-bundle (1.7.7)
2016-06-20T23:02:31.91+0200 [STG/0]      ERR     Downloading
2016-06-20T23:02:37.32+0200 [STG/0]      ERR Writing lock file
2016-06-20T23:02:37.32+0200 [STG/0]      ERR Generating autoload files
2016-06-20T23:02:37.36+0200 [STG/0]      ERR > Incenteev\ParameterHandler\ScriptHandler::buildParameters
2016-06-20T23:02:37.37+0200 [STG/0]      OUT Creating the "app/config/parameters.yml" file
2016-06-20T23:02:37.38+0200 [STG/0]      ERR > Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::buildBootstrap
2016-06-20T23:02:37.91+0200 [STG/0]      ERR > Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache
2016-06-20T23:02:39.45+0200 [STG/0]      OUT   [Doctrine\DBAL\Exception\ConnectionException]                                                                                                        
2016-06-20T23:02:39.45+0200 [STG/0]      OUT   An exception occured in driver: SQLSTATE[HY000] [1045] Access denied for user 'bf655aa76ba65b'@'ip-10-139-25-93.ec2.internal' (using password: YES)  
2016-06-20T23:02:39.49+0200 [STG/0]      OUT   [Doctrine\DBAL\Driver\PDOException]                                                                                  
2016-06-20T23:02:39.49+0200 [STG/0]      OUT   SQLSTATE[HY000] [1045] Access denied for user 'bf655aa76ba65b'@'ip-10-139-25-93.ec2.internal' (using password: YES)  
2016-06-20T23:02:39.51+0200 [STG/0]      OUT   [PDOException]                                                                                                       
2016-06-20T23:02:39.51+0200 [STG/0]      OUT   SQLSTATE[HY000] [1045] Access denied for user 'bf655aa76ba65b'@'ip-10-139-25-93.ec2.internal' (using password: YES)  
2016-06-20T23:02:39.57+0200 [STG/0]      ERR Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache handling the post-update-cmd event terminated with an exception
2016-06-20T23:02:40.03+0200 [STG/0]      ERR   [RuntimeException]                                                                                                                                       
2016-06-20T23:02:40.03+0200 [STG/0]      ERR   An error occurred when executing the "'cache:clear --no-warmup'" command:                                                                                
2016-06-20T23:02:40.03+0200 [STG/0]      ERR     [Doctrine\DBAL\Exception\ConnectionException]                                                                                                          
2016-06-20T23:02:40.03+0200 [STG/0]      ERR     An exception occured in driver: SQLSTATE[HY000] [1045] Access denied for user 'bf655aa76ba65b'@'ip-10-139-25-93.ec2.internal' (using password: YES)    
2016-06-20T23:02:40.03+0200 [STG/0]      ERR     [Doctrine\DBAL\Driver\PDOException]                                                                                                                    
2016-06-20T23:02:40.03+0200 [STG/0]      ERR     SQLSTATE[HY000] [1045] Access denied for user 'bf655aa76ba65b'@'ip-10-139-25-93.ec2.internal' (using password: YES)                                    
2016-06-20T23:02:40.03+0200 [STG/0]      ERR     [PDOException]                                                                                                                                         
2016-06-20T23:02:40.03+0200 [STG/0]      ERR     SQLSTATE[HY000] [1045] Access denied for user 'bf655aa76ba65b'@'ip-10-139-25-93.ec2.internal' (using password: YES)                                    
2016-06-20T23:02:40.03+0200 [STG/0]      ERR   .                                                                                                                                                        
2016-06-20T23:02:40.03+0200 [STG/0]      ERR install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--ignore-platform-reqs] [--] [<packages>]...
2016-06-20T23:02:40.74+0200 [STG/0]      OUT -----> Composer command failed
2016-06-20T23:02:40.75+0200 [STG/0]      ERR Traceback (most recent call last):
2016-06-20T23:02:40.75+0200 [STG/0]      ERR   File "/tmp/buildpacks/php-buildpack/scripts/compile.py", line 50, in <module>
2016-06-20T23:02:40.75+0200 [STG/0]      ERR     .from_build_pack('lib/additional_commands')
2016-06-20T23:02:40.75+0200 [STG/0]      ERR   File "/tmp/buildpacks/php-buildpack/lib/build_pack_utils/builder.py", line 208, in extensions
2016-06-20T23:02:40.75+0200 [STG/0]      ERR     process_extension(path, ctx, 'compile', process, args=[self])
2016-06-20T23:02:40.75+0200 [STG/0]      ERR   File "/tmp/buildpacks/php-buildpack/lib/build_pack_utils/utils.py", line 69, in process_extension
2016-06-20T23:02:40.75+0200 [STG/0]      ERR     success(getattr(extn, to_call)(*args))
2016-06-20T23:02:40.75+0200 [STG/0]      ERR   File "/tmp/buildpacks/php-buildpack/extensions/composer/extension.py", line 412, in compile
2016-06-20T23:02:40.75+0200 [STG/0]      ERR     return composer.compile(install)
2016-06-20T23:02:40.75+0200 [STG/0]      ERR   File "/tmp/buildpacks/php-buildpack/lib/extension_helpers.py", line 154, in compile
2016-06-20T23:02:40.75+0200 [STG/0]      ERR     self._compile(install)
2016-06-20T23:02:40.75+0200 [STG/0]      ERR   File "/tmp/buildpacks/php-buildpack/extensions/composer/extension.py", line 179, in _compile
2016-06-20T23:02:40.75+0200 [STG/0]      ERR     self.run()
2016-06-20T23:02:40.75+0200 [STG/0]      ERR   File "/tmp/buildpacks/php-buildpack/extensions/composer/extension.py", line 314, in run
2016-06-20T23:02:40.75+0200 [STG/0]      ERR     *self._ctx['COMPOSER_INSTALL_OPTIONS'])
2016-06-20T23:02:40.75+0200 [STG/0]      ERR   File "/tmp/buildpacks/php-buildpack/extensions/composer/extension.py", line 358, in run
2016-06-20T23:02:40.75+0200 [STG/0]      ERR     shell=True)
2016-06-20T23:02:40.75+0200 [STG/0]      ERR   File "/tmp/buildpacks/php-buildpack/lib/build_pack_utils/runner.py", line 109, in stream_output
2016-06-20T23:02:40.75+0200 [STG/0]      ERR     raise CalledProcessError(retcode, cmd)
2016-06-20T23:02:40.75+0200 [STG/0]      ERR build_pack_utils.runner.CalledProcessError: Command '<open file '<fdopen>', mode 'w' at 0x7f875028b8a0>' returned non-zero exit status 1
2016-06-20T23:02:40.77+0200 [STG/0]      OUT Staging failed: Buildpack compilation step failed
2016-06-20T23:02:41.03+0200 [API/1]      ERR encountered error: App staging failed in the buildpack compile phase

Solution

  • With great support from Bluemix I finally figured it out. You can't hardcode your credentials to parameters.yml.dist Instead you have to load it dynamically.

    My solution is to create custom file bluemix.php with parameters loaded from vcap variable, like so:

    <?php
    
    // load default parameters when working on local environment
    if( empty($vcap_services = json_decode($_ENV["VCAP_SERVICES" ]) ) ) {
        $container->setParameter('database_host', '127.0.0.1');
        // ...
    }
    
    // load credentials from cleardb service
    else {
        $db = $vcap_services->{'cleardb'}[0]->credentials;
        $container->setParameter('database_host', $db->hostname);
        $container->setParameter('database_port', $db->port);
        $container->setParameter('database_name', $db->name);
        $container->setParameter('database_user', $db->username);
        $container->setParameter('database_password', $db->password);
    }
    
    // common parameters
    $container->setParameter('mailer_transport', 'smtp');
    // ...
    

    then load your resources to config.yml or config_prod.yml, like so:

    imports:
    - { resource: bluemix.php }
    # ...