Commit Graph

149 Commits

Author SHA1 Message Date
Min Chen 33cd1ab921 Merge branch 'master' into rbac 2014-01-22 11:23:51 -08:00
Hugo Trippaers 49124bdb7d Fix license formatting to work with the mycila license check for nvp and opendaylight 2014-01-22 11:24:37 +01:00
Min Chen 929fbabaa2 Merge branch 'master' into rbac. 2014-01-17 14:37:08 -08:00
Hugo Trippaers 044a2078a1 Fix coverity issue 573580 2014-01-13 12:16:37 +01:00
Hugo Trippaers 15a08107d8 Fix coverity issue 600070 2014-01-13 12:16:37 +01:00
Hugo Trippaers 4683de5a92 Fix coverity issues 569415, 569416, 569417 2014-01-13 12:16:36 +01:00
Hugo Trippaers 5dc0c60239 Fix missing / in api url 2014-01-08 11:01:20 +01:00
Daan Hoogland 6d0dbf5968 check for BroadcastDomainTypes on sourceNatIp 2014-01-06 22:13:51 +01:00
Daan Hoogland d69a35086f another issue with vlan-number vs vlan-uri 2014-01-06 15:25:35 +01:00
Antonio Fornie dad4249498 SecurityProfile and ACL for NiciraNvpApi, including Unit and Integration tests
Signed-off-by: Daan Hoogland <dhoogland@schubergphilis.com>
2013-12-23 14:30:03 +01:00
Min Chen add277a4aa Separate network and VPC related cmd to use two different views. 2013-12-12 16:53:59 -08:00
Alex Huang d620df2bdd Reformatted all of the code. 2013-11-21 06:15:26 -08:00
Alex Huang 8d62744681 Reformat all source code. Added checkstyle to check the source code 2013-11-20 07:26:53 -08:00
afornie 876b7e492f Checkstyle adjustments in code and configuration 2013-11-18 19:22:42 +01:00
Hugo Trippaers 256763cf65 Fix checkstyle errors in Nicira NVP plugin 2013-11-04 15:24:54 +01:00
Darren Shepherd 9cbb309d6b Refactor missed classes 2013-10-17 16:00:11 -07:00
Daan Hoogland 2614b00c51 sdn hosted vpc gateways (using lswitch) 2013-09-18 16:56:56 +02:00
Alex Huang 2e5bb63f77 Moved NetworkManagerImpl to NetworkOrchestrator 2013-09-06 15:40:32 -07:00
Alex Huang 8e5249df62 Moved NetworkManager to NetworkOrchestrationService 2013-09-06 15:40:31 -07:00
Daan Hoogland d9c06e538b CLOUDSTACK-4346 replace URI getHost() and create(String) calls with BroadcastDomainType methods 2013-09-01 22:53:23 +02:00
Alex Huang 092e20204a Divided NetworkManagerImpl into two files: NetworkManagerImpl and IpAddressManagerImpl 2013-08-19 14:13:29 -07:00
Alex Huang 1325014a03 Changed VirtualMachineProfile to be non-generic. From here on VirtualMachineManager will only manage vm instance. It doesn't understand the difference between different types of VMs. This makes the vmsync code to be generic across all vms. 2013-07-22 11:48:11 -07:00
ahuang 11e1e585b1 UserContext switched to CallContext. Added generic storage mechanism for other code to carry information throughout a call. Made the calling User and Account a must have. Added an interface to carry entities in error. Fixed up the code. Part of the vmsync branch 2013-07-16 11:24:21 -07:00
Likitha Shetty 5b80af0cda Add missing license headers 2013-05-22 18:17:11 +05:30
Hugo Trippaers 4e09079640 Update the Logical Router NatRules to be compatible with the NVP 3.x.x
platform

Use the Gson adapters to serialize/deserialize the NatRules

Switch the NiciraNvpApi to a single gson Object with the proper adapters

Fix missing order setting for static nat rules and portforwarding rules

Return an error when a port range is passed in a portforwarding rule

The serializer is not required

Fix a bug where an ip address could be released even if it was still in
use for SourceNat

