Troubleshooting the blueprint design server

If you are having trouble with the blueprint design server, here are some things that might help.

Derby conflict during installation
If you install IBM® UrbanCode® Deploy and the blueprint design server on the same system and use Derby for both systems, you might see this error during the blueprint design server installation:
Starting embedded database ...
Stopping embedded database ...
[ant:java] : /opt/ibm-ucd-patterns/var/db is not a valid directory
        at org.apache.tools.ant.taskdefs.Java.setupWorkingDir(Java.java:855)
        at org.apache.tools.ant.taskdefs.Java.setupExecutable(Java.java:825)
In this case, use a different database for either system; do not use Derby for both IBM UrbanCode Deploy and the blueprint design server.
Palette does not show virtual images
If you do not see your virtual images in the palette, make sure that the images are configured properly. For example, Amazon EC2 images must be registered with the cloud discovery service; see Registering Amazon EC2 images with the cloud discovery service. For all clouds, see Configuring images for use with the blueprint designer.

Make sure that you are connected to the correct cloud project and that you have permission to see the images.

Files list does not display folders
If you do not see the default or team folders in the Files list in the blueprint designer, reset the file storage cache.
  1. Stop the blueprint design server. See Stopping the blueprint designer, cloud discovery service, and engine.
  2. Remove the cache folder.
    • On Linux™, delete the /installed_location/ibm-ucd-patterns/opt/tomcat/work/Catalina/localhost/landscaper/eclipse directory. The installed_location is the location where you installed the blueprint designer, and the default value is opt.
    • On Windows™, delete the C:/installed_location/ibm-ucd-patterns/opt/tomcat/work/Catalina/localhost/landscaper/eclipse directory. The installed_location is the location where you installed the blueprint designer, and the default value is Program Files.
  3. Restart the blueprint design server. See Starting the blueprint designer, cloud discovery service, and engine.
Files list does not display team folders
If you do not see the team folders in the Files list in the blueprint designer and cannot log into the local Git server, modify the user file for the Git server.
On the system that hosts the blueprint design server, open the users.conf file in the /installed_directory/repositories/gitblit/data/ folder. The installed_directory is the location where you installed the blueprint design server, and the default value is opt/ibm-ucd-patterns. Add the following code to the file:
[user "gitadmin"]
 password = password
 role = "#admin"
 role = "#notfederated"
Check the logs
The default location for the blueprint design server logs is /opt/ibm-ucd-patterns/logs.
Increase Hystrix timeout values
While you check the logs for problems, you might see timeout errors. For example, in the var/logs/patterns.out file, you might view an error that is similar to this entry:
# cat var/logs/patterns.out | grep "Timeout occurred while waiting for a
    response" | cut -d" " -f6- | sort  | uniq -c  | sort -n -r
    6 com.urbancode.landscape.persistence.versionedfs.VFSAbstractCommand -  Timeout occurred while
    waiting for a response from service tier.  Consider increasing timeout for
    VFSListWorkspaces.
    3 com.urbancode.landscape.component.engine.UCLFindAllArtifactsCommand -  Timeout occurred while
    waiting for a response from service tier.  Consider increasing timeout for
    FindAllArtifacts.
You can find the following VFSListWorkspaces, FindAllArtifacts, or UCDGetAuthTokens entries in the /opt/ibm-ucd-patterns/conf/server/ folder in one of these properties files:
  • config.properties
  • engine-services-client.properties
  • heat-api-client.properties
  • versioned-filesystem-client.properties
