You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ts...@apache.org on 2012/10/23 11:49:18 UTC

[1/50] [abbrv] git commit: Merge branch 'master' into marvin-parallel

Updated Branches:
  refs/heads/marvin-parallel 6e1c7044e -> fc61ef9cd


Merge branch 'master' into marvin-parallel

Conflicts:
	tools/marvin/marvin/deployAndRun.py


Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/fc61ef9c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/fc61ef9c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/fc61ef9c

Branch: refs/heads/marvin-parallel
Commit: fc61ef9cd10399793d8749663f9269d2586b48c3
Parents: 6e1c704 d01bbb9
Author: Prasanna Santhanam <ts...@apache.org>
Authored: Tue Oct 23 14:16:42 2012 +0530
Committer: Prasanna Santhanam <ts...@apache.org>
Committed: Tue Oct 23 14:16:42 2012 +0530

----------------------------------------------------------------------
 .gitignore                                         |    1 +
 INSTALL.md                                         |  171 +-
 KEYS                                               |  288 --
 LICENSE                                            |    5 +
 README.tools.md                                    |   40 +
 api/src/com/cloud/api/ApiConstants.java            |    1 +
 .../api/commands/DeleteRemoteAccessVpnCmd.java     |    5 +-
 .../com/cloud/api/commands/DeleteVolumeCmd.java    |    2 +-
 .../com/cloud/api/commands/DestroyRouterCmd.java   |    6 +-
 .../com/cloud/api/commands/ListAccountsCmd.java    |    7 +-
 api/src/com/cloud/api/commands/ListAlertsCmd.java  |    7 +-
 .../com/cloud/api/commands/ListAsyncJobsCmd.java   |    7 +-
 api/src/com/cloud/api/commands/ListCfgsByCmd.java  |    7 +-
 .../com/cloud/api/commands/ListClustersCmd.java    |    7 +-
 .../cloud/api/commands/ListDomainChildrenCmd.java  |    7 +-
 api/src/com/cloud/api/commands/ListDomainsCmd.java |    7 +-
 .../cloud/api/commands/ListFirewallRulesCmd.java   |    7 +-
 .../api/commands/ListGuestOsCategoriesCmd.java     |    7 +-
 api/src/com/cloud/api/commands/ListGuestOsCmd.java |    7 +-
 .../commands/ListHypervisorCapabilitiesCmd.java    |    8 +-
 .../api/commands/ListIpForwardingRulesCmd.java     |    9 +-
 .../api/commands/ListLoadBalancerRulesCmd.java     |    7 +-
 .../com/cloud/api/commands/ListNetworkACLsCmd.java |    7 +-
 .../commands/ListNetworkServiceProvidersCmd.java   |    8 +-
 .../api/commands/ListPhysicalNetworksCmd.java      |    8 +-
 api/src/com/cloud/api/commands/ListPodsByCmd.java  |    8 +-
 .../api/commands/ListPortForwardingRulesCmd.java   |    7 +-
 .../cloud/api/commands/ListPrivateGatewaysCmd.java |    7 +-
 .../cloud/api/commands/ListProjectAccountsCmd.java |    8 +-
 .../api/commands/ListProjectInvitationsCmd.java    |    8 +-
 .../com/cloud/api/commands/ListProjectsCmd.java    |    7 +-
 .../api/commands/ListPublicIpAddressesCmd.java     |    7 +-
 .../api/commands/ListRemoteAccessVpnsCmd.java      |    9 +-
 api/src/com/cloud/api/commands/ListRoutersCmd.java |    7 +-
 .../com/cloud/api/commands/ListSSHKeyPairsCmd.java |    8 +-
 .../com/cloud/api/commands/ListSnapshotsCmd.java   |    7 +-
 .../cloud/api/commands/ListStaticRoutesCmd.java    |    7 +-
 .../cloud/api/commands/ListStoragePoolsCmd.java    |    8 +-
 .../com/cloud/api/commands/ListSystemVMsCmd.java   |    7 +-
 api/src/com/cloud/api/commands/ListTagsCmd.java    |    7 +-
 .../cloud/api/commands/ListTrafficTypesCmd.java    |    7 +-
 api/src/com/cloud/api/commands/ListUsersCmd.java   |    7 +-
 .../com/cloud/api/commands/ListVMGroupsCmd.java    |    7 +-
 api/src/com/cloud/api/commands/ListVMsCmd.java     |   10 +-
 .../cloud/api/commands/ListVlanIpRangesCmd.java    |    7 +-
 api/src/com/cloud/api/commands/ListVolumesCmd.java |    7 +-
 .../cloud/api/commands/ListVpnConnectionsCmd.java  |   20 +-
 .../api/commands/ListVpnCustomerGatewaysCmd.java   |   20 +-
 .../com/cloud/api/commands/ListVpnGatewaysCmd.java |   22 +-
 .../com/cloud/api/commands/ListVpnUsersCmd.java    |    7 +-
 .../com/cloud/api/commands/RemoveVpnUserCmd.java   |    2 +-
 .../com/cloud/api/response/IPAddressResponse.java  |    3 +-
 api/src/com/cloud/api/response/ListResponse.java   |   15 +-
 .../com/cloud/api/response/NetworkResponse.java    |    4 +-
 api/src/com/cloud/event/EventTypes.java            |    5 +
 api/src/com/cloud/network/NetworkService.java      |    6 +-
 .../network/VirtualNetworkApplianceService.java    |    3 +-
 .../com/cloud/network/element/NetworkElement.java  |    3 +-
 api/src/com/cloud/network/element/VpcProvider.java |    3 +-
 .../cloud/network/firewall/FirewallService.java    |    4 +-
 .../cloud/network/firewall/NetworkACLService.java  |    4 +-
 .../network/lb/LoadBalancingRulesService.java      |    6 +-
 api/src/com/cloud/network/rules/RulesService.java  |    5 +-
 .../network/security/SecurityGroupService.java     |    4 +-
 api/src/com/cloud/network/vpc/VpcService.java      |    5 +-
 .../cloud/network/vpn/RemoteAccessVpnService.java  |   10 +-
 .../com/cloud/network/vpn/Site2SiteVpnService.java |    8 +-
 api/src/com/cloud/projects/ProjectService.java     |    7 +-
 api/src/com/cloud/server/ManagementService.java    |   30 +-
 .../com/cloud/server/TaggedResourceService.java    |    3 +-
 api/src/com/cloud/storage/StorageService.java      |    7 +-
 .../cloud/storage/snapshot/SnapshotService.java    |    3 +-
 api/src/com/cloud/user/AccountService.java         |    4 +-
 api/src/com/cloud/user/DomainService.java          |    5 +-
 api/src/com/cloud/vm/UserVmService.java            |    3 +-
 awsapi/README.txt                                  |   75 -
 .../cloud/bridge/io/DimeDelimitedInputStream.java  |   15 -
 build/build-cloud.xml                              |    2 -
 .../WEB-INF/classes/resources/messages.properties  |    8 +
 .../classes/resources/messages_ru_RU.properties    | 3028 +++++++-------
 client/pom.xml                                     |   21 +-
 client/tomcatconf/commands.properties.in           |    2 +
 client/tomcatconf/components.xml.in                |    1 +
 cloud.spec                                         |    4 +-
 console-proxy/pom.xml                              |   57 +-
 console-proxy/systemvm-descriptor.xml              |    1 +
 .../virtualnetwork/VirtualRoutingResource.java     |   72 +-
 debian/cloud-utils.install                         |    2 -
 debian/rules                                       |    4 +-
 deps/XenServerJava/BSD                             |   26 -
 deps/XenServerJava/LICENSE.Apache-2.0.txt          |  201 -
 deps/XenServerJava/LICENSE.txt                     |   26 -
 deps/XenServerJava/README.txt                      |   46 -
 deps/install-non-oss.sh                            |   15 +-
 docs/README.txt                                    |    5 +-
 docs/en-US/API_Developers_Guide.ent                |    4 +-
 docs/en-US/API_Developers_Guide.xml                |    9 +-
 docs/en-US/Admin_Guide.xml                         |    2 +-
 docs/en-US/Book_Info.xml                           |    2 +-
 docs/en-US/Book_Info_Admin.xml                     |   46 -
 docs/en-US/Book_Info_Build_All.xml                 |   44 -
 docs/en-US/Book_Info_Release_Notes_4.0.xml         |    6 +-
 docs/en-US/CloudStack_Nicira_NVP_Guide.xml         |    2 +-
 docs/en-US/Installation_Guide.xml                  |    5 +-
 docs/en-US/Release_Notes.ent                       |   22 +
 docs/en-US/Release_Notes.xml                       | 2921 ++++++++++++++
 docs/en-US/about-clusters.xml                      |   34 +-
 docs/en-US/about-hosts.xml                         |    3 +-
 docs/en-US/about-security-groups.xml               |   35 +
 docs/en-US/add-more-clusters.xml                   |    2 +-
 docs/en-US/added-API-commands-4.0.xml              |  164 +
 docs/en-US/added-API-commands.xml                  |  133 +-
 docs/en-US/added-cloudPlatform-error-codes.xml     |  138 -
 docs/en-US/added-error-codes.xml                   |  138 +
 docs/en-US/advanced-zone-configuration.xml         |    6 +-
 docs/en-US/attaching-volume.xml                    |    3 +-
 docs/en-US/aws-ec2-configuration.xml               |   56 +-
 docs/en-US/aws-ec2-introduction.xml                |   13 +-
 docs/en-US/aws-ec2-requirements.xml                |   15 +-
 docs/en-US/aws-ec2-supported-commands.xml          |   37 +-
 docs/en-US/aws-ec2-timeouts.xml                    |   50 +
 docs/en-US/aws-ec2-user-setup.xml                  |   82 +-
 docs/en-US/aws-interface-compatibility.xml         |   33 +
 docs/en-US/aws-interface-guide.xml                 |   32 -
 docs/en-US/basic-zone-configuration.xml            |    4 +-
 docs/en-US/build-deb.xml                           |  123 +
 docs/en-US/build-rpm.xml                           |   82 +
 docs/en-US/castor-with-cs.xml                      |    2 +-
 docs/en-US/change-to-behavior-of-list-commands.xml |    1 -
 docs/en-US/changed-apicommands-4.0.xml             |    2 +-
 docs/en-US/citrix-xenserver-installation.xml       |  993 +++--
 docs/en-US/cloud-infrastructure-concepts.xml       |    2 +-
 docs/en-US/cloud-infrastructure-overview.xml       |   47 +-
 docs/en-US/cloudstack.xml                          |    4 +-
 docs/en-US/cluster-add.xml                         |    2 +-
 docs/en-US/configure-package-repository.xml        |   42 +-
 docs/en-US/create-template-from-snapshot.xml       |    2 +-
 docs/en-US/create-vpn-customer-gateway.xml         |    2 +-
 docs/en-US/creating-vms.xml                        |    2 +-
 docs/en-US/deployment-architecture-overview.xml    |   19 +-
 docs/en-US/detach-move-volumes.xml                 |    2 +-
 docs/en-US/extracting-source.xml                   |   36 +
 docs/en-US/feature-overview.xml                    |   28 +-
 docs/en-US/first_ms_node_install.xml               |   55 +-
 docs/en-US/getting-release.xml                     |   63 +
 docs/en-US/host-add-xenserver-kvm-ovm.xml          |  178 +-
 docs/en-US/host-add.xml                            |    2 +-
 docs/en-US/hypervisor-host-install-agent.xml       |    4 +-
 docs/en-US/hypervisor-host-install-finish.xml      |   28 +
 docs/en-US/hypervisor-host-install-firewall.xml    |   24 +-
 docs/en-US/hypervisor-host-install-libvirt.xml     |   25 +-
 docs/en-US/hypervisor-host-install-overview.xml    |    6 +-
 docs/en-US/hypervisor-host-install-prepare-os.xml  |    8 +-
 .../hypervisor-host-install-security-policies.xml  |   16 +-
 docs/en-US/hypervisor-installation.xml             |    4 +-
 docs/en-US/hypervisor-kvm-install-flow.xml         |    4 +-
 docs/en-US/hypervisor-kvm-requirements.xml         |   48 +
 .../hypervisor-support-for-primarystorage.xml      |   11 +-
 docs/en-US/images/vmware-increase-ports.png        |  Bin 0 -> 66143 bytes
 docs/en-US/images/vmware-iscsi-datastore.png       |  Bin 0 -> 54352 bytes
 docs/en-US/images/vmware-iscsi-general.png         |  Bin 0 -> 15723 bytes
 .../images/vmware-iscsi-initiator-properties.png   |  Bin 0 -> 45592 bytes
 docs/en-US/images/vmware-iscsi-initiator.png       |  Bin 0 -> 105201 bytes
 docs/en-US/images/vmware-iscsi-target-add.png      |  Bin 0 -> 18509 bytes
 .../en-US/images/vmware-mgt-network-properties.png |  Bin 0 -> 42767 bytes
 docs/en-US/images/vmware-nexus-add-cluster.png     |  Bin 0 -> 37083 bytes
 docs/en-US/images/vmware-nexus-port-profile.png    |  Bin 0 -> 118083 bytes
 docs/en-US/images/vmware-physical-network.png      |  Bin 0 -> 136848 bytes
 docs/en-US/images/vmware-vswitch-properties.png    |  Bin 0 -> 32376 bytes
 docs/en-US/management-server-install-client.xml    |   42 +-
 .../en-US/management-server-install-multi-node.xml |   93 +-
 docs/en-US/management-server-install-overview.xml  |    7 +-
 docs/en-US/management-server-install-systemvm.xml  |   73 +-
 docs/en-US/management-server-overview.xml          |   82 +-
 docs/en-US/manual-live-migration.xml               |    2 +-
 docs/en-US/minimum-system-requirements.xml         |   40 +-
 docs/en-US/ovm-install.xml                         |   29 +
 docs/en-US/ovm-requirements.xml                    |   28 +
 docs/en-US/plugin-niciranvp-features.xml           |    8 +-
 docs/en-US/plugin-niciranvp-revisions.xml          |    2 +-
 docs/en-US/prepare-system-vm-template.xml          |   80 +-
 docs/en-US/release-notes.ent                       |   22 -
 docs/en-US/release-notes.xml                       | 2896 --------------
 docs/en-US/runtime-behavior-of-primary-storage.xml |    2 +-
 docs/en-US/security-groups.xml                     |    1 +
 docs/en-US/source-prereqs.xml                      |   42 +
 docs/en-US/source.xml                              |   47 +
 docs/en-US/system-reserved-ip-addresses.xml        |    9 +-
 docs/en-US/upload-existing-volume-to-vm.xml        |    4 +-
 docs/en-US/upload-template.xml                     |    4 +-
 docs/en-US/verifying-source.xml                    |   82 +
 docs/en-US/vmware-install.xml                      |  631 +++
 docs/en-US/vmware-requirements.xml                 |   80 +
 docs/en-US/whats-new.xml                           |    7 +-
 docs/en-US/working-with-snapshots.xml              |    4 +-
 docs/en-US/working-with-volumes.xml                |    2 +-
 docs/publican-release-notes.cfg                    |    2 +-
 patches/pom.xml                                    |   85 +-
 plugins/file-systems/netapp/pom.xml                |    2 +-
 plugins/hypervisors/vmware/pom.xml                 |   38 +-
 .../network/element/CiscoNexusVSMElement.java      |    2 +-
 .../element/ElasticLoadBalancerElement.java        |    2 +-
 .../element/F5ExternalLoadBalancerElement.java     |    2 +-
 .../element/JuniperSRXExternalFirewallElement.java |    2 +-
 .../cloud/network/element/NetscalerElement.java    |    2 +-
 .../nicira-nvp/README.NiciraIntegration            |   87 -
 ...rePortForwardingRulesOnLogicalRouterAnswer.java |   34 +
 ...ePortForwardingRulesOnLogicalRouterCommand.java |   60 +
 .../ConfigurePublicIpsOnLogicalRouterAnswer.java   |   30 +
 .../ConfigurePublicIpsOnLogicalRouterCommand.java  |   65 +
 ...nfigureStaticNatRulesOnLogicalRouterAnswer.java |   43 +
 ...figureStaticNatRulesOnLogicalRouterCommand.java |   63 +
 .../cloud/agent/api/CreateLogicalRouterAnswer.java |   40 +
 .../agent/api/CreateLogicalRouterCommand.java      |  115 +
 .../cloud/agent/api/DeleteLogicalRouterAnswer.java |   32 +
 .../agent/api/DeleteLogicalRouterCommand.java      |   41 +
 .../cloud/api/commands/AddNiciraNvpDeviceCmd.java  |   21 +-
 .../api/commands/DeleteNiciraNvpDeviceCmd.java     |   16 +-
 .../api/commands/ListNiciraNvpDevicesCmd.java      |    2 +-
 .../api/response/NiciraNvpDeviceResponse.java      |   33 +-
 .../cloud/network/NiciraNvpRouterMappingVO.java    |   79 +
 .../network/dao/NiciraNvpRouterMappingDao.java     |   25 +
 .../network/dao/NiciraNvpRouterMappingDaoImpl.java |   46 +
 .../cloud/network/element/NiciraNvpElement.java    | 1272 ++++--
 .../network/guru/NiciraNvpGuestNetworkGuru.java    |   17 -
 .../src/com/cloud/network/nicira/Attachment.java   |   17 -
 .../cloud/network/nicira/DestinationNatRule.java   |   24 +
 .../cloud/network/nicira/L3GatewayAttachment.java  |   52 +
 .../cloud/network/nicira/LogicalRouterConfig.java  |   64 +
 .../cloud/network/nicira/LogicalRouterPort.java    |   90 +
 .../com/cloud/network/nicira/LogicalSwitch.java    |   17 -
 .../cloud/network/nicira/LogicalSwitchPort.java    |   17 -
 .../src/com/cloud/network/nicira/Match.java        |  133 +
 .../src/com/cloud/network/nicira/NatRule.java      |  113 +
 .../src/com/cloud/network/nicira/NiciraNvpApi.java |  131 +-
 .../com/cloud/network/nicira/NiciraNvpList.java    |   10 +-
 .../src/com/cloud/network/nicira/NiciraNvpTag.java |   17 -
 .../com/cloud/network/nicira/PatchAttachment.java  |   39 +
 .../com/cloud/network/nicira/RouterNextHop.java    |   38 +
 .../com/cloud/network/nicira/RoutingConfig.java    |   21 +
 .../SingleDefaultRouteImplictRoutingConfig.java    |   38 +
 .../com/cloud/network/nicira/SourceNatRule.java    |   27 +
 .../cloud/network/nicira/TransportZoneBinding.java |   17 -
 .../com/cloud/network/nicira/VifAttachment.java    |   17 -
 .../cloud/network/resource/NiciraNvpResource.java  |  459 +++-
 .../src/com/cloud/network/element/OvsElement.java  |    2 +-
 pom.xml                                            |   88 +-
 python/lib/cloudutils/serviceConfig.py             |    2 +-
 scripts/vm/hypervisor/xenserver/xcposs/NFSSR.py    |    4 +-
 scripts/vm/hypervisor/xenserver/xcposs/patch       |    1 +
 scripts/vm/hypervisor/xenserver/xcposs/vmops       |   17 +
 scripts/vm/hypervisor/xenserver/xcpserver/NFSSR.py |    4 +-
 .../vm/hypervisor/xenserver/xenserver56/NFSSR.py   |    4 +-
 .../hypervisor/xenserver/xenserver56fp1/NFSSR.py   |    4 +-
 .../vm/hypervisor/xenserver/xenserver60/NFSSR.py   |    4 +-
 server/src/com/cloud/api/ApiDBUtils.java           |    5 +-
 server/src/com/cloud/api/ApiDispatcher.java        |   27 +-
 server/src/com/cloud/api/ApiResponseHelper.java    |    7 +-
 .../cloud/api/response/ApiResponseSerializer.java  |    4 +-
 server/src/com/cloud/configuration/Config.java     |    4 +-
 .../kvm/discoverer/KvmServerDiscoverer.java        |    5 -
 .../src/com/cloud/network/NetworkManagerImpl.java  |   35 +-
 .../network/dao/PhysicalNetworkTrafficTypeDao.java |    4 +-
 .../dao/PhysicalNetworkTrafficTypeDaoImpl.java     |    5 +-
 .../cloud/network/element/BareMetalElement.java    |    2 +-
 .../network/element/CloudZonesNetworkElement.java  |    2 +-
 .../cloud/network/element/ExternalDhcpElement.java |    2 +-
 .../network/element/SecurityGroupElement.java      |    2 +-
 .../network/element/VirtualRouterElement.java      |    8 +-
 .../network/element/VpcVirtualRouterElement.java   |    6 +-
 .../network/firewall/FirewallManagerImpl.java      |    7 +-
 .../network/lb/LoadBalancingRulesManagerImpl.java  |    7 +-
 .../router/VirtualNetworkApplianceManagerImpl.java |   15 +-
 .../com/cloud/network/rules/RulesManagerImpl.java  |   12 +-
 .../cloud/network/vpc/NetworkACLManagerImpl.java   |    7 +-
 server/src/com/cloud/network/vpc/VpcManager.java   |    4 +-
 .../src/com/cloud/network/vpc/VpcManagerImpl.java  |   44 +-
 .../network/vpn/RemoteAccessVpnManagerImpl.java    |   19 +-
 .../cloud/network/vpn/Site2SiteVpnManagerImpl.java |   22 +-
 .../src/com/cloud/projects/ProjectManagerImpl.java |   29 +-
 server/src/com/cloud/server/ManagementServer.java  |    2 +-
 .../src/com/cloud/server/ManagementServerImpl.java |   91 +-
 server/src/com/cloud/storage/StorageManager.java   |    6 +-
 .../src/com/cloud/storage/StorageManagerImpl.java  |   13 +-
 .../storage/snapshot/SnapshotManagerImpl.java      |    5 +-
 .../com/cloud/tags/TaggedResourceManagerImpl.java  |   98 +-
 server/src/com/cloud/user/AccountManagerImpl.java  |   22 +-
 server/src/com/cloud/user/DomainManagerImpl.java   |   16 +-
 server/src/com/cloud/vm/UserVmManager.java         |    4 +-
 server/src/com/cloud/vm/UserVmManagerImpl.java     |   14 +-
 .../com/cloud/network/MockNetworkManagerImpl.java  |    6 +-
 .../com/cloud/projects/MockProjectManagerImpl.java |    8 +-
 .../com/cloud/user/MockAccountManagerImpl.java     |    4 +-
 .../test/com/cloud/user/MockDomainManagerImpl.java |    5 +-
 .../test/com/cloud/vm/MockUserVmManagerImpl.java   |    4 +-
 .../test/com/cloud/vpc/MockNetworkManagerImpl.java |    6 +-
 .../com/cloud/vpc/MockSite2SiteVpnManagerImpl.java |    7 +-
 server/test/com/cloud/vpc/MockVpcManagerImpl.java  |    7 +-
 server/test/com/cloud/vpc/VpcApiUnitTest.java      |    2 +-
 .../cloud/vpc/dao/MockVpcVirtualRouterElement.java |    3 +-
 setup/apidoc/XmlToHtmlConverter.java               |  143 -
 setup/apidoc/build-apidoc.sh                       |   90 -
 setup/apidoc/gen_toc.py                            |  270 --
 setup/apidoc/generateadmincommands.xsl             |  138 -
 setup/apidoc/generatecommand.xsl                   |  177 -
 setup/apidoc/generatecustomcommand.xsl             |   65 -
 setup/apidoc/generatedomainadmincommands.xsl       |  141 -
 setup/apidoc/generategenericcommand.xsl            |   57 -
 setup/apidoc/generatetoc.xsl                       | 1146 ------
 setup/apidoc/generatetoc_footer.xsl                |   21 -
 setup/apidoc/generatetoc_header.xsl                |   70 -
 setup/apidoc/generateusercommands.xsl              |  139 -
 setup/apidoc/images/api_bullets.gif                |  Bin 45 -> 0 bytes
 setup/apidoc/images/back_button.gif                |  Bin 870 -> 0 bytes
 setup/apidoc/images/back_button_hover.gif          |  Bin 868 -> 0 bytes
 setup/apidoc/images/cloudstack.png                 |  Bin 3893 -> 0 bytes
 setup/apidoc/images/ins_buttonshadow.gif           |  Bin 1683 -> 0 bytes
 setup/apidoc/images/insdownload_button.gif         |  Bin 2531 -> 0 bytes
 setup/apidoc/images/insdownload_button_hover.gif   |  Bin 2569 -> 0 bytes
 setup/apidoc/images/insjoincomm_button.gif         |  Bin 2627 -> 0 bytes
 setup/apidoc/images/insjoincomm_button_hover.gif   |  Bin 2620 -> 0 bytes
 setup/apidoc/includes/main.css                     | 1092 ------
 setup/bindir/cloud-setup-databases.in              |  149 +-
 setup/db/clouddev.sql                              |   33 -
 setup/db/create-schema.sql                         |    9 +
 test/integration/component/test_snapshots.py       | 1080 +++++
 test/integration/smoke/test_snapshots.py           | 1177 ------
 tools/apidoc/XmlToHtmlConverter.java               |  143 +
 tools/apidoc/build-apidoc.sh                       |   90 +
 tools/apidoc/gen_toc.py                            |  270 ++
 tools/apidoc/generateadmincommands.xsl             |  138 +
 tools/apidoc/generatecommand.xsl                   |  177 +
 tools/apidoc/generatecustomcommand.xsl             |   65 +
 tools/apidoc/generatedomainadmincommands.xsl       |  141 +
 tools/apidoc/generategenericcommand.xsl            |   57 +
 tools/apidoc/generatetoc.xsl                       | 1146 ++++++
 tools/apidoc/generatetoc_footer.xsl                |   21 +
 tools/apidoc/generatetoc_header.xsl                |   70 +
 tools/apidoc/generateusercommands.xsl              |  139 +
 tools/apidoc/images/api_bullets.gif                |  Bin 0 -> 45 bytes
 tools/apidoc/images/back_button.gif                |  Bin 0 -> 870 bytes
 tools/apidoc/images/back_button_hover.gif          |  Bin 0 -> 868 bytes
 tools/apidoc/images/cloudstack.png                 |  Bin 0 -> 3893 bytes
 tools/apidoc/images/ins_buttonshadow.gif           |  Bin 0 -> 1683 bytes
 tools/apidoc/images/insdownload_button.gif         |  Bin 0 -> 2531 bytes
 tools/apidoc/images/insdownload_button_hover.gif   |  Bin 0 -> 2569 bytes
 tools/apidoc/images/insjoincomm_button.gif         |  Bin 0 -> 2627 bytes
 tools/apidoc/images/insjoincomm_button_hover.gif   |  Bin 0 -> 2620 bytes
 tools/apidoc/includes/main.css                     | 1092 ++++++
 tools/apidoc/pom.xml                               |   67 +
 tools/build/build_asf.sh                           |   17 +-
 tools/build/build_docs.sh                          |    2 +-
 tools/devcloud/devcloud.cfg                        |   33 +-
 tools/devcloud/devcloud.sql                        |   33 +
 tools/devcloud/pom.xml                             |  107 +-
 tools/git/prepare-commit-msg                       |  103 +
 tools/marvin/DISCLAIMER.txt                        |    7 +
 tools/marvin/LICENSE.txt                           |  191 +-
 tools/marvin/marvin/TestCaseExecuteEngine.py       |    4 +-
 .../marvin/marvin/ThreadedTestCaseExecuteEngine.py |    4 +-
 tools/marvin/marvin/dbConnection.py                |   60 +-
 tools/marvin/marvin/deployAndRun.py                |   83 +-
 tools/marvin/marvin/deployDataCenter.py            |    5 +
 tools/marvin/marvin/marvinPlugin.py                |    6 +
 tools/marvin/marvin/sandbox/README.txt             |   30 -
 .../marvin/marvin/sandbox/advanced/advanced_env.py |    2 +
 .../marvin/sandbox/advanced/setup.properties       |    2 +
 tools/marvin/marvin/sandbox/basic/basic_env.py     |    2 +
 tools/marvin/marvin/sandbox/basic/setup.properties |    2 +
 .../marvin/sandbox/demo/simulator/simulator.cfg    |    3 +-
 .../sandbox/demo/simulator/simulator_setup.py      |    2 +
 .../demo/simulator/simulatordemo.properties        |    2 +
 tools/marvin/pom.xml                               |   69 +
 tools/marvin/setup.py                              |    4 +-
 tools/whisker/descriptor.xml                       |    8 +
 ui/css/cloudstack3-ie7.css                         |   51 +-
 ui/css/cloudstack3.css                             |  126 +-
 ui/dictionary.jsp                                  |    8 +-
 ui/images/sprites.png                              |  Bin 180100 -> 180485 bytes
 ui/index.jsp                                       |    5 +-
 ui/scripts/accounts.js                             |   36 +-
 ui/scripts/cloudStack.js                           |   15 +-
 ui/scripts/configuration.js                        |  105 +-
 ui/scripts/dashboard.js                            |    3 +
 ui/scripts/docs.js                                 |  750 ++++
 ui/scripts/domains.js                              |    2 +
 ui/scripts/instances.js                            |   11 +-
 ui/scripts/network.js                              |  230 +-
 ui/scripts/sharedFunctions.js                      |    3 +-
 ui/scripts/storage.js                              |   10 +-
 ui/scripts/system.js                               |  645 +++-
 ui/scripts/templates.js                            |   15 +-
 ui/scripts/ui/dialog.js                            |   34 +-
 ui/scripts/ui/widgets/cloudBrowser.js              |   53 +-
 ui/scripts/ui/widgets/detailView.js                |    4 +-
 ui/scripts/ui/widgets/listView.js                  |   17 +-
 ui/scripts/ui/widgets/notifications.js             |    1 +
 ui/scripts/ui/widgets/toolTip.js                   |  163 +
 ui/scripts/vpc.js                                  |   34 +-
 .../cloud/utils/component/ComponentLocator.java    |   29 +-
 utils/src/com/cloud/utils/db/GenericDao.java       |    9 +
 utils/src/com/cloud/utils/db/GenericDaoBase.java   |   76 +
 utils/src/com/cloud/utils/db/SqlGenerator.java     |    7 +
 vmware-base/pom.xml                                |   24 +-
 wscript_build                                      |    2 +-
 405 files changed, 19078 insertions(+), 12972 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/fc61ef9c/tools/marvin/marvin/ThreadedTestCaseExecuteEngine.py
