JackEvans
JackEvans

Reputation: 131

Node.js cannot find mysql-database service

I'm trying to follow the tutorial noted below:

http://www.ibm.com/developerworks/cloud/library/cl-bluemix-nodejs-app/

But when I push my app, I see the following:

Using manifest file /mytests/bluemix-node-mysql-upload/manifest.yml

Updating app jea-node-mysql-upload in org [email protected] / space dev as [email protected]...
OK

Uploading jea-node-mysql-upload...
Uploading app files from: /mytests/bluemix-node-mysql-upload/app
Uploading 53.6K, 11 files
Done uploading               
OK
FAILED
Could not find service mysql-database to bind to jea-node-mysql-upload

Is there a problem with the node.js buildpack or is the documentation faulty?

Upvotes: 3

Views: 446

Answers (2)

whitfiea
whitfiea

Reputation: 1943

It looks like a fault in the documentation. If you look at Step 2 part 3 it says to create the my-sql service using this command:

cf create-service mysql 100 mysql-node-upload

which will name the service instance as mysql-node-upload, however the manifest.yml file that you cloned from github contains the service name of just mysql-service. It is the manifest.yml file that links the app with the service instance.

The options are either the change the manifest.yml file to be the correct name of your mysql service instance or recreate the mysql service instance with the name that is in your manifest.yml.

Upvotes: 3

RandalAnders
RandalAnders

Reputation: 1441

I've been able to push apps to Node.js without any problems this morning. The documentation assumes the user knows that the service has already been created. The manifest.yml included in the github repo of the tutorial defines a service (mysql-database) that has not been created. Run the following command to create the service:

$ cf create-service mysql 100 jea-mysql-node-upload-service

Then modify the manifest.yml to include:

services: 
   - jea-mysql-node-upload-service

Alternatively, since you already have an app, you can bind the application to the service by running the following:

$ cf bind-service jea-node-mysql-upload jea-mysql-node-upload-service
$ cf start jea-node-mysql-upload

Upvotes: 6

Related Questions