Open the ./conf/server/versioned-filesystem-client.properties file, and increase the timeout value from, for example, 5000 to 15000. Enter the new value in this property:
hystrix.command.VFSListWorkspaces.execution.isolation.thread.timeoutInMilliseconds=15000
Open the ./conf/server/heat-api-client.properties file, and increase the timeout value from, for example, 10000 to 20000. Enter the new value in this property:
hystrix.command.FindAllArtifacts.execution.isolation.thread.timeoutInMilliseconds=20000
Open the ./conf/server/engine-services-client.properties file, and increase the timeout value from, for example, 15000 to 30000. Enter the new value in this property:
hystrix.command.FindAllArtifacts.execution.isolation.thread.timeoutInMilliseconds=30000
Permissions
Ensure that your user account has access to the correct cloud projects and other resources. To use the blueprint designer, a user account must be on a team and, and the account must have a role on that team. The team must have access to a cloud project. See Configuring security for the blueprint design server.

If your user account is imported from IBM UrbanCode Deploy, the components that you can see in the blueprint editor are limited by your permissions on the blueprint design server.

Check the cloud discovery service
The cloud discovery service receives many concurrent requests from the blueprint design server. Each request opens a file on the discovery service. If many users are using the blueprint designer at the same time, the discovery service might reach the open file limit. In this case, the blueprint design server does not respond normally. To resolve the problem, increase the number of files that can be open on the discovery service. On a Linux system, increase the ulimit value to allow more open files.

In versions before version 6.1.1.1, the discovery service could be installed automatically as part of an engine or separately from other components of the product. Beginning in version 6.1.1.1, the discovery service is installed as part of the blueprint design server.

Cloud Discovery Service installation failed on Windows
It may be possible to recover a failed Cloud Discovery Service installation.
  1. Make sure you have Python installed. To install Python:
    1. Launch a command prompt with Administrator privileges.
    2. Change directory to <Blueprint Designer installer directory>\media\server\bin.
    3. Run the following command to install the 64 bit version of Python:
      msiexec /I python-2.7.9.amd64.msi ALLUSERS=1 TARGETDIR=C:\Python27
      Note: To install the 32 bit version of Python use python-2.7.9.msi in place of python-2.7.9.amd64.msi.
  2. After successful installation of Python, install the Cloud Discovery Service:
    1. Launch a command prompt with Administrator privileges.
    2. Change directory to <Blueprint Designer installer directory>\media\server\bin.
    3. Run the following command to install the Cloud Discovery Service:
      install-cloud-discovery-service.bat
Check the DNS access to the blueprint design server host name
If your blueprint design server is running on a cloud system that does not provide DNS lookup for host names, the blueprint design server might not function properly. In this case, blueprints do not appear on the dashboard page or in the list of files on the blueprint design server. You might also see errors when you create or update blueprints. In the log, you see errors that say Timeout occurred while waiting for a response from service tier.

To resolve this issue, add a reference that relates the host name to the IP address in the /etc/hosts file on the computer that hosts the blueprint design server.

Terraform-provider container can not communicate with the mongoDB container
On Linux, Docker manipulates iptables rules to provide network isolation. If your docker containers have communication issues, verify the rules Docker inserted into your iptables policies are correct. For more information, see Docker and iptables.
Indentation problem in Heat blueprint
Indentation is significant in Heat templates. Therefore, you must keep the indentation consistent throughout the template. To fix this problem, convert spaces to tabs and make sure that each indentation level in the template has the same number of tabs. This error tends to appear when you copy and paste from other editors into the blueprint editor.
Resized virtual machines on VMware did not change size
If you change the size of a VMware virtual machine in the blueprint designer, you might need to extend the file system to see the change on the virtual machine. See Increasing the size of a disk partition.
Component runs multiple times if the same component exists multiple times in an application process.
If you do not use a component resource tag but put extra (same) components on your blueprint to match the application process, that component steps in the application process will run multiple times. Regardless, the recommendation is to use the component resource tag if you have a component in multiple application process steps. See Component tags and component resource tags for more information.
Provisioning fails if it is done using UCD username/password containing special characters exclamation point (!) or dollar sign ($).
To resolve this issue, use tokens or avoid using an exclamation point (!) or dollar sign ($) in the username or password. See Tokens for more information.

For more troubleshooting information, see the UrbanCode community on IBM developerWorks®: https://developer.ibm.com/answers/?community=urbancode.