360 Commits

Author SHA1 Message Date
Rohit Yadav
3df026bd51 ApiDiscoveryServiceImpl: Implement listApis to return response based on role
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-10 18:51:38 -08:00
Rohit Yadav
74bb043c37 APIChecker: Rename refactor and add interface checkExistence
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-10 18:51:30 -08:00
Min Chen
d900345a20 Ehcache implementation of APi Rate limit plugin. 2013-01-10 17:47:48 -08:00
Rohit Yadav
18bdc58ceb APIAccessChecker: Refactor and simply plugin implementation using better data structures
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-10 17:21:58 -08:00
Rohit Yadav
345c179e77 plugins: Check access based on roleType, remove unnecessary properties.in file
- Fix StaticRoleBasedAPIAccessChecker to check api access based on roletype
- Remove properties file which is not needed now for api discovery plugin

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-10 15:55:02 -08:00
Rohit Yadav
0b1c2a5981 ApiDiscovery: Fix listApis interface, fix getProperties
In case of api discovery, it does not make sense to create a separate properties file
If this plugin is enabled in components.xml, a user should be able to discover
all the apis accessible to their role.

listApis based on role type of caller user

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-10 15:55:02 -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
Rohit Yadav
62a42723f9 APIAccessChecker: Make it check based on role type and not user
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-10 11:49:15 -08:00
Rohit Yadav
c6d9877d64 ApiDiscoveryService: Move refactor, interface should be in plugins and not in cloud-api
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-10 10:59:38 -08:00
Rohit Yadav
d13cc7e7e4 ApiDiscoveryService: Use only as pluggable service
Remove usage and impl as adapter.
We have duplicate code that generates apiname:cmd class maps which is
unavoidable right now as:

- Plugin should not depend on ApiServer or any other component
- cloud-utils cannot depend on cloud-api for the APICommand annotation
- Use java reflect to create a static method in cloud-utils that does the job
  would be unsafe.

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-09 17:25:29 -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
504264236c Network-refactor: In preparation for moving the read-only interface NetworkModel
to the api project, ensure that all methods use interfaces from the api project.
By moving it to the api project, it lessens the dependency of plugins on the server components.

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
Min Chen
dcbb0ecef5 Fix CLOUDSTACK-936: fix nonoss build due to CloudException IdentityProxy
removal.
2013-01-09 13:47:53 -08:00
Rohit Yadav
999ecb67df plugins: Import and @Parameter fixes
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-09 11:23:24 -08:00
Rohit Yadav
4e71a5a7b9 netapp: Fix String conversion method of long id
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-09 11:22:35 -08:00
Rohit Yadav
066edc1105 plugins: Fix pluggable service getPropertiesFiles() on f5, srx and netscaler
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-09 11:21:30 -08:00
Rohit Yadav
2eee2cd999 plugins: Fix getPropertiesFiles() for pluggable service plugins, CiscoNexusVSMEElement
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-09 04:56:32 -08:00
Prasanna Santhanam
b18c03a006 simulator: formatting changes
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-01-09 15:13:12 +05:30
Rohit Yadav
077f47193d
Sync changes: Merge branch 'master' into api_refactoring
Conflicts:
	plugins/network-elements/dns-notifier/pom.xml

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-08 20:36:17 -08:00
Noa Resare
4f98d879f6 maven: remove explicit submodule versions from module pom.xml
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-08 20:25:58 -08:00
Rohit Yadav
d613c59dcb plugins: Fix apidiscovery's annotation field values and example plugin's name
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-08 20:00:13 -08:00
Rohit Yadav
2c04dad529 ApiDiscovery: New plugin to help discover apis on mgmt server
- Introduces api/discovery plugin that helps discover apis on the mgmt server
- It's a pluggable service, therefore has it's own api-discovery_commands.properties
  where the discovery api, listApi can be blacklisted (by removing it), or it's
  role mask can be changed
- By default its response has all the apis
- Changes in other parts of the code to make it work, viz. components.xml, pom.xml,
  and in ApiServer where it is used as an adapter to get apiname, cmd mappings

The ApiDiscoveryService interface is a contract that the implementing class will
provide:

1. A means to get all the apis as a list of response, plugin is free to implement
   the response class, as long as it extends on the BaseResponse:

    ListResponse<? extends BaseResponse> listApis();

2. Provides a map of apiname as the key and cmd class as the value:

    Map<String, Class<?>> getApiNameCmdClassMapping();

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-08 18:54:29 -08:00
Rohit Yadav
0a25884215 Merge branch 'master' into api_refactoring 2013-01-07 17:28:57 -08:00
Hugo Trippaers
91673b10b8 Summary: Get started with packaging cloud-agent
Modify the spec file to package the agent files and the scripts

