You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by hu...@apache.org on 2013/01/23 08:15:57 UTC

[22/45] git commit: Merge branch 'master' into cloud-agent-with-openvswitch

Merge branch 'master' into cloud-agent-with-openvswitch

Conflicts:
	plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java


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

Branch: refs/heads/master
Commit: 04f82623f65f851256876ecda83905791d6e51a2
Parents: a8fcc4f a65b584
Author: Hugo Trippaers <tr...@gmail.com>
Authored: Mon Jan 21 12:18:21 2013 +0100
Committer: Hugo Trippaers <tr...@gmail.com>
Committed: Mon Jan 21 12:18:21 2013 +0100

----------------------------------------------------------------------
 .../agent/api/storage/ResizeVolumeAnswer.java      |   40 +
 .../agent/api/storage/ResizeVolumeCommand.java     |   86 +
 .../api/commands/CreatePrivateNetworkCmd.java      |    8 +-
 .../cloud/api/commands/DestroyConsoleProxyCmd.java |    2 +-
 api/src/com/cloud/event/EventTypes.java            |    1 +
 .../exception/CloudAuthenticationException.java    |    4 +-
 api/src/com/cloud/exception/CloudException.java    |    1 -
 .../cloud/exception/CloudExecutionException.java   |   57 -
 api/src/com/cloud/exception/ErrorCode.java         |   52 -
 .../com/cloud/exception/RequestLimitException.java |   43 +
 api/src/com/cloud/network/Network.java             |    1 -
 api/src/com/cloud/network/NetworkModel.java        |  252 +
 api/src/com/cloud/network/NetworkService.java      |   40 +-
 api/src/com/cloud/network/element/IpDeployer.java  |    3 +-
 .../element/RemoteAccessVPNServiceProvider.java    |    3 +-
 .../element/Site2SiteVpnServiceProvider.java       |    4 +-
 api/src/com/cloud/offering/NetworkOffering.java    |    2 -
 api/src/com/cloud/server/ManagementService.java    |   11 +-
 api/src/com/cloud/storage/StorageService.java      |   10 +
 api/src/com/cloud/storage/Volume.java              |    9 +-
 .../cloud/storage/snapshot/SnapshotService.java    |    2 +-
 api/src/com/cloud/user/UserContext.java            |    4 +
 api/src/org/apache/cloudstack/acl/APIChecker.java  |    3 +-
 .../org/apache/cloudstack/acl/APILimitChecker.java |   30 +
 .../org/apache/cloudstack/api/ApiConstants.java    |    1 +
 .../org/apache/cloudstack/api/ApiErrorCode.java    |   59 +
 api/src/org/apache/cloudstack/api/BaseCmd.java     |   25 +-
 .../api/BaseUpdateTemplateOrIsoPermissionsCmd.java |    2 +-
 .../apache/cloudstack/api/ServerApiException.java  |   37 +-
 .../command/admin/account/CreateAccountCmd.java    |    2 +-
 .../command/admin/account/DeleteAccountCmd.java    |    2 +-
 .../command/admin/account/DisableAccountCmd.java   |    2 +-
 .../command/admin/account/EnableAccountCmd.java    |    3 +-
 .../api/command/admin/account/LockAccountCmd.java  |    2 +-
 .../command/admin/account/UpdateAccountCmd.java    |    3 +-
 .../command/admin/autoscale/CreateCounterCmd.java  |    3 +-
 .../command/admin/autoscale/DeleteCounterCmd.java  |    5 +-
 .../api/command/admin/cluster/AddClusterCmd.java   |    6 +-
 .../command/admin/cluster/DeleteClusterCmd.java    |    3 +-
 .../command/admin/cluster/UpdateClusterCmd.java    |    3 +-
 .../api/command/admin/config/UpdateCfgCmd.java     |    3 +-
 .../config/UpdateHypervisorCapabilitiesCmd.java    |    3 +-
 .../api/command/admin/domain/CreateDomainCmd.java  |    2 +-
 .../api/command/admin/domain/DeleteDomainCmd.java  |    2 +-
 .../api/command/admin/domain/UpdateDomainCmd.java  |    2 +-
 .../api/command/admin/host/AddHostCmd.java         |    5 +-
 .../command/admin/host/AddSecondaryStorageCmd.java |    4 +-
 .../command/admin/host/CancelMaintenanceCmd.java   |    3 +-
 .../api/command/admin/host/DeleteHostCmd.java      |    3 +-
 .../api/command/admin/host/ListHostsCmd.java       |    9 +-
 .../admin/host/PrepareForMaintenanceCmd.java       |    3 +-
 .../api/command/admin/host/ReconnectHostCmd.java   |    5 +-
 .../api/command/admin/host/UpdateHostCmd.java      |    3 +-
 .../command/admin/network/AddNetworkDeviceCmd.java |    5 +-
 .../network/AddNetworkServiceProviderCmd.java      |    5 +-
 .../admin/network/CreateNetworkOfferingCmd.java    |    2 +-
 .../admin/network/CreatePhysicalNetworkCmd.java    |    5 +-
 .../network/CreateStorageNetworkIpRangeCmd.java    |    3 +-
 .../admin/network/DeleteNetworkDeviceCmd.java      |    7 +-
 .../admin/network/DeleteNetworkOfferingCmd.java    |    3 +-
 .../network/DeleteNetworkServiceProviderCmd.java   |    7 +-
 .../admin/network/DeletePhysicalNetworkCmd.java    |    2 +-
 .../network/DeleteStorageNetworkIpRangeCmd.java    |    2 +-
 .../admin/network/ListNetworkDeviceCmd.java        |    5 +-
 .../admin/network/ListPhysicalNetworksCmd.java     |    3 +-
 .../network/ListStorageNetworkIpRangeCmd.java      |    2 +-
 .../admin/network/UpdateNetworkOfferingCmd.java    |    2 +-
 .../network/UpdateNetworkServiceProviderCmd.java   |    3 +-
 .../network/UpdateStorageNetworkIpRangeCmd.java    |    2 +-
 .../admin/offering/CreateDiskOfferingCmd.java      |    3 +-
 .../admin/offering/CreateServiceOfferingCmd.java   |    3 +-
 .../admin/offering/DeleteDiskOfferingCmd.java      |    3 +-
 .../admin/offering/DeleteServiceOfferingCmd.java   |    2 +-
 .../admin/offering/UpdateDiskOfferingCmd.java      |    3 +-
 .../admin/offering/UpdateServiceOfferingCmd.java   |    2 +-
 .../api/command/admin/pod/CreatePodCmd.java        |    2 +-
 .../api/command/admin/pod/DeletePodCmd.java        |    3 +-
 .../api/command/admin/pod/UpdatePodCmd.java        |    2 +-
 .../admin/resource/UploadCustomCertificateCmd.java |    2 +-
 .../router/ConfigureVirtualRouterElementCmd.java   |    3 +-
 .../router/CreateVirtualRouterElementCmd.java      |    4 +-
 .../api/command/admin/router/DestroyRouterCmd.java |    3 +-
 .../api/command/admin/router/RebootRouterCmd.java  |    2 +-
 .../api/command/admin/router/StartRouterCmd.java   |    2 +-
 .../api/command/admin/router/StopRouterCmd.java    |    3 +-
 .../api/command/admin/router/UpgradeRouterCmd.java |    2 +-
 .../api/command/admin/storage/AddS3Cmd.java        |    5 +-
 .../CancelPrimaryStorageMaintenanceCmd.java        |    3 +-
 .../admin/storage/CreateStoragePoolCmd.java        |    8 +-
 .../api/command/admin/storage/DeletePoolCmd.java   |    4 +-
 .../PreparePrimaryStorageForMaintenanceCmd.java    |    3 +-
 .../admin/storage/UpdateStoragePoolCmd.java        |    2 +-
 .../api/command/admin/swift/AddSwiftCmd.java       |    4 +-
 .../command/admin/systemvm/DestroySystemVmCmd.java |    2 +-
 .../command/admin/systemvm/MigrateSystemVMCmd.java |   11 +-
 .../command/admin/systemvm/RebootSystemVmCmd.java  |    3 +-
 .../command/admin/systemvm/StartSystemVMCmd.java   |    3 +-
 .../command/admin/systemvm/StopSystemVmCmd.java    |    2 +-
 .../command/admin/systemvm/UpgradeSystemVMCmd.java |    2 +-
 .../api/command/admin/usage/AddTrafficTypeCmd.java |    5 +-
 .../command/admin/usage/DeleteTrafficTypeCmd.java  |    3 +-
 .../command/admin/usage/UpdateTrafficTypeCmd.java  |    3 +-
 .../api/command/admin/user/CreateUserCmd.java      |    3 +-
 .../api/command/admin/user/DeleteUserCmd.java      |    3 +-
 .../api/command/admin/user/DisableUserCmd.java     |    3 +-
 .../api/command/admin/user/EnableUserCmd.java      |    2 +-
 .../api/command/admin/user/LockUserCmd.java        |    3 +-
 .../api/command/admin/user/UpdateUserCmd.java      |    2 +-
 .../command/admin/vlan/CreateVlanIpRangeCmd.java   |    6 +-
 .../command/admin/vlan/DeleteVlanIpRangeCmd.java   |    3 +-
 .../api/command/admin/vm/AssignVMCmd.java          |    4 +-
 .../api/command/admin/vm/MigrateVMCmd.java         |   10 +-
 .../api/command/admin/vm/RecoverVMCmd.java         |    3 +-
 .../command/admin/vpc/CreatePrivateGatewayCmd.java |    9 +-
 .../command/admin/vpc/CreateVPCOfferingCmd.java    |    4 +-
 .../command/admin/vpc/DeletePrivateGatewayCmd.java |    3 +-
 .../command/admin/vpc/DeleteVPCOfferingCmd.java    |    3 +-
 .../command/admin/vpc/UpdateVPCOfferingCmd.java    |    2 +-
 .../api/command/admin/zone/CreateZoneCmd.java      |    3 +-
 .../api/command/admin/zone/DeleteZoneCmd.java      |    2 +-
 .../admin/zone/MarkDefaultZoneForAccountCmd.java   |    3 +-
 .../api/command/admin/zone/UpdateZoneCmd.java      |    2 +-
 .../user/account/AddAccountToProjectCmd.java       |    2 +-
 .../user/account/DeleteAccountFromProjectCmd.java  |    2 +-
 .../command/user/address/AssociateIPAddrCmd.java   |   11 +-
 .../user/address/DisassociateIPAddrCmd.java        |    2 +-
 .../user/autoscale/CreateAutoScalePolicyCmd.java   |    2 +-
 .../user/autoscale/CreateAutoScaleVmGroupCmd.java  |    4 +-
 .../autoscale/CreateAutoScaleVmProfileCmd.java     |    3 +-
 .../command/user/autoscale/CreateConditionCmd.java |    3 +-
 .../user/autoscale/DeleteAutoScalePolicyCmd.java   |    3 +-
 .../user/autoscale/DeleteAutoScaleVmGroupCmd.java  |    3 +-
 .../autoscale/DeleteAutoScaleVmProfileCmd.java     |    3 +-
 .../command/user/autoscale/DeleteConditionCmd.java |    5 +-
 .../user/autoscale/DisableAutoScaleVmGroupCmd.java |    3 +-
 .../user/autoscale/EnableAutoScaleVmGroupCmd.java  |    2 +-
 .../user/autoscale/UpdateAutoScalePolicyCmd.java   |    3 +-
 .../user/autoscale/UpdateAutoScaleVmGroupCmd.java  |    2 +-
 .../autoscale/UpdateAutoScaleVmProfileCmd.java     |    2 +-
 .../user/firewall/CreateFirewallRuleCmd.java       |    7 +-
 .../user/firewall/CreatePortForwardingRuleCmd.java |    4 +-
 .../user/firewall/DeleteFirewallRuleCmd.java       |    2 +-
 .../user/firewall/DeletePortForwardingRuleCmd.java |    2 +-
 .../user/firewall/UpdatePortForwardingRuleCmd.java |    2 +-
 .../api/command/user/iso/AttachIsoCmd.java         |    5 +-
 .../api/command/user/iso/DeleteIsoCmd.java         |    3 +-
 .../api/command/user/iso/DetachIsoCmd.java         |    3 +-
 .../api/command/user/iso/ExtractIsoCmd.java        |    4 +-
 .../api/command/user/iso/RegisterIsoCmd.java       |    2 +-
 .../api/command/user/iso/UpdateIsoCmd.java         |    3 +-
 .../loadbalancer/AssignToLoadBalancerRuleCmd.java  |    3 +-
 .../loadbalancer/CreateLBStickinessPolicyCmd.java  |    5 +-
 .../loadbalancer/CreateLoadBalancerRuleCmd.java    |    7 +-
 .../loadbalancer/DeleteLBStickinessPolicyCmd.java  |    3 +-
 .../loadbalancer/DeleteLoadBalancerRuleCmd.java    |    2 +-
 .../RemoveFromLoadBalancerRuleCmd.java             |    2 +-
 .../loadbalancer/UpdateLoadBalancerRuleCmd.java    |    2 +-
 .../user/nat/CreateIpForwardingRuleCmd.java        |    5 +-
 .../user/nat/DeleteIpForwardingRuleCmd.java        |    3 +-
 .../api/command/user/nat/DisableStaticNatCmd.java  |    3 +-
 .../api/command/user/nat/EnableStaticNatCmd.java   |    5 +-
 .../command/user/network/CreateNetworkACLCmd.java  |    7 +-
 .../api/command/user/network/CreateNetworkCmd.java |    3 +-
 .../command/user/network/DeleteNetworkACLCmd.java  |    3 +-
 .../api/command/user/network/DeleteNetworkCmd.java |    2 +-
 .../command/user/network/RestartNetworkCmd.java    |    2 +-
 .../api/command/user/network/UpdateNetworkCmd.java |    3 +-
 .../command/user/project/ActivateProjectCmd.java   |    2 +-
 .../api/command/user/project/CreateProjectCmd.java |    4 +-
 .../api/command/user/project/DeleteProjectCmd.java |    3 +-
 .../user/project/DeleteProjectInvitationCmd.java   |    3 +-
 .../command/user/project/SuspendProjectCmd.java    |    2 +-
 .../api/command/user/project/UpdateProjectCmd.java |    3 +-
 .../user/project/UpdateProjectInvitationCmd.java   |    2 +-
 .../user/resource/GetCloudIdentifierCmd.java       |    3 +-
 .../user/resource/UpdateResourceCountCmd.java      |    2 +-
 .../user/resource/UpdateResourceLimitCmd.java      |    2 +-
 .../AuthorizeSecurityGroupEgressCmd.java           |    2 +-
 .../AuthorizeSecurityGroupIngressCmd.java          |    5 +-
 .../user/securitygroup/CreateSecurityGroupCmd.java |    3 +-
 .../user/securitygroup/DeleteSecurityGroupCmd.java |    5 +-
 .../RevokeSecurityGroupEgressCmd.java              |    2 +-
 .../RevokeSecurityGroupIngressCmd.java             |    3 +-
 .../command/user/snapshot/CreateSnapshotCmd.java   |    4 +-
 .../user/snapshot/CreateSnapshotPolicyCmd.java     |    2 +-
 .../command/user/snapshot/DeleteSnapshotCmd.java   |    2 +-
 .../user/snapshot/DeleteSnapshotPoliciesCmd.java   |    3 +-
 .../user/snapshot/ListSnapshotPoliciesCmd.java     |    7 +-
 .../api/command/user/tag/CreateTagsCmd.java        |    3 +-
 .../api/command/user/tag/DeleteTagsCmd.java        |    3 +-
 .../api/command/user/template/CopyTemplateCmd.java |    5 +-
 .../command/user/template/CreateTemplateCmd.java   |    4 +-
 .../command/user/template/DeleteTemplateCmd.java   |    2 +-
 .../command/user/template/ExtractTemplateCmd.java  |    4 +-
 .../command/user/template/RegisterTemplateCmd.java |    5 +-
 .../command/user/template/UpdateTemplateCmd.java   |    3 +-
 .../api/command/user/vm/DeployVMCmd.java           |   16 +-
 .../api/command/user/vm/DestroyVMCmd.java          |    2 +-
 .../api/command/user/vm/RebootVMCmd.java           |    3 +-
 .../api/command/user/vm/ResetVMPasswordCmd.java    |    3 +-
 .../api/command/user/vm/RestoreVMCmd.java          |    3 +-
 .../cloudstack/api/command/user/vm/StartVMCmd.java |    8 +-
 .../cloudstack/api/command/user/vm/StopVMCmd.java  |    2 +-
 .../api/command/user/vm/UpdateVMCmd.java           |    3 +-
 .../api/command/user/vm/UpgradeVMCmd.java          |    2 +-
 .../api/command/user/vmgroup/CreateVMGroupCmd.java |    2 +-
 .../api/command/user/vmgroup/DeleteVMGroupCmd.java |    2 +-
 .../api/command/user/vmgroup/UpdateVMGroupCmd.java |    2 +-
 .../api/command/user/volume/AttachVolumeCmd.java   |    3 +-
 .../api/command/user/volume/CreateVolumeCmd.java   |    5 +-
 .../api/command/user/volume/DeleteVolumeCmd.java   |    3 +-
 .../api/command/user/volume/DetachVolumeCmd.java   |    2 +-
 .../api/command/user/volume/ExtractVolumeCmd.java  |    5 +-
 .../api/command/user/volume/MigrateVolumeCmd.java  |    3 +-
 .../api/command/user/volume/ResizeVolumeCmd.java   |  154 +
 .../api/command/user/volume/UploadVolumeCmd.java   |    2 +-
 .../api/command/user/vpc/CreateStaticRouteCmd.java |    5 +-
 .../api/command/user/vpc/CreateVPCCmd.java         |   11 +-
 .../api/command/user/vpc/DeleteStaticRouteCmd.java |    2 +-
 .../api/command/user/vpc/DeleteVPCCmd.java         |    6 +-
 .../api/command/user/vpc/RestartVPCCmd.java        |    8 +-
 .../api/command/user/vpc/UpdateVPCCmd.java         |    3 +-
 .../api/command/user/vpn/AddVpnUserCmd.java        |    5 +-
 .../command/user/vpn/CreateRemoteAccessVpnCmd.java |    8 +-
 .../command/user/vpn/CreateVpnConnectionCmd.java   |    8 +-
 .../user/vpn/CreateVpnCustomerGatewayCmd.java      |    3 +-
 .../api/command/user/vpn/CreateVpnGatewayCmd.java  |    3 +-
 .../command/user/vpn/DeleteVpnConnectionCmd.java   |    4 +-
 .../user/vpn/DeleteVpnCustomerGatewayCmd.java      |    2 +-
 .../api/command/user/vpn/DeleteVpnGatewayCmd.java  |    2 +-
 .../api/command/user/vpn/RemoveVpnUserCmd.java     |    5 +-
 .../command/user/vpn/ResetVpnConnectionCmd.java    |    4 +-
 .../user/vpn/UpdateVpnCustomerGatewayCmd.java      |    2 +-
 .../agent/api/test/ResizeVolumeCommandTest.java    |  199 +
 client/pom.xml                                     |    5 +
 client/tomcatconf/commands.properties.in           |    6 +
 client/tomcatconf/components.xml.in                |   59 +
 .../virtualnetwork/VirtualRoutingResource.java     |    2 +-
 .../network/resource/TrafficSentinelResource.java  |    2 +-
 .../debian/config/etc/init.d/cloud-early-config    |    2 +-
 .../config/opt/cloud/bin/checkbatchs2svpn.sh       |   25 +
 .../debian/config/opt/cloud/bin/vpc_guestnw.sh     |    1 +
 .../api/command/user/discovery/ListApisCmd.java    |   11 +-
 .../discovery/ApiDiscoveryServiceImpl.java         |   41 +-
 plugins/api/rate-limit/pom.xml                     |   51 +
 .../command/admin/ratelimit/ResetApiLimitCmd.java  |   99 +
 .../api/command/user/ratelimit/GetApiLimitCmd.java |   89 +
 .../cloudstack/api/response/ApiLimitResponse.java  |   82 +
 .../cloudstack/ratelimit/ApiRateLimitService.java  |   37 +
 .../ratelimit/ApiRateLimitServiceImpl.java         |  196 +
 .../cloudstack/ratelimit/EhcacheLimitStore.java    |   99 +
 .../apache/cloudstack/ratelimit/LimitStore.java    |   51 +
 .../apache/cloudstack/ratelimit/StoreEntry.java    |   33 +
 .../cloudstack/ratelimit/StoreEntryImpl.java       |   64 +
 .../cloudstack/ratelimit/ApiRateLimitTest.java     |  226 +
 .../cloudstack/ratelimit/integration/APITest.java  |  211 +
 .../ratelimit/integration/LoginResponse.java       |  142 +
 .../integration/RateLimitIntegrationTest.java      |  214 +
 .../cloud/api/commands/netapp/AssociateLunCmd.java |   27 +-
 .../cloud/api/commands/netapp/CreateLunCmd.java    |   21 +-
 .../commands/netapp/CreateVolumeOnFilerCmd.java    |   49 +-
 .../api/commands/netapp/CreateVolumePoolCmd.java   |   13 +-
 .../api/commands/netapp/DeleteVolumePoolCmd.java   |    9 +-
 .../cloud/api/commands/netapp/DestroyLunCmd.java   |    9 +-
 .../commands/netapp/DestroyVolumeOnFilerCmd.java   |   20 +-
 .../api/commands/netapp/DissociateLunCmd.java      |    8 +-
 .../com/cloud/api/commands/netapp/ListLunsCmd.java |    7 +-
 .../api/commands/netapp/ListVolumePoolsCmd.java    |    7 +-
 .../api/commands/netapp/ListVolumesOnFilerCmd.java |    8 +-
 .../hypervisor/kvm/resource/BridgeVifDriver.java   |   13 +-
 .../hypervisor/kvm/resource/KVMGuestOsMapper.java  |    2 +
 .../kvm/resource/LibvirtComputingResource.java     |  180 +-
 .../com/cloud/api/commands/ConfigureSimulator.java |    3 +-
 .../cloud/simulator/SimulatorRuntimeException.java |    4 +-
 .../cloud/api/commands/DeleteCiscoNexusVSMCmd.java |    5 +-
 .../api/commands/DisableCiscoNexusVSMCmd.java      |    5 +-
 .../cloud/api/commands/EnableCiscoNexusVSMCmd.java |    2 +-
 .../cloud/api/commands/ListCiscoNexusVSMsCmd.java  |   15 +-
 .../src/com/cloud/hypervisor/guru/VMwareGuru.java  |    4 +-
 .../hypervisor/vmware/VmwareServerDiscoverer.java  |    4 +-
 .../vmware/manager/VmwareManagerImpl.java          |    4 +-
 .../hypervisor/vmware/resource/VmwareResource.java |    2 +-
 .../xen/resource/CitrixResourceBase.java           |   28 +-
 .../element/ElasticLoadBalancerElement.java        |    4 +-
 .../network/lb/ElasticLoadBalancerManagerImpl.java |   21 +-
 .../api/commands/AddExternalLoadBalancerCmd.java   |   17 +-
 .../cloud/api/commands/AddF5LoadBalancerCmd.java   |   10 +-
 .../api/commands/ConfigureF5LoadBalancerCmd.java   |    6 +-
 .../commands/DeleteExternalLoadBalancerCmd.java    |   16 +-
 .../api/commands/DeleteF5LoadBalancerCmd.java      |    7 +-
 .../commands/ListF5LoadBalancerNetworksCmd.java    |    5 +-
 .../cloud/api/commands/ListF5LoadBalancersCmd.java |    4 +-
 .../element/F5ExternalLoadBalancerElement.java     |    9 +-
 .../cloud/network/resource/F5BigIpResource.java    |    2 +-
 .../cloud/api/commands/AddExternalFirewallCmd.java |   37 +-
 .../com/cloud/api/commands/AddSrxFirewallCmd.java  |   13 +-
 .../api/commands/ConfigureSrxFirewallCmd.java      |    9 +-
 .../api/commands/DeleteExternalFirewallCmd.java    |   21 +-
 .../cloud/api/commands/DeleteSrxFirewallCmd.java   |    9 +-
 .../api/commands/ListSrxFirewallNetworksCmd.java   |    6 +-
 .../cloud/api/commands/ListSrxFirewallsCmd.java    |    6 +-
 .../element/JuniperSRXExternalFirewallElement.java |   11 +-
 .../cloud/network/resource/JuniperSrxResource.java |    2 +-
 .../api/commands/AddNetscalerLoadBalancerCmd.java  |   10 +-
 .../ConfigureNetscalerLoadBalancerCmd.java         |    6 +-
 .../commands/DeleteNetscalerLoadBalancerCmd.java   |    7 +-
 .../ListNetscalerLoadBalancerNetworksCmd.java      |    5 +-
 .../commands/ListNetscalerLoadBalancersCmd.java    |    5 +-
 .../cloud/network/element/NetscalerElement.java    |   11 +-
 .../cloud/network/resource/NetscalerResource.java  |    2 +-
 .../cloud/api/commands/AddNiciraNvpDeviceCmd.java  |   22 +-
 .../api/commands/DeleteNiciraNvpDeviceCmd.java     |    7 +-
 .../commands/ListNiciraNvpDeviceNetworksCmd.java   |    5 +-
 .../api/commands/ListNiciraNvpDevicesCmd.java      |    7 +-
 .../cloud/network/element/NiciraNvpElement.java    |  111 +-
 .../network/guru/NiciraNvpGuestNetworkGuru.java    |    9 +-
 .../cloud/network/resource/NiciraNvpResource.java  |    2 +-
 .../network/element/NiciraNvpElementTest.java      |    9 +-
 .../guru/NiciraNvpGuestNetworkGuruTest.java        |   13 +-
 .../src/com/cloud/network/element/OvsElement.java  |    2 +-
 .../cloud/network/guru/OvsGuestNetworkGuru.java    |   19 +-
 plugins/pom.xml                                    |    1 +
 pom.xml                                            |   41 +-
 python/lib/cloudutils/utilities.py                 |    2 +-
 scripts/storage/qcow2/resizevolume.sh              |  253 +
 scripts/vm/hypervisor/kvm/rundomrpre.sh            |    2 +-
 server/src/com/cloud/acl/DomainChecker.java        |   24 +-
 .../com/cloud/agent/manager/AgentManagerImpl.java  |   31 +-
 .../cloud/agent/manager/DirectAgentAttache.java    |   13 +-
 server/src/com/cloud/api/ApiDBUtils.java           |   25 +-
 server/src/com/cloud/api/ApiDispatcher.java        |  242 +-
 server/src/com/cloud/api/ApiServer.java            |  260 +-
 server/src/com/cloud/api/ApiServlet.java           |   64 +-
 .../cloud/api/commands/AddTrafficMonitorCmd.java   |    4 +-
 .../api/commands/DeleteTrafficMonitorCmd.java      |   23 +-
 .../api/commands/GenerateUsageRecordsCmd.java      |    2 +-
 server/src/com/cloud/async/AsyncCommandQueued.java |    4 +-
 .../com/cloud/async/AsyncJobExecutorContext.java   |    4 +-
 .../cloud/async/AsyncJobExecutorContextImpl.java   |    9 +-
 .../src/com/cloud/async/AsyncJobManagerImpl.java   |  158 +-
 .../cloud/baremetal/BareMetalVmManagerImpl.java    |    2 +-
 .../cloud/baremetal/ExternalDhcpResourceBase.java  |    2 +-
 .../com/cloud/baremetal/PxeServerResourceBase.java |    2 +-
 server/src/com/cloud/configuration/Config.java     |    3 +-
 .../configuration/ConfigurationManagerImpl.java    |  152 +-
 .../configuration/DefaultComponentLibrary.java     |    4 +
 .../consoleproxy/ConsoleProxyManagerImpl.java      |   15 +-
 .../cloud/ha/ManagementIPSystemVMInvestigator.java |    4 +-
 .../src/com/cloud/ha/UserVmDomRInvestigator.java   |    4 +-
 .../com/cloud/hypervisor/HypervisorGuruBase.java   |    1 +
 .../kvm/discoverer/KvmServerDiscoverer.java        |    4 +-
 .../network/ExternalFirewallDeviceManagerImpl.java |    8 +-
 .../ExternalLoadBalancerDeviceManagerImpl.java     |   10 +-
 .../ExternalLoadBalancerUsageManagerImpl.java      |    2 +-
 .../network/ExternalNetworkDeviceManagerImpl.java  |    2 +-
 server/src/com/cloud/network/NetworkManager.java   |  231 +-
 .../src/com/cloud/network/NetworkManagerImpl.java  | 5134 ++-------------
 server/src/com/cloud/network/NetworkModelImpl.java | 1839 ++++++
 .../src/com/cloud/network/NetworkRuleApplier.java  |   28 +
 .../src/com/cloud/network/NetworkServiceImpl.java  | 2885 ++++++++
 .../network/element/CloudZonesNetworkElement.java  |    4 +-
 .../network/element/VirtualRouterElement.java      |   13 +-
 .../network/element/VpcVirtualRouterElement.java   |   13 +-
 .../network/firewall/FirewallManagerImpl.java      |   81 +-
 .../com/cloud/network/guru/ControlNetworkGuru.java |    4 +-
 .../com/cloud/network/guru/DirectNetworkGuru.java  |    5 +-
 .../network/guru/DirectPodBasedNetworkGuru.java    |    2 +-
 .../network/guru/ExternalGuestNetworkGuru.java     |   14 +-
 .../com/cloud/network/guru/GuestNetworkGuru.java   |   11 +-
 .../com/cloud/network/guru/PrivateNetworkGuru.java |    4 +-
 .../network/lb/LoadBalancingRulesManagerImpl.java  |   69 +-
 .../router/VirtualNetworkApplianceManagerImpl.java |  137 +-
 .../VpcVirtualNetworkApplianceManagerImpl.java     |   59 +-
 .../com/cloud/network/rules/RulesManagerImpl.java  |   80 +-
 .../network/security/SecurityGroupManagerImpl.java |    9 +-
 .../cloud/network/vpc/NetworkACLManagerImpl.java   |    4 +-
 .../src/com/cloud/network/vpc/VpcManagerImpl.java  |   34 +-
 .../network/vpn/RemoteAccessVpnManagerImpl.java    |   28 +-
 .../cloud/network/vpn/Site2SiteVpnManagerImpl.java |   12 +-
 .../src/com/cloud/offerings/NetworkOfferingVO.java |   28 +-
 server/src/com/cloud/resource/DiscovererBase.java  |    4 +-
 .../cloud/resource/DummyHostServerResource.java    |    2 +-
 .../com/cloud/resource/ResourceManagerImpl.java    |    1 +
 .../com/cloud/server/ConfigurationServerImpl.java  |    7 +-
 .../src/com/cloud/server/ManagementServerImpl.java |   38 +-
 .../src/com/cloud/storage/StorageManagerImpl.java  |  184 +-
 .../com/cloud/storage/dao/SnapshotPolicyDao.java   |    3 +
 .../cloud/storage/dao/SnapshotPolicyDaoImpl.java   |   30 +-
 .../secondary/SecondaryStorageManagerImpl.java     |   12 +-
 .../storage/snapshot/SnapshotManagerImpl.java      |   96 +-
 .../src/com/cloud/upgrade/dao/Upgrade40to41.java   |   40 +-
 server/src/com/cloud/vm/UserVmManagerImpl.java     |  124 +-
 .../com/cloud/vm/VirtualMachineManagerImpl.java    |   15 +-
 server/src/com/cloud/vm/dao/NicDao.java            |    2 -
 server/src/com/cloud/vm/dao/NicDaoImpl.java        |    8 -
 .../test/com/cloud/alert/MockAlertManagerImpl.java |   87 +
 server/test/com/cloud/api/APITest.java             |   39 +-
 server/test/com/cloud/api/ListPerfTest.java        |    9 +-
 .../com/cloud/network/MockFirewallManagerImpl.java |  202 +
 .../com/cloud/network/MockNetworkManagerImpl.java  |  662 +--
 .../com/cloud/network/MockNetworkModelImpl.java    |  809 +++
 .../com/cloud/network/MockRulesManagerImpl.java    |  312 +
 .../test/com/cloud/network/NetworkManagerTest.java |   66 +
 .../NetworkManagerTestComponentLibrary.java        |  104 +
 .../test/com/cloud/network/NetworkModelTest.java   |   88 +
 .../network/firewall/FirewallManagerTest.java      |  177 +
 .../security/SecurityGroupManagerImpl2Test.java    |    2 +
 .../vpn/MockRemoteAccessVPNServiceProvider.java    |   78 +
 .../com/cloud/network/vpn/RemoteAccessVpnTest.java |  109 +
 .../cloud/resource/MockResourceManagerImpl.java    |  601 ++
 .../test/com/cloud/user/MockDomainManagerImpl.java |    4 +-
 .../test/com/cloud/vpc/MockNetworkManagerImpl.java | 1232 ++--
 .../cloud/vpc/MockSite2SiteVpnServiceProvider.java |   86 +
 .../vpc/MockVpcVirtualNetworkApplianceManager.java |  391 ++
 server/test/com/cloud/vpc/Site2SiteVpnTest.java    |   98 +
 server/test/resources/network-mgr-component.xml    |  184 +
 setup/db/create-schema.sql                         |    1 -
 setup/db/db/schema-40to410.sql                     |    3 +-
 setup/db/templates.kvm.sql                         |   11 +-
 setup/db/templates.sql                             |    7 +
 test/integration/smoke/test_routers.py             |    2 +-
 test/integration/smoke/test_service_offerings.py   |    2 +-
 test/integration/smoke/test_templates.py           |    2 +-
 test/integration/smoke/test_vm_life_cycle.py       |    2 +-
 test/integration/smoke/test_volumes.py             |  127 +-
 tools/devcloud-kvm/devcloud-kvm-advanced.cfg       |   19 +
 tools/devcloud-kvm/devcloud-kvm.cfg                |   20 +
 tools/devcloud-kvm/devcloud-kvm.sql                |    5 +-
 tools/devcloud/devcloud-advanced.cfg               |   17 +
 tools/devcloud/devcloud-advanced_internal-mgt.cfg  |   17 +
 tools/devcloud/devcloud.cfg                        |   18 +
 tools/marvin/marvin/deployDataCenter.py            |    8 +-
 tools/marvin/marvin/integration/lib/base.py        |    6 +
 ui/index.jsp                                       |    2 +-
 ui/scripts/configuration.js                        |   14 +-
 ui/scripts/instanceWizard.js                       |   80 +-
 ui/scripts/network.js                              |   10 +-
 ui/scripts/system.js                               |    1 +
 ui/scripts/ui-custom/instanceWizard.js             |   19 +-
 ui/scripts/ui/widgets/listView.js                  |    4 +-
 .../utils/exception/CSExceptionErrorCode.java      |   33 +-
 .../utils/exception/CloudRuntimeException.java     |   48 +-
 .../HypervisorVersionChangedException.java         |    4 +-
 .../utils/exception/RuntimeCloudException.java     |   75 -
 444 files changed, 14877 insertions(+), 8216 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/04f82623/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/BridgeVifDriver.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/04f82623/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
