Deploying virtual application patterns

After you create a virtual application, you can provision and deploy it to the cloud. You can deploy a virtual application multiple times and each deployment is a running virtual application instance on the cloud infrastructure.

Before you begin

Ensure that the virtual application pattern is configured with the required settings. After a virtual application pattern is deployed, changes to the virtual application pattern do not modify existing virtual application instances. You must stop the deployed virtual application instance before you can change it.
Important: Once you deploy a virtual application pattern, you cannot modify the default operating system. If you want to use a different default operating system, all previous virtual application instances must be re-deployed with the new operating system.

To deploy patterns to a multi-cloud environment profile, all of the components in your pattern must use IBM® Foundation Pattern version 2.1.2.0 or later and must not contain a Hypervisor Edition virtual image.

About this task

When a virtual application is deployed, the system allocates necessary resources, such as virtual machines and block storage on the cloud infrastructure, and deploys, configures, and starts the virtual application components in the cloud.

Policies that are associated with the virtual application typically influence how cloud infrastructure resources and virtual application pattern components are allocated for a deployment. For example, a single virtual machine that runs a web application is provisioned when the web application component is deployed. However, a scaling policy that is associated with a web application results in multiple virtual machines, equal to the cluster size that you specify for the scaling policy. These virtual machines are provisioned for the web application, an elastic load balancer cloud component that is used for routing HTTP requests, and a set of WebSphere® eXtreme Scale application components that facilitate session replication across the cluster members of the web application.

The time that it takes to deploy a virtual application depends on several factors, such as the size of the virtual application pattern parts and the interdependencies of parts in the application definition, network usage, storage usage, and the provisioning speed of the virtual machine on the cloud infrastructure.
Note: Connectivity issues with the DNS server can cause increased deployment times or failed deployments. The network administrator for the target network must check the routing tables of the DNS server to ensure that it can resolve the network address of the system.

You can add SSH key-based access to your workload virtual machine when you deploy the virtual application. This type of security provides better protection than password-based access.

Note: The routing policy is automatically applied to a web application when a proxy shared service is running in the same cloud group it is deploying into. Otherwise, the routing policy is not automatically added to the virtual application.
You can use the console, the command line interface, or the REST API to complete this task. For the command line and REST API information, see the Related information section.

Procedure

  1. Click Patterns > Virtual Application Patterns.
  2. Click Deploy the pattern into the cloud in the Actions column for the pattern that you want to deploy, or select the pattern that you want to deploy and click Deploy near the top of the details page.

On the Configure pane of the Deploy Pattern page:

  1. Edit the name for the deployment, if needed. This name displays on the Instances page after the pattern deploys.
  2. Select the environment profile that you want to use for the deployment.
    • If the networkDeployment type for the selected environment profile is set to Internally ManagedSingle cloud:
      • Select a Cloud Group and an IP Group.
        Note: You can also set the IP group for each virtual machine on the Distribute pane. You cannot change the Cloud Group for the deployment after you configure it on this pane.
      • The deployment is limited to a single cloud group.
    • If the networkDeployment type for the selected environment profile is set to Externally ManagedMulti cloud, you select the cloud group and IP group for the deployment later, on the Distribute pane.
  3. Set the priority for the deployment.
    Note: For more information about deployment priorities, see the Related tasks.
  4. If more than one operating system is supported for the pattern, select the Operating system family.
    If you chose a Windows image, enter the product key and password for the operating system. Specifying an invalid product key will result in errors with the deployment.
    Important: You must use a product key from a volume license.
  5. Optional: To set up SSH access, use one of the following options in the SSH Key section to set the public key:
    • To generate a key automatically, click Generate. Click Download to save the private key file to a secure location. The default name is id_rsa.txt.

      The system does not keep a copy of the private key. If you do not download the private key, you cannot access the virtual machine, unless you generate a new key pair. You can also copy and paste the public key into a text file to save the key. Then, you can reuse the same key pair for another deployment. When you have the private key, make sure that it has the correct permissions (chmod 0400 id_rsa.txt). By default, the SSH client does not use a private key file that provides open permission for all users.

    • To use an existing SSH public key, open the public key file in a text editor and copy and paste it into the SSH Key field.
      Important: Do not use cat, less, or more to copy and paste from a command shell. The copy and paste operation adds spaces to the key that prevent you from accessing the virtual machine.

    The SSH key provides access to the virtual machines in the cloud group for troubleshooting and maintenance purposes. For more information, see Related tasks.

  6. Modify the deployment schedule as needed:
    • Choose Start now, or choose Start later and select a date and time for the deployment to start.
    • Choose Run indefinitely, or choose Run until and select a date and time for the deployment to end.
  7. Modify the component attributes as needed.

    The attributes that display in the pattern configuration column are attributes from the components in the pattern that are not locked from editing. You can modify existing values or set values that were not specified during pattern creation. Be sure that all required fields have values. Components that have a blue dot next to the name contain required attributes that must be set before the pattern is deployed.

  8. When you are finished configuring all of the fields on the Configure tab,
    • if you chose an environment profile that does not have the IP addresses provided by field set to Pattern Deployer and you do not want to modify the placement, click Quick Deploy. If you choose this option, the deployment process starts. You do not need to complete any of the subsequent steps.
    • if you chose an environment profile that has the IP addresses provided by field set to Pattern Deployer, or you want to modify the placement, click Prepare to Deploy.