Throw a json parse exception when the type is unknown to the adapter
2013-05-22 11:32:16 +02:00
Nitin Mehta c11dbad9c9 merge master 2013-05-11 15:28:43 +05:30
Hugo Trippaers a28a19962a CLOUDSTACK-2092 Don't push IP to the Nicira Controller when it is about
to be released.
2013-04-19 16:28:53 +02:00
Prachi Damle ec1f48a4b2 CLOUDSTACK-1331: Upgrade fails for a 2.2.14 Zone having multiple guest networks using network_tags and Public Vlan
Changes:
-We need to update the physical_network_id for public vlans.
-Physical network ID should be retrieved from the network if present.
2013-02-20 11:23:32 -08:00
Kelven Yang 176523254e Improve component lifecycle management with system run-level concept 2013-01-30 15:21:02 -08:00
Kelven Yang 45a92ba369 Fix the initialization of management server 2013-01-23 15:29:41 -08:00
Edison Su 4fbecf15ec add unit test back, primary storage life cycle is tested 2013-01-21 17:01:00 -08:00
Alex Huang 10d9c019a9 All merge conflicts resolved 2013-01-18 12:14:57 -08:00
Koushik Das 070856affd CLOUDSTACK-988: HV version must be updated in hypervisor_version column of host table HV version is stored in hypervisor_version column in host table wherever present Also correctly populating version column in host table with resource file version
Signed-off-by: Koushik Das <koushik.das@citrix.com>
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2013-01-18 16:49:52 +05:30
Chiradeep Vittal 56cd809600 Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-cloudstack
Re-merge with network-refactor
2013-01-17 11:32:49 -08:00
Min Chen 3dabd5fbf3 Clean up ApiServer, ApiServlet and ApiDispatcher flow to handle various CloudRuntimeException
and CloudException in one place, and Introduced ApiErrorCode to handle CloudStack API error
code to standard Http code mapping.

Signed-off-by: Min Chen <min.chen@citrix.com>
2013-01-16 22:36:34 -08:00
Chiradeep Vittal cadca5fc0c Merge branch 'master' into network-refactor-merge2
Conflicts:
	api/src/com/cloud/network/NetworkService.java
	api/src/com/cloud/network/element/RemoteAccessVPNServiceProvider.java
	plugins/network-elements/nicira-nvp/src/com/cloud/network/element/NiciraNvpElement.java
	server/src/com/cloud/acl/DomainChecker.java
	server/src/com/cloud/network/ExternalFirewallDeviceManagerImpl.java
	server/src/com/cloud/network/NetworkManager.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
	server/test/com/cloud/network/MockNetworkManagerImpl.java
	server/test/com/cloud/vpc/MockNetworkManagerImpl.java
2013-01-16 19:17:14 -08:00
Kelven Yang 497dcd5044 Get rid of PlugService annotation, replace it with Spring standard injection in command classes 2013-01-16 18:44:44 -08:00
Kelven Yang 2be270de89 Separate loadable components like Gurus, Elements, Adapters to componentContext.xml 2013-01-16 16:33:59 -08:00
Rohit Yadav bca2c928e8 PluggableService: Fix interface definition
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-14 19:01:26 -08:00
Kelven Yang f57dcaa820 Loadable components to be in separted Spring component bundling 2013-01-11 15:33:15 -08:00
Alex Huang 1294cdc701 pulled from master 2013-01-10 16:01:01 -08:00
Rohit Yadav c4e890c55d PluggableService: Refactor method to return map of key value pairs
- Makes plugins self contained so they decide their properties file format
- PluggableService creates the contract that implementing entity will return a
  properties map which is apiname:rolemask (both are strings)

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-10 15:55:02 -08:00
Kelven Yang 0bcebd33b6 Fix problems after merge 2013-01-09 17:36:53 -08:00
Chiradeep Vittal 0c3001530f Network-refactor: move readonly interface NetworkModel into api project so that plugins can stop depending on the server project
Network-refactor: accidentally injected NetworkModel twice (revert one of them)

Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
2013-01-09 15:49:01 -08:00
Chiradeep Vittal 5a830c4db0 Network-refactor: Refactor NetworkManager into NetworkModel and NetworkManager.
NetworkManager's exclusive focus is now
 - handling plugins during orchestration, and
 - to deal with ip address allocation.