----------------------------------------------------------------------
diff --cc tools/marvin/marvin/ThreadedTestCaseExecuteEngine.py
index 0230b94,0000000..39bdb1e
mode 100644,000000..100644
--- a/tools/marvin/marvin/ThreadedTestCaseExecuteEngine.py
+++ b/tools/marvin/marvin/ThreadedTestCaseExecuteEngine.py
@@@ -1,123 -1,0 +1,125 @@@
 +# Licensed to the Apache Software Foundation (ASF) under one
 +# or more contributor license agreements.  See the NOTICE file
 +# distributed with this work for additional information
 +# regarding copyright ownership.  The ASF licenses this file
 +# to you under the Apache License, Version 2.0 (the
 +# "License"); you may not use this file except in compliance
 +# with the License.  You may obtain a copy of the License at
 +# 
 +#   http://www.apache.org/licenses/LICENSE-2.0
 +# 
 +# Unless required by applicable law or agreed to in writing,
 +# software distributed under the License is distributed on an
 +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 +# KIND, either express or implied.  See the License for the
 +# specific language governing permissions and limitations
 +# under the License.
 +
 +import unittest
 +import xmlrunner
 +import os
 +import sys
 +import logging
 +from functools import partial
 +import threading
 +import Queue
 +
 +def testCaseLogger(message, logger=None):
 +    if logger is not None:
 +        logger.debug(message)
 +
 +class ThreadedTests(threading.Thread):
 +
 +   def __init__(self, testqueue, format, testResultLogFile, xmlDir):
 +      threading.Thread.__init__(self)
 +      self.testqueue = testqueue
 +      self.format = format
 +      self.testResultLogFile = testResultLogFile
 +      self.xmlDir = xmlDir
 +
 +   def run(self):
 +       test=self.testqueue.get()
 +       if self.format == "text":
 +           unittest.TextTestRunner(stream=self.testResultLogFile, verbosity=2).run(test)
 +       elif self.format == "xml":
 +           xmlrunner.XMLTestRunner(output=self.xmlDir, verbose=True).run(test)
 +
 +       self.testqueue.task_done()
 +
 +class TestCaseExecuteEngine(object):