On the Distribute pane:

  1. Optional: To edit the network or volume settings for a virtual machine, move the mouse pointer over the virtual machine icon and click the pencil icon.
    1. On the IP Groups tab, you can modify the IP group for each of the NICs in the virtual machine. The IP groups that are listed are the IP groups that are associated with the environment profile that you chose for the deployment.
    2. If you are deploying the IBM General Parallel File System (GPFS) Pattern, you can modify the volumes for the virtual machine on the Volumes tab.
    3. Click OK when you are finished updating the settings.
  2. When you are finished modifying the settings, click Deploy.
  3. View the details of the deployed virtual application in the Virtual Application Instances pane.
    The details include a list of virtual machines that are provisioned on the cloud infrastructure for that deployment, the IP address, virtual machine status, and role status. Role is a unit of function that is performed by the virtual application middleware on a virtual machine.

    The resources that are allocated to a virtual application instance are listed in deployment.json, and are also displayed in the Virtual machine perspective > Name > Hardware and network section of the instance details page. Sometimes the memory that is allocated to a virtual image in a virtual application instance might be higher than the minimum memory requirement that is specified in topology.json because the value for the memory must be an integral multiple of 128. In this case, the system will increase the memory that is allocated to the instance to the next multiple of 128.

    The status values are listed in the following table:
    Table 1. Possible status values for a deployment
    Status Deployment description Virtual machine description
    Error An error occurred during deployment. Check the logs and determine the cause of the error before you redeploy the virtual application. The virtual machine status.
    Failed The deployment process could not be started because of either the application configuration or a failure that is occurring in the infrastructure cloud. The virtual machine did not start successfully.
    Installing Not applicable The components of the virtual application are being provisioned on the virtual machine.
    Launching The virtual application is being deployed. The virtual machine is being provisioned on the infrastructure cloud.
    Not_Ready The virtual application instance is in maintenance mode. The Not_Ready status does not apply to virtual machines.
    Queuing The deployment is scheduled for a date and time in the future.  
    Registering Start deploying the virtual machine by registering it with hypervisor.  
    Running Resources are actively running in the infrastructure cloud. The components of the virtual application are running on the virtual machine and can be accessed.
    Saferunning For more information, see Agent is running in safe mode.  
    Starting Starting the virtual machine.  
    Stopped The virtual application instance is stopped. The virtual application can be made available again by starting the instance. The virtual machine is stopped and it can be restarted.
    Stopping The virtual application instance is stopping. The virtual machine is being stopped.
    Stored The virtual application instance is stored. No processor, memory, network, or data resources are reserved for stored instances. The virtual application can be started only if resources are available. The virtual machine is stored. It can be started only if resources are available.
    Storing The virtual application instance is storing. The virtual machine is being stored.
    Terminated The virtual application instance resources are deleted. History files are retained. The virtual machine is deleted and resources were released.
    Terminating The virtual application instance resources are being deleted. The virtual machine is being deleted and its resources are released.
    Transferring Transferring the image to hypervisor.  
    Unknown The status cannot be determined.  
    Unknown status The status cannot be determined.  
    You can also view the virtual machine role health status information. For example, a red check mark is displayed when the amount of processor becomes critical on the virtual machine.

    If deployment fails with an error: Virtual application initialization failed on virtual machine <Virtual machine name>, you can try to log on to the virtual machine and look for the cause of the error in the configuration logs, which are in /0config/0config.log.

    Click Endpoint to view the endpoint information for a role. For a DB2® deployment, you can have more than one endpoint. For example, an endpoint for the application developer and one for the database administrator. If the elastic load balancer shared service is used by the virtual application instance, the endpoint URL is based on the virtual host name for the elastic load balancer instance. Otherwise, the endpoint URL is based on the IP address of the virtual machine that is associated with the role. For more information, see the Related concepts section.

Results

The placement is validated again to ensure that the resources and artifacts that were used for validation during the initial placement are still available. If there is a problem with the placement, an error message is displayed, and a red circle is displayed on the circle that contains errors. Hover over the cell that contains errors, and then hover over the yellow triangle in the resulting window to view more details about the errors. Resolve the issue with the placement, such as moving the virtual machine to a different system with sufficient resources so that the deployment can continue.

After placement validation is successful, the virtual application instance is deployed and started. To stop the virtual application instance, select the virtual application from the list, and click Stop. Click Store to store a stopped virtual application instance, which preserves the configuration, but releases the processor, memory, network, and data resources for the virtual application instance. To start the virtual application instance again, select the virtual application click Start.

To remove a stopped application, select it from the Virtual Application Instances pane, and click Delete.

What to do next

After you deploy the virtual application, you can use the IP address of the virtual machines to access the application artifacts. For example, you can manually enter the URL in your browser.
http://IP_address:9080/tradelite/
IP_address is the IP address of the deployed WebSphere Application Server virtual machine.

If you uploaded an SSH public key during the deployment, you can also connect directly to a virtual machine without a password if you have the private key.

You can also view and monitor statistics for your deployed virtual machines and download and view the log files. For more information, see the Related tasks section.