1052 Commits

Author SHA1 Message Date
alena
abca3dda9d Added ability to list network offerings availabe for network upgrade using listNetworkOfferings command with "networkId" parameter.
Limitations:

* can't upgrade to the network offering with lesser number of services
* can upgrade only when the service provider of the original offering is not external (domR, dhcp, elb) to the external type of the provider
2011-10-21 15:36:01 -07:00
Murali Reddy
aa808f5685 -Added LB serive provider (seperating it out from Firewall service provider)
-Bringing add/delete/list of all external network devices under one unified API's (addNetworkDevice, deleteNetworkDevice, listNetworkDevice)
-Refactoring External network manager to work from both sets of API's add/delete/list NetworkDevice and add/delete/list External Firewall/LoadBalancer
2011-10-21 18:15:36 +05:30
alena
219978a9be Create network using physical network id 2011-10-20 18:25:13 -07:00
prachi
0d7ddb5d58 Changes:
- Make all API commands Async and add events
- Make BroadcatsDomainRange case insensitive
- Process all _networkElements to build the Service -> Provider map during NetworkMgr::configure()
2011-10-20 17:11:30 -07:00
Sheng Yang
2ebb719aba NaaS: Add configuration for virtual router elements 2011-10-20 13:59:23 -07:00
Sheng Yang
04f106a595 NaaS: Configure commands for DhcpElement, VirtualRouterElement and RedundantVirtualRouterElement
Add configure command for these virtual router based elements. The commands
should be different for different elements.

The context of configuration would be added later.
2011-10-20 13:58:54 -07:00
prachi
654eaec663 NAAS: Configuring Zone
- Create Zone changes and changes to data_center table to remove vlan, securityGroup fields
- Physical Network lifecycle APIs
- Physical Network Service Provider APIs
- DB schema changes
2011-10-19 22:44:03 -07:00
alena
c5acad39d9 Make Guest Direct security group enabled network offering system by default - we'll make it non-system after getting rid of Basic/Advance zone concepts 2011-10-19 17:34:21 -07:00
alena
ceda05298e Deprecate guestIpType in networkOffering api. Use type (Shared/Isolated) instead 2011-10-19 16:38:39 -07:00
alena
4cb9e30990 Network offering upgrade implementation 2011-10-14 15:03:12 -07:00
alena
c00058adc2 Added type (Shared/Isolated) to the networkOffering/networks 2011-10-13 17:33:41 -07:00
alena
2d228dfcbb Default service provider to VirtualRouter (should make this parameter configurable in the future) 2011-10-12 18:02:35 -07:00
alena
7433d5314a 1) Refactored networkOfferings:
* moved all services to the separate table, map them to the network_offering+provider.
* added state/securityGroupEnabled properties for the networkOffering
* added ability to list by state/securityGroupEnabled in listNetworkOfferings api command

2) New service: SourceNat
2011-10-12 16:38:59 -07:00
prachi
8570b25506 NAAS: APIServer changes to introduce framework to read commands from pluggable components having separate commands.properties file
Changes:
- Added a new interface 'PluggableService'
- Any component that can be packaged separately from cloudstack, can implement this interface and provide its own property file listing the API commands the component supports
- As an example have made VirtualNetworkApplianceService pluggable and a new configureRouter command is added
- ComponentLocator reads all the pluggable service from componentLibrary or from components.xml and instantiates the services.
- As an example, DefaultComponentLibrary adds the pluggable service 'VirtualNetworkApplianceService'
- Also components.xml.in has an entry to show how a pluggable service can be added, but it is commented out.
- APIServer now reads the commands for each pluggable service and when a command for such a service is called, APIServer sets the required instance of the pluggable service in the coomand.
- To do this a new annotation '@PlugService' is added that is processed by APIServer. This eliminates the dependency on the BaseCmd to instantiate the service instances.
2011-10-11 17:34:57 -07:00
Sheng Yang
b2a007dc3c NaaS: Remove IsServiceProvider() functions
If the element is the service provider for this network, then can be tell from
network offering. We don't need these functions in the interface.
2011-10-11 14:04:13 -07:00
Sheng Yang
30d48c40b3 Network as a service(NaaS): Separate redundant virtual router as a standalone element
Since we would introduce a way to specify each service provider in the network
offering, it's better for redundant virtual router as a separate service
provider.