Those classes that used to refer to NetworkManager to get access to the datamodel now refer to NetworkModel

Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
2013-01-09 15:49:01 -08:00
Alex Huang 30f2565d98 Merge branch 'api_refactoring' into javelin 2013-01-08 12:36:04 -08:00
Rohit Yadav 596f9d0905 api: Annotate netscaler apis, remove IdentityMapper from everywhere
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-04 17:09:40 -08:00
Rohit Yadav a2f8f42575 nicira-nvp: Annotate nvp plugin, remove IdentityMapper
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-04 16:33:40 -08:00
Chiradeep Vittal e37f458a8d Rationalize the interface by injecting all service providers by the service provider interface instead of assuming everybody implements NetworkElement. This is step 2 and includes all the plugins
import cleanups - remove unneeded and add explicit classes

Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
2013-01-04 15:13:47 -08:00
Rohit Yadav edb00bb613 Merge branch 'master' into api_refactoring 2013-01-03 08:32:56 -08:00
Hugo Trippaers 00847482cc Summary: Small fixes for issues found during unittests 2013-01-03 11:56:50 +01:00
Hugo Trippaers 6cf0c5683d Summary: Make canHandle protected
Change access to canHandle so it's easier to unittest. 

Make a note that answers can be null if the host is down, there should
be a way to deal with this, but for now an NPE is an adequate indication
that something is wrong.
2013-01-03 11:56:26 +01:00
Hugo Trippaers 9122809e00 Summary: nothing to see here, move along
Fix for a stupid mistake.
2013-01-03 11:56:02 +01:00
Rohit Yadav d235859168 Fix PluggableService to provide interface for ACL adapters etc. to get configs
- Fix interface to return array of strings, or filenames
- Fix StaticRoleBased ACL adapter to process config files by going through all pluggable services
- Refactor interface names

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-02 16:29:39 -08:00
Rohit Yadav 774cb29b0c api: Annotate all remaining cmd classes with APICommand name field
Automates name field filling using following python program which reads from
various *commands.properties.in files and populates name fields based on the
name cmd class mapping defined in them.

import os
search_pattern = "@APICommand("
pattern_len = len(search_pattern)
prop_files = [
"client/tomcatconf/cisconexusvsm_commands.properties.in",
"client/tomcatconf/f5bigip_commands.properties.in",
"client/tomcatconf/junipersrx_commands.properties.in",
"client/tomcatconf/netapp_commands.properties.in",
"client/tomcatconf/netscalerloadbalancer_commands.properties.in",
"client/tomcatconf/nicira-nvp_commands.properties.in",
"client/tomcatconf/simulator_commands.properties.in",]
file_prefixes = [
"plugins/hypervisors/vmware/src/",
"plugins/network-elements/f5/src/",
"plugins/network-elements/juniper-srx/src/",
"plugins/file-systems/netapp/src/",
"plugins/network-elements/netscaler/src/",
"plugins/network-elements/nicira-nvp/src/",
"plugins/hypervisors/simulator/src/",]
counter = 0
for prop_file in prop_files:
    f = open(prop_file, 'r')
    data = f.read()
    f.close()
    file_prefix = file_prefixes[counter]
    apis = filter(lambda x: x.strip()!='' and (not x.startswith('#')), data.split('\n'))
    for api in apis:
        api_name = api.split('=')[0].strip()
        cmd_name = file_prefix + api.split('=')[1].split(';')[0].replace('.', '/').strip() + ".java"
        if not os.path.exists(cmd_name):
            print cmd_name, api_name
        f = open(cmd_name, 'r')
        d = f.read()
        f.close()
        idx = d.find(search_pattern) + pattern_len
        new_str = d[:idx] + "name = \"%s\", " % api_name + d[idx:]
        f = open(cmd_name, 'w')
        f.write(new_str)
        f.close()
    counter += 1

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-28 01:28:47 -08:00
Rohit Yadav 7a7fe583e0 Rename Implementation annotation to APICommand
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-26 15:55:34 -08:00
Rohit Yadav 057ac12d23 Enforce InternalIdentity interface on all VO classes that impls long getId()
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-26 15:09:44 -08:00
Rohit Yadav 018b5215e0 api: Annotate apis in various plugins
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-23 18:03:23 -08:00
Rohit Yadav 1bd47d48ab api: Annotate some nicira apis
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-23 17:43:42 -08:00
Rohit Yadav 296b49c2f8 Merge branch 'master' into test-merge-api
Conflicts:
	api/src/com/cloud/agent/api/BackupSnapshotCommand.java
	api/src/com/cloud/agent/api/storage/PrimaryStorageDownloadCommand.java
	api/src/com/cloud/agent/api/to/PortForwardingRuleTO.java
	api/src/com/cloud/network/NetworkService.java
	api/src/com/cloud/resource/ResourceService.java
	api/src/org/apache/cloudstack/api/ApiConstants.java
	api/src/org/apache/cloudstack/api/ResponseGenerator.java
	api/src/org/apache/cloudstack/api/response/SSHKeyPairResponse.java
	client/tomcatconf/commands.properties.in
	core/src/com/cloud/storage/SnapshotVO.java
	pom.xml
	server/src/com/cloud/api/ApiDispatcher.java
	server/src/com/cloud/api/ApiResponseHelper.java
	server/src/com/cloud/api/ApiServer.java
	server/src/com/cloud/configuration/ConfigurationManagerImpl.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/rules/RulesManagerImpl.java
	server/src/com/cloud/offerings/NetworkOfferingVO.java
	server/src/com/cloud/resource/ResourceManagerImpl.java
	server/src/com/cloud/upgrade/dao/Upgrade40to41.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
	server/test/com/cloud/vpc/MockNetworkManagerImpl.java
	setup/db/create-schema.sql
	setup/db/db/schema-40to410.sql

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-23 13:54:46 -08:00
Min Chen 98b022a430 Remove IdentityProxy from plugin response classes.
Signed-off-by: Min Chen <min.chen@citrix.com>
2012-12-19 13:09:02 -08:00
Hugo Trippaers 2235776aed Unittests for NiciraNvpGuestNetworkGuru
These unittests do not depend on the componentlocator but instead are
completely dependent on mock objects. This ensures that they can be run
standalone without any requirements on the environment.