Some changes to the poms to put the java dependencies in the right place.

Move the agent script to the dedicated os dir in packaging.
2013-01-07 22:18:01 +01:00
Rohit Yadav
a948a89378 Sync updates: Merge branch 'master' into api_refactoring
Conflicts:
	server/src/com/cloud/api/commands/AddTrafficMonitorCmd.java
	server/src/com/cloud/api/commands/ListTrafficMonitorsCmd.java

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-07 10:38:43 -08:00
Murali Reddy
bf6ed9312d Missed portion of the fix for CLOUDSTACK-595 submitted by commit
3ffbc4320abc9fd03ad3abd1f8077cc8d8f9ed4c which caused build break.

Fixing the build break and added missing code.
2013-01-07 16:36:47 +05:30
Koushik Das
3ffbc4320a CLOUDSTACK-595 : Recreate root volume scenarios doesn't work in vmware
Issue seen during system vm template upgrade and restoreVM command
scenarios for vmware. In these cases CS tries to recreate root disk with
same name as the existing one, in case of vmware this results in creation
of vmdk file with same name for both existing and new root volume.
This results in undesired behavior when storage cleanup thread tries to
cleanup old volume. Made the vmdk file name unique by adding the volume
id to it. This will ensure that during volume recreation in the scenarios
mentioned vmdk will get created with a new name and there will be
no undesired side effects of running the storage cleanup thread.
2013-01-07 16:18:05 +05:30
Rohit Yadav
ed0637b8c2 api: Refactor move acl to org.apache.cloudstack
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-06 15:30:58 -08:00
Rohit Yadav
63481ecb34 CLOUDSTACK-212: Move api response classes to cloud-api under org.apache.cloudstack
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-05 16:27:36 -08:00
Rohit Yadav
5119785cf7 Get latest changes, merge branch 'master' into api_refactoring
Conflicts:
	api/src/com/cloud/network/element/RemoteAccessVPNServiceProvider.java
	server/src/com/cloud/network/ExternalFirewallDeviceManagerImpl.java
	server/src/com/cloud/network/ExternalLoadBalancerDeviceManagerImpl.java
	setup/db/db/schema-40to410.sql

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-04 22:21:20 -08:00
Sheng Yang
42c8c73ab6 CLOUDSTACK-306: Introducing IpDeployingRequester and implement inline mode
For LB device in inline mode, the ip deployer(the owner of public ip) is the
firewall in front of it, not itself. So check if it's inline or not, if it's
inline, return the firewall as ip deployer
2013-01-04 19:18:03 -08:00
Sheng Yang
177e157cbf CLOUDSTACK-306: Move inline mode parameter from device to network offering
One F5 device can be used as inline and side-by-side at the same time(for
different networks). So we can define inline or not on network base.
2013-01-04 19:17:58 -08:00
Sheng Yang
717f9dcd4d CLOUDSTACK-306: Implement SRX firewall
Use SRX firewall filter as SRX firewall. The old security policy mechanism
cannot be used as IP based. This would enable SRX's ability to control traffic
for F5 behind it.
2013-01-04 19:17:50 -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
65a1284e83 srx: Annotate api classes, remove IdentityMapper
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-04 17:00:10 -08:00
Rohit Yadav
4dd5f14e76 f5: Annotate f5 cmd classes, remove IdentityMapper
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-04 16:49:27 -08:00
Rohit Yadav
4cf0b05a0b vmware: Annotate cisco related apis, remove IdentityMapper
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-04 16:42:28 -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
Chiradeep Vittal
b0a1a47d48 Not all network service providers need to be NetworkElements. NetworkElements are only those that are interested in L2 events. Since only NetworkElements were injected, and only in NetworkManagerImpl, this has led to all kinds of contortions. As a first step, enable individual service providers to be injected.
Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
2013-01-04 12:14:49 -08:00
Rohit Yadav
edb00bb613 Merge branch 'master' into api_refactoring 2013-01-03 08:32:56 -08:00
Hugo Trippaers
282eb5fcf5 Summary: Unittest for nicira plugin
More unittests for the Guru

Add unittests for the Element
2013-01-03 11:57:14 +01: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
c5b51b7c39 plugin: Remove memory mapping of apiname and class name in StaticRoleBasedAPIAccessChecker
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-02 18:43:59 -08:00
Rohit Yadav
bc8e0af0a3 plugin: ACL Static Role Based api access checker
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-02 17:06:19 -08: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
Edison Su
bba43f51dc vmware stuff should be compile time dependency 2013-01-02 16:25:17 -08:00