Also isRedundant() flag in the network offering would be removed. Redundant
virtual router temporality won't work from now. Until we're able to add
different network elements/service providers in network_offering.
2011-10-10 15:41:07 -07:00
Sheng Yang
0121c0516d Network: Add Service providers
In the past, the NetworkElement would cover almost all the functionality that
e.g.  virtual router can cover: firewall, source NAT, static NAT, password,
VPN... So anyone want to implement the NetworkElement would have to implement
these service's specific methods, even it wouldn't support it. Also, if we want
to find a e.g. FirewallServiceProvider, we have to proceed all the current
network service providers, to call a method to know if it support such service.
That's neither elegant nor scaling way to do it.

As the first step, this patch separates each ServiceProvider from NetworkElement
(there are some interface already out of NetworkElement, so this patch slightly
modifies them too), and only the class would implement the correlated interface, would
have the ability to do these services.
2011-10-10 11:45:39 -07:00
Chiradeep Vittal
dbaf14d9e1 bug 11336: compression to allow number of cidrs to scale beyond 8k 2011-10-06 17:55:38 -07:00
alena
a17570ef51 1)Implemented Suspend/Activate project
2)Email/token based invitation system
2011-10-06 16:10:36 -07:00
alena
25c2734e03 More stuff to Projects feature - added support for adding resources (vms, templates, isos) to the project 2011-10-05 13:24:25 -07:00
alena
998568283c Don't allow to add accounts to the domain of type Project
Don't allow to manipulate (delete/update) accounts/domains of type Project
2011-10-05 13:24:25 -07:00
Edison Su
4ef20e91ed Revert "bug 11239: add check for hypervisor type when deploy vm, no way to deploy a vm with hypervisor type None"
This reverts commit f1e66738bb252c20a9ec1b8dffc2fd24521458dc.
2011-09-30 10:24:09 -07:00
Nitin
c94b45ef4a ListCapacity - Document what each capacity types mean. 2011-09-30 13:30:42 +05:30
prachi
9bd5e5871b Bug 11481 - get manual live migration working with all VMs
Changes:
- Added a new API  'migrateSystemVm'  backed by MigrateSystemVMCmd.java to migrate system VMs (SSVM, consoleproxy, domain routers(router, LB, DHCP))
- This is Admin only action
- The existing API 'migratevirtualmachine' is only for user VMs
2011-09-29 17:47:46 -07:00
Sheng Yang
ae52867be4 Add no-args constructor for ClusterSyncCommand/ClusterSyncAnswer
Otherwise they can't be deserialized.

Fix the following exception on KVM host:

ERROR [agent.transport.Request] (Agent-Handler-2:null)
Caught problem with
[{"ClusterSyncCommand":{"_interval":60,"_skipSteps":20,"_steps":0,"_clusterId":2,"contextMap":{},"wait":0}}]
com.google.gson.JsonParseException: The JsonDeserializer
com.cloud.agent.transport.ArrayTypeAdaptor@44ed904 failed to deserialized json
object
[{"ClusterSyncCommand":{"_interval":60,"_skipSteps":20,"_steps":0,"_clusterId":2,"contextMap":{},"wait":0}}]
given the type class [Lcom.cloud.agent.api.Command;
...
Caused by: java.lang.RuntimeException: No-args constructor for class
com.cloud.agent.api.ClusterSyncCommand does not exist. Register an
InstanceCreator with Gson for this type to fix this problem.
        at
com.google.gson.MappedObjectConstructor.constructWithNoArgConstructor(MappedObjectConstructor.java:64)
...
2011-09-29 14:56:27 -07:00
Sheng Yang
b8f8989821 bug 11130: Update template and script version in the database when domR started 2011-09-29 14:51:20 -07:00
Sheng Yang
89e45bd671 bug 11130: Add GetDomRVersionCmd 2011-09-29 14:50:11 -07:00
alena
12e25fb988 Implemented vm* api commands to be executed against the project 2011-09-29 10:20:51 -07:00
alena
eda1b53c76 Events for adding/removing project users 2011-09-29 10:20:51 -07:00
Nitin
da2696b2f6 bug 11051: ListCluster - Apply cpu overprovisioning explicitly as it is not applied when its stored in the db. Also avoid calculating the non shared storage for storage allocated capacity calculation. 2011-09-28 16:16:28 +05:30
Sheng Yang
f40cfebd97 Fix wrong event type for DestroyRouterCmd 2011-09-27 15:24:37 -07:00
alena
ccd47c1b21 Implemented Project Invitations 2011-09-26 17:47:20 -07:00
alena
5c35b7f164 1) Resource limits for Projects
2) Security checker for Projects
2011-09-22 18:10:35 -07:00
alena
9f9b60a287 1) Added resource limits for the Projects - the same as for the account
2) Added "Project" limit type for the Domain object
2011-09-21 17:09:49 -07:00
kishan
74641d327f bug 11514: VM transition form Stopped to Error state should be considered as VM.DESTROY
status 11514: resolved fixed
2011-09-21 18:05:19 +05:30
Abhinandan Prateek
599631b9e8 bug 10588: adding new classes 2011-09-21 17:20:51 +05:30
Nitin
f49578c23a bug 11051: ListZones - Introduce a flag 'showCapacitites'. When its true it will start displaying all the capacitites (as objects in the response) for the respective zone. Also correcting the summation logic for List cluster, pod and zone commands 2011-09-21 16:59:16 +05:30
alena
a1331d1cfc Intermidiate checkin to Project feature:
1) Introduce new managers - ProjectManager and DomainManager. Moved all domain related code from AccountManager to DomainManager.
2) Moved some code from ManagementServerImpl to the correct managers.
3) New resource limit for Domain - Project
2011-09-20 18:35:28 -07:00
alena
b6f58b77b8 bug 11462: 1) when delete PF rule, revoke corresponding firewall first (if exists) 2) never remove PF rule from the table when corresponding firewall rule wasn't removed yet
status 11462: resolved fixed

