Several changes
---
Feature: Ganglia ports for "Multicast", "Aggregator" and "Summarizer"
can now be specified separately for Hosts and VMs (e.g.,
COLLECTOR_HOST_MULTICAST_PORT and COLLECTOR_VM_MULTICAST_PORT on the
"MON_DEFAULTS" global object)
---
Feature: Now, a vmattach command 3rd parameter can specify either the
VMC pool or the Hostname where a VM should be instantiated. Therefore,
if the cloud's scheduler supports explicit host assignment, a command
like "vmattach TESTCLOUD db2 hostxyz", will instantiate a new VM on this
specific host "hostxyz" (currently, the only Clouds supporting it out of
the box are OpenStack and TAC). Evidently, a command like "vmattach
TESTCLOUD db2 sut", is still valid, resulting in the instantiation of a
db2 VM in a host belonging to a VMC that is part of the "sut" pool (to
be determined by the cloud's scheduler, as usual). In the ridiculously
unlikely scenario where a VMC pool *name* is exactly equal to a host
*name*, the tool always checks for the host name first.
In addition to that, the attribute <role>_pref_host can be specified in
the VApp (AI) template. For instance, putting "WAS_PREF_HOST = hostxyz"
under [AI_TEMPLATES : DAYTRADER] on one's personal config file will
create WAS VMs on this host.
---
Feature: Now, a vmattach command 4th parameter can be used to specify a
series of key:value pairs that will be turned in to tags/metadata
applied to a VM in a cloud specific manner. If the cloud manager
supports adding tags and/or metadata to a VM - currently OpenStack, EC2
and TAC do - then the information specified in this 4th parameter will
be added as part of the request to create a new VM. Internally, the
function str2dic is used, so is very important that the format of this
parameter to be key1:value1,key2:value2,...,keyn:valuen. For instance,
the command "vmattach TESTCLOUD db2 auto a:b,x:y,r:2" will add the
key:value pairs "a=b, x=y and r=2" to the VM (on the cloud manager
side). In addition to that, the attribute <role>_meta_tag can be
specified in the VApp (AI) template. For instance, putting "WAS_META_TAG
= a:b,x:y,r:2" will propagate these tags to the vmattach command, and
thus to the cloud manager itself.
---
Feature: Simulated Cloud now uses "zones" as VMCs, with 5 hosts per
"zone" (a zone is similar to "Region" in OpenStack).
---
Feature: temporary key,value pairs for attachment. This parameter is
"semi-floating", meaning that it can be in any position *after* the
mandatory parameters.
Examples:
vmcattach TESTCLOUD simzone_d update_attempts=156,update_frequency=6
vmattach TESTCLOUD fen_hpc auto empty size=platinum64,vmc_pool=LG (the
size and VMC pool can now be specified in more than one way)
aiattach TESTCLOUD daytrader load_balancer=true (Only this VApp/AI will
be attached with a load_balancer. Subsequent VApps (AIs) will be
attached with whatever parameters are read from the TEMPLATE/DEFAULTS)
The GUI was also updated to reflect this.
---
Feature: A more uniform mechanism for object attachment staging. Now
there are two possible actions available - "pause" and "execute" (a
script) - and three possible points in time - "provision_started"
(before the VM status is "started" or "run"), "provision_complete"
(after the VM status is "started" or "run") or "all_vms_booted" (before
the application-specific setup scripts are run). The script name is
controlled by the parameter "EXECUTE_SCRIPT_NAME" in VM and VApp (AI)
defaults. The GUI was also updated to reflect this.
---
Feature: new methods to establish the boot time. In addition to
"tcp_on_22" (the default method) is possible to "subscribe_on_booting"
(subscribe to the VM channel "booting") and "wait_for_X" (just wait for
a fixed amount of time). This behavior is controlled by the parameter
"CHECK_BOOT_COMPLETE", specified in the VM_DEFAULTS section of each
cloud
---
Feature: VApp Template script reuse. Script files are copied from the
directory specified by the parameter "BASE_TYPE" in the AI Templates
now. It means that a "custom" AI can use the scripts from another
"BASE_TYPE" if needed. Example:
[AI_TEMPLATES : MY_NEW_DAYTRADER]
<ANY EXTRA NEW PARAMETER>
BASE_TYPE=daytrader
This means that the scripts in the "daytrader" directory will be used in
the VApp's deployment.
---
Bug fix: A much more robust method to determine a VM's IP address in
OpenStack clouds. Instead of looking for the IP address in the "private"
or "brnet" network, CloudBench now can get the VM's IP address in ANY
OpenStack network
---
Bug fix: The VM "meta_tags" attribute was not being properly processed
while executing "asynchronous" operations. Now a command like "vmattach
TESTCLOUD specwebback SUT A:B,X:Y,R:2 async" should work properly.
---
Bug fix: cldparse was causing the CLI to exit ungracefully. This
internal command is now "protected" and cannot be executed from the CLI.
---
Bug fix: The DEPARTED counter was being decremented one extra time while
using "*detach all" commands.
---
Bug fix: The "*detach all async" command was not being properly
launched.
---
Bug fix: Any command typed with more parameters than the maximum allowed
by a function was causing the CLI to abort ungracefully.
---