Includes some fixes to NiciraNvpGuestNetworkGuru and GuestNetworkGuru
2012-12-14 10:41:36 +01:00
Rohit Yadav e398b1e47a api: Refactor command and response classes to org.apache.cloudstack.api.*
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-07 19:23:24 -08:00
Hugo Trippaers fa207d2b4d Add unittests for NiciraNvpApi
Added some unittests for the NiciraNvpApi. These tests mainly validate
the logic of the execute methods, which are the main thing in this
class. Other methods are basically wrappers around these functions.

Changed NiciraNvpApi to have a factory method for obtaining the
HttpMethod. This makes it easier to mock it.

Changed the executeMethods in NiciraNvpApi to protected so the unittests
have access.

Fixed a bug in NiciraNvpApi where releaseconnection was not called in
some cases.
2012-12-07 15:55:26 +01:00
Hugo Trippaers 1fbf2a2864 Fix bug in Port Forwarding
Nicira NVP can't handle a range of port when implementing port
forwarding, so return an error message when a rule is being implemented
that uses port ranges.

Include unittest to verify this behaviour
2012-12-06 16:50:56 +01:00
Hugo Trippaers cfd2a0bdf8 Fixes for some bug discovered while writing unittests
Rewritten handling for static nat and port forwarding, should make some
more sense now and the complex functions are split in smaller units.

Fix a small bug in Match

Add equals function to NatRule that ignores the uuid field.
2012-12-06 14:45:58 +01:00
Hugo Trippaers 48308ec070 Redoing NatRule usage and some fixes based on issues found while writing
unittests
2012-12-06 14:45:37 +01:00
Rohit Yadav ba8e61bfb5 api_refactoring: for network api refactoring move interfaces so it works
Move ExternalNetworkDeviceManager to cloud-api, as server depends on cloud-api
The api refactoring of one of the api required this interface

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-05 14:53:16 -08:00
Rohit Yadav 6fc3bc3760 api_refactor: refactor vpn and vm apis
- Refactor VPN and VM APIs to admin and user pkgs
- Names space, org.apache.cloudstack
- Fix refactored apis in commands*.in
- Fix comments etc.
- Expand tabs, remove trailing whitespace

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-03 21:27:02 -08:00
Rohit Yadav 5edfc2760a refactor: remove redundant imports, fix trailing chars 2012-12-03 13:54:37 -08:00
Hugo Trippaers 751e74708e Setup unittests for the nicira nvp plugin
Changed the creation of the NiciraNvpApi to a factory method that can be
overridden by a mock object.

Setup two tests to test the configure function of the NiciraNvpResource
to test this factory method.
2012-12-02 10:50:14 -08:00
Hiroaki Kawai a28f4cac3c HttpClient needs releaseConnection method call
reviewboard: https://reviews.apache.org/r/8186/