Reviewed-by: edison@cloud.com

Conflicts:

	server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
2011-09-20 10:32:57 -07:00
Nitin
7bcbdeb834 bug 11051: ListPods - Introduce a flag 'showCapacitites'. When its true it will start displaying all the capacitites (as objects in the response) for the respective cluster. 2011-09-20 15:59:45 +05:30
Nitin
4a5f6faca2 bug 11051: ListClusters - Introduce a flag 'showCapacitites'. When its true it will start displaying all the capacitites (as objects in the response) for the respective cluster. 2011-09-20 14:33:46 +05:30
alena
ba64010cb5 bug 11470: 1) fixed listResourceLimits 2) Fixed -1 to be treated as unlimited for all the resources
status 11470: resolved fixed
2011-09-19 09:47:07 -07:00
Nitin
d53c3f0798 bug 11051: Listing Secondary Storage - also show the total and used storage. Listing Storage pools show the realtime storage stats and correctly populate the allocated storage. 2011-09-15 15:53:31 +05:30
Naredula Janardhana Reddy
10fb507609 bug 11372:
Added two New values "all" and "default" to global config "network.loadbalancer.haproxy.stats.visibility" . With this change, it can take six possible value:
            global - stats visible from public network.
            guest-network - stats visible only to guestnetwork.
            link-local - stats visible only to link local network(for xen and kvm).
            disabled - stats disabled.
            all - stats available on public,guest and link-local. (Newly added)
            default - stats availble on the serving http port, this does need any specific http port.(Newly added)
   Except "default" and "disabled", all the rest of 4 need to configure the stats port.
2011-09-15 11:46:34 +05:30
anthony
6ecc981e25 bug 9777: introduce Error status for snapshot, if snapshot creation fails, it will be in Error status
status 9777: resolved fixed
2011-09-14 18:14:02 -07:00
Sheng Yang
9317033a4f Add missing files for redundant router. 2011-09-14 16:25:56 -07:00
Sheng Yang
474d1a6034 bug 11307: Add destroyRouter command 2011-09-14 16:23:42 -07:00
Sheng Yang
684a603a6e bug 11307: Add cleanup parameter to restartNetwork command
Default set it to true. When cleanup=false, restartNetwork would only
re-implement the network, but don't destroy current existed routers.
2011-09-14 16:23:34 -07:00
Sheng Yang
e330e97f4b bug 11307: Mark router as to-be-stopped, rather than force stop it.
Force stop the router would release all the resources it used, but router may
still running. Add a column "stop_pending" in the database, and stop it when the
router come back.

Admin would able to choose to force destroy such router, then recover the
network using restartNetwork command with cleanup=false.
2011-09-14 16:23:17 -07:00
Sheng Yang
7744fee649 bug 11307: Enable CheckRouterAnswer to tell if redundant router's priority is bumped or not 2011-09-14 16:22:02 -07:00