-     def __init__(self, testclient, testcaseLogFile=None, testResultLogFile=None, format="text", xmlDir="xml-reports",num_threads=1):
++    def __init__(self, testclient, config, testcaseLogFile=None, testResultLogFile=None, format="text", xmlDir="xml-reports",num_threads=1):
 +        """
 +        Initialize the testcase execution engine, just the basics here
 +        @var testcaseLogFile: client log file
 +        @var testResultLogFile: summary report file  
 +        """
 +        self.testclient = testclient
++        self.config = config
 +        self.logformat = logging.Formatter("%(asctime)s - %(levelname)s - %(name)s - %(message)s")
 +        self.loader = unittest.loader.TestLoader()
 +        self.suite = None
 +        self.format = format
 +        self.numthreads=num_threads
 +
 +        if testcaseLogFile is not None:
 +            self.logfile = testcaseLogFile
 +            self.logger = logging.getLogger("TestCaseExecuteEngine")
 +            fh = logging.FileHandler(self.logfile) 
 +            fh.setFormatter(self.logformat)
 +            self.logger.addHandler(fh)
 +            self.logger.setLevel(logging.DEBUG)
 +        if testResultLogFile is not None:
 +            ch = logging.StreamHandler()
 +            ch.setLevel(logging.ERROR)
 +            ch.setFormatter(self.logformat)
 +            self.logger.addHandler(ch)
 +            fp = open(testResultLogFile, "w")
 +            self.testResultLogFile = fp
 +        else:
 +            self.testResultLogFile = sys.stdout
 +        if self.format == "xml"  and (xmlDir is not None):
 +            self.xmlDir = xmlDir
 +            
 +    def loadTestsFromDir(self, testDirectory):
 +        """ Load the test suites from a package with multiple test files """
 +        self.suite = self.loader.discover(testDirectory)
 +        self.injectTestCase(self.suite)
 +        
 +    def loadTestsFromFile(self, file_name):
 +        """ Load the tests from a single script/module """
 +        if os.path.isfile(file_name):
 +            self.suite = self.loader.discover(os.path.dirname(file_name), os.path.basename(file_name))
 +            self.injectTestCase(self.suite)
 +        
 +    def injectTestCase(self, testSuites):
 +        for test in testSuites:
 +            if isinstance(test, unittest.BaseTestSuite):
 +                self.injectTestCase(test)
 +            else:
 +                #logger bears the name of the test class
 +                testcaselogger = logging.getLogger("testclient.testcase.%s"%test.__class__.__name__)
 +                fh = logging.FileHandler(self.logfile) 
 +                fh.setFormatter(self.logformat)
 +                testcaselogger.addHandler(fh)
 +                testcaselogger.setLevel(logging.DEBUG)
 +                
 +                #inject testclient and logger into each unittest 
 +                setattr(test, "testClient", self.testclient)