Signed-off-by: Hugo Trippaers <trippie@gmail.com>
2012-11-29 20:23:30 +01:00
Hiroaki Kawai c8832cd4b6 Commit https://reviews.apache.org/r/8075/
Signed-off-by: Hugo Trippaers <htrippaers@schubergphilis.com>
2012-11-19 12:02:26 +01:00
Kelven Yang cea8f3bf37 Switch inject annotation to javax and let ComponentLocator to recognize both the new and original inject annotation 2012-11-07 15:03:22 -08:00
Kelven Yang aab02e2743 Add Spring annotation to major components 2012-11-07 14:53:39 -08:00
Alena Prokharchyk 214bbf3ebd CLOUDSTACK-279: fixed deleteProject when executed by the regular user. Always pass System account as a caller when do account cleanup
Conflicts:

	api/src/com/cloud/api/commands/DeleteRemoteAccessVpnCmd.java
	server/src/com/cloud/network/element/CiscoNexusVSMElement.java
	server/src/com/cloud/network/element/ElasticLoadBalancerElement.java
	server/src/com/cloud/network/element/F5ExternalLoadBalancerElement.java
	server/src/com/cloud/network/element/JuniperSRXExternalFirewallElement.java
	server/src/com/cloud/network/element/NetscalerElement.java
	server/src/com/cloud/network/element/OvsElement.java
	server/src/com/cloud/network/element/VpcJuniperSRXExternalFirewallElement.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/network/vpc/VpcManagerImpl.java
	server/src/com/cloud/network/vpn/RemoteAccessVpnManagerImpl.java
	server/src/com/cloud/storage/StorageManager.java
2012-10-17 17:26:19 -07:00
Hugo Trippaers 28c31e3707 truncate names that are longer than 40 characters, this is the max
length nicira api accepts for display_name.
2012-10-17 13:29:03 +02:00
Hugo Trippaers a4a3194899 Fix license headers 2012-10-15 10:22:12 +02:00
Hugo Trippaers 51f9a98871 Check all TODO and FIXME tasks 2012-10-12 12:02:54 +02:00
Hugo Trippaers ab8ba3d61d Implement the portforwarding code in the resource
Fix a small naming typo
2012-10-12 11:57:27 +02:00
Hugo Trippaers 553a72047f Implement static nat handling 2012-10-11 18:13:47 +02:00
Hugo Trippaers 18e11ac0c8 These need to be objects instead of primitives otherwise they get
included by default during conversion to json.
2012-10-05 09:27:21 -07:00
Hugo Trippaers bb4dadaed8 small fixes 2012-10-01 10:12:59 -07:00
Hugo Trippaers c9b0b0b1a9 Add Nicira configuration to the UI 2012-09-30 23:33:37 -07:00
Hugo Trippaers c5634b9687 Wire the PortForwarding and StaticNat calls 2012-09-30 10:20:54 -07:00
Hugo Trippaers de41cb7cb5 Start implementing IpDeployer 2012-09-28 11:32:53 -07:00
Hugo Trippaers dd68a00338 Persist the uuid of the logical router once created 2012-09-27 22:16:11 -07:00
Hugo Trippaers af77912034 Keep naming consistent 2012-09-27 18:26:56 -07:00
Hugo Trippaers 8ba7749869 Prepare all capabilities we will be supporting
Remove the logical router if we are done with it.
2012-09-27 18:24:19 -07:00
Hugo Trippaers fe997651a6 Wired up the creation of the SourceNat router in the element 2012-09-27 15:34:53 -07:00
Hugo Trippaers bfc8da1082 Update Nicira Api to support L3 functionality 2012-09-25 15:51:48 -07:00
Hugo Trippaers e2b814d045 If there already is an entry in the nic mapping table for a starting VM,
try to reconcile with the Nicira Controller.
2012-08-27 13:41:27 +02:00
Darren Shepherd 490e87a617 Fix small compilation issue encountered when building with maven 2012-08-24 11:18:53 -07:00
Sheng Yang 46a12b378c CS-15243: Add service combination check at create network offering 2012-08-07 13:17:48 -07:00
Chip Childers 3a882fa17c License header updates for the plugins folder. 2012-08-03 09:07:43 -04:00
Hugo Trippaers 65daade79a Add a "ping" function to the resource and allow commands to be retried. 2012-08-01 14:11:32 +02:00
Hugo Trippaers b4bcd7f3fe Use the name of the network (or uuid) as display text of the nicira logical switch. 2012-07-30 15:17:46 +02:00
Hugo Trippaers 236f63fd34 When cleaning up or setting ip associations the NiciraNvpElement should be ignored.
Implemented a generic ConnectivyProvider interface work around the dependency from server to nicira-plugin.
2012-07-30 15:17:35 +02:00
Hugo Trippaers 79c7da07ab Phase 1 of Nicira integration 2012-07-11 17:16:06 -07:00