----------------------------------------------------------------------
diff --cc plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
index 03c5367,a269e8a..8a9f71b
--- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
+++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
@@@ -830,65 -814,55 +848,93 @@@ public class LibvirtComputingResource e
          }
          s_logger.debug("done looking for pifs, no more bridges");
      }
 +    
 +    private void getOvsPifs() {
 +        String cmdout = Script.runSimpleBashScript("ovs-vsctl list-br | sed '{:q;N;s/\\n/%/g;t q}'");
 +        s_logger.debug("cmdout was " + cmdout);
 +        List<String> bridges = Arrays.asList(cmdout.split("%"));
 +        for (String bridge : bridges) {
 +            s_logger.debug("looking for pif for bridge " + bridge);
 +            // String pif = getOvsPif(bridge);
 +            // Not really interested in the pif name at this point for ovs
 +            // bridges
 +            String pif = bridge;
 +            if (_publicBridgeName != null && bridge.equals(_publicBridgeName)) {
 +                _pifs.put("public", pif);
 +            }
 +            if (_guestBridgeName != null && bridge.equals(_guestBridgeName)) {
 +                _pifs.put("private", pif);
 +            }
 +            _pifs.put(bridge, pif);
 +        }
 +        s_logger.debug("done looking for pifs, no more bridges");
 +    }
  
      private String getPif(String bridge) {
-         String pif = Script.runSimpleBashScript("brctl show | grep " + bridge + " | awk '{print $4}'");
-         String vlan = Script.runSimpleBashScript("ls /proc/net/vlan/" + pif);
+         String pif = matchPifFileInDirectory(bridge);
+         File vlanfile = new File("/proc/net/vlan" + pif);
  
-         if (vlan != null && !vlan.isEmpty()) {
-                 pif = Script.runSimpleBashScript("grep ^Device\\: /proc/net/vlan/" + pif + " | awk {'print $2'}");
+         if (vlanfile.isFile()) {
+                 pif = Script.runSimpleBashScript("grep ^Device\\: /proc/net/vlan/"
+                                                   + pif + " | awk {'print $2'}");
          }
  
          return pif;
      }
  
 +    private String getOvsPif(String bridge) {
 +        String pif = Script.runSimpleBashScript("ovs-vsctl list-ports " + bridge);
 +        return pif;
 +    }
 +    
+     private String matchPifFileInDirectory(String bridgeName){
+         File f = new File("/sys/devices/virtual/net/" + bridgeName + "/brif");
+ 
+         if (! f.isDirectory()){
+             s_logger.debug("failing to get physical interface from bridge"
+                            + bridgeName + ", does " + f.getAbsolutePath() 
+                            + "exist?");
+             return "";
+         }
+ 
+         File[] interfaces = f.listFiles();
+ 
+         for (int i = 0; i < interfaces.length; i++) {
+             String fname = interfaces[i].getName();
+             s_logger.debug("matchPifFileInDirectory: file name '"+fname+"'");
+             if (fname.startsWith("eth") || fname.startsWith("bond")
+                 || fname.startsWith("vlan")) {
+                 return fname;
+             }
+         }
+ 
+         s_logger.debug("failing to get physical interface from bridge"
+                         + bridgeName + ", did not find an eth*, bond*, or vlan* in "
+                         + f.getAbsolutePath());
+         return "";
+     }
+ 
+ 
      private boolean checkNetwork(String networkName) {
          if (networkName == null) {
              return true;
          }
  
 +        if (_bridgeType == BridgeType.OPENVSWITCH) {
 +            return checkOvsNetwork(networkName);
-         }
-         else {
++        } else {
 +            return checkBridgeNetwork(networkName);
 +        }
 +    }
 +
 +    private boolean checkBridgeNetwork(String networkName) {
 +        if (networkName == null) {
 +            return true;
 +        }
 +
-         String name = Script.runSimpleBashScript("brctl show | grep "
-                 + networkName + " | awk '{print $4}'");
-         if (name == null) {
+         String name = matchPifFileInDirectory(networkName);
+ 
+         if (name == null || name.isEmpty()) {
              return false;
          } else {
              return true;
@@@ -1632,13 -1652,13 +1741,11 @@@
                  String pluggedVlan = pluggedNic.getBrName();
                  if (pluggedVlan.equalsIgnoreCase(_linkLocalBridgeName)) {
                      vlanToNicNum.put("LinkLocal",devNum); 
--                }
--                else if (pluggedVlan.equalsIgnoreCase(_publicBridgeName)
++                } else if (pluggedVlan.equalsIgnoreCase(_publicBridgeName)
                           || pluggedVlan.equalsIgnoreCase(_privBridgeName)
                           || pluggedVlan.equalsIgnoreCase(_guestBridgeName)) {
                      vlanToNicNum.put(Vlan.UNTAGGED,devNum);
--                }
--                else {
++                } else {
                      vlanToNicNum.put(getVlanIdFromBridge(pluggedVlan),devNum);
                  }
                  devNum++;