++                setattr(test, "config", self.config)
 +                setattr(test, "debug", partial(testCaseLogger, logger=testcaselogger))
 +                setattr(test.__class__, "clstestclient", self.testclient)
 +                if hasattr(test, "UserName"):
 +                    self.testclient.createNewApiClient(test.UserName, test.DomainName, test.AcctType)
 +
 +    def run(self):
 +        testqueue=Queue.Queue()
 +        for test in self.suite:
 +            testqueue.put(test)
 +
 +        thread_list=[]
 +        for i in range(num_threads):
 +            thread_list.append(ThreadedTests(testqueue, self.format, self.testResultLogFile, self.xmlDir))
 +
 +        for thread in thread_list:
 +            thread.start()
 +        testqueue.join()

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/fc61ef9c/tools/marvin/marvin/deployAndRun.py
----------------------------------------------------------------------
diff --cc tools/marvin/marvin/deployAndRun.py
index 21639d7,e7b005c..c01ae26
--- a/tools/marvin/marvin/deployAndRun.py
+++ b/tools/marvin/marvin/deployAndRun.py
@@@ -57,29 -46,30 +46,51 @@@ if __name__ == "__main__"
      else:
          deploy.deploy()
          
-     format = "text"
+     fmt = "text"
      xmlDir = None
 -    if options.xmlrunner is not None:
 +    if results.xmlrunner is not None:
-         xmlDir = results.xmlrunner
-         format = "xml"
+         xmlDir = options.xmlrunner
+         fmt = "xml"
      
-     if results.testCaseFolder is None:
-         if results.module is None:
+     if options.testCaseFolder is None:
+         if options.module is None:
              parser.print_usage()
              exit(1)
          else:
 -            engine =  \
 -            TestCaseExecuteEngine.TestCaseExecuteEngine(deploy.testClient,
 -                                                        deploy.getCfg(),
 -                                                        testCaseLogFile,
 -                                                        testResultLogFile, fmt,
 -                                                        xmlDir)
 -            engine.loadTestsFromFile(options.module)
 -            engine.run()
 -    else:
 -       engine = TestCaseExecuteEngine.TestCaseExecuteEngine(deploy.testClient,
 +            if results.num_threads == 1:
-                 engine = TestCaseExecuteEngine.TestCaseExecuteEngine(deploy.testClient, testCaseLogFile, testResultLogFile, format, xmlDir)
++                engine =
++                TestCaseExecuteEngine.TestCaseExecuteEngine(deploy.testClient,
+                                                             deploy.getCfg(),
+                                                             testCaseLogFile,
+                                                             testResultLogFile,
+                                                             fmt, xmlDir)
 -       engine.loadTestsFromDir(options.testCaseFolder)
 +            else:
-                 engine = ThreadedTestCaseExecuteEngine.TestCaseExecuteEngine(deploy.testClient, testCaseLogFile, testResultLogFile, format, xmlDir,results.num_threads)
++                engine =
++                ThreadedTestCaseExecuteEngine.TestCaseExecuteEngine(deploy.testClient,
++                                                                    deploy.getCfg(),
++                                                                    testCaseLogFile,
++                                                                    testResultLogFile,
++                                                                    fmt,
++                                                                    xmlDir,results.num_threads)
 +
 +            engine.loadTestsFromFile(results.module)
 +            engine.run()
 +    else:
 +       if results.num_threads == 1:
-            engine = TestCaseExecuteEngine.TestCaseExecuteEngine(deploy.testClient, testCaseLogFile, testResultLogFile, format, xmlDir)
++           engine =
++           TestCaseExecuteEngine.TestCaseExecuteEngine(deploy.testClient,
++                                                       deploy.getCfg(),
++                                                       testCaseLogFile,
++                                                       testResultLogFile,
++                                                       fmt, xmlDir)
 +       else:
-            engine = ThreadedTestCaseExecuteEngine.TestCaseExecuteEngine(deploy.testClient, testCaseLogFile, testResultLogFile, format, xmlDir, results.num_threads)
++           engine =
++           ThreadedTestCaseExecuteEngine.TestCaseExecuteEngine(deploy.testClient,
++                                                               deploy.getCfg(),
++                                                               testCaseLogFile,
++                                                               testResultLogFile,
++                                                               fmt, xmlDir,
++                                                               results.num_threads)
 +
 +       engine.loadTestsFromDir(results.testCaseFolder)
         engine.run()

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/fc61ef9c/tools/marvin/setup.py
----------------------------------------------------------------------
diff --cc tools/marvin/setup.py
index 7c7b4b5,b2e6d55..77655a2
--- a/tools/marvin/setup.py
+++ b/tools/marvin/setup.py
@@@ -37,10 -37,9 +37,10 @@@ setup(name="Marvin"
        packages=["marvin", "marvin.cloudstackAPI", "marvin.sandbox", "marvin.sandbox.advanced", "marvin.sandbox.basic"],
        license="LICENSE.txt",
        install_requires=[
-           "pymysql",
+           "mysql-connector-python",
            "paramiko",
            "nose",
 -          "unittest-xml-reporting"
 +          "unittest-xml-reporting",
 +          "urllib3",
        ],         
       )