DOC: Virtual Application Deployment - ibmcb/cbtool GitHub Wiki

  • Virtual Application (VApp) deployments are carried out by "Virtual Application Daemons", spawned by the CBTOOL API server. More details can be found here.

  • CBTOOL decides which VMs to create, based on a Virtual Application template ( Configuration Object [AI_TEMPLATE]), and instructs the cloud to carry out the creation. The list of template attributes can be inspected with the command typeshow (vapp type).

  • example typeshow

  • Virtual Application templates are defined by supplying at least nine key attributes on a “template” file (more optional attributes can be added).

  1. A list of VM roles within the VApp, including the number of VMs per role. The list of role attributes can be inspected with the command roleshow (vm role). example roleshow.

  2. Identification of the VM role running the load generating process used by the actual benchmark the VApp is associated to.

  3. Identification of the VM role running the Load Manager.

  4. Identification of the VM role running the Metrics Collector.

  5. A list of scripts to be run at the VApp’s deployment.

  6. A list of scripts to be run at the beginning of each new Load Duration period (with a new Load Level).

  7. The name of the script to be run to start the load generating process.

  8. A random distribution for the Load Level. Possible distributions (in addition to fixed values, evidently) are: "exponential" (e.g., exponentialI50IXI10I1000), "uniform" (e.g., uniformIXIXI100I200), "gamma" (e.g.,gammaI50I20I10I1000) and "normal" (e.g., normalI50I20I10I1000).

  9. A random distribution for the Load Duration. Same as above.

  • After the VMs are booted, CBTOOL logins on each VM through SSH, configures the applications and starts a Load Manager daemon in one of the VMs (one of the VMs in a VApp is designated to be the "Load Manager" for the whole VApp). At this point, management metrics (e.g., image creation time, boot time) are collected directly from the cloud management platform.

Vapp Deployment

  • During the whole VApp lifecycle, application (e.g. latency, throughput) performance and OS resource usage (e.g., CPU and Memory usage, disk throughput, network bandwidth) - grouped under the moniker runtime metrics - are collected and stored. If the cloud allows direct access to the hosts, their OS resource usage metrics are also collected.

Vapp Execution

  • A VApp can be removed automatically or explicitly.